Small devices in the prototype

fishnibblersspongySoftware and s/w Development

Dec 14, 2013 (3 years and 7 months ago)

63 views

Small Devices on DBGlobe
System

George Samaras

Chara Skouteli

Small Device Capabilities


Wireless Connectivity


GPRS


GSM


Bluetooth


Infrared


Wireless


Development


VBasic


C/C++


.NET


Java


WML


HTML


Web Services


Web services architecture is designed for B2B
application and desktop application, thus they
requires devices which:


Are always connected


Are able to process fast


Are powerful machines


Small devices is difficult to use web services
because


Disconnections


Limited process capabilities


Low bandwidth


Connectivity Cost




Small devices as web services clients

Transferring Data with Web Services

SOAP

Client

Web

Server



Web Service

(1) SOAP Request

(2) Http Request

(5) Http Response

(6) SOAP Response

SOAP

Engine

(3)Java Call

(4) Java Object

However….


Many big companies like IBM, Sun, Microsoft
e.t.c provide runtime environments with new
components to allow mobile devices to use web
services.


Java enable devices which using J2ME are unable
to parse soap messages, thus new runtime
environments and standards have been created:


kSOAP


J2ME
-
Web services API


J2ME Wireless Connection Wizard Module


JSR 172 J2ME

Web Services Specification


Client Agent Server Architecture to support the usage of web
services on small devices



Client Agent Server
Architecture is a good solution
in order to support web
services on mobile devices.


We can use a light protocol for
client agent side
communication and agent
server side can stay as it is.


This protocol can be consist by
a set of available open source
implementations like


Enhydra


kSOAP


kXML

Request “Weather”

Response “Weather”

HTTP/SOAP

HTTP/SOAP

Small Devices as Web Service providers

Small devices as service providers


Small devices because of the problems we
mentioned earlier can not


Run a web server to handle http requests


Run a soap engine to handle soap messages



Web server

How to host a service available on a small
device?


We can create a proxy of
the service on a web server
as the web service.


The proxy knows how to
communicate with the
service on the device


The service provider
registers the proxy service
as the available web service


service

Service

proxy

Request (1)

(2) Response

How to host a service available on a small
device? (cont.)

SOAP

Client

Web

Server


Web Service


proxy

(1) SOAP Request

(6) SOAP Response

SOAP

Engine

(2)Java Call

(5) Java Object

service

(3) Java Call

(4) Java Object

Bibliography


[1]V. Bansal, A. Dalton. A Performance Analysis of Web Services on Wireless PDAS.
Duke University Computer Sciences.

[2]Enhydra: Opensource initiateve to provide libraries like kXML,Ksoap,kUDDI for J2ME

[3]
http://jcp.org/en/jsr/detail?id=172

[4] Java Web Services. H. Bequet, M. M. Kunnumpurath, S. Rhody and A. Tost

[5]
http://www.alphaworks.ibm.com/tech/wstkmd

[6]
http://www.ksoap.org/

[7]
http://java.sun.com/



Appendix

The J2ME Wireless Connection Wizard Module


The J2ME Wireless Connection Wizard Module builds
client and server communication components of an end
-
to
-
end application


based on a simple specification that you provide.
These components provide you with


all the efficiency and power of lightweight calls to remote
services


without the complexity of hand
-
coding
or


the overhead of bulky generic libraries.

KSOAP


KSOAP is an open
-
source implementation
of Web services.


Have been optimized to run on small
mobile devices and support a subset of
the SOAP 1.1 specification, because of


limited amount of memory on these devices



limited capabilities of the J2ME environment.


JSR 172 J2METM Web Services
Specification

JSR is designed to provide an infrastructure as two optional packages for J2ME to:
-



provide basic XML processing capabilities


enable reuse of web service concepts when designing J2ME clients to enterprise services


provide APIs and conventions for programming J2ME clients of enterprise services


adhere to web service standards and conventions around which the web services and Java
developer community is consolidating


enable interoperability of J2ME clients with web services


provide a programming model for J2ME client communication with web services, consistent with
that for other Java clients such as J2SE


The following technologies will be addressed:


APIs for basic manipulation of structured XML data (parsing)



these APIs will be based around a suitable strict subset of the APIs already defined by JAXP


APIs and conventions for enabling XML based RPC communication from J2ME, including


definition of a strict subset of the WSDL to Java mappings defined by JSR
-
101 (JAX
-
RPC), suitable for J2ME


definition of stub APIs based on the mapping above for XML based RPC communication, which will focus around
subsetting the mapping and conventions produced by JSR
-
101.


definition of runtime APIs to support stubs generated according to this mapping supporting XML as a transport and
encoding component



Investigation of a suitable and compact encoding mechanism for XML based RPC messages


J2ME Mobile Information Device
Profile (MIDP)



The J2ME Mobile Information Device
Profile (MIDP) lets you write downloadable
applications and services for network
-
connectable, battery
-
operated mobile
handheld devices such as cell phones,
two
-
way pagers, and Palm Pilots.


The Mobile Information Device Profile
(MIDP)


The Mobile Information Device Profile (MIDP), combined
with the Connected Limited Device Configuration
(CLDC), is the Java runtime environment for today's
mobile information devices (MIDs) such as phones and
entry level PDAs.


P
rovides
:


A
core application functionality required by mobile applications



including the user interface,



network connectivity,



local data storage,



and application lifecycle management



packaged as a standardized Java runtime environmentand set
of Java APIs.