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

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.

CompanyProductsType of softwarePlatformsEJBRMI
CORBA used?Microsoft COM, DCOM or COM+ Language toolWeb server integrationWeb server or servletJava servlets supportedPrice
Apple Computer Inc.
Cupertino, Calif.
Web ObjectsHigh-performance
Web application
NT 4.0, Solaris 2.6
and 2.7, Mac OS X
Server, HP-UX 10.20
NoBothYesInterface with
DCM objects
Java and
supports interface
with others such
as C, C++ and
Any that supports
CGI, and Apache
API sets.
NoYesDeveloper product includes
50 transaction-per-minute
licenses for single-processor
system for $1,499;
additional deployment
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
SilverStream Application Server All-Java EJB application server, Java 2 platform NT Workstation and Server, Solaris 2.6 or 7, HP-UX, IBM AIX Yes RMI only, RMI over IIOP or IIOP only Yes DCOM and COM can be called from a business object HTML, JavaScript and Java; IDE or third-party tools can be used Interface to ISAPI and NSAPI available Web server integrated with application server Yes, created automatically by visual page designer or manually in $403 per developer in packs of five and 10; $8,061 per CPU for server with unlimited users
Valto Systems
Burlington, Mass.
EjiptAll-Java EJB
Windows, Solaris,
not bundled
through EJ
No Any IDE; deploy Through servlet
Yes Server $2,495 for
unlimited users;
$495 for three client
Vision Software
up for single
Oakland, Calif.
VisionJADETotal Java
platform tool
NT, Solaris, HP-UX,
YesRMI over IIOPYesNoJava, HTML;
works with other
data sources
IBM DB2 Connect
and MQSeries
Yes; is designed
to sit on top of
Yes$25,000 and up
CPU Vision Business Logic
Server; $2,995 for Vision
Developer Studio

Stay Connected

Sign up for our newsletter.

I agree to this site's Privacy Policy.