Conceptual view of distributed object middleware.
server that was behind a corporate
rewall without the
re-wall being programmed to allow IIOP traf
c. In other words,implementation of ORBs across organizational boundariesturned out to be a challenge.
The attention has lately shiftedto
essentially, largeobjects containing business functionalities
that could bedirectly accessed over the Internet. In these cases, as we willsee, the Internet and the Web assume the role of the ORBproviding the services for locating, binding, and communi-cating between remotely located business components.A component, according to Herzum and Sims , is
a self-contained piece of software that has a well-de
nedinterface and can be developed, delivered, installed, andrun independently.
Components are conceptually similarto objects that can be used independently, can be combinedto build applications, and can plug into the infrastruc-ture through sockets.
For example, Microsoft Draw is acomponent within Microsoft applications. This particularcomponent is high level enough to perform end-user typefunctions (it draws boxes, arrows, circles, etc.). It also workswith other components of the Microsoft Of
ce Environment.Many desktop tools in the Microsoft Of
ce Environmentare currently available as components. Examples of typicaldesktop components are spell-checkers, format painters,calendars, print managers, etc. Conceptually, each icon onyour toolbar can be a separate component.These components can be combined to build applications(you could
nd the same spell-checkers in MS Word aswell as PowerPoint). and can plug into the infrastructureenvironment such as Microsoft DCOM/COM+. In addi-tion to Microsoft DCOM/COM+ components, several Javacomponents, known as
, are also commerciallyavailable to display clocks, calendars, etc., particularly inUnix/Linux environments. The components can exist at
As a personal experience, I managed several CORBA projects in the late1990s, and the problems of handling
rewalls and interbusiness ORBs be-came a major deterrent to project success.
Strictly speaking, objects have properties such as inheritance and poly-morphism, but components relax these restrictions .
several levels. Our interest is in
thatimplement a single business concept, such as purchasing,payment, billing, etc. A business component usually consistsof one or more primitive components and can be distributedacross machines to satisfy business needs (see , , and
).Business components can be
to providehighly reusable business services to Web users. This is themain idea of WS, also known as XML WS, which we willreview in the next section. In addition, platforms based onopen standards to support WS have become commerciallyavailable. For example, Microsoft
s .NET is an implemen-tation that is based on the WS speci
cation, and Sun
sJ2EE conforms to WS.
Fig. 3 shows a conceptual compo-nent-based architecture platform that is a generalization of the Sun J2EE, WS, and Microsoft .NET. This architectureis composed of several components that can exist at thefollowing tiers.
Client-tier components run on the client machine andcan represent a Web browser or another application.
Web-tier components run on the Web server to provideserver side support.
Business-tier components typically run on server ma-chines or minicomputers and are the business compo-nents because they represent business logic.
Resource (also known as enterprise)-tier softwaretypically runs on the back-end systems, such asmainframes.III. WS
The main idea of WS is quite simple
combine Web anddistributedobjectsintoasingleframeworkwheretheuser-to-component as well as component-to-component interactionsare conducted by using standard Web technologies. WS isconceptually the same as distributed objects but is based on
For more information about J2EE and .NET, see the Web siteshttp://www.sun.com and http://msdn.microsoft.com, respectively.
1422 PROCEEDINGS OF THE IEEE, VOL. 92, NO. 9, SEPTEMBER 2004
Authorized licensed use limited to: IEEE Xplore. Downloaded on April 16, 2009 at 19:09 from IEEE Xplore. Restrictions apply.