Bridging the gaps from SQL Server to Java apps
- By Peter Bochner
With demand for Microsoft SQL Server connectivity for Java applications growing steadily, and with many companies migrating their production platform from the 32-bit SQL Server 200 Enterprise Edition to the 64-bit versions of SQL Server 2000 and SQL Server 2005, JNetDirect has added 64-bit support to two of its components.
"We're starting to see more support for SQL Server in the large-scale transaction marketplace," said Eben MacNeille, director of marketing at the Herndon, Va.-based provider of middleware JDBC drivers for access to non-Java databases. He attributes that surge to several factors, including companies simply "wanting to balance their database portfolio because Oracle is very proprietary," although, he notes, "Microsoft is, too."
When customers began expressing interest in the 64-bit versions of SQL Server, JNetDirect decided to create 64-bit product versions of the two data access components. But rather than go to one of a growing number of companies out there that provide research and testing facilities to certify third-party products for OEM companies, JNetDirect headed to the 64-bit Hands-On Lab at Microsoft's Redmond, Wash., campus. There, the firm worked with Microsoft technical specialists to design and test the 64-bit versions of its data access components. After two weeks of work at the lab and two weeks at its own site, the products were able to work with new Intel Itanium and AMD Opteron 64-bit processors.
Why did JNetDirect choose to go to Redmond instead of a third-party company or even doing the certification itself?
"The gray area here is that the testing can sometimes be subjective, unless the requirements are strictly set by the OEM manufacturer," said MacNeille. "Whenever you go to the source for your benchmarking process there is a brand equity as well as a technology equity that is paramount. Microsoft provided us with the necessary materials to accurately and effectively certify our products on the 64-bit platform."
JSQLConnect is a JDBC driver that enables systems to use Java to deliver data from Microsoft SQL Server as well as Oracle, MySQL, Microsoft Access, DB2, Informix, Sybase and other relational data sources. With JSQLConnect, users can quickly access SQL Server from Java applications, servlets, EJBs, JSPs and applets. It also natively interfaces with Microsoft Distributed Transaction Coordinator to provide distributed transaction (XA) support for the 64-bit platform; BLOB/CLOB support is also included.
JDataConnect, a more wide-reaching JDBC driver, allows Java applications, servlets, EJBs, JSPs and applets to pull data from a variety of Windows databases. JDataConnect enables organizations to connect Java applications to data sources for which only ODBC database drivers exist, so that SQL Server, Access, Visual Foxpro, Clipper and other databases can be leveraged from Java. Software developers who need to support multiple databases, including Oracle, DB2 and Informix, can select JDataConnect as a common data server.
Many observers expect large and complicated database applications to be a prime beneficiary of 64-bit chips, which can address up to 16 terabytes of memory and therefore allow an entire database to be contained in RAM. Yet, said MacNeille, "most of the 64-bit migration we're seeing has come on the application side for performance enhancement. As for the databases, the back-end systems that are required to complete those transactions will come afterwards."
MacNeille expects larger customers to move to 64-bit versions of SQL Server in the next six to 12 months, and smaller customers to do so in 12 to 24 months. The faster and more accurate compiling capabilities of the 64-bit version will particularly help those companies doing internal development, he noted, because threading and compiling applications in a 32-bit environment while running them on a virtual 64-bit environment creates headaches for developers.
The JDataConnect product has two components, one written in Java and one written in C++; JSQLConnect is pure Java. The Java portions of both products were ported by running them on 64-bit versions of the BEA WebLogic JRockit Java Virtual Machine. According to the company, this task was fairly straightforward, while porting the C++ code took more effort.
Once all the code was compiled, JNetDirect discovered that the existing 32-bit code contained assumptions that were not correct on 64-bit processors, particularly on the Itanium, which observers say can be picky about data and pointer alignment. The cleaned-up code runs on 32-bit processors and both 64-bit platforms without the need to introduce any platform-dependent code, according to JNetDirect.
Benchmarking has not been completed yet, but JNetDirect expects the biggest performance gains for 64-bit databases to come with very large databases and very large numbers of concurrent users.