small devices on dbglobe system george samaras chara skouteli

18
Small Devices on DBGlobe System George Samaras Chara Skouteli

Upload: marcia-garrison

Post on 29-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Small Devices on DBGlobe System George Samaras Chara Skouteli

Small Devices on DBGlobe System

George Samaras

Chara Skouteli

Page 2: 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

Page 3: Small Devices on DBGlobe System George Samaras Chara Skouteli

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

Page 4: Small Devices on DBGlobe System George Samaras Chara Skouteli

Small devices as web services clients

Page 5: Small Devices on DBGlobe System George Samaras Chara Skouteli

Transferring Data with Web Services

SOAP

Client

WebServer

Web Service

(1) SOAP Request

(2) Http Request(5) Http Response

(6) SOAP Response

SOAPEngine

(3)Java Call

(4) Java Object

Page 6: Small Devices on DBGlobe System George Samaras Chara Skouteli

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

Page 7: Small Devices on DBGlobe System George Samaras Chara Skouteli

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

Page 8: Small Devices on DBGlobe System George Samaras Chara Skouteli

Small Devices as Web Service providers

Page 9: Small Devices on DBGlobe System George Samaras Chara Skouteli

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

Page 10: Small Devices on DBGlobe System George Samaras Chara Skouteli

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

Page 11: Small Devices on DBGlobe System George Samaras Chara Skouteli

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

SOAP

Client

WebServer

Web Service proxy

(1) SOAP Request

(6) SOAP ResponseSOAPEngine

(2)Java Call

(5) Java Object

service

(3) Java Call

(4) Java Object

Page 12: Small Devices on DBGlobe System George Samaras Chara Skouteli

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/

Page 13: Small Devices on DBGlobe System George Samaras Chara Skouteli

Appendix

Page 14: Small Devices on DBGlobe System George Samaras Chara Skouteli

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.

Page 15: Small Devices on DBGlobe System George Samaras Chara Skouteli

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.

Page 16: Small Devices on DBGlobe System George Samaras Chara Skouteli

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

Page 17: Small Devices on DBGlobe System George Samaras Chara Skouteli

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.

Page 18: Small Devices on DBGlobe System George Samaras Chara Skouteli

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.

Provides: 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.