Wireless web-Web
services
The wireless web represents the combination of two innovative
technologies— wireless communications and the Internet.
A generic term for untethered access to the Web and other Inter
net services such as email and chat.
Public and private hotspots, Internet access via cellphone and
all other fixed or mobile wireless access services make up the
wireless Web.
Example: Amazon Web Services , Google’s Web service,
Google Cloud Platform.
Wireless web-Web services
 On the World Wide Web, a web service is a standardized method for
 propagating messages between client and server applications.
 A web service is a set of open protocols and standards that allow data
 to be exchanged between different applications or systems. Web
 services can be used by software programs written in a variety of
 programming languages and running on a variety of platforms to
 exchange data via computer networks such as the Internet in a similar
 way to inter-process communication on a single computer.
Web services are XML-centered data exchange systems that use the
internet for A2A (application-to-application) communication and
interfacing. These processes involve programs, messages, documents,
and/or objects.
A key feature of web services is that applications can be written in
various languages and are still able to communicate by exchanging
data with one another via a web service between clients and servers. A
client summons a web service by sending a request via XML, and the
service then responses with an XML response. Web services are also
often associated with SOA (Service-Oriented Architecture).
What is mobile web service?
 The Mobile Web refers to access to the world wide web, i.e. the
 use of browser-based Internet services, from a handheld mobile
 device, such as a smartphone, a feature phone or a tablet
 computer, connected to a mobile network or other wireless
 network.
 Mobile web interface- A mobile user interface (mobile UI) is the
 graphical and usually touch-sensitive display on a mobile
 device, such as a smartphone or tablet, that allows the user to
 interact with the device's apps, features, content and functions.
 Web apps, are accessed via the internet browser and will adapt
 to whichever device you're viewing them on.
Functions of Web Services
 It’s possible to access it via the internet or intranet
 networks.
 XML messaging protocol that is standardized.
 Operating system or programming language independent.
 Using the XML standard, it is self-describing.
 A simple location approach can be used to locate it.
How Does Web Service Work?
  The diagram depicts a very simplified version of how a web service
  would function. The client would use requests to send a sequence of
  web service calls to a server that would host the actual web service.
Remote procedure calls are what are used to make these requests.
Calls to methods hosted by the relevant web service are known as
Remote Procedure Calls (RPC).
Example: Flipkart offers a web service that displays prices for items
offered on Flipkart.com. The front end or presentation layer can be
written in .Net or Java, but the web service can be communicated using
either programming language.
The data that is exchanged between the client and the server, which is
XML, is the most important part of a web service design.
For transmitting XML data between applications, web services employ
SOAP (Simple Object Access Protocol). The data is sent using
standard HTTP. A SOAP message is data that is sent from the web
service to the application.
     Components of Web Service
      XML and HTTP is the most fundamental web services platform.
 The following components are used by all typical web services:
1)    SOAP (Simple Object Access Protocol)
2)    UDDI (Universal Description, Discovery, and Integration)
3)    WSDL (Web Services Description Language)
 Components of Web Service
1. SOAP (Simple Object Access Protocol)
   SOAP is a standard protocol that was first designed so that
  applications built with different languages and on different
  platforms could communicate.
  It is a transport-independent messaging protocol.
  SOAP was developed as an intermediate language so that
  applications built on various programming languages could talk
  easily to each other and avoid the extreme development effort.
  SOAP is built on sending XML data in the form of SOAP
  Messages. A document known as an XML document is attached
  to each message. Only the structure of the XML document, not
  the content, follows a pattern.
  The best thing about Web services and SOAP is that everything
  is sent through HTTP, the standard web protocol.
 SOAP
SOAP message structure
  In an XML document, the root element is the first element. The
  “envelope” is separated into two halves. The header comes first,
  followed by the body. The routing data, or information that
  directs the XML document to which client it should be sent to, is
  contained in the header. The real message will be in the body.
  Standard SOAP API requests and responses appear as an
  enveloped message that consists of four elements with specific
  functions for each one.
  Headers and fault elements are optional
SOAP
SOAP
Envelope is the core and essential element of every message,
which begins and concludes messages with its tags, enveloping
it, hence the name.
Header (optional) determines the specifics, extra requirements
for the message, e.g. authentication.
Body includes the request or response.
Fault (optional) shows all data about any errors that could
emerge throughout the API request and response.
 UDDI (Universal Description, Discovery, and Integration)
