Java and its competitors
Java and its competitors<@VM>Here are the contenders among distributed application servers
Distributed server application technologies find common ground,
but they don't always speak the same language
By Kevin Jonah
Special to GCN
The hype around Java has fizzled out, but the technology has managed to survive and become something even its originators never dreamed of'a server platform.
Conceived as a language and technology primarily for thin clients and front ends, Java has emerged as the heart of one of the three big contenders in the world of distributed server application architectures'Enterprise JavaBeans.
Sun Microsystems' EJB has much in common with the other contenders: Microsoft Distributed Component Object Model and the Object Management Group's Common Object Request Broker Architecture. All three provide a remote interface to applications through a defined interface.
EJB has a set of interfaces and identifiers that are used by client applications to communicate and interact with EJB remotely, just as DCOM does through COM interface definitions and CORBA does through the Interface Definition Language.At your service
Each provides a service to route client application requests to the appropriate server object. In EJB, it's the Java Naming and Directory Interface (JNDI), in combination with protocols such as Sun's Remote Machine Interface (RMI) and OMG's Internet Inter-ORB Protocol (IIOP). In DCOM, it's Microsoft Transaction Server and Microsoft Windows' network naming service. In CORBA, it's Object Request Brokers (ORBs) and IIOP.
Pieces of the EJB architecture draw directly on CORBA services; some EJB implementations use IIOP for communications. And in the latest iteration of the Java platform under development, Java 2 Enterprise Edition (J2EE), Java can have a direct interface with CORBA.
But despite common ground, there is just as much contrast among these three technologies. DCOM is largely a Windows-only architecture, with some vendors providing ports of the object model to some Unix platforms. CORBA is, by definition, a multiplatform and programming language-independent technology, with variations of services among different vendors' implementations. And EJB, until J2EE, was the worst of both: a loosely defined architecture controlled by a single company and reliant on a single development language.
All three technologies become increasingly important as organizations become more reliant on multitier, or n-tier, distributed applications and application servers. EJB is one of the primary technologies used by many new application servers, as are DCOM and aspects of CORBA. And EJB will get a boost from its new implementation'part of J2EE'and the additional services that are now part of the Java platform.
|Tips for buyers|
- Sun Microsystems' Enterprise Java Beans Specification 1.1. increases the security and stability of EJB applications.
- Microsoft's Distributed Component Object Model is primarily a Windows-only architecture. CORBA is multiplatform- and language-independent.
- Java and Enterprise JavaBeans allow development of server applications that will run on any platform that has a Java virtual machine.
- The many new enhancements in Java 2 Enterprise Edition mean that full product support is unlikely before well into next year.
The key advantage of Java and EJB is the write-once, run-anywhere nature of Java code. Once you have developed a Java server application, it will run on any platform for which there is a Java virtual machine. But EJB is intended to offer an advantage that Windows developers have already had for some time'a market for commercially developed application components.
The problem with EJB in its first incarnation was its lack of depth. It was more a framework of guidelines than a firm set of application programming interfaces and implementation standards. But that has begun to change with the introduction of the latest EJB version, EJB Specification 1.1, part of the collection of specifications that fall under the umbrella of Java 2 Enterprise Edition.
EJB 1.1 enforces tighter compliance to a single implementation specification and beefs up the security and survivability of EJB applications.
In addition to the new EJB specification, J2EE encompasses several other new or enhanced Java technologies.
Aside from JNDI, which offers directory services as well as the naming service used by EJB, there are enhancements to the Java Servlet API and Joint Database Connectivity data access API, as well as a new technology called Java Server Pages, for creating dynamic Web applications, a new messaging service, a new transaction service, and new support for Extensible Markup Language and interoperability with CORBA.A real mouthful
That's a lot for the Java development community to swallow, so it's doubtful that there will be full support for J2EE in many products before well into next year. Many of the pieces of J2EE are just now being fully fleshed out.
A beta test release of the complete J2EE platform is due late this year, but the public version of the EJB 1.1 specification is available now, as are several other components of the overall J2EE platform.
EJB 1.1 integrates XML as an element of its application development and deployment specifications. XML is used as the format for EJB deployment descriptors, which provide structural information about a bean's interfaces and data on how beans can be assembled into larger applications.
There's also an improved security model for EJBs in which beans can be built by bean providers without having to know the security configuration of the environment into which the bean is being deployed. Security within EJBs can be defined by role so that specific users and groups can be mapped to them at deployment time. This is similar to the role-based security that Microsoft will implement in its COM+ architecture in Windows 2000.
At least one of the changes to EJB in the most recent specification was brought along faster than Sun had originally planned. Mandatory support for Entity Beans'which provide a persistent store for information and business logic within an EJB application'has been put in place now rather than in EJB 2.0 because of customer demand. EJB 2.0 is scheduled to be introduced in late 2000.
Entity Beans are important to building mission-critical applications because they maintain data in a form that isn't lost in a server crash and they can serve information to multiple clients.
|Glossary of Java terms|
CORBA: Object Management Group's Common Object Request Broker Architecture, which provides interfaces between Object Request Brokers.
DCOM: Distributed Component Object Model, Microsoft Corp.'s language-independent component architecture for distributed objects.
Entity Beans: Enterprise Java Beans that can serve data to multiple clients and protect that data against a server crash. Sun Microsystems Inc. has added mandatory EJB support for Entity Beans, ahead of schedule.
IIOP: Internet Inter-ORB Protocol, the CORBA message protocol and industry standard for distributed objects.
JNDI: Java Naming and Directory Interface.
ORB: Object Request Broker, middleware that manages message traffic between applications and computer and software platforms.
RMI: Sun's Remote Machine Interface, designed for objects written only in Java.
Many early EJB applications used Entity Beans, but different implementations of them. Making Entity Beans mandatory'and providing a mechanism for that mandatory support'will ensure that EJB 1.1 beans will be more portable between servers and create a bigger potential market for any given EJB package.
Another component of J2EE now available, at least for public review, is Java Servlet Specification Version 2.2, an enhancement to Java's earlier servlet technology that provides an architecture for building small, Java-based application servers that run within or alongside other application servers.
The latest specification of J2EE provides for new types of Web application servlets, including ones that utilize Java Server Pages. JSP applications can be built on the current Java Servlet Specification, Version 2.1, with the JavaServer Web Development Kit 1.0, available for free from Sun on the Web at java.sun.com/products/servlet
JSP technology uses tags within Web pages to retrieve dynamic content from server resources such as EJBs or other JavaBeans.
This allows Web developers to use the Hypertext Markup Language or XML to create the framework pages for Web applications and fill in the blanks with JSP tags, making it much easier to build, maintain and deploy Java applications for the Web.En garde
JSPs are counters to Microsoft's Active Server Pages, which create dynamic Web applications on Microsoft's Internet Information Server.
But JSPs are multiplatform; ASPs are tied either to the Windows NT Server platform or to third-party ports of ASP technology to Unix.
Of course, J2EE will arrive in full form in the marketplace just as the Windows 2000 platform becomes widely available, bringing the COM+ application environment with it. COM+, the latest enhancement to the COM and DCOM application models, integrates into the Windows 2000 environment many services that have direct parallels within the J2EE platform'transaction services, messaging services, directory services, object request brokering and others.
At the same time, CORBA implementations are increasingly consistent as Object Management Group members attempt to hold Microsoft at bay.
In the long term, the Java enterprise platform and CORBA may essentially blend into a de facto set of standards to compete with Microsoft's Distributed interNet Application architecture and agenda.Kevin Jonah, a Maryland network manager and free-lance writer, writes often about computer technology.
|Company||Products||Type of software||Platforms||EJB||RMI|
|CORBA used?||Microsoft COM, DCOM or COM+ ||Language tool||Web server integration||Web server or servlet||Java servlets supported||Price|
|Apple Computer Inc.|
|NT 4.0, Solaris 2.6|
and 2.7, Mac OS X
Server, HP-UX 10.20
with others such
as C, C++ and
|Any that supports|
CGI, and Apache
|No||Yes||Developer product includes|
licenses for single-processor
system for $1,499;
licenses are $7,500 and up
| Forte Software Oakland, Calif. 510-869-3400|
| SynerJ Application Server, SynerJ Developer, SynerJ Assembler|| Entirely Java- based|| NT Workstation and Server, Solaris, any platform supporting Java 2 virtual machine|| Yes|| RMI over IIOP|| Yes|| COM and DCOM support via CORBA-COM bridge|| Java|| Through servlet API|| Servlet API runs within Web servers|| Yes|| Application Server $6,000 and up per CPU; Developer $199 per developer|
| Inprise Corp. Scotts Valley, Calif. 831-431-1000|
| Inprise Application Server, Inprise AppCenter, Borland Jbuilder|| Complete development, operation and management software|| NT, Solaris, HP-UX, IBM AIX|| Yes|| RMI over IIOP|| Yes; VisiBroker for Java|| No|| JBuilder for Java development|| Apache|| Sun's Java Web Server included|| Yes, servlets and JSP|| $20,000 per CPU per server|
| Object Design Inc. Burlington, Mass. 781-674-5000|
| eXcelon|| Repository for XML applications; back-end XML database or midtier XML data source|| Windows 2000, NT, Solaris|| N/A|| N/A|| N/A|| N/A|| Any language|| Microsoft Iis, Apache|| N/A|| N/A|| $995 for development license; deployment licenses $15,000 and up per CPU|
| Persistence Software Inc. San Mateo, Calif. 650-372-3600|
| PowerTier for EJB, Enterprise Server; PowerTier for EJB, Advanced Server, PowerTier for C++|| Infrastructure for developing and deploying e-commerce applications|| NT, Solaris, HP-UX, IBM AIX|| Yes|| EJB product uses both via RMI over IIOP; C++ product uses IIOP|| Yes|| Communicates with COM objects|| Provides object- modeling tool to generate EJBs or C++ classes; integrates with modeling tools or IDEs|| Any standard: Netscape, IIS and Apache|| EJB product bundles a Jrun Software Web server and servlet engine|| Yes|| Enterprise server $5,000 per developer, $25,000 per processor; advanced server $2,000 per developer, $25,000 per processor; C++ $8,000 per developer, $25,000 per processor|
| Secant Technologies Inc. Cleveland 216-595-3830|
| Secant Extreme Enterprise Server for EJB, Secant EES for C++, Rose Secant Extreme Link|| Fully integrated middleware, model-based development, support for multiple types of clients|| NT, Win 9x (client only), Solaris, HP-UX, Linux, IBM AIX, Java platforms JDK 1.1x and 1.2|| Yes|| RMI over IIOP|| Yes|| No|| Java or C++, HTML-supported; works with third- party development tools|| Netscape Enterprise Server 3.x and 4.x, Netscape FastTrack 3.x, Internet Information Server 2.0 and Apache|| No|| Yes|| $2,599 for developer license; volume discounts available; deployment on a CPU basis|
| SilverStream Software Inc. Burlington, Mass. 781-238-5535|
| No|| Any IDE; deploy|| Through servlet|
| Yes|| Server $2,495 for|
$495 for three client
up for single
|NT, Solaris, HP-UX,|
|Yes||RMI over IIOP||Yes||No||Java, HTML;|
works with other
|IBM DB2 Connect|
|Yes; is designed|
to sit on top of
|Yes||$25,000 and up|
CPU Vision Business Logic
Server; $2,995 for Vision