Tracking Service-Oriented and Web-Oriented Architecture

SOA & WOA Magazine

Subscribe to SOA & WOA Magazine: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get SOA & WOA Magazine: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

SOA & WOA Authors: TJ Randall, Lori MacVittie, Andreas Grabner, Dynatrace Blog, Cynthia Dunlop

Related Topics: Java EE Journal, SOA & WOA Magazine

J2EE Journal: Article

Providing a Complete Data Services Layer

Exclusive JDJ Interview with Dennis Leung, Vice President of Oracle Application Server, TopLink Development

For those involved in the maintenance and programming of databases, object-relational (O/R) mapping and TopLink have been almost synonymous for 10 years. An innovator in the ORM space for an entire decade, TopLink was started in 1994 as an independent company and was acquired by Oracle from the defunct WebGain in June of 2002. As Oracle customers have expressed their needs in this area, TopLink has become integrated not just into Oracle's app server but also with JDeveloper, the Application Developme5151nt Framework (ADF), and the BPEL database adapter. In this interview Dennis Leung, vice president of development for Oracle TopLink, talks with JDJ about persistence, O/R mapping, EJB 3.0, Web services, SOA, and more.

Since Oracle acquired TopLink, its profile has diminished and it seems to been have sucked into a black hole. What happened? Is there a future for TopLink at Oracle?
I certainly don't think it has been sucked into a black hole! What has happened is that we've gone from being the primary product of a small company to a very large company with a broad, rich portfolio of products. It's been a successful transition into Oracle, and the global resources at our disposal have allowed us to reach more customers than ever. We are still very much committed to the TopLink product. The future is bright for TopLink as we bring the results of our recent efforts to market. Oracle, with its leadership in relational database technology and its commitment to J2EE, is an ideal home for TopLink.

It's also been good for our customers. Even with our 10-year track record we faced the scrutiny all small companies face. Enterprise customers need to know you have long-term viability, especially if they are going to use you as a key component in their application. Being part of Oracle removes that concern.

As you say, TopLink is celebrating its 10-year anniversary and that's unusual for a software product. You've been involved with TopLink since its inception, during which time the software development landscape has changed tremendously - to what do you attribute the longevity of TopLink?
I can think of a few reasons, but the primary one is that we've listened to our customers and have addressed their requirements that are coming from real projects. A great ORM product is not something a group of people can sit in a room and plan out. You have to live through the demands of real projects hitting difficult challenges. TopLink is a 10-year reflection of having thousands of customers' experience building enterprise applications for a wide cross section of industries.

In our rapidly evolving and highly competitive industry, to survive this long a company needs to provide value to customers and continue to provide value over the years. We've been able to foresee and adapt to changes in technology. We started in Smalltalk, moved to Java, gone from client/server to server-side J2EE/EJB, and are already receiving good feedback on our Web services and SOA efforts.

Finally, the core team has remained together. Most of the TopLink team has been here for five to seven years. We've been fortunate to have added some really talented developers over the past few years as well. This continuity balanced with the influx of new ideas has served us well.

How about the longevity of Dennis Leung? ;-) Is Oracle still a stimulating company to work for?
As with any new situation, there's a certain degree of apprehension and uncertainty. This was certainly true for me personally as I had not worked for a large company like Oracle for about eight years. I can unequivocally say after two and a half years, I really enjoy working here. I've learned a great deal as the mandate for my group is much broader with involvement in areas such as BPEL, Web services, Oracle JDeveloper, ADF, SOA, and JAXB.

Since day one, my management chain has been very supportive of our group and our responsibilities have increased. For example, the Oracle representatives on EJB 3.0 and JAXB 2.0 are from the TopLink team and we've put a considerable amount of work into those JSRs. Oracle is a serious player in the Java universe and that provides tremendous opportunities and interesting challenges.

What is the biggest misconception about persistence products?
Over the years the developer community has become more familiar with the problems persistence products address; however, there still are a number of misconceptions.

The difficulty of the fundamental O/R problem that is being addressed is often underestimated and developers don't think they need a persistence solution. On the surface it seems easy: hand code some SQL, do a bit of data conversion, build some objects - no problem. However, it quickly grows into a very complex problem as you try to address issues such as inheritance, caching, querying, concurrency, advanced database features, and clustering. This is when the developer realizes that a persistence solution is needed.