2. UDDI (Universal Description, Discovery, and Integration)
  UDDI is a standard for specifying, publishing and discovering a
  service provider’s online services.
  It provides a specification that aids in the hosting of data via web
  services. UDDI provides a repository where WSDL(web
  services description language) files can be hosted so that a
  client application can discover a WSDL file to learn about the
  various actions that a web service offers. As a result, the client
  application will have full access to the UDDI, which serves as a
  database for all WSDL files.
UDDI
UDDI is an XML-based standard for describing, publishing, and
finding web services.
is a specification for a distributed registry of web services. The
UDDI registry will hold the required information for the online
service, just like a telephone directory has the name, address,
and phone number of a certain individual. So that a client
application may figure out where it is.
is a platform-independent, open framework.
can communicate via SOAP, CORBA, Java RMI Protocol.
uses Web Service Definition Language(WSDL) to describe
interfaces to web services.
is seen with SOAP and WSDL as one of the three foundation
standards of web services.
is an open industry initiative, enabling businesses to discover
each other and define how they interact over the Internet.
   UDDI - Elements
   A business or a company can register three types of information into a
   UDDI registry. This information is contained in three elements of UDDI.
   These three elements are −
1. White Pages,
2. Yellow Pages, and
3. Green Pages.
 White Pages
   White pages contain −
 • Basic information about the company and its business.
 • Basic contact information including business name, address, contact
   phone number, etc.
 • A Unique identifiers for the company tax IDs. This information allows
   others to discover your web service based upon your business
   identification.
Yellow Pages
  Yellow pages contain more details about the company. They
  include descriptions of the kind of electronic capabilities the
  company can offer to anyone who wants to do business with it.
  Yellow pages uses commonly accepted industrial categorization
  schemes, industry codes, product codes, business identification
  codes and the like to make it easier for companies to search
  through the listings and find exactly what they want.
Green Pages
  Green pages contains technical information about a web
  service. A green page allows someone to bind to a Web service
  after it's been found. It includes −
  The various interfaces
  The URL locations
  Discovery information and similar data required to find and run
  the Web service.
 WSDL (Web Services Description Language)
3. WSDL (Web Services Description Language)
  WSDL stands for Web Services Description Language. It is the
  standard format for describing a web service. WSDL was
  developed jointly by Microsoft and IBM.
  The WSDL file is another XML-based file that explains what the
  web service does to the client application. The client application
  will be able to understand where the web service is located and
  how to use it by using the WSDL document.
Features of WSDL
 WSDL is an XML-based protocol for information exchange in
 decentralized and distributed environments.
 WSDL definitions describe how to access a web service and
 what operations it will perform.
 WSDL is a language for describing how to interface with
 XML-based services.
 WSDL is an integral part of Universal Description, Discovery,
 and Integration (UDDI), an XML-based worldwide business
 registry.
 WSDL is the language that UDDI uses.
WSDL Usage
WSDL is often used in combination with SOAP and XML
Schema to provide web services over the Internet. A client
program connecting to a web service can read the WSDL to
determine what functions are available on the server. Any
special datatypes used are embedded in the WSDL file in the
form of XML Schema. The client can then use SOAP to actually
call one of the functions listed in the WSDL.
WSDL Document Elements
 Definitions: It is the basic element of the WSDL document that
 contains the definition of one or more services.
 Types: The Type element is used to give information about the
 complicated data types used within the WSDL document.
 Message: It contains abstract data that is being used in
 communication between client and web server. It also defines
 the data elements for each operation.
 portType: It contains the collection of abstract operation
 supported by one or more endpoints.
 Port: It is used to define the single endpoint as an address for
 the binding.
 Services: It is a collection of endpoint networks that specify the
 port address for the binding.
 Binding: It specifies how operations are implemented by
 concrete protocols and data format features for operation and
 messaging.
