Ericsson
 
 
Learn to use J2EE Connector Architecture for server side mobile internet 
*

Thursday, August 11, 2005

In today's world, Java 2 Enterprise Edition is the dominant technology for developing mobile internet applications, leveraging all the enterprise features of security, transactions, connection management and so on. J2EE servers consist of two parts, EJB container and Web Container. EJB containers provide a runtime environment to the Enterprise Java Bean components holding the business logic, while the web containers hold the presentation logic in the form of servlets and Java server pages.


The mobile internet consists of several service-enabler APIs for providing different kinds of services, such as charging, SMS, MMS, and location-based services. A distributed application developed on the J2EE platform might need some business logic that involves communication with service-enabler APIs, for example, to send SMS, MMS, or retrieve the positioning information from a positioning gateway. And although EJB provides a good structure for writing business logic, it also restricts the developer to writing specific types of code that might interfere with the EJB container. A few examples of restricted source code in the EJB container, according to EJB specifications, are multithreaded code, Java reflection API, file access, SSL connections and so on.


For service-enabler APIs, it is quite common to have one or more of these kinds of code, and so should not be accessed from the EJB containers, according to the EJB specifications. The way to overcome the limitations of EJB is to use J2EE Connector Architecture (JCA), by Sun Microsystems.


To access the telecom service layer, different service enablers expose the protocol API, but the problem that developers face is that the API is sometimes not adaptable for the J2EE/EJB platform. The goal of this kit is to guide the developers, step-by-step, on how to adapt their existing API for the J2EE platform.


To ensure developers easily understand the JCA technology, we have developed a resource adapter according to the specifications of J2EE Connector Architecture (JCA) 1.5. We chose the Ericsson MPS (Mobile Positioning System) SDK 6.0.1 as a service-enabler API and used the Sun One application server for testing the resource adapter. An important consideration for the resource adapter was to develop it in such a way that the EJB clients of the adapter could use the existing API for MPS so that EJB developers did not have to learn a new API to get the same functionality from MPS. We present our case study as a complemented development kit (CDK).


This kit is primarily intended for programmers and other related communities who are moderately experienced in J2EE platform and have a working knowledge of Enterprise Java Beans, and want to make use of the Ericsson MPS SDK to build high-end location-based services leveraging the Enterprise Java Beans. Due to the fact that JCA is not a well-understood technology for most Java developers, this CDK presents an important integration solution in an educational style. The knowledge from this CDK could be used to develop adapters for other Enterprise Information Systems inside the telecom world (for example, Charging, SMS, MMS and so on) as well for other systems.


The CDK includes the following:

  1. Developer's guide.
    a. Technical overview of enterprise application integration (EAI), J2EE
    Connector Architecture and Ericsson?s MPS SDK
    b. Design documents for the MPS resource adapter
    c. Getting started guide
    d. Code descriptions and summary        
  2. MPS resource adapter        
  3. Enterprise client application using MPS resource adapter        
  4. Complete source code and Ant build files

By Rehman Adil
Ericsson Mobility World

Size: 1,22 MB

Last published December 10, 2008