Saturday, March 3, 2012
http://javafree.uol.com.br/artigo/871463/Interview-with-Klaus-Wuestefeld-founder-of-Prevayler.html Interview with Klaus Wuestefeld, founder of Prevayler.
http://javafree.uol.com.br/artigo/871463/Interview-with-Klaus-Wuestefeld-founder-of-Prevayler.html Interview with Klaus Wuestefeld, founder of Prevayler. Publicado por Tutoriais Admin em 15/08/2009 - 5.382 visualizações 0 comentários: 0 In a relaxed interview to JavaFree, Klaus Wuestefeld speaks about one of the most known and controversial brazilian project, the Prevayler. Klaus is the founder and developer of this project that makes an persistence layer, or better, an prevalence layer. Portuguese Version 1. Who are you, Klaus? Well, I am the Prevayler , Extreme Programming and Sovereign Computing guy. That is, I ' m an nonconformist. I am founding partner of Objective Solutions , and recently started to work on db4o , the most used free OODBMS in the world. You can also look at my personal page . 2. Klaus, please talk about Prevayler, what it is and what objective / goals it is intended to accomplish? Prevayler is the free prevalence layer for Java. Prevalence is the natural architecture to be used in any system that has enough RAM to hold all of its data. Prevayler doesn ' t have ' goals ', because as RAM goes being cheaper, the gradual adoption of the prevalence becomes unavoidable. It ' s just a matter of time. 3. How brazilian and foreign public are considering this project? Are you receiving the expected support? The Prevayler is much more used in Germany (maybe because of my name) and in the USA. Brazilian people are only enthusiastic with things from foreign countries. Yes. In Brazil, I received great support from DFJug, SouJava, MundoJava magazine and JavaFree. The Prevayler presentations are also very well received in most Java and Free Software events. 4. Does the Prevalence concept still scare people? A Prevayler is the cure for a cancer that the people not even know they have. Our software developer community is so atrophied with databases that the majority of the people does not have any idea of the true OO. And worse, they think they know. 5. Changing to more technical questions, what advantages Java 5, with features like Generics, may bring to developers who use Prevayler? All features of Java 5 may and should be used in prevalecent applications, because their business objects are all 100 % Java objects. The same can ' t be said about applications that save their objects in databases, unless they create a database with " generics " support, for example. This is a Prevayler advantage that I didn ' t think of yet. Applications may take advantage immediately of any language innovation; and I believe we ' ll have many in the future, due. NET competition. 6. What do you think about ORM frameworks, specifications like EJB 3.0 and OO databases? Do they have any chance against Prevayler? They are better than nothing, because they ease the developer ' s life. On the other hand, they are extremely harmful, because they make many devepopers think that OO thinking is just read and write data objects. How many times have you seen someone using the observer design pattern, for example, in relational database-mapped objects? And the state pattern? And the visitor pattern? Any pattern? It ' s sad. As RAM becomes cheaper, I believe that the progressive adoption of prevalence is unavoidable. There are great barriers of lack of knowledge and fear to overcome, but until there, the technologies you mentioned will still be fixed inside a retrograde manager ' s mind (like COBOL). We are babies born inside the Matrix: brutely degenerated by the use of databases. To start to use prevalence gives a sensation similar to Neo ' s: " Why do my eyes hurt? " Morpheus answers: " You ' ve never used them before. " 7. Do you still use databases? Unfortunally, yes. And I ' ll be forced to use databases every time there isn ' t enough RAM to any of my applications. This is the case primarilly on mobile devices (PDAs, cellphones, etc) and embedded systems. Even then, I want to use the maximum OO that Java offers me, without being restrained to simple table records. I need the database to be as light and transparent as possible. That ' s the goal that leads me to work on db4o . It has 4 years on the road, and has just became free through GPL. 8. The operational system written in Java, JNode, may use Prevayler. What is your opinion about this? Will it work? Will Prevayler fulfill all needs from an OS? I would not use Prevayler in this case. To use Prevayler, it is necessary that there is enough RAM available to hold all application data. Due the constant decline in RAM memory prices, this already is the case for many applications, but not for an OS. 9. Is there something you would like to change in the Java specification to ease Prevayler ' s developers ' lives? The standard serialization could be improved, in the sense of better support for object scheme evolution (changes on class structure). 10. Is there anything planned, like a list of new features for Prevayler 3? The most amazing new feature of Prevayler 3 will be the failure-tolerant replication. The applications will be able to run in ' cluster ' mode, without changing even one line of code. The regular replication may already be tried on Prevayler 2. 11. Certain systems are so strongly-coupled to SQL that it becomes hard to be converted to an OO approach. In some of them, a single database query may have more than 500 lines, many math functions, and more than 15 related tables. What would you say to those people who own this kind of application, and want to migrate to OO using Prevayler? Initially, they will feel like Neo, floating on that water container, completely atrophic, for living their entire life inside a database bubble. Slowly, they will exercise this new freedom, and their muscles will develop. Then, when they say: " I know OO ", I ' ll anxiously answer: " Show me ". 12. What texts you recommend to people who are starting in the Prevalence world, today? These: Mandatory: Prevalence Skeptical FAQ Prevayler2 Tutorial (Portuguese Only) " Refactoring " by Martin Fowler . " Design Patterns " by Erich Gamma et al. (You ' ll finally be able to use them for real) Optional: Prevalent Manifesto Sovereign Computing For those who think that already know OO: " Object-Oriented Design Heuristics " by Arthur J Riel . " Object-Oriented Software Construction 2nd Edition " by Bertrand Meyer. (primarily the chapter about Design-by-Contract) 13. To close this interview, we have this question that always comes up when someone watches your presentations, or read your writings. This question may vary, but let ' s use a version from one of our collaborators: Have you ever been confined in an asylum? Answer as you wish. Yes. Every time I go out to give a presentation I must get special authorization.;) In reality, I ' m just a prophet. I did not create Extreme Programming and, in the case of prevalence and Sovereign Computing , I don ' t think about them as my " inventions ", but just visions of a unavoidable future. Some may say I ' m crazy, but first, they must prove I ' m wrong.;)