Also, because the only visible part of a persistence product is the GUI tool, many people think it's just a design-time tool, when in fact it has a considerable presence at runtime.

Other big misconceptions are that persistence products can't handle difficult problems - the SQL generated is inefficient and hand-coded JDBC will run faster. Over the years we have proven time and again that this is not true.

From your many years of experience, what are the most challenging problems your customers experience when building applications using O/R mapping technology?
The first challenge that customers face is with their development processes and corporate culture. A lot of projects don't facilitate enough communication between software development and the database management. In some cases, these responsibilities are spread across different sites. Without good communication and mutual respect for how Java applications are developed and how databases are managed, the technical impact of impedance mismatch is compounded.

Technically speaking, the most challenging problems usually revolve around performance. In a J2EE application, normally the most expensive operation that can occur is a call across the network to the database. You want to minimize these calls and do them intelligently. This is where using a proven solution is key because a persistence layer needs to provide lots of flexibility on how to bring back data depending on the volume and volatility of your data.

Another challenging area is dealing with concurrency, particularly in clustered applications. The goal is to provide as close to "turn-key" clustering as possible. It should be trivial to scale an application from two to four to many more nodes. There is a lot to consider though - locking, caching, and refreshing are just a few of the issues.

Does TopLink support multiple databases? Is it as performant as you would ideally like?
Yes, TopLink has always supported multiple databases. This is also true for J2EE application servers. TopLink runs on any J2EE-compliant application server. Since we were acquired by Oracle, one of the misconceptions about TopLink is that we would only work on the Oracle Java stack. This is far from the truth. One of the fundamental benefits of TopLink is flexibility, which includes running on any app server and using any major relational database vendor. In fact, our daily regression test suite runs TopLink on Oracle OC4J, WebLogic, and WebSphere against Oracle, DB2, Sybase, and SQL Server.

Dennis Leung, VP Oracle Application Server, TopLink Development

Performance is something that we continually try to improve. We have a lot of performance-related features in TopLink but you can never allow yourself to become complacent in the area of performance.

Given that you are still around, do you consider the product a success?
I measure success based on whether organizations choose TopLink and successfully build and deploy their applications. Based on these criteria, TopLink is very successful.

Looking at the competition, open source is growing in popularity and mindshare; what impact has it had on TopLink?
We've always treated our competition with respect and open source is no different. There have always been a fair number of competitors in this space and this has provided plenty of inspiration for us to continue to innovate and evolve TopLink.

The result of having many vendors and open source products in this space is that the persistence market itself has grown. I think more people are better educated about this problem domain.

We used to have to go into accounts and convince developers and management that O/R is a difficult problem and they could actually save time and money by leveraging a third-party product rather than building the infrastructure themselves. We don't need to do this as often anymore.

A slightly related impact that open source has had is that we've put more emphasis on clarifying the availability of our products to developers. Like all Oracle development products, free, full functionality, nonexpiring versions of TopLink are available for download from our site. This isn't a new policy, but one we've been more explicit about.

How do you differentiate your offering from those of your competitors? What are the best metrics for measuring the relative effectiveness of different persistence solutions?
TopLink's differentiating factors revolve around the richness of our feature set as a result of being in this space for 10 years. TopLink is the only product to support POJOs and CMP entity beans, allowing them to intermix as well. This means our customers who are currently using either POJOs or entity beans are well positioned to transition to EJB 3.0. We have tremendous flexibility in providing options for areas such as performance tuning, caching, querying, concurrency, clustering, database features, and platform support. Developer productivity is enhanced with powerful GUI-based tools and the ability to choose the standalone TopLink Workbench or fully integrated mapping functionality in Oracle JDeveloper.

On a broader scale we've grown from being a point ORM solution to adding capabilities to support XML and EIS data sources. We believe these are among the key features to providing a complete data services layer that is required to address the diverse needs of today's enterprise applications.

