JDJ: Randy, tell us a little bit about Persistence.
Hietter: Well, Persistence Software is an EJB application server vendor company. We actually got started back in 1991 building object-relational mapping tools. Our founders saw that relational databases weren't going to go away, that they were going to be the mainstream way of persisting data. However, they saw that the traditional coding methods were going to be eclipsed by object-oriented programming and design, so they married the two through object-relational mapping. We can take information out of a relational database and expose it as software objects, making it much easier for developers to interact with data, rather than the clumsy APIs and now portable SQL statements that a lot of developers have suffered through in the last few years. Our genesis, again, is object-relational mapping, which we have since taken up to a full EJB application server that supports it.
We do provide container-managed persistence, which means that developers don't have to code the low-level [JDBC] statements and SQL to access and update data from a relational database. We're one of the few vendors that do provide container-managed persistence and that's a key aspect of our product, Power Tier, in terms of giving developers very high productivity. Let me give you an example. We have the ability, through our object builder utility, for developers to pump in an object model from a Rational Rose system where they can manually enter their object model. Or if they already have a database schema that pretty much reflects their object model, they can suck that in from an Oracle or Sybase environment and through our utility create, literally with a one-button operation, all of the entity beans and interfaces necessary for that application. The productivity is tremendous in terms of what it gives developers - the ability to automatically create entity beans. All they have to worry about are the business rules representing 20 - 30% of application code typically implemented as session beans or increasingly in servlets.
JDJ: Essentially, the Java developer doesn't need to go anywhere near SQL statements?
Hietter: Correct. But they still can create their own SQL for other complex operations if they choose.
JDJ: How does the developer build up queries then?
Hietter: You can do that when you define your object model. You do have an ability to go around and create your own SQL statements and dynamic queries if you choose to do so. But in terms of queries, again, what Power Tier does is create the relationships between the objects and store these complex relationships. As a result, a developer can create complex queries against objects cached as part of Power Tier.
JDJ: What service do you need at the back end to support your software?
Hietter: Power Tier runs on Solaris, HP, UNIX, IBM AIX, and Windows NT. As for the databases it automatically supports as part of container-managed Persistence, it's the usual suspects - DB2, Oracle, Informix, Sybase, Microsoft and SQL Server. That's it, basically.
JDJ: You pretty much covered all of the big boys there.
Hietter: Right. The other thing that I think is carrying Persistence forward is the fact that we're able to cache these entity beans and session beans so that they're in memory and available for rapid access. You aren't necessarily making trips to the database to satisfy queries from the session bean requests.
JDJ: You've already got something like a built-in optimization layer there that the developer will essentially get free of charge?
Hietter: Yes. Part of our focus is to minimize the interaction with the database layer. If there are changes occurring to the entity beans, we can batch and write those so that it's not a serial update-by-update operation. They can be batched, then through a batch operation go ahead and update the relational database.
JDJ: Tell us, what kind of clients are using this infrastructure at the moment?
Hietter: There's a very large and important one in London, Instinet. As you know, Instinet is handling their equities with a group in New York City. They handle about 30% of NASDAQ's trading volume on a daily basis. These people know all about trading systems. There was a division in London that saw an opportunity to take that expertise in trading systems and apply it to the fixed income or bond market. About a year and a half ago Instinet began an effort to create a Java-based trading system for bond traders that will handle Euro bonds, U.S. government bonds and so forth, and it's designed to operate in a distributed fashion where you have a trading environment based in London with replica servers in New York, Tokyo and the trading offices of Instinet's customers. You have this trading system running on top of this EJB application server and the caches - remember, the Power Tier application server is hosting all the information about the financial instruments, the latest bid and ask, and the trades that occur. You have caches of the market (the market being the instrument, the bid and ask) replicated throughout the world now. The caches are synchronized across Power Tier servers through a Power Tier feature called Power Sync as the synchronization mechanism between the replica servers. That's another key advantage of Power Tier - it supports these global distributed kinds of applications where you have many users looking at the same information simultaneously without creating a huge bottleneck in one particular geographic location. This is an example of one customer that's using Power Tier for real world serious applications.
JDJ: And that needs to stay up 24 hours a day?
Hietter: Well, it's a worldwide trading system and it does stay up 24 hours a day. The kind of transaction volume that this was designed for is a thousand transactions a second. It's a high-volume environment and that's the area where Power Tier seems to excel.
JDJ: Where can we find out more information about Persistence?
Hietter: For more information you can visit us at our Web site, www.Persistence.com