Skip navigation.
Arch2Arch Tab BEA.com

Disparate Service Invocation Challenges and Solution Alternatives for SOA in J2EE

by Sushil Shukla and Sudhir Bhojwani
02/28/2005

Abstract

Software reusability is a key success criteria for SOA. Over the years organizations have made significant investments in their IT assets, which consist of disparate technologies. SOA enables reuse of these business functionalities in a common, consistent manner. This presentation discusses the challenges in invoking the heterogeneous business services and presents solution alternatives available on the J2EE platform.

Services have been developed using a multitude of technologies such as web services, J2EE components (EJB, JMS, JCA), CORBA objects, .NET components, Unix transaction monitor-based services (Tuxedo, Top End, Encina), legacy mainframe-based applications, custom proprietary components, and more. Challenges in invoking these services include differences in syntax and semantics in invocation APIs, data mapping between Java/XML and native formats, support for a variety of communication paradigms, handling of infrastructure/invocation specific exceptions, service discovery mechanisms, mechanisms to pass security/transaction context from client to service, and so on. In addition, the service metadata for each of these paradigms has to be maintained. The invocation framework should also handle infrastructure-specific errors so that applications do not have to. Any invocation mechanism has to be inherently fast and incur the minimum possible overhead while handling all the above-mentioned issues.

It may seem that wrapping all these different services into web services will solve the issue of service invocation. That may be a viable alternative for application integration but it does not work between services within one application because of the invocation overhead and also because of the issues we've described here.

Few initiatives presently exist in the industry to solve this problem. Apache WSIF aims to solve it by describing services in the WSDL format and providing a Web services style invocation. Apache Beehive (and BEA WebLogic Workshop) has taken an approach similar to JavaBeans, which wrap the heterogeneous services as reusable controls. Beehive also uses JDK 1.5 annotations to keep service metadata with the code.

This presentation discusses these alternatives and proposes a service invocation framework that meets the requirements mentioned earlier.

Download

presentation.pdf - The presentation, in PDF format (761Kb)

Sushil Shukla is a principal architect working for BEA Technical Solutions Group. He has 19 years of industry experience and 9 years of architecting and designing application server based large systems. He has extensive experience with tools and technologies used in developing mission-critical applications.

Sudhir Bhojwani is a senior architect working for BEA Technical Solutions Group. He has over eight years of industry experience architecting and designing systems based on component technologies like CORBA and EJBs, and most recently working on SOA principles.


Return to dev2dev.

Article Tools

Email E-mail
Print Print
Blog Blog

Related Technologies

Bookmark Article

del.icio.us del.icio.us
Digg Digg
DZone DZone
Furl Furl
Reddit Reddit