Web Services on Mobile Platform Documentation

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/#_Ref477590609
  • 7/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