In addition to providing quick, simple data synchronization, this service enables
“pushing” data from the control center to mobile terminals without the terminal hav-
ing to initialize synchronization.
Each individual mobile terminal has a unique ID that must be known in order to
use the “push” functions of an MDS service in access of the control center server.
The MDS server provides a status code for each data record sent to a Blackberry
handheld so that successful delivery of the data via the control center server can be
checked. Each order sent from the control center to the mobile terminal is assigned a
unique ID which allows all data to be uniquely assigned to one terminal and one
order.
The mobile client makes full use of the technologies provided by the Blackberry
handheld, such as multithreading, persistent storage, network communication, etc. It
is becoming clear that mobile terminals like the Blackberry handheld have already
attained technical and ergonomic performance that up to now was only maintained by
notebooks. The Blackberry also provides integrated telephone functions that can be
used directly from the applications.
Communication between the instances of the whole application is based on open
standards (Web service and servlet technology): Both the control center and the mo-
bile terminal provide Web services.
Server side Web services are available for actions initiated from the mobile de-
vices that are connected to a servlet and that can be reached from the handheld (via
MDS) using the GPRS network. Because the client also offers Web services, bi-
directional communication can also take place using Web services (via MDS), which
means data can be sent from the handheld and / or data can be called from the server.
The connection via Web services means that the control center area and the mobile
terminal are loosely linked in terms of a service-oriented architecture so that the inte-
gration of alternative mobile terminals can be accomplished easily.
Web services on the control center side are implemented in Java using Apache
Axis as JAXRPC runtime, but it can be accomplished in other languages and in other
runtime environments, thus guaranteeing platform independence in regard to the
various control center systems used. To connect the application to an already existing
control center system, one only needs to integrate the Web service defined in a
WSDL file into the control center system. The Web service implementation on the
mobile terminal side conforms to Java Specification Request standards (JSR) 172 [4].
The freely available reference implementation of JSR 172 by Sun Microsystems [10]
was used. In order for the handheld to be able to address the Web services of the
control center, a stub was generated using the WSDL description, which takes over
communication with the server using HTTP in the form of SOAP messages (SOAP
1.1).
Actions that are initiated by the control center – sending messages and updating
master data – are sent to the mobile device without previous query by HTTP push.
The data is transferred via HTTP as the carrier protocol in an application-specific
XML format. Parsing of the XML data on client site takes place via a SAX parser for
mobile devices that is also included in the reference implementation of the JSR 172.
77