MIRAE

Architecture Guide

Contents

Introduction

Mirae is a Web services sub-project to implement JSR 172. JSR 172 provides support for accessing Web services on the J2ME platform. It will deliver two new features to the J2ME platform:

1) Accessing SOAP based remote Web services from the J2ME platform.

2) Giving XML parsing support to the J2ME platform.

ABOUT THE NAME: "Mirae" (pronounced 'mee re' (as in 'red')) means future in Korean. Also the Japanese word for future is "Mirai" .. which is nearly the same. .

Modules

There are three important modules in MIRAE following,

  1. JAXRPC (Web Service API) implementation
  2. JAXP (SAX Parser) Implementation
  3. WSDL2WS_J2ME Tool to gernerate the required stubs

 

Architecture

Architecture Diagram


WSDL2WS_J2ME tool generates client side stub classes which has invocation code. This invocation code is invoked by the mobile application to invoke the MIRAE API. MIRAE API provides the mean for serializing the soap request using the parameters passed from the mobile application via the stub and deserializing the soap request.


MIRAE is a combination of two separate indipendent deliverables, such as JAXRPC and JAXP.

JAXRPC provides access to web services from J2ME platform. It perform serialization of SOAP request.

JAXP is a SAX parser implementation which provide xml parsing capability to the J2ME platform. It deserializes the SOAP response received from the server.

Class Diagram

  1. First the Call class gets the inputparameters to invoke the remote procedures defined in the webservice.
  2. The Encoder class provides the mean for serialize the SOAP request.
  3. The Decoder class Calls SAXParser class's parse method to parse the received SOAP response.
  4. SAXParser propagate the parsed response into the Decoder class.
  5. Finally the result is sent to the stub by the Call class.

Web Service Invocation

  1. The Mobile application calls the operations defined in the stub class.
  2. The stub class set the parameters and invoke JAXRPC api.
  3. JAXRPC api serializes the SOAP request.
  4. When the SOAP response from the server is received, JAXP is invoked by the JAXRPC to parse the SOAP response.
  5. While parsinfg the response message, the response is propagated to the JAXRPC.
  6. Then the output parameter is propagated to the stub.
  7. Then the mobile application gets the processed result.