In-Depth
CORBA and EJB Team Up in Data Center
- By Deborah Melews
- January 1, 2001
Potential conflict between CORBA standard and Enterprise JavaBeans (EJBs)
de facto standard is blunted as the OMG and Sun both recommend a combination
— CORBA for legacy systems and EJB for the fresh new mid-tier and front-end
apps.
It would be a luxury if the only thing today's IT shops had to worry about
was new code. But in the fast-paced world of Internet development, particularly
in the e-commerce and business-to-business arena, integration with existing
legacy, back-end databases is a growing concern.
Adding to this integration mix is the time factor — to remain competitive,
e-commerce apps should have been deployed yesterday — as well as scalability
and reliability. But how does a company protect its investment in existing platforms
and solutions while addressing these additional issues?
A number of middleware technologies and object-oriented tools have emerged
to help. Among them are CORBA, the Common Object Request Broker Architecture
standard from the Object Management Group (OMG), Framingham, Mass.; and Enterprise
JavaBeans (EJBs) technology, a platform-independent de facto standard that resides
under the auspices of the Java Community Process (JCP).
As with any technology, CORBA and EJB are continuously evolving. Each is endowed
with specific strengths for distributed computing. CORBA is a mature, language-independent,
open connectivity standard that has been around for 10 years. The three-year-old
EJB technology, currently in Release 1.1, is becoming increasingly popular but
is relatively immature.
On the surface, this May-December marriage may seem to be a bit of a mismatch.
CORBA is under the jurisdiction of the OMG and, as such, remains an open standard.
Striving to prove its openness, EJB is controlled by the JCP but is still perceived
as "belonging" to Sun Microsystems.
Even so, the two technologies are considered by many in the industry to be
complementary. EJB components promise ease of use and fast deployment for new
server-side applications, while CORBA brings an open connectivity solution to
the table.
The EJB specification is targeted toward application service providers (ASPs)
and development environments. The spec sets forth how the different elements
should interact, and ensures that components and the programs that use them
are highly portable across different servers. As such, ASPs such as Bluestone
Software, Mt. Laurel, N.J., BEA Systems Inc., San Jose, Calif., and Iona Technologies
Inc., Waltham, Mass., must adhere to the specification to be EJB-compliant.
These firms, along with Sun, have embraced the Java 2 Enterprise Edition (J2EE)
platform, which brings together Java Servlets, Java Database Connectivity (JDBC)
and Java Server Pages (JSPs). EJB technology steps in to automate management
of the object life cycle, provides object persistence and object security, defines
distribution by way of how remote applications can access objects, and ensures
scalability.
CORBA and EJB integration
Andrew Watson, vice president and technical director at the OMG, agrees that
the two technologies are complementary. "CORBA is integration technology, and
integration these days is very much a watchword in the enterprise," he said.
"If you're building middle-tier, new applications, and perhaps integrating
with legacy apps on the back end, EJB is a great way to go for engineering your
middle-tier applications. That is, provided you can manage the communication
between the middle tier and the back end," noted Watson.
But there is that proviso; while you are deploying new EJB apps, a new programming
language, a new framework and getting better productivity, you still need to
tie it in with legacy applications. "That's exactly where EJB and CORBA are
complementary," Watson explained. "CORBA is an infrastructure for handling that
communication and integration with the existing legacy systems.
"EJB is a great choice for current technology where you are building new components
— then you use CORBA to integrate them into your existing infrastructure," he
added. "But if you're trying to take your existing app and 'componentize' it,
EJB doesn't help you because it's Java-specific."
To help address that issue the OMG has provided the CORBA Component Model (CCM),
which is complementary to EJB and goes a long way toward making CORBA and EJB
more compatible. The CCM is part of CORBA 3.0, and it essentially builds on
the established base of CORBA use, which is linking different tiers and legacy
apps.
"What we've done with the CCM is to provide an analog of EJB to people not
using Java," said Watson. "This extends CORBA's server-side support in ways
that are similar to the platform Sun provided with EJB, but for other languages
such as C++ and so on."
But according to Watson, this does not make CORBA and EJB competitive in any
way. "We didn't set out to create something that competed with EJB, nor did
we set out to create anything that would create gratuitous differences with
EJB," he said. "We basically took the underlying EJB design rationale in the
EJB model and created an analog of it for other programming languages, including
Java. CCM for Java is EJB; the specification is the same."
"CCM is the OMG's specification for doing what EJB does: creating components
and segmenting the plumbing away from the business implementation," said Ralph
Galantine, Sun's senior product manager of CORBA technology. "CCM includes EJBs
as a valid CORBA component, so it's safe for IT shops to invest in building
EJBs because it is a valid piece of the spec from the OMG," he explained. "Therefore,
it's safe to assume that what the OMG does will respect [what] EJB is."
For its part, Sun and the JCP have determined that CORBA is sufficiently important
to the success of Java that they have made a CORBA-compliant ORB a mandatory
part of all JDKs.
"The JDK 2 tells other vendors working under the Java umbrella that they must
provide that CORBA ORB as part of their Java environments," said the OMG's Watson.
"This ensures Java programmers that whenever they write code and wherever it
gets deployed, there will always be a CORBA ORB available to help them talk
from their new Java programs into their other systems."
Does this mean that Sun, the JCP and the OMG are working closely together?
Not exactly. While there is no formal representation of the OMG in the JCP process,
a lot of the vendors involved with JCP are also involved with the OMG. "We do
see some interaction," said Sun's Galantine. "Sun is also a very active participant
in the OMG, so that's another opportunity to influence EJB and CORBA to work
well together. We're all working to keep standards closely aligned."
"Until recently, Sun took the attitude that Java was their technology and they
would decide which way it goes," said the OMG's Watson. "Java has now become
so important to so many players that the industry cannot let Sun have total
control over it. Therefore, the JCP is established as an open process to make
the rest of the industry feel comfortable that Sun doesn't have exclusive control
over Java's future," he added. Even IBM, which has criticized Sun's role in
the EJB standards process, is an active JCP member.
Collaborating on the EJB spec
The EJB spec is a collaborative effort driven by Sun with participation from
every major player in the industry. "This is a benefit because customers will
be able to layer EJB applications onto their existing IT infrastructure," said
Ann Betser, Sun's senior product manager, EJB. "The companies can continue to
use the same vendors and the same hardware and software, while enjoying the
benefits EJB technology provides."
EJB separates the business logic from the complex plumbing-type services such
as transaction management, security management, multithreading, load balancing,
connection pooling and a long list of middleware services that can not only
make an app very complicated, but lengthen development time. This makes for
rapid development and deployment.
With EJB there is also a high level of portability in both operating systems
and app servers, which protects a company's investments. A firm can scale up
its solution, change its security issue and improve performance. Because there
is no vendor lock-in, a company can maintain a flexible infrastructure as it
moves forward.
EJB 1.0 went into final draft in March 1998, while Revision 1.1 came out in
March 1999. The next major release, 2.0, will be one of the first specs to go
through the JCP.
One of the most significant things included in Revision 1.1 is the mandatory
use of Entity Beans, a type of bean that enables better connectivity between
the middle tier and the database tier.
Revision 1.1 also aims to make deployment easier for the developer, so the
JCP made many changes around the deployment descriptor. This enables a developer
to provide an instruction book that gives the application server information
about how to manage the enterprise beans. One change was in the format to support
eXtensible Markup Language (XML) text.
In additional updates, the RMI over IIOP feature has gone into the recently
released Java 2 SE v1.3. That allows RMI to work over CORBA, making CORBA a
full citizen of Java and completely equal with Java Remote Method Protocol (JRMP).
Also, a new CORBA IDL compiler is available to help make CORBA easier to use
for Java programmers.
International Data Corp. (IDC), Framingham, Mass., forecasts that the EJB
components market will grow at an annual compound growth rate of 175% during
the next five years. "EJB is being adopted at amazing rates. This is a technology
where we saw customers starting to build mission-critical applications before
Version 1.0 of the spec went public," noted Sun's Betser.
It was not long before Sun's enterprise customers were in production with mission-critical
applications based on EJB technology. "One key area, for obvious reasons, is
e-commerce," said Betser. Customers with successful EJB implementations include
DHL Worldwide Express, which used the Java platform to build an enterprise-wide
airway bill imaging application that enables customer service representatives
to query and access bill images through a Web browser. This provides a more
streamlined and cost-effective customer service fulfillment process. The application
was developed in less than one week, and is estimated to have saved DHL more
than 1 million dollars per year.
"EJB enables rapid development of new apps, as well as their modification over
time," said Betser. "EJB is portable across application servers, provides flexibility
and choice in setting up the infrastructure for the application, and protects
the application moving forward, enabling the company to scale their solution
by swapping the underlying application server."
Another important piece is interoperability between different application servers,
legacy applications and the existing world of CORBA. "What we've required in
the spec for this version of J2EE is that application servers be able to call
out to an existing CORBA service. The level of interoperability, and whether
there is full transactional interoperability with existing CORBA things is a
vendor thing; it's a point of differentiation between the vendors," said Betser.
Pairing app servers with EJB and CORBA
Formed in early 1999, X:drive Inc., Santa Monica, Calif., provides the consumer
and business markets with an Internet hard drive. Its X:drive hosting service,
free to consumer members, lets a user store files on X:drive and then access
them from anywhere with Internet access.
According to Jack Crawford, CTO at X:drive, the company chose BEA WebLogic
Server as the application server on which to run Java. Performance and scalability
were important factors. "Our registered user base has just now topped two million,
and in terms of concurrent users the site feeds about 100,000 people a day,"
said Crawford.
The company expects its customer base will grow to 8 million or 9 million consumer
users, along with a very large complement of business users who are paying to
have advanced services like security or encryption on top of X:drive. "This
will be greatly supported by the underpinnings of the Java foundation," said
Crawford.
According to Lucas McGregor, applications architect at X:drive, the company's
offerings were originally written in Perl as the core language set. "We realized
we needed to switch to a more advanced platform than those traditional languages,"
he said.
"We evaluated a lot of things, such as going back to C where we could get pure
throughput," he added. "After analyzing languages, we realized the feature set
we needed to be on the Internet was something we could only get from an advanced
language like Java."
There was some initial concern at X:drive about the speed issues associated
with Java, but the firm learned that Java for Web sites is not the same as the
traditionally intense graphical-type computing that people originally criticized
Java for.
"Instead, we would be using Java for things like network access, database access,
disk access, and things like parsing and processing of input and output," said
McGregor. "Java is extremely fast at these things."
In addition, X:drive has a partnership with Symantec Anti-Virus whereby X:drive
users can have their files scanned before they are saved to their Internet hard
drive, noted Crawford. "This app runs on four BEA WebLogic servers. It hits
against the staging area where the files are initially uploaded and lets the
user know whether they have a virus, then asks whether they want to correct
it and so forth."
X:drive has recently rolled out its final production site completely in Java.
The application runs on a distributed network of servers for a high level of
scalability and stability. According to Crawford, Java has proven to be one
of best languages out there in meeting the rigors of the Internet.
X:drive is now uploading nearly 100Gb of new user files per day going into
storage, and is growing at just under a terabyte a week. "We believe we will
handle the load without any problem, and we're looking for real performance
advantages with the move to Java," said Crawford.
The role of Internet app servers
Application server software that integrates EJB and CORBA offers advanced services
such as load balancing, fault tolerance and security. Sun's Betser has seen
across-the-board adoption of the EJB technology. "It's become a checkpoint feature
for application servers," she said.
One such application server supplier is BEA Systems. According to John Kiger,
BEA's director of product marketing, BEA has had tremendous success and a large
roster of reference customers with live EJB implementations. "Our view is that
Java is the future for application servers and e-commerce in particular," he
said. BEA Systems offers the BEA WebLogic family of application servers. The
company recently announced release 5.1 of its application server family, which
consists of three main products: WebLogic Express, BEA WebLogic Server 5.1 and
WebLogic Enterprise 5.1.
WebLogic Express, the low-end product, is aimed at providing a Java application
server for "forms-to-fields" for getting data out of databases and up to Web
interfaces quickly. On the middle tier is WebLogic Server, which provides an
EJB application server platform and supports enterprise Java standards, as well
as all the critical J2EE standards, Servlets, JSPs, EJB, JDBC and Java Messaging
Service (JMS). The Server also includes value-added capabilities such as the
ability to provide clustering for high availability, failover and robustness
needed for business-critical applications.
Kiger describes WebLogic Enterprise 5.1 as a complete platform for Web-to-back-end
e-commerce integration. This is important because in complete e-commerce solutions
you have to think not only about the front end and how you generate Web pages
that interact with the customer, but about the complete end-to-end solution
with the Web front end, data access and transactions in the middle, and integration
with other systems in the enterprise on the back end.
Another EJB supporter is Bluestone Software. The company offers Total-e-Server
(formerly Sapphire/Web), an enterprise-class infrastructure that fully supports
the latest open technology standards such as J2EE and XML.
Bluestone's Universal Business Server (UBS), a part of Total-e-Server, is a
deployment engine that ensures scalability and fault tolerance through load
balancing, data caching, state management and reliable transaction processing.
The UBS application server products are also based on the J2EE platform. "We
feel strongly that it is the platform of the future and we see very strong support
of that in our customer base," said Bob Bickel, Bluestone's executive technology
officer and senior vice president of products.
The Bluestone UBS incorporates the EJB container and supports other important
pieces of J2EE such as JSPs, Servlets, JDBC and JMS. Services are also provided
for things like security, connection pooling and state management.
Bluestone also supports CORBA and can call CORBA objects without EJBs. Clients
can call the Bluestone application server as a CORBA service. With the CORBA
IIOP implementation, it can be integrated with the Bluestone EJB server with
RMI IIOP.
Bluestone released its EJB 1.1 server in April 2000. Bickel believes that a
lot more has been solidified in the 1.1 spec and that people can implement on
it. He has also noticed a growing amount of compatibility between the different
EJB 1.1 servers. "We have customers who have ported from BEA WebLogic into the
Bluestone EJB server and made that port happen in the course of hours," he said.
....Bluestone is not just an EJB vendor. "We support other mechanisms as well,
because we don't necessarily feel EJB is appropriate for all apps," said Bickel.
The final decision on what to use is left to the customer, he noted. EJB Entity
Beans, for example, have some performance issues and there are still some apps
where it does not necessarily make sense to use them from a performance perspective.
According to Bickel, that part of the spec is getting better as time goes on.
Some users are completely sold on EJBs, while others are concerned about the
newness of EJB. "An alternative is to use simple beans, and to utilize the services
of the application server for doing load balancing, persistence, state and so
forth," said Bickel.
EJBs in action
Favemail, New York City, has a Web site that allows people to add "Faves" —
clickable graphics and text — to their E-mails. The company chose to employ
Java and the Bluestone Total-e-Server infrastructure to create a content platform
for Internet E-mail enhancements.
Faves do not change the way a person E-mails; they transform everyday text
messages into banners with photos and links. "We call them digital bumper stickers,"
said Fred Kauber, vice president of technology and operations at Favemail.
The technology can also be used for Internet affiliate marketing. For example,
you might go to the Favemail Web site and find a Fave for a particular book
about Java at Amazon.com. If the book is of interest to your programmer friends,
you can send that Fave by E-mail to those friends. If one clicks on it, goes
to the site and buys the book, you would receive a commission for the referral.
The platform Favemail built is very Java-centric. The company implemented Bluestone's
Web application server as the heart of the infrastructure, and the platform
is all Unix-based using Sun Solaris. The application was developed using JSP.
Performance and scalability were concerns, however. "The more Faves that are
sent out in E-mails, the more potential members we have," said Kauber. "It grows
very quickly, so we've architected our platform to support millions of users
and tens of millions of these transactions."
Because a very robust platform was required, Kauber went with Bluestone's app
server and EJB with an Oracle database on the back end. "We looked to the promise
of EJB to ensure we wouldn't tie ourselves into any proprietary technology framework.
That's incredibly important, and the role of Java Server Pages and Sun's J2EE
platform also speak very well to that point. You can theoretically run components
you've developed on any vendor's EJB container if they comply with EJB and J2EE
standards," said Kauber.
According to Kauber, when Favemail was formed a year ago, standards were still
evolving, so it was a matter of being able to integrate JSP technology with
the other technologies the company was working with. "Not everything was extensible
via JSP, but that's changing radically, and we were able to gain all the benefits
we sought, such as not being locked into a particular application platform,
speed in development, and flexibility in terms of being able to update our content.
We release a significant enhancement to the service about every three weeks,
so it's a constant, ongoing process," he said.
J2EE and the EJB strategy
Iona Technologies also offers an EJB 1.1 application server that fully meets
the requirements and functionality of J2EE 1.2. According to Simon Pepper, senior
product manager of Java products at the company's worldwide headquarters in
Dublin, Ireland, J2EE sets the standards for application servers going forward.
About a year-and-a-half ago, Iona acquired EJB Home, a technology company
that was one of the reference implementations within the EJB 1.0 spec. Iona
brought the technology in-house, but decided not to release it to the older
1.0 EJB specification. Instead, Iona worked it up to EJB 1.1.
"In the first-generation application serv- ers, there were certain scalability
issues," said Pepper. "We found the more lengthy 1.1 EJB standard to be more
enterprise strength with its standard deployment descriptors."
EJB is a key part of Iona's product strategy. Pepper maintains that CORBA is
still important, and notes that Iona's iPortal app server is basically built
on top of CORBA.
He also views CORBA and EJB as complementary technologies. "CORBA did a great
job abstracting away from the infrastructure — from things like networks, sockets
and RPCs, and from having to discover where your distributed application was
running somewhere in the network," said Pepper.
"By harnessing the power of CORBA inside the EJB container, we're utilizing
all the power of CORBA and its maturity as a standard," added Pepper. "We have
it proven in many business-critical distributed object environments. Rather
than throw that away and start something new, we harness the power of that infrastructure,
but take it up to another layer of abstraction, where EJB is at."
At the JavaOne Conference held in San Francisco last month, Iona announced
its participation in Sun's JCP Executive Committee. In addition, Iona announced
enhancements to its iPortal Suite, including the iPortal Server presentation
and content management component. The firm also announced Orbix 2000 Version
1.1 for Java, which provides customers with support for developing Java and
C++ CORBA apps.
The future of CORBA and EJB
While the EJB specification is not quite in the public trust yet, industry
observers agree that the technology has come a long way. Companies that have
been working with the technology also see its potential for the future, particularly
in terms of working well with CORBA. "EJB 1.1 is a very solid spec," said BEA's
Kiger. "It's a terrific platform for robust enterprise apps, and we're seeing
a lot of success with it."
Kiger also suggests that while the Java and CORBA convergence is quite natural,
it is important to provide a platform that bridges the present with the future.
"If you look at what we have with multiple platforms out there, if you're a
pure Java shop then BEA's Web Server is a terrific platform. But many of our
customers have different types of programmers, including C, and may have CORBA
in place, which calls for a single enterprise server, such as WebLogic Enterprise,"
said Kiger.
Regarding any dichotomy between CORBA and EJB, Sun's Galantine notes that it
is not a division nor is it a question of CORBA vs. EJB; it is more of a progression.
"A lot of people who have been using CORBA are now using EJBs for new projects,"
he said. "The question is, when you adopt EJB, will it be on top of CORBA or
on top of something else?"
"Vendors with less history in the CORBA community, but with a big history in
the transaction processing community, may build EJBs on top of their TP monitors
that aren't necessarily CORBA," he explained. "They can fight the wars with
CORBA; but with EJBs, the systems are aligned and EJBs help fulfill the promise
CORBA has had for years but has partially fulfilled."
Added Galantine, "We've gone further now to deliver ease of use, compatibility
and, with the next version of the spec, interoperability based on CORBA IIOP.
Our surveys show that [developers] don't find CORBA as easy as it should be
or as interoperable. Our big push is to make it a lot easier so that when you
get a J2EE 1.3 you know it'll interoperate with every other J2EE app server
out there."
EJB as a standard is still evolving, noted FaveMail's Kauber. For example,
he said his company had some issues with the security models in its adoption
of JSP. "Even within the Bluestone application suite, not all the security services
were extensible to that model. I think that not all the components have caught
up to actual standards compliance yet, but that's the case with any emerging
technology," he explained.
"I think the true value of EJB hasn't been found yet; most of what EJB offers
is the promise of being able to migrate legacy applications to future platforms
as long as they're EJB-compliant," said Kauber.
"The people at Sun have done a good job trying to keep a diverse vendor community
happy along with trying to move the technology forward," added Bluestone's Bickel.
"It's a tough position they're in, but I think they're doing a pretty respectable
job."