On June 14th, 2002 WebGain sold its TopLink product to OracleCorporation. News story at http://news.com.com/2100-1001-936185.html?tag=fd_top. This is not the first time TOPLink has been sold - see TheObjectPeople. Interesting that Oracle bought it though, and even more interesting is that they plan to give it away for free.
Makes me curious what CostinCozianu will have to say about it, the way he rails against ObjectRelationalMapping and worships RelationalDatabases.
Since you're curious, I can say that I quoted from the product documentation on ObjectRelationalPsychologicalMismatch, and it was one of the worst offenders, surpassing even RationalCompany in this regard. Other than that, I never used it directly, but a trusted friend of mine told me some unbelievable stories about unbelievably stupid bugs in the TopLink "transactional caching" "features". The bottom line was that all kinds of OO gimmicks were their first priority, while offering the same level of logical correctness guarantees as the target database was maybe an after thought. For a product at their enormous price, it was really a shame. But no need to cry for TopLink, EJB 2.1 is coming along just fine :) They're the most serious contenders for the top spot at ObjectRelationalPsychologicalMismatch.
By the way, who told you I "worship" relational databases ? I like any kind of databases (relational, OO, deductive, you name it). They just have to be done right. Last week, I wasted my hours on the UseNet defending the ideas of OO and OODB (at least the theoretical models).
Unfortunately it is you, the object bigots (by MartinFowlers word), who are the worst offenders by making an absolutely lousy job of advancing and promoting OO. You are utterly unaware of the real ComputerScientists and their work in the OO field, and instead you're following all kinds of at best ad-hoc and at worst nonsensical directions like J2EE, the ThreeAmigos and UML, and so on.
And unfortunately, it is poor guys like me, that we have to actually work and write code with the sub-mediocre by-products of OO ignorance. But don't worry, I'm only 28, so it is very probable that I'll get to live the days where we'll look down upon the stupidities of today the same way we are looking now to Cobol, PL/1 and others. --CostinCozianu
Costin, this is the best post I've seen from you on WardsWiki. Seriously. I hit some bad bugs in TOPLink too, and had an even worse experience with WebGain's support department, as I documented on TopLinkForJavaUsageExperiences. Who knows what will happen to the product and its support under Oracle's management? Maybe it will improve, or maybe it will get killed and we'll have even less architectural options to choose from (scratch ObjectDatabases - none of the vendors are viable, scratch EntityBeans - I've long agreed that they suck, scratch the market-leading ObjectRelationalMapping tool, what are you gonna do? Roll your own? Use an open-source product?). OK, so "worship" was unfair. Glad to hear you like all kinds of databases, and I agree with you that any job worth doing is worth doing "right" (or, at least well). If the object bigots are doing a lousy job of advancing and promoting OO, what do they need to do differently? Who should do it instead? FWIW, my education is in applied mathematics and computer science, and I started my career doing V&V on real-time embedded launch vehicle flight software written in Delco M352 flight computer assembly language. In developing Smalltalk discrete-event simulation systems in the late 1980s, I became acutely aware of the work of real ComputerScientists in the OO field around SIMULA and at XeroxParc. It's all about managing complexity - isn't that why you use objects? Over the years, I learned not to swallow dogma and jump on bandwagons, but to think critically and appreciate contributions in isolation (whether use cases from Jacobson, et.al. - but not all the RUP dogma, or parts - but not all - of the J2EE platform). I write code for a living too. I hope in your professional life you do help dispel ignorance from our profession, by publishing your insights and wisdom with the intention to educate instead of criticize. Best Regards, Randy
TopLink seems to be doing well, under Oracle.
In fact, it was used as the reference implementation of the JavaPersistenceApi (JPA).
It seemed to me that Hibernate would make more sense as the reference implementation of the JavaPersistenceApi (JPA), but I see the value to having TopLink do it: TopLink being the reference implementation of the JavaPersistenceApi (JPA) shows that JPA can be implemented by third parties as a portable standard.
My personal experience from using TopLink and Hibernate was that Hibernate's easier to use and has a better query language (and recently much better support for complex HQL-based data updates), while TopLink delivered better performance at the expense of being significantly harder to use correctly. -- JeffGrigg