Upload
mukesh427
View
222
Download
0
Embed Size (px)
Citation preview
7/27/2019 Web Services on Mobile Platform Documentation
1/18
ABSTRACT
Web services are distributed application components that are externally available.You can use them to integrate computer applications that are written in different languages
and run on different platforms. Web services are language and platform independent because
vendors have agreed on common web service standards. A web service is typically an
application programming interface (API) or Web API that is accessed via Hypertext Transfer
Protocol (HTTP) and executed on a remote system, hosting the requested service.The W3C
defines a "web service" as "a software system designed to support interoperable machine-to-
machine interaction over a network. It has an interface described in a machine-process able
format (specifically Web Services Description Language WSDL). Other systems interact
with the web service in a manner prescribed by its description using SOAP messages,
typically conveyed using HTTP with an XML serialization in conjunction with other Web-
related standards."Web services are an emerging technology that provides interoperability
between applications running in different platforms. The Web services technology provide
the best approach to Service Oriented Architecture envision of component collaboration for
better business requirements fulfillment in large enterprise systems. The challenges in
implementing Web services consuming clients for low-resources mobile devices connected
through unreliable wireless connections are delimited. The paper also presents a
communication architecture that moves the heavy load of XML-based messaging.
7/27/2019 Web Services on Mobile Platform Documentation
2/18
TABLE OF CONTENTS
LIST OF FIGURES PAGE NO
1. INTRODUCTION
1.1THE ROLE OF WEB SERVICES ON MOBILE PLATFORM
1.2THE SOAP
1.3DESCRIPTION OF WEB SERVICES
1.4LIMITATIONS OF MOBILE DEVICES
2. TYPES OF WEB SERVICES
2.1BIG OR SOAP WEB SERVICES
2.1THE SOAP MESSAGE EXCHANGE MODEL
2.3RELATION TO XML
2.4RESTFUL WEB SERVICES
2.5FUNDAMENTAL ENTITIES OF REST
3. INTRODUCTION OF A MIDDLEWARE COMPONENT
3.1FUNCTIONS OF MIDDLEWARE
ii
7/27/2019 Web Services on Mobile Platform Documentation
3/18
FIG.NO FIGURE NAME PAGE NO.
1 WEBSERVER
2 MOBILEDEVICE
3 CLIENT AND SERVER
4 SOAP ARCHITECTURE
5 MIDDLEWARE
iii
7/27/2019 Web Services on Mobile Platform Documentation
4/18
1. INTRODUCTION:
Web services are distributed application components that are externally available.You can use them to integrate computer applications that are written in different languages
and run on different platforms. Web services are language and platform independent because
vendors have agreed on common web service standards. A web service is typically an
application programming interface (API) or Web API that is accessed via Hypertext Transfer
Protocol (HTTP) and executed on a remote system, hosting the requested service. The W3C
defines a "web service" as "a software system designed to support interoperable machine-to-
machine interaction over a network. It has an interface described in a machine-process able
format (specifically Web Services Description Language WSDL). Other systems interact
with the web service in a manner prescribed by its description using SOAP messages,
typically conveyed using HTTP with an XML serialization in conjunction with other Web-
related standards."Unlike traditional client/server models, such as a Web server/Web page
system, Web services do not provide the user with a GUI. Web services instead share
business logic, data and processes through a programmatic interface across a network. The
applications interface, not the users. Developers can then add the Web service to a GUI (such
as a Web page or an executable program) to offer specific functionality to users.
7/27/2019 Web Services on Mobile Platform Documentation
5/18
Web services allow different applications from different sources to communicate with
each other without time-consuming custom coding, and because all communication is in
XML, Web services are not tied to any one operating system or programming language.
1. Web server
Web services instead share business logic, data and processes through a programmatic
interface across a network. The applications interface, not the users. Developers can then add
the Web service to a GUI (such as a Web page or an executable program) to offer specific
functionality to users.
7/27/2019 Web Services on Mobile Platform Documentation
6/18
1.1THE ROLE OF WEB SERVICES ON MOBILE PLATFORM:
Web services are an emerging technology that provides interoperability between
applications running in different platforms. The Web services technology provide thebest approach to Service Oriented Architecture envision of component collaboration for
better business requirements fulfillment in large enterprise systems. The challenges in
implementing Web services consuming clients for low-resources mobile devices
connected through unreliable wireless connections are delimited. The paper also presents
a communication architecture that moves the heavy load of XML-based messaging
system from the mobile clients to an external middleware component. The middleware
component will act like a gateway that lightly communicates with the device in a client-
server manner over a fast binary protocol and at the same time takes the responsibility of
solving the request to the Web service. Keywords: Web Services, SOA, Mobile
Computing, Mobile Devices.
2. Mobile Device
7/27/2019 Web Services on Mobile Platform Documentation
7/18
1.1THE SOAP:
The current trend in the application space is moving towards Service-Oriented
Architecture (SOA) paradigm which describes a flexible set of design principles for building
interdependent and interoperable application components that act like services by
implementing a specific functionality and publishing a communication interface to access it.
The paradigm envisions component collaboration for better fulfillment of business
requirements in large enterprises systems. Systems built with these principles will be more
flexible to changes in business requirements as opposed to traditional monolithic systems that
are extremely sensitive to any change in one of its subsystems.
The Web services technology evolved from the most logical approach of applying the
SOA vision to the Web space. This technology provides interoperability over the Web
between applications running on different platforms, ensuring a standardized protocol for
business partners to exchange information. Being built over the extensible Mark-up Language
(XML) and Hypertext Transfer Protocol (HTTP) standard protocols, Web services can be
easily deployed and accessed from anywhere over the Web. Web services are software
components build upon Web-based technologies including HTTP and XML and allowstandard means of interoperability over the Internet or intranets between application running
on a large variety of hardware and platforms. Web services act like self-contained
components that are published, located and invoked over the Web. The key concept behind
Web services is to provide a standard platform and operating system independent mechanism
for application communication over the Web.
7/27/2019 Web Services on Mobile Platform Documentation
8/18
1.3. DESCRIPTION OF WEB SERVICES:
Web services are software components build upon Web-based technologies including
HTTP and XML and allow standard means of interoperability over the Internet or intranets
between application running on a large variety of hardware and platforms. Web services act
like self-contained components that are published, located and invoked over the Web. The
key concept behind Web services is to provide a standard platform and operating system
independent mechanism for application communication over the Web.
3. Client and Server
There are two major limitations that SOAP-based Web services have: performance issues
due to XML processing overhead and lack of support for transaction in communication.
Communication with a Web service may suffer poor performance over busy or unstable.
7/27/2019 Web Services on Mobile Platform Documentation
9/18
1.4 LIMITATIONS OF MOBILE DEVICES:
About fifteen years ago the mobile phones had huge sizes and carrying them was an
issue. They were about phone calls only. Today the mobile revolution brings mobile devices
that can easily fit in your back pocket and feature incredible entertainment and multimedia
capabilities. The capabilities of mobile devices are constantly increasing to satisfy an even
more increasingly need for flexibility in terms of mobility and connectivity. Cellular
networks are expected to sustain a 40 time increase of data traffic in the next 5 years. Data
traffic will come from Web browsing in general and video watching in particular.
Sites like give an up to date hardware features comparison of existing smart phones - the
most appealing mobile devices on the market in terms of mobility. Besides the obvious
advances in computational capabilities (e.g. faster processor, greater amount of ROM and
RAM), the trend is towards providing wireless network communication capabilities and high
connectivity features. The main hardware limitations of mobile devices that need to be
addressed in the near future are huge battery consumption - that translates into poor battery
ower and network.
Except for the Windows and Nokia platforms that provide a level of support that
allows the developer to concentrate on design and creativity rather than finding dirty
workarounds, developing SOAP Web services clients requires a lot of extra effort mostly due
to the lack of native support. Moreover, specific workarounds are required for specific
platforms making very resource consuming the task of implementing a Web application on
all mobile platforms.
7/27/2019 Web Services on Mobile Platform Documentation
10/18
2. TYPES OF WEB SERVICES
Types of Web Services:
On the conceptual level, a service is a software component provided through a
network-accessible endpoint. The service consumer and provider use messages to exchange
invocation request and response information in the form of self-containing documents that
make very few assumptions about the technological capabilities of the receiver. On a
technical level, web services can be implemented in various ways. The two types of web
services can be distinguished as
big web services (SOAP) Restful web services
2.1 Big OR SOAP Web Services:
SOAP, originally defined as Simple Object Access Protocol, is a protocol
specification for exchanging structured information in the implementation of Web Services in
computer networks. It relies on Extensible Markup Language (XML) for its message format,
and usually relies on other Application Layer protocols, most notably Remote Procedure Call
(RPC) and Hypertext Transfer Protocol (HTTP), for message negotiation and transmission.
SOAP can form the foundation layer of a web services protocol stack, providing a basic
messaging framework upon which web services can be built. This XML based protocol
consists of three parts: an envelope, which defines what is in the message and how to process
it, a set of encoding rules for expressing instances of application-defined data types, and a
convention for representing procedure calls and responses.
7/27/2019 Web Services on Mobile Platform Documentation
11/18
SOAP consists of three parts:
The SOAP envelope construct defines an overall framework for expressing what is ina message; who should deal with it, and whether it is optional or mandatory.
The SOAP encoding rules defines a serialization mechanism that can be used toexchange instances of application-defined data types.
The SOAP RPC representation defines a convention that can be used to representremote procedure calls and responses.
4. Soap Architecture
7/27/2019 Web Services on Mobile Platform Documentation
12/18
2.2 THE SOAP MESSAGE EXCHANGE MODEL:
SOAP messages are fundamentally one-way transmissions from a sender to a
receiver, but as illustrated above, SOAP messages are often combined to implement patterns
such as request/response.SOAP implementations can be optimized to exploit the unique
characteristics of particular network systems. For example, the HTTP binding provides for
SOAP response messages to be delivered as HTTP responses, using the same connection as
the inbound request. Regardless of the protocol to which SOAP is bound, messages are
routed along a so-called "message path", which allows for processing at one or more
intermediate nodes in addition to the ultimate destination.
A SOAP application receiving a SOAP message MUST process that message by
performing the following actions in the order listed below:
1. Identify all parts of the SOAP message intended for that application2. Verify that all mandatory parts identified in step 1 are supported by the application for
this message and process them accordingly. If this is not the case then discard the
message. The processor MAY ignore optional parts identified in step 1 without
affecting the outcome of the processing.
3. If the SOAP application is not the ultimate destination of the message then remove allparts identified instep 1before forwarding the message.
2.3 RELATION TO XML:
All SOAP messages are encoded using XML A SOAP application SHOULD include
the proper SOAP namespace on all elements and attributes defined by SOAP in messages that
it generates. A SOAP application MUST be able to process SOAP namespaces in messages
that it receives. It MUST discard messages that have incorrect namespaces and it MAY
process SOAP messages without SOAP namespaces as though they had the correct SOAP
namespaces.
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Ref477590609http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Ref477590609http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Ref477590609http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Ref4775906097/27/2019 Web Services on Mobile Platform Documentation
13/18
SOAP defines two namespaces:
1. The SOAP envelope2. The SOAP serialization
2.4 RESTFUL WEB SERVICES:
REST is a collection of architecture principles and a software architecture style to
build network-enabled systems based on mechanisms that define and access resources, such
as the World Wide Web. The term REST is often used rather loosely to describe a framework
to transmit data over a protocol such as HTTP without adding additional semantic layers or
session management.
REST defines a strict separation of concerns between components that participate in a
client-server system that simplifies the implementation of actors involved. REST also strives
to simplify communication semantics in a networked system to increase scalability and
improve performance. REST relies on autonomous requests, between participants in a
message exchange which implies that requests must include all information that a client orserver requires understanding the context of the request. In a REST-based system, you use
minimal sets of possible requests to exchange standard media types.
7/27/2019 Web Services on Mobile Platform Documentation
14/18
2.5 FUNDAMENTAL ENTITIES OF REST:
REST defines the following fundamental entities:
Data elements: Data, identifiers (URIs and URLs), and representations of data suchas HTML documents, XML documents, and images
Components: Origin servers such as Apache http and Microsoft InternetInformation Services (IIS), gateways such as Squid and CGI, proxies such as Gauntlet
and Netscape proxy, and user agents such as Web browsers or mobile devices
Connectors: Client connectors such as libwww, server connectors such as NSAPI,caches such as a browser cache, and others
Some of the fundamental REST entities and how they can interact within a typical
networked system. Notice that requests are transmitted and received by connectors that are
tied to a given entity, such as a server or database. Connectors handle transmission duties for
a given protocol, thereby allowing an entity to transmit or receive requests in the same
manner over any protocol, as long as a connector is present for the desired protocol.
7/27/2019 Web Services on Mobile Platform Documentation
15/18
3. INTRODUCTION OF A MIDDLEWARE COMPONENT
Middleware is the software that connects software components or enterprise
applications. Middleware is the software layer that lies between the operating system
and the applications on each side of a distributed computer network. Typically, it
supports complex, distributed business software applications. Middleware is the
infrastructure which facilitates creation of business applications, and provides core
services like concurrency, transactions, threading and messaging for service-oriented
architecture (SOA) applications. It also provides security and enables high availability
functionality to your enterprise. Middleware includes Web servers, application
servers, content management systems, and similar tools that support application
development and delivery. It is especially integral to information technology based on
Extensible Markup Language (XML), Simple Object Access Protocol (SOAP), Web
services, SOA, Web 2.0 infrastructure, and Lightweight Directory Access Protocol
(LDAP)m etc.
3.1 FUNCTIONS OF MIDDLEWARE:
Applications use intermediate software that resides on top of the operating systems
and communication protocols to perform the following functions: The function of
middleware is to mediate interaction between the parts of an application, or between
applications. Therefore, considerations for architectural structure play a central role in
middleware design. The architectural design encompasses the organization, overall structure,
and communication patterns, both for applications and for the middleware itself.
Besides architectural aspects, the main problems of middleware design pertain to
various aspects of distributed systems. Any middleware system relies on a communication
layer that allows its different pieces to interoperate. In addition, communication is a function
provided by middleware itself to applications, in which the communicating entities may take
on different roles such as client server or peer-to- peer. Middleware allows different
interaction modes (synchronous invocations, asynchronous message passing, coordination
through shared objects) embodied in different patterns.
7/27/2019 Web Services on Mobile Platform Documentation
16/18
Hide the distributed nature of the application. An application represents a collection
of interconnected parts that are operational and running in distributed locations, out of
view Hide the heterogeneity of the enterprise. This includes the hardware components
used, computer operating systems, and communication protocols. Provide uniform,
standard, high-level interfaces to the application developers and integrators, so that
applications can be easily composed, reused, ported, and made to interoperate.
5. Middle ware
Middleware systems rely on interception and indirection mechanisms, which induce
performance penalties. Adaptable middleware introduces additional indirections, which make
the situation even worse. Widespread computing is a vision of the near future, in which an
increasing number of devices embedded in various physical objects participate in a global
information network. Mobility and dynamic reconfiguration will be dominant features,
requiring permanent adaptation of the applications. Managing large applications that are
heterogeneous, widely distributed, and in permanent evolution raises many questions, such as
consistent observation, security, trade-offs between autonomy and interdependence for the
different subsystems, and definition and implementation of resource management policies.
7/27/2019 Web Services on Mobile Platform Documentation
17/18
CONCULSION:
The J2ME web services have to depend on third party apis for integration with maps,
mail, videos & etc..Though these services have better performance, still we need to
understand that these services were designed while keeping feature phones in mind.The
J2ME service market is quite large, but Android service market is rising fast (for smart
phones) a segment which has become more and more popular in the recent years. It depends
on the requirements that which kind of technology we select for creating & hosting our
services, who are the end consumers & what level of performance is required from these
services.Until wireless networks are as reliable, cost-efficient and fast as LAN networks,mobile applications still need to be a blend of online and offline models. The most obvious
difference is the performance of the emulators: The J2ME emulator is by far the fastest &
about thirty times faster than the Android emulator. This difference in performance could be
explained by the efficient low-level nature of J2ME.A similarity between the two emulators
is that they all use very little processing power of the host PC. So processing power is not the
bottleneck but opening/closing connections are probably the bottleneck. The scalability
differs enormously. The Android version has a zero error rate at a load of 25 clients probably
caused by the low performance. J2ME OS emulator has a very bad scalability.
7/27/2019 Web Services on Mobile Platform Documentation
18/18
BIBLIOGRAPHY:
[1] Touching mobile apps the Artisan way delivers real-time UI/UX changes without
coding, 1998
[2] Partnerpedia evolves the intranet for a range of endpoints with a unified app
store,sept.2001
[3] Mobile apps blossom when powered by SAP HANA, and integrate faster with
RDS,Singapore,1997,2.2
[4] Getting control of mobile management disorder,july 2001,George Mason
University,Fairfax,Virginia,USA
https://451research.com/report-short?entityId=77882https://451research.com/report-short?entityId=77882https://451research.com/report-short?entityId=77740https://451research.com/report-short?entityId=77740https://451research.com/report-short?entityId=77193https://451research.com/report-short?entityId=77193https://451research.com/report-short?entityId=74478https://451research.com/report-short?entityId=74478https://451research.com/report-short?entityId=77193https://451research.com/report-short?entityId=77193https://451research.com/report-short?entityId=77740https://451research.com/report-short?entityId=77740https://451research.com/report-short?entityId=77882https://451research.com/report-short?entityId=77882