API vs. Web Services
Web services and APIs are often mistaken for each other, which
isn’t all that surprising since there is some distinct common
ground.
Most web services provide an API, which, with its set of
commands and functions, is used to retrieve data. Here’s one
example: Twitter delivers an API that authorizes a developer
access tweets from a server and then collects data in JSON
format.
Differences between APIs and Web Services
APIs can be hosted within an app or IIS (Internet Information
Services), but a web service can only be hosted on IIS.
Web services are not an open source and are used to
understand JSON (JavaScript Object Notation) or XML, whereas
APIs are an open source and only used for XML.
API is a light-weight architecture (best for limited bandwidth
devices (e.g. smartphone). Web services are not lightweight
architectures since they require SOAP to send and receive
network data.
APIs can use any form of communication, but a Web service
only uses SOAP, REST, and XML-RPC.
APIs support URL, request/response headers, caching,
versioning, content formats. Web services only support HTTP.
Similarities between APIs and Web Services
Both are accessed through HTTP/HTTPS to enable
communication between services providers and customers.
Both call a function, process data, and receive a response
Wireless middleware
Wireless middleware
 Wireless middleware is an intermediate software component that is generally
 located on a wired network between the wireless device and the application or
 data residing on a wired network,
 The purpose of the middleware is to increase performance of applications
 running across the wireless network by serving as a communication facilitator
 between components that run on wireless and wired devices (Wireless Nets)
 It serves as a communication facilitator by addressing the numerous ways in
 which communication can fail among components in a distributed application.
 Sources of communication failure, among many others, include a component
 going off line voluntarily but unexpectedly, a component unexpectedly
 terminating, a component failing to respond to a request in a reasonable
 amount of time, and communication being severed in the midst of a request
How it Works
 Wireless middleware usually consists of client and server
 software. The client portion resides on the mobile computer and
 accepts messages from applications on the mobile computer. It
 reformats these messages and forwards them across the
 wireless network using application-layer protocols optimized for
 wireless communications. The messages reach the middleware
 server, which typically resides on the destination LAN. The
 middleware server functions as a gateway to other servers and
 hosts on the LAN, acting as a proxy for the mobile computer.
Middleware performs the following functions, though specific
  details will vary depending on the actual middleware.
  Isolates the application from connectivity issues such as
  intermittent connections and varying throughput.
  Minimizes the amount of data sent over the wireless connection.
  Reduces the number of back-and-forth messages required to
  complete a transaction.
  Queues messages when a connection is not available.
  Provides a consistent API regardless of the underlying network
 TYPES OF WIRELESS NETWORKS
1. Fixed Wireless Networks
  Fixed Wireless Networks use wireless transmitters with a relatively
  short transmission distance .Networks of this type have many of the
  characteristics of fixed wire networks, such as low latency, high
  bandwidth, and relatively good reliability.
2. Highly Mobile Wireless Networks
  These wireless networks are used predominately to serve highly
  mobile clients such as mobile cellular phones or satellite
  communications. Networks of this type have extremely high latency,
  relatively low bandwidth, and greater unreliability, as any number of
  interruptions can occur to disrupt the communication with the client.
Wireless Gateway
Wireless Gateway
 A wireless gateway routes packets from a wireless LAN to
 another network, wired or wireless WAN.
 Can be implemented as a software or a hardware or a
 combination of both.
 Wireless gateways combine the functions of a wireless access
 point, a router, and often provide firewall functions as well.
 They provide network address translation (NAT) functionality, so
 multiple users can use the internet with a single public IP.
 It also acts like a dynamic host configuration protocol (DHCP) to
 assign IPs automatically to devices connected to the network.
 Wireless Gateway
Types of Wireless Gateway:
  The simpler kind must be connected to a DSL modem or cable
  modem to connect to the internet via the internet service
  provider (ISP).
  The more complex kind has a built-in modem to connect to the
  internet without needing another device. This converged
  device saves desk space and simplifies wiring by replacing two
  electronic packages with one. It has a wired connection to the
  ISP, at least one jack port for the LAN (usually four jacks), and
  an antenna for wireless users.
All wireless gateways have the ability to protect the wireless network using
    security encryption methods such as WEP(Wired Equivalent
    Privacy was a security algorithm for 802.11 wireless networks), WPA
    (Wi-Fi Protected Access ), and WPS (Wi-Fi Protected Setup is
    a network security standard to create a secure wireless home network).
Is a wireless gateway the same as a router?
  A router is a device that is capable of sending and receiving
  data packets between computer networks, also creating an
  overlay network. A Gateway, on the other hand, joins
  dissimilar systems. Gateway it is defined as a network
  entity that allows a network to interface with another
  network with different protocols.
The Mobile Application Server (MAS)
 The Mobile Application Server (MAS)
   An Infrastructure Platform for Mobile Wireless Services
Defining Mobile Computing Application Server
   Mobile Computing Application Server (MCAS or simple MAS)is defined
   as a software program which runs in a server and provides the
   following functionality:
1. Application level logic that handles business functions involved in a
   particular organization and its integration with backend database or
   business application systems
2. Presentation services for the Mobile client device (handheld computers,
   notebook, PDA, etc). It includes breaking the messages into smaller
   chunks, filtering redundant information, and even logically compressing
   the data , etc.
3. Transaction services - including multi-threading for heavy volumes and
   persistency i.e. recovery across session failures
4. Application programming level interfaces (APIs) with specialized
   communications protocols
An application server may be considered as part of a multi-tier
  (mostly three tier) architecture. Conventional tiers are:
▪ First tier - A thin client based on handheld devices or a thick
  client on a PC - typically a browser-based interface in the Web
  context
▪ Middle tier consists of business applications on a set of servers -
  communications and business applications
▪ Third Tier - backend legacy data base systems and
  mission-critical ERP systems on a large server or mainframe
Mobile Database Management
Mobile Database
 Mobile Database is a database that is transportable, portable,
 and physically separate or detached from the corporate
 database server but has the capability to communicate with
 those servers from remote sites allowing the sharing of various
 kinds of data.
 A Mobile database is a database that can be connected to a
 mobile computing device over a mobile network (or wireless
 network).
 The client and the server have wireless connections.
 It will be applicable on different devices like android based
 mobile databases, iOS based mobile databases, etc.
Features of Mobile database :
 A cache is maintained to hold frequent and transactions so that
 they are not lost due to connection failure.
 Mobile databases are physically separate from the central
 database server.
 Mobile databases resided on mobile devices.
 Mobile databases are capable of communicating with a central
 database server or other mobile clients from remote sites.
 With the help of a mobile database, mobile users must be able
 to work without a wireless connection due to poor or even
 non-existent connections (disconnected).
 A mobile database is used to analyze and manipulate data on
 mobile devices.
The components of a mobile database environment include:
  Corporate database server and DBMS that deals with and
  stores the corporate data and provides corporate applications
  Remote database and DBMS usually manages and stores the
  mobile data and provides mobile applications
  mobile database platform that includes a laptop, PDA, or other
  Internet access devices
  Two-way communication links between corporate and mobile
  DBMS.
Limitations :
 It has Limited wireless bandwidth.
 In the mobile database, Wireless communication speed.
 It required Unlimited battery power to access.
 It is Less secured.
 It is Hard to make theft-proof.
Smart Client
What Does Smart Client Mean?
 A smart client is a type of application environment connected to
 the Internet that allows server-based operations through the
 HTTP connection model.
 Smart client is a way to describe enhanced features and client
 applications as these types of IT systems evolve. Some
 developers describe the smart client as a next-generation set of
 systems that evolved from a rich client environment, where
 two-tiered setups allowed multiple users to get network
 information.
 Smart Client Architecture
Components:
  Smart clients
   Synchronization server
   data/content source
   may include proxies or gateways
  On the client, we have the user interface, the business logic, as
  well as a persistent data store. This application communicates
  with a back-end data source, often through an intermediate
  synchronization server. The communication stream itself can run
  either wirelessly or over a wired connection. Depending on the
  technology being used, the connection may require an IP-based
  network or an additional communication layer for the
  synchronization process.
Smart Client Architecture
When building smart client applications you have three options:
  Create a client that uses a persistent data store and
  synchronization.
  Create a client that uses store-and-forward messaging.
  Create a client that combines both a persistent data store and
  store-and-forward messaging.
Data store
Data store
 A data store is a repository for persistently storing and managing
 collections of data which include not just repositories like
 databases, but also simpler store types such as simple files,
 emails, etc.
 A database is a series of bytes that is managed by a database
 management system (DBMS). A file is a series of bytes that is
 managed by a file system. Thus, any database or file is a series
 of bytes that, once stored, is called a data store.
 Types of Data store
Data store can refer to a broad class of storage systems including:
   Paper files
   Simple files like a spreadsheet
   File systems
   Email storage systems (both server and client systems)
   Databases
   Relational databases, based on the relational model of data
   Object-oriented databases. They can save objects of an object-oriented design.
   NoSQL databases
   Key-value databases
   Wide Column Store
   Graph databases
   Distributed data stores
   Directory services
   VMware uses the term datastore to refer to a file that stores a virtual machine
 Mobile Application
What Does Mobile Application (Mobile App) Mean?
  A mobile application, most commonly referred to as an app, is a
  type of application software designed to run on a mobile device,
  such as a smartphone or tablet computer.
   Mobile applications frequently serve to provide users with
  similar services to those accessed on PCs.
  Apps are generally small, individual software units with limited
  function.
  This use of app software was originally popularized by Apple
  Inc. and its App Store, which offers thousands of applications for
  the iPhone, iPad and iPod Touch.
  A mobile application also may be known as an app, web app,
  online app, iPhone app or smartphone app.