The best metrics are based on the actual requirements of a particular application. Identify a difficult, deep vertical portion of your application and see if the persistence solution can address those needs. Can it effectively map the object model? How easy is it to define queries? Can you leverage the database features the DBA has utilized? Can it scale and perform? TopLink has experienced the most success where customers have had in-depth and challenging evaluation criteria.

I keep coming back to providing value for customers and there are a number of dimensions in providing value. I've talked about the obvious product ones, but being part of a large established company like Oracle has allowed us to offer value in ways we couldn't before.

The number one factor is the peace of mind that accompanies company viability. Another aspect of this is that we have the ability to extend support for older versions of TopLink that in the past we would have long discontinued. We can service our customers much better with 24x7 technical support, global consulting, and local account teams; our runtime exceptions are translated into 22 languages - all the benefits you would expect from a software company the size of Oracle.

There has been a lot of controversy and debate in regards to standards in the O/R space with JDO and EJB 3.0. What is Oracle's position on these standards?
We are fully behind the EJB 3.0 specification and our expert group representative, Michael Keith, has played a primary leadership role on that committee. The recent move of having a group of JDO experts join the EJB committee is a positive step and clearly provides industry support for O/R mapping in Java to be standardized with the EJB 3.0 specification.

The feedback from the early drafts of the EJB 3.0 specification has been great. The POJO-based lightweight persistence model is one that we've endorsed for a long time and, with our support for both EJB 2.1 and POJO, TopLink customers are well positioned to transition to EJB 3.0.

Oracle, BEA, and IBM are all strongly committed to Web services and SOA. Where do you see TopLink's technology fitting in this picture?
We've leveraged core TopLink technology to address the unique requirements such as XML binding that materialize with Web services and SOA applications. XML is a versatile data exchange format, but it's not the ideal structure from a programmatic perspective.

TopLink's object-XML capabilities bring similar levels of flexibility and control developers have come to expect from our O/R solution to XML data sources. It's JAXB compliant, but goes beyond the spec to provide developers with complete control of how an object model is mapped to an XML Schema. Unlike basic JAXB, you aren't forced to use the object model that is generated.

We've also used TopLink to build a database adapter that allows BPEL engines to easily define and utilize database functions as part of a business process.

Both of these are examples of how TopLink is evolving beyond a point ORM solution to provide a broader set of persistence capabilities for diverse applications accessing a variety of data sources.

How does Microsoft's offering in the ORM space compare to what J2EE offers.
The difference is night and day. Even though J2EE and .NET face the same challenges of O/R mapping, Microsoft has no solutions available.

Back in 2001, Microsoft previewed something called ObjectSpaces, which is essentially their ORM solution. It still hasn't been released and I believe it has even been deferred from the delayed Longhorn release, so who knows when it will actually be in production. Even though ObjectSpaces is taking a long time to come to market, its very presence has limited the third-party market as Microsoft has indicated it will eventually be available.

This is a concrete example of how .NET is not ready for "Enterprise-level prime time." Yes, I'll be the first to admit that not all apps need an ORM solution, but a great number of enterprise apps do and. NET offers very little for those apps.

What does 2005 hold in store, in your view? Will ORM be even more critical to building manageable applications? Will the rise of "API-agnostic" O/R mapping continue?
For the foreseeable future, object-oriented technology and relational databases will be fundamental parts of IT solutions, so I think ORM solutions will continue to play a critical role. EJB 3.0 will solidify in 2005 and, with the improvements it brings, I think the industry will converge on that standard.

As Java and J2EE become more commonplace in IT, the scope of a persistence product must grow beyond ORM to address all the needs of a true enterprise, which include the integration with disparate data sources. This is where I see the future of persistence solutions moving. In addition to O/R mapping, they need to also provide services such as O-XML mapping, data access for BPEL, data binding for Web services, distributed cache management, integration with legacy systems, and event data management. All in all, it's an exciting time to be in the persistence space.

More Stories By Jeremy Geelan

Jeremy Geelan is Chairman & CEO of the 21st Century Internet Group, Inc. and an Executive Academy Member of the International Academy of Digital Arts & Sciences. Formerly he was President & COO at Cloud Expo, Inc. and Conference Chair of the worldwide Cloud Expo series. He appears regularly at conferences and trade shows, speaking to technology audiences across six continents. You can follow him on twitter: @jg21.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.