SlideShare a Scribd company logo
1 of 84
Download to read offline
© 2014 IBM Corporation
Composing Web APIs:
State of the Art and Mobile Implications
Biplav Srivastava
IBM Research – India
2nd June, 2014
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
What to Expect – Tutorial Objectives
q The aim of the tutorial is to
Ø Make early and experienced researchers aware of the Web Application Programming Interfaces
(APIs) technology area in general and composing them in particular
Ø Provide an insightful overview and whet the audiences’ interest to undertake new efforts in building
useful (mobile) applications for fun and profit and push the art on important open issues.
Ø Highlight relevant techniques from AI (e.g., planning, semantics, knowledge representation, logic,
trust, learning and agents), software (rapid prototyping, quality-of-service, life cycle) and mobile (e.g.,
location-based, energy-efficiency)
q Relation to other tutorials
Ø Seems to be the first tutorial of its kind; many web composition surveys available
q Disclaimer: we are only providing a sample of techniques intended to match
audience profile in the available time.
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Acknowledgements
All our collaborators, and especially those in:
q Industry and clients
Ø  Telecom - Bharti (Airtel), AT&T, Sprint
Ø  Public Sector - National and City government agencies around the world (India, Canada, Chicago, Boston, Kenya, …); Emerging
Protocols - Open 311
Ø  Finance – Multiple Banks,
Ø  …
q Academia – Prashant Doshi, Jana Koehler, Sheila McIlraith, Amit Sheth
q IBM: Many including
Ø  Web Services and Composition – Vikas Agarwal, Girish Chafle, Koustuv Dasgupta, Gautam Das, Sugata Ghoshal, Mangala Gowri,
Sunil Goyal, Neeran Karnik, Arun Kumar, Ashish Kundu, Anupam Mediratta, Sumit Mittal, Sougata Mukherjea.
Ø  APIs – Apurva Kumar, Jim Laredo, Shao Chun Li, Florian Pinel, Karthik Visweswariah, Maja Vukovic
Ø  Mobile – Vikas Agarwal, Dipyaman Banerjee, Dipanjan Chakraborty, Sunil Goyal, Arun Kumar, Sumit Mittal, Sougata Mukherjea, Amit
Nanavati, Nitendra Rajput
3
For discussions, ideas and contributions. Apologies to anyone unintentionally missed.
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Outline
q Basics
Ø Web APIs, Web Services, Services Oriented Architecture
Ø Importance of Web APIs for enterprise integration
Ø REST v/s Web Services?
q Composing services
Ø Composition Types
Ø Understanding Automatic Composition Choices
Ø Semi-automated Composition Case Studies
– APIs Pattern with Open 311
– Web Services Composition – Synthy
q Mobile implications
q Practical considerations
4
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Basics
5
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Terminology
q APIs
Ø Application Programming Interfaces
Ø Similar concepts – service interfaces, web services (interfaces)
q Composition
Ø Bringing capabilities of APIs together to build integrated capabilities; Can be client-side, server-side,
mixed; can be manual, semi-automatic, automatic
Ø Similar concepts - Mashup, Patterns
q Registry
Ø A place to record information about APIs
Ø Similar concepts – UDDI, API registry
q Cloud
Ø Hosted infrastructure to run and manage APIs
6
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
API Example
7
http://www.programmableweb.com/api/sabre-instaflights-search
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
A Composition (Mashup) Example
8
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Example: API Registry
9
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Business Web: Service Oriented Architecture
q Relies on
Ø common service registry
Ø service descriptions
q Enables dynamic discovery,
binding
q Based on open standards
Service
Broker
Service
Provider
Service
Requester
Web Services: web accessible
software components
Slide Courtesy: Nirmal Mukhi
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
The Acronyms in Action
Service
Broker
Service
Provider
Service
Requester
WSDL
Search with UDDI and
get WSDL of match
Invoke using SOAP
Execute BPEL
Return Solution
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Web Services Standards
Source: Wil van der Aalst
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
WSDL Example
<definitions targetNamespace="http://..."
xmlns="http://schemas.xmlsoap.org/wsdl/">
<message name = "OrderEvent"></message>
<message name = "TripRquest"></message>
<message name = "FlightRequest"></
message>
<message name = "HotelRequest"></message>
<message name = "BookingFailure"></
message>
<portType name ="pt1">
<operation name ="CToCI">
<input message ="TripRequest"/>
</operation>
</portType>
<portType name ="pt2">
<operation name ="CIToHS">
<output message ="HotelRequest"/>
</operation>
</portType>
<portType name ="pt3">
<operation name ="CIToFS">
<output message ="FlightRequest"/>
</operation>
</portType>
...
<portType name ="pt9">
<operation name ="RIToFS">
<output message ="BookingFailure/
>
</operation>
</portType>
Messages
portTypes
<binding name=“MyBinding"
type=“MyPortType">
<soap:binding style="rpc" transport=“…/http" />
<operation name=“CTOCI">
<soap:operation soapAction=“…#CTOCI" />
<input>
<soap:body use="encoded" namespace=“…"
encodingStyle=“…/soap/encoding/" />
</input>
</operation>
</binding>
Binding
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Composite Web Service in BPEL4WS
<process name ="TripHandling">
<partners>
<partner name ="Customer"
myRole ="TripHandlingAgent"
serviceLinkType ="ExternalServiceLink"
partnerRole ="CustomerAgent"/>
<partner name ="FlightService"
myRole ="TripHandlingAgent"
serviceLinkType ="InternalServiceLink"
partnerRole ="FlightServiceAgent"/>
<partner name ="HotelService"
myRole ="tripHandlingAgent"
serviceLinkType ="InternalServiceLink"
partnerRole ="HotelServiceAgent"/>
</partners>
<containers> ... <containers>
...
</process>
<sequence>
<receive partner="Customer"
portType ="pt1"
operation ="CToCI"
container ="OrderEvent">
</receive>
<flow>
<invoke partner ="HotelService"
portType ="pt2"
operation ="CIToHS"
inputContainer ="HotelRequest">
</invoke>
<invoke partner ="FlightService"
portType ="pt3"
operation ="CIToFS"
inputContainer ="FlightRequest">
</invoke>
</flow>
<sequence>
Partners
Flow Description
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Business	
  
Source: Bessemer Venture Partners 2012
Business Capabilities as Services are being via APIs and delivered as-a-service,
allowing Businesses to engage with Clients and Partners with speed at Scale
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
REST v/s Web Services?
16
REST
•  support limited integration styles, and
involves fewer decisions on architectural
alternatives
•  This simplifies client-side integration steps
(at the cost of lessening automation in
system evolution); more focus on do-it-
yourself
Source: Pautasso et al, RESTful Web Services vs. “Big” Web Services: Making the Right Architectural Decision, WWW 2008
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Outline
q Basics
Ø Web APIs, Web Services, Services Oriented Architecture
Ø Importance of Web APIs for enterprise integration
Ø REST v/s Web Services?
q Composing services
Ø Composition Types
Ø Understanding Automatic Composition Choices
Ø Semi-automated Composition Case Studies
– APIs Pattern with Open 311
– Web Services Composition – Synthy
q Mobile implications
q Practical considerations
17
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Composing Services
18
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation19
Service Composition – High Level View
§ Complexity and Main Issues
Ø Scalability of composition solution
Ø Level of automation
Ø Modeling domain information
Ø Leverage industry practices
Specify end-user
service capability
Select service
providers
Design the
flow
Deploy the
service
New
service
capabilities
New
service
providers
Network /
environment
changes
Value Proposition
"   Quicker reaction to changing market conditions &
competitive threats
"   Faster time to market for new services
"   Flexible B2B collaboration
"   Improved runtime performance & scalability for new
services
"   Ability to adapt business processes to meet new
customer demands
Deliverables
"   Tool for (semi)-automated value-added service
creation via semantically annotated APIs/ services
"   Infrastructure for metering and charging for
composite services
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Service Composition Styles (Patterns)
20
Source: Change et al, Solving the Service Composition Puzzle, SCC2008
Glass is the easiest to assemble but forces manual composition,
Orchestration/ Event allows automation in composition
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Impact of Composition Style on Performance
21
Source: Change et al, Solving the Service Composition Puzzle, SCC2008
Different relative strengths of different styles
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Types of Automatic Services Composition
22
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation23
Motivation
q An Overall Web Service Composition and Execution view is important in practice
Web Service
Composition and
Execution
Specification
of Requirement
Available
Capabilities
[ Templates,
Policies ]
Execution
Trace
Today, it is not clear what are fundamentally different possible types of WSCE
approaches and which type to use in a given scenario?
Events
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation24
Underst
anding
Basis for WSCE approaches
q Are composition and execution separable?
Ø No, Yes
q When does composition happen?
Ø Offline, Online
q How does composition happen?
Ø Search-based, Template-based
q What information is used for composition?
Ø Service types, Service instances published, Services deployed,
Templates/ Policies
q How are external events handled at runtime (adaptation)?
Ø On-the-fly, gradual
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation25
July 9, 2005
All-In-One
Composition & Execution
Specifications
I={i1, i2,… i!} X={x1,x2,…x!}
T=
{t1,t2,…t!}
All-in-one Approach
Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India
Example: ConGolog, Heracles+Theseus
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation26
Monolithic
Composition
RuntimeSpecifications
I={i1, i2,… i!} X={x1,x2,…x!}
W={W1,W2,…WL}
T=
{t1,t2,…t!}
FRE
RIW
REW
Monolithic Approach
Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India
Example: SWORD, SHOP-2 based, Petrinet-based, Astro, METEOR-S
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation27
Logical
Composition
Physical
Composition
RuntimeSpecifications
C={c1,c2,…c!} I={i1, i2,… i!} X={x1,x2,…x!}
S={S1,S2,…SK} W={W1,W2,…WL}
T=
{t1,t2,…t!}
FPC FRE
RAW
RIW
REW
Staged Approach
Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India
Example: Synthy, Self-Serv with web communities (but informal modeling)
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation28
July 9, 2005
Replanning-based
Composition
Runtime
I={i1, i2,… i!} X={x1,x2,…x!}
W={W1,W2,…WL}
T=
{t1,t2,…t!}
FRE
RIW
REW
Template or Replanning-based Approach
Specifications
Initial Plan
[Template]
Policies
Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India
Example: Heracles+Theseus, METEOR-S (Semantic templates, other templates),
template-based planning
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation29
Basis for WSCE approaches
q Are composition and execution separable?
Ø  No, Yes
q When does composition happen?
Ø  Offline, Online
q How does composition happen?
Ø  Search-based, Template-based
q What information is used for composition?
Ø  Service types, Service instances published, Services deployed, Templates/
Policies
q How are external events handled at runtime (adaptation)?
Ø  On-the-fly, gradual
Separable? When How What How
Interleaved No Online Search Services deployed On-the-fly
Monolithic Yes Offline Search Services instances published Gradual
Staged Yes Offline Search Service types, Service instances
published
Gradual
Template Yes Offline,
Online
Template Templates/ policies, Services
instances published, deployed
On-the-fly, Gradual
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation30
Comparing Approaches
Interleaved Monolithic Staged Template
Composition Effort O(!λ)
O(βλ)
Min: O(!λ)
O(αλ + Mλ) O(Mλ )
Composition
Control
None
Low:
< RIW; FE >
High:
< RAW;RIW; FC; FE >
High:
<template, underlying
composition method>
Ability to Handle
Composition
Failure
None Low High Low
Adaptation during
Execution
High Medium Medium Low to Medium
Information
Modeling
Simple
(Instances)
Simple (Instances)
Elaborate (Types
and Instances)
Elaborate (Templates
and Instances)
Limitation
Search should
be dead-end free
Always a time-lag
between service
information offline v/s
online
Always a time-lag
between service
information offline v/
s online
Search restricted by
template – can cause
INCOMPLETENESS;
Any restriction of the
underlying composition
method
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation31
Example: Selecting an Approach
Requirement
§ Scalability – with number of services
§ Adaptability – to changes
§ Failure Resolution
§ User Interaction – control and supervision important
Interleaved Monolithic Staged Template
Composition Effort O(!λ)
O(βλ)
Min: O(!λ)
O(αλ + Mλ) O(Mλ )
Composition Control None
Low:
< RIW; FE >
High:
< RAW;RIW; FC; FE >
High:
<template, underlying
composition method>
Composition Failure
Resolution
None Low High Low
Adaptation High Medium Medium Low to Medium
Information Modeling Simple (Instances) Simple (Instances)
Elaborate (Types and
Instances)
Elaborate (Templates and
Instances)
Limitation
Search should be dead-
end free
Always a time-lag between
service information offline v/s
online
Always a time-lag
between service
information offline v/s
online
Search restricted by template
– can cause
INCOMPLETENESS; Any
restriction of the underlying
composition method
Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation32
Example: Selecting an Approach
q  Requirement: Online information services
Ø Services are data sources; can be modeled as databases which can be queried with
controlled side-effects at the time of purchase
Ø Composite service should be responsive but accuracy can be negotiated
Ø Services are heterogeneously owned, hence relatively autonomous in choosing specifications
Interleaved Monolithic Staged Template
Composition Effort O(!λ)
O(βλ)
Min: O(!λ)
O(αλ + Mλ) O(Mλ )
Composition Control None
Low:
< RIW; FE >
High:
< RAW;RIW; FC; FE >
High:
<template, underlying
composition method>
Composition Failure
Resolution
None Low High Low
Adaptation High Medium Medium Low to Medium
Information Modeling Simple (Instances) Simple (Instances)
Elaborate (Types and
Instances)
Elaborate (Templates and
Instances)
Limitation
Search should be dead-
end free
Always a time-lag between
service information offline v/s
online
Always a time-lag
between service
information offline v/s
online
Search restricted by template
– can cause
INCOMPLETENESS; Any
restriction of the underlying
composition method
Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Key Issues in Composition Performance
q Representation of services
Ø Functional (input/output) but not semantic
Ø No way to discover equivalence
q Reasoning, discovery and composition
Ø Plethora of terms (e.g., wage and salary)
Ø Limited process model
Ø Hard to compose at semantic level
–  Existing approaches at input/output level
–  Detects instance choices but not service type choices
q Runtime management and optimization
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Service Specification: Example with DAML-S Specification
Slide Courtesy: DAML-S Coalition
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
ServiceGrounding
<grounding:wsdlOutputMessageParts rdf:parseType="daml:collection">
<grounding:WsdlMessageMap>
<grounding:damlsParameter rdf:resource=".../FlightItinerary" />
<grounding:wsdlMessagePart>
<xsd:uriReference rdf:value=".../availFlightItinerary" />
</grounding:wsdlMessagePart>
</grounding:WsdlMessageMap>
</grounding:wsdlOutputMessageParts>
Example: Airline Reservation
ServiceProfile
<profile:output>
<profile:ParameterDescription rdf:ID="FlightItinerary">
<profile:parameterName>FlightItinerary</profile:parameterName>
<profile:restrictedTo rdf:resource=".../concepts.daml#FlightItinerary"/>
<profile:refersTo rdf:resource="#roundTrip_In"/>
</profile:ParameterDescription>
</profile:output>
ServiceModel
<daml:Class rdf:ID="BravoAir_Process">
<daml:subClassOf rdf:resource=".../Process.daml#CompositeProcess"/>
...
<daml:Class rdf:about="process:Sequence"/>
...
<process:listOfInstancesOf rdf:parseType="daml:collection">
<daml:Class rdf:about="#GetDesiredFlightDetails"/>
<daml:Class rdf:about="#SelectAvailableFlight"/>
<daml:Class rdf:about="#BookFlight"/>
</process:listOfInstancesOf>
...
</daml:Class>
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
OWL-S/ DAML-S Vs UDDI/WSDL
q DAML-S Vs WSDL
Ø Complements WSDL with Semantic Annotations
Ø Overlaps with Input and Output definitions
Ø DAML-S grounding overlaps with WSDL service implementation
Ø Process model v/s function model
q DAML-S Vs UDDI
Ø Poor Search: UDDI does not support inferencing on taxonomies. Has fixed
categories
Ø Improved Search: DAML-S complements UDDI service and service
provider descriptions with semantics.
Slide Courtesy: Richard Goodwin
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Layering of Semantic Web Languages for Services
Source: DAML-S coalition work
DAML-S (Services)
XML (Extensible Markup Language)
RDF (Resource Description Framework)
RDFS (RDF Schema)
DAML+OIL (Ontology)
DAML-L (Logic)
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation38
Case Study:
API Composition – Template / Pattern
Building Pattern with Open Web APIs in E-
Governance
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
The “Front Office Digitization”
The Globally Integrated Enterprise
Mobile in government supports economic growth through new individual experience &
speed of innovation in a services ecosystem
(API-­‐centric)	
  Services Ecosystem
Public,
Open-To-All
APIs
Protected,
Open-To-Partner
APIs
Private,
Internal
APIs
Universi+es	
  
Private	
  	
  
Sector	
   Communi+es	
  
Other	
  Countries	
  
and	
  Governments	
  
Ci+zen	
  
Government	
  	
  	
  
Open	
  data	
  
Government	
  	
  
employee	
  
Individual
Ci+zen	
  
Private	
  sector	
  
employee	
  
apps
gov- app
API Externalization & Mgmt.
§  Define services to be exposed, Map to
back-office applications
§  Expose API (internally or externally
§  Define usage and access policies to
ensure security and scalability
Service Integration
§  Consume APIs through Mobile
§  Reduce integration effort to stitch
together APIs in apps
§  Leverage Cloud to deploy and
publish apps
Analytics
§  Provide analytics service to enhance
customer experience
§  Leverage data produced by API services
§  Deliver new business insights to the
ecosystem
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Every citizen is a potential city event sensor
•  Citizen notices 311 event worth reporting
•  Reports event using mobile
•  Launches mobile application
•  Browses recent already-reported events
•  Creates new event report
•  [Is pre-enabled or gets any needed credentials to report event]
•  Identifies service type for new event
•  Shares location using mobile device (coordinates)
•  Can add location annotations (road, district, city) and description
•  Get confirmation of submission
•  Get updates on service request
Extreme 
Personalization
=
Location
Intelligence
Empowered Citizen
+
Social

Analytics
+ +
40
ALLGOV SCENARIO: CROWDSOURCING 311* EVENT REPORTING
*311 data standard
•  non-emergency events like graffiti,
garbage, down trees, abandoned car,
…; Not human life threatening
•  60+ cities support it world-wide;
demo works on 4 (Chicago, Boston,
Tucson – USA; Bonn – Germany),
and backend test of 10s more.
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Browsing Services in One’s City:
Mary M. can look at the 311 services her city provides
On selecting the icon,
•  She sees a small set of categories
(health, building, traffic, cityimage, others) around which all the
city’s services are grouped.
•  She can look at a list of services and check out the agencies
involved
•  If there has been a change in agency responsible or
new services added for an agency, she can note that
directly
Browsing Services in Other Cities:
Her colleagues from another city are visiting. She may want to bring a
window (instantiate an app with browse city pattern) to look at what that
city offers to their citizens
[Alternatively, if she is travelling to another city, she may be interested to
know how that city does compared to her’s, by which agency, etc.]
On selecting the icon,
•  See sees a small set of familiar categories (health, building, traffic,
cityimage, others) regardless of what the city calls its services
•  She can look at a list of services and check out the agencies involved
If her city does something different, she can show that to her colleagues in
her or other cities.
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
A Demonstration of AllGov
Scope
•  Backend pattern setup
•  Mobile based usage of pattern instances
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Applica+on	
  Pa=ern	
  
Ø What	
  is	
  it?:	
  A	
  pa=ern	
  is	
  any	
  applica+on	
  using	
  APIs,	
  with	
  some	
  informa+on	
  
generalized	
  (i.e.,	
  removed	
  and	
  parameterized)	
  
Ø Business	
  Value:	
  A	
  pa=ern	
  	
  
–  standardizes	
  the	
  usage	
  experience	
  by	
  promo+ng	
  similar	
  behavior	
  (for	
  users)	
  	
  
–  simplifies	
  applica+on	
  development	
  by	
  templa+zing	
  API	
  interac+ons	
  (for	
  developers)	
  
–  serves	
  as	
  the	
  organiza+on’s	
  memory	
  of	
  the	
  best-­‐prac+ces	
  in	
  developing	
  a	
  class-­‐of-­‐applica+ons	
  even	
  when	
  the	
  
specific	
  APIs	
  may	
  not	
  be	
  relevant	
  (for	
  business)	
  
Ø Key	
  Technical	
  Issue	
  
–  What	
  pa=erns	
  should	
  one	
  build	
  ?	
  Theore+cally,	
  there	
  exists	
  a	
  trivial	
  method	
  to	
  blindly	
  generate	
  a	
  pa=ern	
  from	
  any	
  
applica+on.	
  Any	
  pa=ern	
  development	
  process	
  has	
  to	
  do	
  be=er	
  than	
  this	
  baseline.	
  
–  How	
  should	
  the	
  pa=erns	
  be	
  used	
  in	
  prac+ce?	
  
–  Building	
  a	
  tool-­‐enabled	
  process	
  around	
  Pa=ern-­‐based	
  programming	
  
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Applica+on	
  Pa=ern	
  
Ø Approach	
  followed	
  in	
  AllGov	
  
–  Common	
  steps	
  taken	
  by	
  a	
  role	
  player	
  is	
  a	
  candidate	
  pa=ern	
  
–  Common	
  steps	
  that	
  can	
  be	
  executed	
  in	
  the	
  same	
  infrastructure	
  is	
  a	
  candidate	
  pa=ern	
  
Ø Pa=ern	
  1:	
  Browse	
  city	
  services	
  pa=ern	
  [User	
  Role:	
  Govt.	
  Dept	
  Admin;	
  Environment:	
  PRODUCTION	
  system]	
  
–  find	
  a	
  city's	
  services	
  
–  find	
  a	
  service's	
  defini+on	
  
–  find	
  services	
  of	
  a	
  par+cular	
  high-­‐level	
  category	
  (example:	
  building,	
  graffi+,	
  ...)	
  
Ø Pa=ern	
  2:	
  Create	
  service	
  request	
  pa=ern	
  [User	
  Role:	
  Developer;	
  Environment:	
  TEST	
  system]	
  
–  Browse	
  city	
  services	
  
–  Browse	
  raised	
  city	
  service	
  requests	
  
–  Create	
  a	
  new	
  service	
  request	
  
Ø Pa=ern	
  3:	
  Create	
  service	
  request	
  pa=ern	
  [User	
  Role:	
  General	
  ci+zen	
  of	
  a	
  par5cular	
  City;	
  Environment:	
  PRODUCTION	
  
system]	
  
–  Browse	
  city	
  services	
  
–  Browse	
  raised	
  city	
  service	
  requests	
  
–  Create	
  a	
  new	
  service	
  request	
  
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
AllGov Scenario Deconstruction (flows)
Customer
Mobile AllGov
City Services
1
2
External IBM Client
browse
events get recent events
Request
confirmation
get service types
create
request
Post location
coordinates
Post details on
Event, location
3
Notify service
completed
P1, P1+
P2, P3
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
The Government API services economy will evolve a new service Business
Model (Value & Revenue chain) with different service providers
Individual
Consumer
API endpoint
Business
Services
Mobile
App
Revenue
Value
Revenue
Value
API
Services & Data
API endpoint
API endpoint
Value Revenue Value Revenue
API
Provider
App
developer
Value Revenue Value Revenue
Pattern Provider
Pattern Security
Revenue
Value
Revenue
Value
Assets and
Orchestrations
BindingConfiguration
Sample (Client, UI)
Assets
Properties
Properties
Endpoint
Dependency
Endpoint
Dependency
Pattern*
Security
Monitoring & Analytics
* Pattern provides a reusable, secure, configurable
composition of services template for replicable
business scenarios/services.
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation47
Case Study:
Web Service Composition – Staged Semi-Automatic
Synthy
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation48
The Problem
q  Web Service Composition approaches
Ø  AI based
–  Semantic Web Services
–  Ontologies, Planning etc.
Ø  Distributed Programming based
–  Standardized Interfaces and protocol bindings
–  Web Service Description Language (WSDL), Universal Description, Discovery and Integration
(UDDI) etc.
q  A complete view take an end-to-end approach
1.  Specification of desired functionality
2.  Composition of new service based on specified requirements
3.  Creating deployable instance of the newly created composite service
q  Two staged approach
Ø  Semantic annotations for functional composition
Ø  Interface Descriptions and QoS guarantees for non-functional composition
q  In current semantic web service modeling efforts (specifically OWL-S)
Ø  services engineering has not been done with scalability in mind
Ø  the best way of using non-functional requirements (NFRs) is not very clear
Ø  control flow creation is facilitated but lack of support for data flow construction
WWW 2005, AAAI 2006, Web Semantics Journal 2006
•  IBM
be
or
an
•  Ba
no
m
ints
For the latest, go to http://w3.ibm.com/ibm/presentations
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Indications in black = Optional elements
49
Synthy IDE for Web Service Composition
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Logical Composition – “what” service types to compose?
Validator
Ontology
SNOBASE
MatchmakerFilterPlanner4J
Service
Specs
Abstract
Workflow
Service
Capabilities
Registry
Logical
Composer Available
Service
Types
Domain
Information
Candidate
Component
Services
Domain
Information
Candidate
Component
Services
Validated
Specs
AAAI 2006
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Physical Composition – “how” to select service instances?
Instance
Selector
BPEL
Generator
Abstract
Workflow
Deployable
Workflow
Data
Dictionary
WSME
Matchmaker
Service
Instances
Registry
Physical
Composer
Available
Service
Instances
Selected
Instances
WSDLs for the
selected Instances
Matchmaking
language/rules
Matching
Instances
AAAI 2006
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation52
Handling Scalability
ServiceGrounding
ServiceType
Service
ServiceProfileType
ServiceModelType
Service Profile
anInstanceOf
anInstanceOf
presents
presents
support
s
describedBy
q  Current OWL-S Approach
Ø  Each individual running instance is modeled as a service
Ø  Requires evaluation of all service instances while searching for a desired service
Ø  Lack of standardization: no information about similarity or dissimilarity
Ø  Resulting composition prone to small implementation changes
q  Modified OWL-S Upper Ontology
Ø  Split the ontology into Service Type Hierarchy and Service Instance Hierarchy
q  Scalability
Ø  Only Service Types needs to be matched
Ø  A composition may replace an instance with another of same type
Ø  Changes to instance NFCs will not affect the existing functional composition
Service
Service Profile
Service Model
Service Grounding
presents
describedBy
supports
ISWC 2005
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation53
Issue 1: How to Classify among Types and Instances
" Composition valid when instance chosen for a service type
" Instances allowed to have minor variations
" Preconditions of Type superset of preconditions of all Instances
" Effects of Type subset of effects of all Instances
ISWC 2005
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation54
Issue 2: Rules for Role Propagation
ISWC 2005
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation55
Issue 2: Benefits of Role Association
q Disambiguate i/o parameters
Ø  Assign semantic meaning
q Creation of context for data flow generation
Ø  Role propagation
q Extra dimension for parameter matching
Ø  Looking for a service that uses Name with the role To
ISWC 2005
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation56
Issue 3: Functional versus Non-functional Capabilities
q FC expresses core functionality through IOPE’s
q NFC’s characterize the service further
Ø  Cost, QoS, ownership rights
q OWL-S represents NFC’s using profile attributes
q Unclear how to reason with NFC’s
Ø  Logical or physical layer?
ISWC 2005
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation57
Issue 3: Breakdown of end-to-end NFR
q Handled in physical composition module
Ø  Breaking composite requirements into individual component requirements
Ø  Selecting best instance for each component
q Rules can be specified to resolve conflicts
ISWC 2005
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation58
Adaptation of Web Service Composition - Solution Overview
q Use of Staged Approach for Service Composition
Ø Decompose the specification into functional and non-functional requirements
Ø Differentiate between web service types and web service instances
Ø Logical Composition: Create the desired functionality using service types
Ø Physical Composition: Optimize non-functional requirements and bind service
instances
q Create alternatives for adaptation
q Intelligently select alternatives at each stage based on operating
conditions
Details: Adaptation in Web Service Composition and Execution, ICWS 2006, ICWS 2007
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation59
A-WSCE Solution Overview
Physical
Composition
Input
Specs
Runtime
FP
W = W1,.., WL
RP
Logical
Composition
RL
P = P1,…, PK
I = {I1, I2, …, Iβ}S = {S1, S2, …, Sα}
FL FR
Wopt
RR
Execution
Environment
Details: Adaptation in Web Service Composition and Execution, ICWS 2006, ICWS 2007
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation60
A-WSCE System Architecture
Workflow
Generator
Service Developer
Execution
Environment
Service Type
Registry
Template
Generator
QoS
Registry
Instance
Registry
K Templates L Workflows 1 workflow
InstanceType QoS
Feedback Feedback
Feedback
Runtime
Selector
CALLBACK	

 CALLBACK	

CALLBACK	

Physical ManagerLogical Manager Runtime Manager
Available InstancesAvailable Types
Details: Adaptation in Web Service Composition and Execution, ICWS 2006
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation61
Generation of Multiple Workflows
q Template Generator
Ø Generate abstract workflows using AI Contingent Planning methodology
q Workflow Generator
Ø Creation of multiple executable workflows for a single template
–  Formulate as mixed Integer Programming problem
–  Repeatedly invoke Optimization module while Intelligently removing a few instances from
consideration
ü O-reuse Strategy
ü K-reuse Strategy
Ø Selecting workflows representing each template
–  Formulate as an Integer Programming problem
q Runtime Selector
Details: Adaptation in Web Service Composition and Execution, ICWS 2006
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation62
Demonstration of Web Service Composition (Synthy):
Building User Services – Helpline Application for an Electronic
Consumer Appliance Company, enabled by a Telco
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Helpline Automation Scenario
q  Service Specifications
Ø Input – Customer Problem
Ø Output – Status of Problem Resolution
q  Steps in the workflow
Ø Reporting of the problem using a Web-based
interface
Ø Selection of a helpline agent to resolve the
problem
–  Agent should have desired level of expertise
–  Agent could be a desk-based expert, or a
field-based expert
Ø Notify the appropriate expert with relevant
information about the problem
Ø Update registry with resolution status
q  Goal is to create the service using existing
component services, in an automated
manner if feasible
Problem Ticket ID,
Field Agent ID
Problem Ticket ID,
Resolution Status
Customer Problem
Problem Reporting
Service
Agent Assignment
Service
Help Desk
Service
On Site
Service
Problem Registry
Service
Problem Ticket ID
Problem Ticket ID,
Desk Agent ID
Problem Ticket ID,
Resolution Status
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Composed Service: Helpline Automation
Problem
Reporting
Registry
Update
Call
Setup
Help Desk
Message
Delivery
On Site
Problem
Classification
Location-based
Agent Selection
Expert Lookup
Agent Assignment
Desk-based Expert ID Field Expert ID
Problem Ticket
Problem Ticket, Problem Ticket,
Resolution Status
Problem Ticket,
Resolution Status
Problem Ticket,
Customer Interaction
Top-down or bottom-up?
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Composed Service: Location-Based Agent Selection Service
Location-based
Selection Service
Effect:
Agent chosen based on
proximity to destination
Output:
Field Agent ID
Input:
Customer Location,
List of Field Agent IDs
Expert DB
Location
Tracker
Distance
Calculator
Optimal Agent
Selector
List of Agent IDs
List of Agent Mobile Nos
List of Agent Locations
List of Agent Distances,
List of Agent IDs
Nearest Agent ID
Customer Location
IBM Research
© 2014 IBM CorporationMobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs66
Synthy – High Level View
§ Complexity and Main Issues
Ø Scalability of composition solution
Ø Level of automation
Ø Modeling domain information
Ø Leverage industry practices
Specify end-user
service capability
Select service
providers
Design the
flow
Deploy the
service
New
service
capabilities
New
service
providers
Network /
environment
changes
Value Proposition
"   Quicker reaction to changing market conditions &
competitive threats
"   Faster time to market for new services
"   Flexible B2B collaboration
"   Improved runtime performance & scalability for new
services
"   Ability to adapt business processes to meet new
customer demands
Deliverables
"   Tool for (semi)-automated value-added service creation
via semantically annotated web services
"   Infrastructure for metering and charging for composite
services
Customer: Mobile telecommunications company
(Bharti)
Description: Develop a tool to (semi)-
automatically compose specific user-specified
services using semantically-annotated web
services, and reconfiguration of orchestration
pattern.
Computer Science Techniques: Domain (OWL),
Functional (OWL-S), Non-functional (Policy, SLAs),
Web services (BPEL, WSDL), Semantic matching,
AI planning, NFR optimization, Automatic
Workflow Metadata Generation
Our work proposed a first-of-a-kind staged approach for web service
composition, enabling automation, control and optimization at each stage
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
References - Papers
q  Synthy: A System for End to End Composition of Web Services , V. Agarwal, G. Chafle, K. Dasgupta, N. Karnik, A. Kumar, S. Mittal, B.
Srivastava, Journal of Web Semantics, Vol. 3, Issue 4, 2005.
A Service Creation Environment based on End to End Composition of Web Services , V. Agarwal, K. Dasgupta, N. Karnik, A. Kumar, A. Kundu,
S. Mittal, B. Srivastava, Proceedings of the 14th. WWW Conference (WWW 2005), Japan
q  The Synthy Approach for End to End Web Services Composition: Planning with Decoupled Causal and Resource Reasoning , B. Srivastava,
NECTAR paper in Proceedings of the 21st National Conference on Artificial Intelligence (AAAI-06), Boston, USA.
q  An Integrated Development Environment for Web Service Composition , G. Chafle, G. Das, K. Dasgupta, A. Kumar, S. Mittal, S. Mukherjea, B.
Srivastava, In Proceedings of the IEEE International Conference on Web Services (ICWS 2007), Industrial Track, Salt Lake City, USA.
q  Improved Adaptation of Web Service Compositions Using Value of Changed Information , G. Chafle, P. Doshi, J. Harney, S. Mittal, B.
Srivastava, Industrial Track paper in the Proceedings of the IEEE International Conference on Web Services (ICWS 2007), Salt Lake City, USA.
q  Adaptation in Web Services Composition and Execution , G. Chafle, K. Dasgupta, A. Kumar, S. Mittal, B. Srivastava, Industrial Track paper in
the Proceedings of the IEEE International Conference on Web Services (ICWS 2006), Chicago, USA.
Information Modeling for End to End Composition of Semantic Web Services , A. Kumar, S. Mittal, B. Srivastava, Proceedings of the 4th
International Semantic Web Conference (ISWC 2005), Galway, Ireland. Also, IBM Research Report RI 06009, November 2006
q  Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute
2008, Bangalore, India. Also in IBM Research Report RI 07005
q  Evaluating Planning based Approaches for End to End Composition and Execution of Web Services , V. Agarwal, G. Chafle, K. Dasgupta, S.
Mittal, B. Srivastava, In AAAI 2005 Workshop on Exploring Planning and Scheduling for Web Services, Grid and Autonomic Computing,
Pittsburgh, US
q  Applying Planning in Composition of Web Services with a User-Driven Contingent Planner , A. Mediratta, B. Srivastava, In IBM Research
Report RI 06002, February 2006.
q  Metering and Accounting for Service-oriented Computing. A Kumar, V Agarwal, N Karnik E-business models, services, and communications,
275, Information Science Publishing, 2008
q  Usage Metering for Service-Oriented Grid Computing, A Kumar, N Karnik, V Agarwal, International Journal of E-Business Research (IJEBR)
2(1), 78--106, IGI Global, 2006.
q  An information model for metering and accounting, V Agarwal, N Karnik, A Kumar, Network Operations and Management Symposium, 2004.
q  Metering and accounting for composite e-Services, V Agarwal, N Karnik, A Kumar, E-Commerce, 2003, Published by the IEEE Computer
Society, 2003
q  Web Service Composition - Current Solutions and Open Problems , B. Srivastava & J. Koehler, 2003.
67
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Outline
q Basics
Ø Web APIs, Web Services, Services Oriented Architecture
Ø Importance of Web APIs for enterprise integration
Ø REST v/s Web Services?
q Composing services
Ø Composition Types
Ø Understanding Automatic Composition Choices
Ø Semi-automated Composition Case Studies
– APIs Pattern with Open 311
– Web Services Composition – Synthy
q Mobile implications
q Practical considerations
68
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Mobile Implications
69
In collaboration with Vikas Agarwal, IBM Research - India
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation70
Mobile Phone as a Platform
Growing functions and dropping cost make mobile phone capable as an alternative to PC to access
information and services	

Mobile phone information service platform
•  Growing 1 Billion per year through 2011
•  3x the number of PCs today
•  2x the number of credit cards today
•  2x the number of TVs today
• GPS
• Sensors
• Biometrics ID
• Productivity tool
• TV
• Game
• Email
• Dictionary
• Data Storage
• Voice Recorder
• Internet Browser
§ Credit Card
/ Payment Function
• Business Card
Reader
• Bar Code Reader
• Radio & Media Player
• SMS
• Voice
• Camera
• Address Book
Smartphone
New Functions
Enhanced Phone
New UI
Basic Phone
Lower Cost
$300
$200
$100
Price
User Number
0
0.5
1
1.5
2
2.5
1990 1995 2000 2001 2002 2003 2004 2005
Fixed lines
Cellular mobile phones
Billions
Fixed lines & mobile phones worldwide
Source: ITU Information Society Statistics Database.
125 years
21 years
3 years
§ Mobile phone: an alternative to PC
§  Young generation
§  Leading markets (e.g. Japan, Korea)
§  The base of pyramid (e.g. India, Africa)
Mobile Web
Mashups
Slide Courtesy: Vikas Agarwal
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Example Mobile Platforms
71
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation72
What Composition Can Enable on Mobiles
q Accelerate application development on
emerging smart phone platforms
Ø Apple iPhone, Google Android, Nokia S60, and
Blackberry
Ø Application must
–  Provide Mobile Device Breadth
–  Provide Consistent User Experience
–  Reduce Cost of development
–  Provide Ease of deployment & update
q Enable smarter and richer applications
Ø Rich Client Device Features (PIM, Bluetooth,
Camera, …)
Ø Telecom Infrastructure Services (Location,
Presence, 3PCC, …)
Ø 3rd party services (Maps, News feeds, …)
As the new killer application remains elusive…differentiation will come from ability
to ‘rapidly compose’ customized services for narrow customer segments
News
Weather
Traffic
Map
Bluetooth
SMS
Call	
  
Control
Loca+on
Presence
Contacts
Camera
Calendar
AndroidiPhone S60
Mobile Browser Platform
Telecom
Functionality
Device
Features
Third Party
Web
Services
News
Weather
Traffic
Map
Bluetooth
SMS
Call	
  
Control
Loca+on
Presence
Contacts
Camera
Calendar
AndroidiPhone S60
Mobile Browser Platform
Telecom
Functionality
Device
Features
Third Party
Web
Services
Slide Courtesy: Vikas Agarwal
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation73
Mobile Applications running
on Browser
q Advantages
Ø Easy reuse of existing web assets
Ø Dynamic delivery of content and services
Ø Easy to reconfigure and update the application
q Disadvantages
Ø Cannot make use of native device services
Ø Inconsistency in mobile web browsers
Ø No offline model
Ø Web applications that maintain long http
connections not feasible because of CPU and
battery constraints
Ø Don’t handle network interruption and latency
well
q Advantages
Ø Full access to local device services
Ø User interface richness because of the use of
native controls and advanced graphics
Ø Can make use of advanced controls like multi
touch to enhance user experience
q Disadvantages
Ø No consistency in programming model from
different vendors
Ø Fixed function. Very little flexibility in being able
to dynamically adapt, re-skin the application
Ø Update cycle can be painful
Ø Service composition not as easy as web
applications
Ø Difficult to distribute source form of the app for
extension
73
Native Mobile Application
Slide Courtesy: Vikas Agarwal
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation74
Hybrid Application Model
q  Mobile web applications based on browser runtime (both
widgets and native apps with browser access)
Ø Locally installed with Web connectivity
Ø Rich UI without browser frame
Ø Access to native functionalities (PIM, Camera, …)
Ø Access to 3rd party services (Maps, news feeds, …)
Ø Can have a server-side component
–  Dynamic generation of HTML content
–  Device specific scripts for accessing device
functionalities
q  Mobile Web platform is becoming the new rich client
platform
Ø Generally based on Webkit
–  An open source browser engine with smaller
footprint and better performance
–  Provides a Web 2.0 Programming (HTML, XML,
JavaScript, AJAX)
–  Can support multiple device platforms including
Android, iPhone, Nokia S60
Slide Courtesy: Vikas Agarwal
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation75
Mobile Composition Architecture
q Provides Web programming with native integration
Ø Using JavaScript Interfaces
Ø Uniform API across different mobile platforms
q Mashup compositions can combine device, telecom and third party services
Slide Courtesy: Vikas Agarwal
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Native
Apple
XCode
Android Dev
Tools (ADT)
(Eclipse)
IDE	
  
Hybrid
Mix Native and Hybrid code in a
single application
Web
Uses the Browser on the
device to access application
running on the server. Written
in HTML and JS
iPhone Application Android Application
Hybrid Application
iPhone, Android, …
Web Application
iPhone, Android, …
Native
Code
Native
Code
Pladorm	
  API	
  
Native
Code
Native
Code
Pladorm	
  API	
  
HTML5
CSS
Java
Script
Hybrid	
  Device	
  Bridge	
  
and	
  pladorm	
  API	
  
Native
Code HTML HTML
Java	
  Script	
  Helper	
  API	
  
Build	
   Connect	
  and	
  Run	
   Manage	
  &	
  Analy+cs	
   Secure	
   Transform	
  &	
  Grow	
  
Mobile platforms Must Support All Application Models
IDE	
  
Slide Courtesy: Vikas Agarwal
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Mobile Issues
q Performance
Ø Question whether cpu-intensive work is needed
Ø Can work be moved to back-end, result be cached?
q Resource footprint
Ø Reduce HTTP requests
Ø Get multiple resources in single requests (e.g., mod_cat library)
Ø Eliminate images
Ø Avoid redirects, call directly
q Security
Ø Use libraries that check security policy violations (e.g., SafeMash)
Ø Verify security violation with 3rd party tools
77
See details:
•  The evolution of web development for mobile devices, Nicholas C Zakas, CACM April 2013
•  Full Enabling the development of safer mashups for open data Krishna Chaitanya; Venkatesh Choppella, ICSE IWP 2014
•  TaintDroid: An Information Flow Tracking System for Real-Time Privacy Monitoring on Smartphones by William Enck, Peter Gilbert,
Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick McDaniel, and Anmol N. Sheth, CACM Mar 2014
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Outline
q Basics
Ø Web APIs, Web Services, Services Oriented Architecture
Ø Importance of Web APIs for enterprise integration
Ø REST v/s Web Services?
q Composing services
Ø Composition Types
Ø Understanding Automatic Composition Choices
Ø Semi-automated Composition Case Studies
– APIs Pattern with Open 311
– Web Services Composition – Synthy
q Mobile implications
q Practical considerations
78
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Practical Considerations
79
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Public Datasets
q APIs
Ø Programmable Web (programmableweb.com)
Ø Open 311 (open311.org)
Ø Government open data sites supporting APIs (data.gov, data.gov.in, …)
q Web Services
Ø Xmethod (www.xmethod.com)
Ø Webserviceslist.com
Ø Soa.com
80
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Composition Tooling
q Do it yourself with favorite environment at application level
Ø HTML5
Ø Kimonolabs - Kimonolabs.com
Ø TouchDevelop - http://tdev.ly/sykua
q Platform specific development tools
Ø MIT AppInventor - http://appinventor.mit.edu/
q Cross-platform tools with platform specific tweaking
q Key concern while composition concern
Ø Model of change that is being handled
81
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Key Composition Issues to Keep in Mind
q Representation of services
Ø Just input/ output?
Ø Need semantics of preconditions/ effects?
q Model of change that needs to be handled
Ø Only runtime changes, e.g., service instances?
Ø Only design time changes, e.g., user reviews compositions?
Ø Both design and runtime?
Ø Handle new requirements over time, automatically?
Ø Others – Semantics of current behavior? Do we need to ignore changes?
q Tooling to create and manage compositions
82
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
References
q  Nicholas Zakas, The evolution of web development for mobile devices, Communications of the ACM, April 2013.
q  V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, Understanding Approaches for Web Service Composition and Execution , In ACM Compute 2008, Bangalore, India.
q  J. Koehler, B. Srivastava: Web Service Composition:
q  Current Solutions and Open Problems ICAPS 2003 Workshop on Planning for Web Services, pages 28 - 35.
q  V. Agarwal, G. Chafle, K. Dasgupta, S. Mittal, B. Srivastava, Evaluating Planning based Approaches for End to End Composition and Execution of Web Services, In AAAI 2005
Workshop on Exploring Planning and Scheduling for Web Services, Grid and Autonomic Computing, Pittsburgh, USA.
q  Pautasso C., Zimmermann O., and Leymann, F. "Restful web services vs. big'web services: making the right architectural decision." Proceedings of the 17th international conference on
World Wide Web. ACM, 2008.
q  DuVander A., “9,000 APIs: Mobile Gets Serious,” ProgrammableWeb, http://blog.programmableweb.com/2013/04/30/9000-apis- mobile-gets-serious/, 2013.
q  B. Srivastava, The Synthy Approach for End to End Web Services Composition: Planning with Decoupled Causal and Resource Reasoning , NECTAR paper in Proceedings of the 21st
National Conference on Artificial Intelligence (AAAI-06), Boston, USA.
q  McIlraith, Sheila, Son, Tran Cao, and Zeng, Honglei (March 2001). "Semantic Web Services" (PDF). Intelligent Systems (IEEE) 16 (2): 46–53
q  Piergiorgio Bertoli, Marco Pistore, Paolo Traverso. Automated Composition of Web Services via Planning in Asynchronous Domains, Journal of Artificial Intelligence, 316-361, 2009.
q  A. Kumar, S. Mittal, B. Srivastava, Information Modeling for End to End Composition of Web Services , Proceedings of the 4th International Semantic Web Conference (ISWC 2005),
Galway, Ireland. Also, IBM Research Report RI 06009, November 2006.
q  Keman Huang; Yushun Fan; Wei Tan; Xiang Li, Service Recommendation in an Evolving Ecosystem: A Link Prediction Approach, Web Services (ICWS), 2013 IEEE 20th International
Conference on , vol., no., pp.507,514, June 28 2013-July 3 2013
q  Torres, R.; Tapia, B.; Astudillo, H., Improving Web API Discovery by Leveraging Social Information, Web Services (ICWS), 2011 IEEE International Conference on , vol., no., pp.744,745,
4-9 July 2011
q  Bizer C., Heath T., and Berners-Lee T. "Linked data-the story so far." International Journal on Semantic Web and Information Systems (2009): 1-22.
q  G. Chafle, S. Chandra, V. Mann, MG Nanda, Decentralized orchestration of composite web services, WWW 2004, Alternate track on Web Services
q  D. Mukherjee, P. Jalote, MG Nanda, Determining QoS of WS-BPEL compositions, ICSOC 2008
q  Decentralizing execution of composite web services, MG Nanda, S Chandra, V Sarkar OOPSLA, 2004
q  J. Koehler, R. Hauser, S. Sendall, M. Wahler: Declarative Techniques for Model-Driven Business Process Integration IBM Systems Journal 44(1): 47-65 (2005).
q  J. Koehler, J. Vanhatalo: Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling IBM Websphere Developer Technical Journal, Issues 10.2 and 10.4,
2007. IBM ZRL Research Report 3678.
q  V. Agarwal, G. Chafle, K. Dasgupta, N. Karnik, A. Kumar, S. Mittal, B. Srivastava, Synthy: A System for End to End Composition of Web Services , Journal of Web Semantics, Vol. 3,
Issue 4, 2005.
q  V. Agarwal, K. Dasgupta, N. Karnik, A. Kumar, A. Kundu, S. Mittal, B. Srivastava, A Service Creation Environment based on End to End Composition of Web Services , Proc. of the 14th.
WWW Conference (WWW 2005), Japan
q  G. Chafle, P. Doshi, J. Harney, S. Mittal, B. Srivastava, Improved Adaptation of Web Service Compositions Using Value of Changed Information , Industrial Track paper in the
Proceedings of the IEEE International Conference on Web Services (ICWS 2007), Salt Lake City, USA.
q  G. Chafle, K. Dasgupta, A. Kumar, S. Mittal, B. Srivastava, Industrial Adaptation in Web Services Composition and Execution , Track paper in the Proceedings of the IEEE International
Conference on Web Services (ICWS 2006), Chicago, USA
q  Panziera, Luca and Comerio, Marco and Palmonari, Matteo and De Paoli, Flavio and Batini, Carlo, Quality-Driven Extraction, Fusion and Matchmaking of Semantic Web API
Descriptions , Journal of Web Engineering, 2012
q  M. Lanthaler, Creating 3rd Generation Web APIs with Hydra, WWW 2013
83
MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation
Thank You
Merci
Grazie
Gracias
Obrigado
Danke
Japanese
French
Russian
German
Italian
Spanish
Portuguese
Arabic
Traditional Chinese
Simplified Chinese
Hindi
Romanian
Korean
Multumesc
Turkish
Teşekkür ederim
English

More Related Content

Similar to Composing Web APIs – State of the art and mobile implications

Backend for Frontend in Microservices
Backend for Frontend in MicroservicesBackend for Frontend in Microservices
Backend for Frontend in MicroservicesIRJET Journal
 
Making Networks More Agile, Open, and Application Centric - Cisco Insights
Making Networks More Agile, Open, and Application Centric - Cisco InsightsMaking Networks More Agile, Open, and Application Centric - Cisco Insights
Making Networks More Agile, Open, and Application Centric - Cisco InsightsCisco Service Provider
 
Challenges to Integration Strategy - Thompson
Challenges to Integration Strategy - ThompsonChallenges to Integration Strategy - Thompson
Challenges to Integration Strategy - ThompsonProlifics
 
Quill slides-www2013
Quill slides-www2013Quill slides-www2013
Quill slides-www2013Vivian Motti
 
Quill slides-www2013
Quill slides-www2013Quill slides-www2013
Quill slides-www2013Vivian Motti
 
IRJET- Truck Booking Project with Invoice Generator for Transportation
IRJET- Truck Booking Project with Invoice Generator for TransportationIRJET- Truck Booking Project with Invoice Generator for Transportation
IRJET- Truck Booking Project with Invoice Generator for TransportationIRJET Journal
 
CA API Management: A DevOps Enabler
CA API Management: A DevOps EnablerCA API Management: A DevOps Enabler
CA API Management: A DevOps EnablerRajat Vijayvargiya
 
Sarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation ConslutingSarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation Conslutingsarbajit Chakrabarty
 
Evaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web ServicesEvaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web ServicesIRJET Journal
 
Kochi mulesoft meetup 02
Kochi mulesoft meetup 02Kochi mulesoft meetup 02
Kochi mulesoft meetup 02sumitahuja94
 
0430 toronto smac_meetup_worklight_intro_final
0430 toronto smac_meetup_worklight_intro_final0430 toronto smac_meetup_worklight_intro_final
0430 toronto smac_meetup_worklight_intro_finalRaul Chong
 
Cory Couty Primary Resume
Cory Couty Primary ResumeCory Couty Primary Resume
Cory Couty Primary ResumeCory Couty
 
Naresh_SAPTech_Consultant_SAP01
Naresh_SAPTech_Consultant_SAP01Naresh_SAPTech_Consultant_SAP01
Naresh_SAPTech_Consultant_SAP01Naresh Devarakonda
 
Service Virtualization + API Management together
Service Virtualization + API Management togetherService Virtualization + API Management together
Service Virtualization + API Management togetherPablo Gutierrez
 

Similar to Composing Web APIs – State of the art and mobile implications (20)

Backend for Frontend in Microservices
Backend for Frontend in MicroservicesBackend for Frontend in Microservices
Backend for Frontend in Microservices
 
IRJET- Grab Cab
IRJET-  	  Grab CabIRJET-  	  Grab Cab
IRJET- Grab Cab
 
L0704065070
L0704065070L0704065070
L0704065070
 
Making Networks More Agile, Open, and Application Centric - Cisco Insights
Making Networks More Agile, Open, and Application Centric - Cisco InsightsMaking Networks More Agile, Open, and Application Centric - Cisco Insights
Making Networks More Agile, Open, and Application Centric - Cisco Insights
 
Challenges to Integration Strategy - Thompson
Challenges to Integration Strategy - ThompsonChallenges to Integration Strategy - Thompson
Challenges to Integration Strategy - Thompson
 
Software as a Service
Software as a ServiceSoftware as a Service
Software as a Service
 
Quill slides-www2013
Quill slides-www2013Quill slides-www2013
Quill slides-www2013
 
Quill slides-www2013
Quill slides-www2013Quill slides-www2013
Quill slides-www2013
 
IRJET- Truck Booking Project with Invoice Generator for Transportation
IRJET- Truck Booking Project with Invoice Generator for TransportationIRJET- Truck Booking Project with Invoice Generator for Transportation
IRJET- Truck Booking Project with Invoice Generator for Transportation
 
CA API Management: A DevOps Enabler
CA API Management: A DevOps EnablerCA API Management: A DevOps Enabler
CA API Management: A DevOps Enabler
 
Sarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation ConslutingSarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation Consluting
 
Evaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web ServicesEvaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web Services
 
Mohammad_Miran_Resume
Mohammad_Miran_ResumeMohammad_Miran_Resume
Mohammad_Miran_Resume
 
Kochi mulesoft meetup 02
Kochi mulesoft meetup 02Kochi mulesoft meetup 02
Kochi mulesoft meetup 02
 
0430 toronto smac_meetup_worklight_intro_final
0430 toronto smac_meetup_worklight_intro_final0430 toronto smac_meetup_worklight_intro_final
0430 toronto smac_meetup_worklight_intro_final
 
Amol Aswar
Amol AswarAmol Aswar
Amol Aswar
 
Cory Couty Primary Resume
Cory Couty Primary ResumeCory Couty Primary Resume
Cory Couty Primary Resume
 
Naresh_SAPTech_Consultant_SAP01
Naresh_SAPTech_Consultant_SAP01Naresh_SAPTech_Consultant_SAP01
Naresh_SAPTech_Consultant_SAP01
 
Kiran1.docx (1)
Kiran1.docx (1)Kiran1.docx (1)
Kiran1.docx (1)
 
Service Virtualization + API Management together
Service Virtualization + API Management togetherService Virtualization + API Management together
Service Virtualization + API Management together
 

More from Biplav Srivastava

Trusted Data Science via Testing and Rating Behavior of AI Services: Text and...
Trusted Data Science via Testing and Rating Behavior of AI Services: Text and...Trusted Data Science via Testing and Rating Behavior of AI Services: Text and...
Trusted Data Science via Testing and Rating Behavior of AI Services: Text and...Biplav Srivastava
 
TOWARDS BUILDING PEOPLE-CENTRIC AI FOR BUSINESS - THE LONG HAUL
TOWARDS BUILDING PEOPLE-CENTRIC AI FOR BUSINESS - THE LONG HAULTOWARDS BUILDING PEOPLE-CENTRIC AI FOR BUSINESS - THE LONG HAUL
TOWARDS BUILDING PEOPLE-CENTRIC AI FOR BUSINESS - THE LONG HAULBiplav Srivastava
 
The Potential and Risks of Working With Conversation Agents
The Potential and Risks of Working With Conversation AgentsThe Potential and Risks of Working With Conversation Agents
The Potential and Risks of Working With Conversation AgentsBiplav Srivastava
 
Technology Based Social Entrepreneurship: Innovations That Matter
Technology Based Social Entrepreneurship: Innovations That MatterTechnology Based Social Entrepreneurship: Innovations That Matter
Technology Based Social Entrepreneurship: Innovations That MatterBiplav Srivastava
 
AI for Data-­Driven Decisions in Water Management
AI for Data-­Driven Decisions in Water ManagementAI for Data-­Driven Decisions in Water Management
AI for Data-­Driven Decisions in Water ManagementBiplav Srivastava
 
Case Studies in Managing Traffic in a Developing Country with Privacy-Preserv...
Case Studies in Managing Traffic in a Developing Country with Privacy-Preserv...Case Studies in Managing Traffic in a Developing Country with Privacy-Preserv...
Case Studies in Managing Traffic in a Developing Country with Privacy-Preserv...Biplav Srivastava
 
Blue Water: A Common Platform to Put Water Quality Data in India to Productiv...
Blue Water: A Common Platform to Put Water Quality Data in India to Productiv...Blue Water: A Common Platform to Put Water Quality Data in India to Productiv...
Blue Water: A Common Platform to Put Water Quality Data in India to Productiv...Biplav Srivastava
 
Data View2016 Analytics Competition for Public Health Using Indian Open Data
Data View2016 Analytics Competition for Public Health Using Indian Open DataData View2016 Analytics Competition for Public Health Using Indian Open Data
Data View2016 Analytics Competition for Public Health Using Indian Open DataBiplav Srivastava
 
Securing Intellectual Property – Why You Should Care and What Can You Do Abou...
Securing Intellectual Property – Why You Should Care and What Can You Do Abou...Securing Intellectual Property – Why You Should Care and What Can You Do Abou...
Securing Intellectual Property – Why You Should Care and What Can You Do Abou...Biplav Srivastava
 
Technological Challenges in Managing and Operating a Smart City: Planning for...
Technological Challenges in Managing and Operating a Smart City: Planning for...Technological Challenges in Managing and Operating a Smart City: Planning for...
Technological Challenges in Managing and Operating a Smart City: Planning for...Biplav Srivastava
 
Global Trends in Use of IT for Efficient Public Health Care
Global Trends in Use of IT for Efficient Public Health CareGlobal Trends in Use of IT for Efficient Public Health Care
Global Trends in Use of IT for Efficient Public Health CareBiplav Srivastava
 
Jumpstarting an Integrated Township Operations Center (Smart City) Using Peop...
Jumpstarting an Integrated Township Operations Center (Smart City) Using Peop...Jumpstarting an Integrated Township Operations Center (Smart City) Using Peop...
Jumpstarting an Integrated Township Operations Center (Smart City) Using Peop...Biplav Srivastava
 
Big, Open, Data and Semantics for Real-World Application Near You
Big, Open, Data and Semantics for Real-World Application Near YouBig, Open, Data and Semantics for Real-World Application Near You
Big, Open, Data and Semantics for Real-World Application Near YouBiplav Srivastava
 

More from Biplav Srivastava (13)

Trusted Data Science via Testing and Rating Behavior of AI Services: Text and...
Trusted Data Science via Testing and Rating Behavior of AI Services: Text and...Trusted Data Science via Testing and Rating Behavior of AI Services: Text and...
Trusted Data Science via Testing and Rating Behavior of AI Services: Text and...
 
TOWARDS BUILDING PEOPLE-CENTRIC AI FOR BUSINESS - THE LONG HAUL
TOWARDS BUILDING PEOPLE-CENTRIC AI FOR BUSINESS - THE LONG HAULTOWARDS BUILDING PEOPLE-CENTRIC AI FOR BUSINESS - THE LONG HAUL
TOWARDS BUILDING PEOPLE-CENTRIC AI FOR BUSINESS - THE LONG HAUL
 
The Potential and Risks of Working With Conversation Agents
The Potential and Risks of Working With Conversation AgentsThe Potential and Risks of Working With Conversation Agents
The Potential and Risks of Working With Conversation Agents
 
Technology Based Social Entrepreneurship: Innovations That Matter
Technology Based Social Entrepreneurship: Innovations That MatterTechnology Based Social Entrepreneurship: Innovations That Matter
Technology Based Social Entrepreneurship: Innovations That Matter
 
AI for Data-­Driven Decisions in Water Management
AI for Data-­Driven Decisions in Water ManagementAI for Data-­Driven Decisions in Water Management
AI for Data-­Driven Decisions in Water Management
 
Case Studies in Managing Traffic in a Developing Country with Privacy-Preserv...
Case Studies in Managing Traffic in a Developing Country with Privacy-Preserv...Case Studies in Managing Traffic in a Developing Country with Privacy-Preserv...
Case Studies in Managing Traffic in a Developing Country with Privacy-Preserv...
 
Blue Water: A Common Platform to Put Water Quality Data in India to Productiv...
Blue Water: A Common Platform to Put Water Quality Data in India to Productiv...Blue Water: A Common Platform to Put Water Quality Data in India to Productiv...
Blue Water: A Common Platform to Put Water Quality Data in India to Productiv...
 
Data View2016 Analytics Competition for Public Health Using Indian Open Data
Data View2016 Analytics Competition for Public Health Using Indian Open DataData View2016 Analytics Competition for Public Health Using Indian Open Data
Data View2016 Analytics Competition for Public Health Using Indian Open Data
 
Securing Intellectual Property – Why You Should Care and What Can You Do Abou...
Securing Intellectual Property – Why You Should Care and What Can You Do Abou...Securing Intellectual Property – Why You Should Care and What Can You Do Abou...
Securing Intellectual Property – Why You Should Care and What Can You Do Abou...
 
Technological Challenges in Managing and Operating a Smart City: Planning for...
Technological Challenges in Managing and Operating a Smart City: Planning for...Technological Challenges in Managing and Operating a Smart City: Planning for...
Technological Challenges in Managing and Operating a Smart City: Planning for...
 
Global Trends in Use of IT for Efficient Public Health Care
Global Trends in Use of IT for Efficient Public Health CareGlobal Trends in Use of IT for Efficient Public Health Care
Global Trends in Use of IT for Efficient Public Health Care
 
Jumpstarting an Integrated Township Operations Center (Smart City) Using Peop...
Jumpstarting an Integrated Township Operations Center (Smart City) Using Peop...Jumpstarting an Integrated Township Operations Center (Smart City) Using Peop...
Jumpstarting an Integrated Township Operations Center (Smart City) Using Peop...
 
Big, Open, Data and Semantics for Real-World Application Near You
Big, Open, Data and Semantics for Real-World Application Near YouBig, Open, Data and Semantics for Real-World Application Near You
Big, Open, Data and Semantics for Real-World Application Near You
 

Recently uploaded

ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfalene1
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Industrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsIndustrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsAlirezaBagherian3
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsapna80328
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSneha Padhiar
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 

Recently uploaded (20)

ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Industrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsIndustrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal Compressors
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveying
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 

Composing Web APIs – State of the art and mobile implications

  • 1. © 2014 IBM Corporation Composing Web APIs: State of the Art and Mobile Implications Biplav Srivastava IBM Research – India 2nd June, 2014
  • 2. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation What to Expect – Tutorial Objectives q The aim of the tutorial is to Ø Make early and experienced researchers aware of the Web Application Programming Interfaces (APIs) technology area in general and composing them in particular Ø Provide an insightful overview and whet the audiences’ interest to undertake new efforts in building useful (mobile) applications for fun and profit and push the art on important open issues. Ø Highlight relevant techniques from AI (e.g., planning, semantics, knowledge representation, logic, trust, learning and agents), software (rapid prototyping, quality-of-service, life cycle) and mobile (e.g., location-based, energy-efficiency) q Relation to other tutorials Ø Seems to be the first tutorial of its kind; many web composition surveys available q Disclaimer: we are only providing a sample of techniques intended to match audience profile in the available time.
  • 3. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Acknowledgements All our collaborators, and especially those in: q Industry and clients Ø  Telecom - Bharti (Airtel), AT&T, Sprint Ø  Public Sector - National and City government agencies around the world (India, Canada, Chicago, Boston, Kenya, …); Emerging Protocols - Open 311 Ø  Finance – Multiple Banks, Ø  … q Academia – Prashant Doshi, Jana Koehler, Sheila McIlraith, Amit Sheth q IBM: Many including Ø  Web Services and Composition – Vikas Agarwal, Girish Chafle, Koustuv Dasgupta, Gautam Das, Sugata Ghoshal, Mangala Gowri, Sunil Goyal, Neeran Karnik, Arun Kumar, Ashish Kundu, Anupam Mediratta, Sumit Mittal, Sougata Mukherjea. Ø  APIs – Apurva Kumar, Jim Laredo, Shao Chun Li, Florian Pinel, Karthik Visweswariah, Maja Vukovic Ø  Mobile – Vikas Agarwal, Dipyaman Banerjee, Dipanjan Chakraborty, Sunil Goyal, Arun Kumar, Sumit Mittal, Sougata Mukherjea, Amit Nanavati, Nitendra Rajput 3 For discussions, ideas and contributions. Apologies to anyone unintentionally missed.
  • 4. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Outline q Basics Ø Web APIs, Web Services, Services Oriented Architecture Ø Importance of Web APIs for enterprise integration Ø REST v/s Web Services? q Composing services Ø Composition Types Ø Understanding Automatic Composition Choices Ø Semi-automated Composition Case Studies – APIs Pattern with Open 311 – Web Services Composition – Synthy q Mobile implications q Practical considerations 4
  • 5. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Basics 5
  • 6. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Terminology q APIs Ø Application Programming Interfaces Ø Similar concepts – service interfaces, web services (interfaces) q Composition Ø Bringing capabilities of APIs together to build integrated capabilities; Can be client-side, server-side, mixed; can be manual, semi-automatic, automatic Ø Similar concepts - Mashup, Patterns q Registry Ø A place to record information about APIs Ø Similar concepts – UDDI, API registry q Cloud Ø Hosted infrastructure to run and manage APIs 6
  • 7. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation API Example 7 http://www.programmableweb.com/api/sabre-instaflights-search
  • 8. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation A Composition (Mashup) Example 8
  • 9. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Example: API Registry 9
  • 10. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Business Web: Service Oriented Architecture q Relies on Ø common service registry Ø service descriptions q Enables dynamic discovery, binding q Based on open standards Service Broker Service Provider Service Requester Web Services: web accessible software components Slide Courtesy: Nirmal Mukhi
  • 11. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation The Acronyms in Action Service Broker Service Provider Service Requester WSDL Search with UDDI and get WSDL of match Invoke using SOAP Execute BPEL Return Solution
  • 12. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Web Services Standards Source: Wil van der Aalst
  • 13. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation WSDL Example <definitions targetNamespace="http://..." xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name = "OrderEvent"></message> <message name = "TripRquest"></message> <message name = "FlightRequest"></ message> <message name = "HotelRequest"></message> <message name = "BookingFailure"></ message> <portType name ="pt1"> <operation name ="CToCI"> <input message ="TripRequest"/> </operation> </portType> <portType name ="pt2"> <operation name ="CIToHS"> <output message ="HotelRequest"/> </operation> </portType> <portType name ="pt3"> <operation name ="CIToFS"> <output message ="FlightRequest"/> </operation> </portType> ... <portType name ="pt9"> <operation name ="RIToFS"> <output message ="BookingFailure/ > </operation> </portType> Messages portTypes <binding name=“MyBinding" type=“MyPortType"> <soap:binding style="rpc" transport=“…/http" /> <operation name=“CTOCI"> <soap:operation soapAction=“…#CTOCI" /> <input> <soap:body use="encoded" namespace=“…" encodingStyle=“…/soap/encoding/" /> </input> </operation> </binding> Binding
  • 14. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Composite Web Service in BPEL4WS <process name ="TripHandling"> <partners> <partner name ="Customer" myRole ="TripHandlingAgent" serviceLinkType ="ExternalServiceLink" partnerRole ="CustomerAgent"/> <partner name ="FlightService" myRole ="TripHandlingAgent" serviceLinkType ="InternalServiceLink" partnerRole ="FlightServiceAgent"/> <partner name ="HotelService" myRole ="tripHandlingAgent" serviceLinkType ="InternalServiceLink" partnerRole ="HotelServiceAgent"/> </partners> <containers> ... <containers> ... </process> <sequence> <receive partner="Customer" portType ="pt1" operation ="CToCI" container ="OrderEvent"> </receive> <flow> <invoke partner ="HotelService" portType ="pt2" operation ="CIToHS" inputContainer ="HotelRequest"> </invoke> <invoke partner ="FlightService" portType ="pt3" operation ="CIToFS" inputContainer ="FlightRequest"> </invoke> </flow> <sequence> Partners Flow Description
  • 15. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Business   Source: Bessemer Venture Partners 2012 Business Capabilities as Services are being via APIs and delivered as-a-service, allowing Businesses to engage with Clients and Partners with speed at Scale
  • 16. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation REST v/s Web Services? 16 REST •  support limited integration styles, and involves fewer decisions on architectural alternatives •  This simplifies client-side integration steps (at the cost of lessening automation in system evolution); more focus on do-it- yourself Source: Pautasso et al, RESTful Web Services vs. “Big” Web Services: Making the Right Architectural Decision, WWW 2008
  • 17. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Outline q Basics Ø Web APIs, Web Services, Services Oriented Architecture Ø Importance of Web APIs for enterprise integration Ø REST v/s Web Services? q Composing services Ø Composition Types Ø Understanding Automatic Composition Choices Ø Semi-automated Composition Case Studies – APIs Pattern with Open 311 – Web Services Composition – Synthy q Mobile implications q Practical considerations 17
  • 18. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Composing Services 18
  • 19. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation19 Service Composition – High Level View § Complexity and Main Issues Ø Scalability of composition solution Ø Level of automation Ø Modeling domain information Ø Leverage industry practices Specify end-user service capability Select service providers Design the flow Deploy the service New service capabilities New service providers Network / environment changes Value Proposition "   Quicker reaction to changing market conditions & competitive threats "   Faster time to market for new services "   Flexible B2B collaboration "   Improved runtime performance & scalability for new services "   Ability to adapt business processes to meet new customer demands Deliverables "   Tool for (semi)-automated value-added service creation via semantically annotated APIs/ services "   Infrastructure for metering and charging for composite services
  • 20. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Service Composition Styles (Patterns) 20 Source: Change et al, Solving the Service Composition Puzzle, SCC2008 Glass is the easiest to assemble but forces manual composition, Orchestration/ Event allows automation in composition
  • 21. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Impact of Composition Style on Performance 21 Source: Change et al, Solving the Service Composition Puzzle, SCC2008 Different relative strengths of different styles
  • 22. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Types of Automatic Services Composition 22
  • 23. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation23 Motivation q An Overall Web Service Composition and Execution view is important in practice Web Service Composition and Execution Specification of Requirement Available Capabilities [ Templates, Policies ] Execution Trace Today, it is not clear what are fundamentally different possible types of WSCE approaches and which type to use in a given scenario? Events
  • 24. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation24 Underst anding Basis for WSCE approaches q Are composition and execution separable? Ø No, Yes q When does composition happen? Ø Offline, Online q How does composition happen? Ø Search-based, Template-based q What information is used for composition? Ø Service types, Service instances published, Services deployed, Templates/ Policies q How are external events handled at runtime (adaptation)? Ø On-the-fly, gradual
  • 25. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation25 July 9, 2005 All-In-One Composition & Execution Specifications I={i1, i2,… i!} X={x1,x2,…x!} T= {t1,t2,…t!} All-in-one Approach Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India Example: ConGolog, Heracles+Theseus
  • 26. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation26 Monolithic Composition RuntimeSpecifications I={i1, i2,… i!} X={x1,x2,…x!} W={W1,W2,…WL} T= {t1,t2,…t!} FRE RIW REW Monolithic Approach Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India Example: SWORD, SHOP-2 based, Petrinet-based, Astro, METEOR-S
  • 27. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation27 Logical Composition Physical Composition RuntimeSpecifications C={c1,c2,…c!} I={i1, i2,… i!} X={x1,x2,…x!} S={S1,S2,…SK} W={W1,W2,…WL} T= {t1,t2,…t!} FPC FRE RAW RIW REW Staged Approach Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India Example: Synthy, Self-Serv with web communities (but informal modeling)
  • 28. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation28 July 9, 2005 Replanning-based Composition Runtime I={i1, i2,… i!} X={x1,x2,…x!} W={W1,W2,…WL} T= {t1,t2,…t!} FRE RIW REW Template or Replanning-based Approach Specifications Initial Plan [Template] Policies Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India Example: Heracles+Theseus, METEOR-S (Semantic templates, other templates), template-based planning
  • 29. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation29 Basis for WSCE approaches q Are composition and execution separable? Ø  No, Yes q When does composition happen? Ø  Offline, Online q How does composition happen? Ø  Search-based, Template-based q What information is used for composition? Ø  Service types, Service instances published, Services deployed, Templates/ Policies q How are external events handled at runtime (adaptation)? Ø  On-the-fly, gradual Separable? When How What How Interleaved No Online Search Services deployed On-the-fly Monolithic Yes Offline Search Services instances published Gradual Staged Yes Offline Search Service types, Service instances published Gradual Template Yes Offline, Online Template Templates/ policies, Services instances published, deployed On-the-fly, Gradual
  • 30. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation30 Comparing Approaches Interleaved Monolithic Staged Template Composition Effort O(!λ) O(βλ) Min: O(!λ) O(αλ + Mλ) O(Mλ ) Composition Control None Low: < RIW; FE > High: < RAW;RIW; FC; FE > High: <template, underlying composition method> Ability to Handle Composition Failure None Low High Low Adaptation during Execution High Medium Medium Low to Medium Information Modeling Simple (Instances) Simple (Instances) Elaborate (Types and Instances) Elaborate (Templates and Instances) Limitation Search should be dead-end free Always a time-lag between service information offline v/s online Always a time-lag between service information offline v/ s online Search restricted by template – can cause INCOMPLETENESS; Any restriction of the underlying composition method
  • 31. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation31 Example: Selecting an Approach Requirement § Scalability – with number of services § Adaptability – to changes § Failure Resolution § User Interaction – control and supervision important Interleaved Monolithic Staged Template Composition Effort O(!λ) O(βλ) Min: O(!λ) O(αλ + Mλ) O(Mλ ) Composition Control None Low: < RIW; FE > High: < RAW;RIW; FC; FE > High: <template, underlying composition method> Composition Failure Resolution None Low High Low Adaptation High Medium Medium Low to Medium Information Modeling Simple (Instances) Simple (Instances) Elaborate (Types and Instances) Elaborate (Templates and Instances) Limitation Search should be dead- end free Always a time-lag between service information offline v/s online Always a time-lag between service information offline v/s online Search restricted by template – can cause INCOMPLETENESS; Any restriction of the underlying composition method Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India
  • 32. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation32 Example: Selecting an Approach q  Requirement: Online information services Ø Services are data sources; can be modeled as databases which can be queried with controlled side-effects at the time of purchase Ø Composite service should be responsive but accuracy can be negotiated Ø Services are heterogeneously owned, hence relatively autonomous in choosing specifications Interleaved Monolithic Staged Template Composition Effort O(!λ) O(βλ) Min: O(!λ) O(αλ + Mλ) O(Mλ ) Composition Control None Low: < RIW; FE > High: < RAW;RIW; FC; FE > High: <template, underlying composition method> Composition Failure Resolution None Low High Low Adaptation High Medium Medium Low to Medium Information Modeling Simple (Instances) Simple (Instances) Elaborate (Types and Instances) Elaborate (Templates and Instances) Limitation Search should be dead- end free Always a time-lag between service information offline v/s online Always a time-lag between service information offline v/s online Search restricted by template – can cause INCOMPLETENESS; Any restriction of the underlying composition method Source: Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India
  • 33. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Key Issues in Composition Performance q Representation of services Ø Functional (input/output) but not semantic Ø No way to discover equivalence q Reasoning, discovery and composition Ø Plethora of terms (e.g., wage and salary) Ø Limited process model Ø Hard to compose at semantic level –  Existing approaches at input/output level –  Detects instance choices but not service type choices q Runtime management and optimization
  • 34. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Service Specification: Example with DAML-S Specification Slide Courtesy: DAML-S Coalition
  • 35. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation ServiceGrounding <grounding:wsdlOutputMessageParts rdf:parseType="daml:collection"> <grounding:WsdlMessageMap> <grounding:damlsParameter rdf:resource=".../FlightItinerary" /> <grounding:wsdlMessagePart> <xsd:uriReference rdf:value=".../availFlightItinerary" /> </grounding:wsdlMessagePart> </grounding:WsdlMessageMap> </grounding:wsdlOutputMessageParts> Example: Airline Reservation ServiceProfile <profile:output> <profile:ParameterDescription rdf:ID="FlightItinerary"> <profile:parameterName>FlightItinerary</profile:parameterName> <profile:restrictedTo rdf:resource=".../concepts.daml#FlightItinerary"/> <profile:refersTo rdf:resource="#roundTrip_In"/> </profile:ParameterDescription> </profile:output> ServiceModel <daml:Class rdf:ID="BravoAir_Process"> <daml:subClassOf rdf:resource=".../Process.daml#CompositeProcess"/> ... <daml:Class rdf:about="process:Sequence"/> ... <process:listOfInstancesOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#GetDesiredFlightDetails"/> <daml:Class rdf:about="#SelectAvailableFlight"/> <daml:Class rdf:about="#BookFlight"/> </process:listOfInstancesOf> ... </daml:Class>
  • 36. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation OWL-S/ DAML-S Vs UDDI/WSDL q DAML-S Vs WSDL Ø Complements WSDL with Semantic Annotations Ø Overlaps with Input and Output definitions Ø DAML-S grounding overlaps with WSDL service implementation Ø Process model v/s function model q DAML-S Vs UDDI Ø Poor Search: UDDI does not support inferencing on taxonomies. Has fixed categories Ø Improved Search: DAML-S complements UDDI service and service provider descriptions with semantics. Slide Courtesy: Richard Goodwin
  • 37. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Layering of Semantic Web Languages for Services Source: DAML-S coalition work DAML-S (Services) XML (Extensible Markup Language) RDF (Resource Description Framework) RDFS (RDF Schema) DAML+OIL (Ontology) DAML-L (Logic)
  • 38. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation38 Case Study: API Composition – Template / Pattern Building Pattern with Open Web APIs in E- Governance
  • 39. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation The “Front Office Digitization” The Globally Integrated Enterprise Mobile in government supports economic growth through new individual experience & speed of innovation in a services ecosystem (API-­‐centric)  Services Ecosystem Public, Open-To-All APIs Protected, Open-To-Partner APIs Private, Internal APIs Universi+es   Private     Sector   Communi+es   Other  Countries   and  Governments   Ci+zen   Government       Open  data   Government     employee   Individual Ci+zen   Private  sector   employee   apps gov- app API Externalization & Mgmt. §  Define services to be exposed, Map to back-office applications §  Expose API (internally or externally §  Define usage and access policies to ensure security and scalability Service Integration §  Consume APIs through Mobile §  Reduce integration effort to stitch together APIs in apps §  Leverage Cloud to deploy and publish apps Analytics §  Provide analytics service to enhance customer experience §  Leverage data produced by API services §  Deliver new business insights to the ecosystem
  • 40. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Every citizen is a potential city event sensor •  Citizen notices 311 event worth reporting •  Reports event using mobile •  Launches mobile application •  Browses recent already-reported events •  Creates new event report •  [Is pre-enabled or gets any needed credentials to report event] •  Identifies service type for new event •  Shares location using mobile device (coordinates) •  Can add location annotations (road, district, city) and description •  Get confirmation of submission •  Get updates on service request Extreme Personalization = Location Intelligence Empowered Citizen + Social
 Analytics + + 40 ALLGOV SCENARIO: CROWDSOURCING 311* EVENT REPORTING *311 data standard •  non-emergency events like graffiti, garbage, down trees, abandoned car, …; Not human life threatening •  60+ cities support it world-wide; demo works on 4 (Chicago, Boston, Tucson – USA; Bonn – Germany), and backend test of 10s more.
  • 41. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Browsing Services in One’s City: Mary M. can look at the 311 services her city provides On selecting the icon, •  She sees a small set of categories (health, building, traffic, cityimage, others) around which all the city’s services are grouped. •  She can look at a list of services and check out the agencies involved •  If there has been a change in agency responsible or new services added for an agency, she can note that directly Browsing Services in Other Cities: Her colleagues from another city are visiting. She may want to bring a window (instantiate an app with browse city pattern) to look at what that city offers to their citizens [Alternatively, if she is travelling to another city, she may be interested to know how that city does compared to her’s, by which agency, etc.] On selecting the icon, •  See sees a small set of familiar categories (health, building, traffic, cityimage, others) regardless of what the city calls its services •  She can look at a list of services and check out the agencies involved If her city does something different, she can show that to her colleagues in her or other cities.
  • 42. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation A Demonstration of AllGov Scope •  Backend pattern setup •  Mobile based usage of pattern instances
  • 43. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Applica+on  Pa=ern   Ø What  is  it?:  A  pa=ern  is  any  applica+on  using  APIs,  with  some  informa+on   generalized  (i.e.,  removed  and  parameterized)   Ø Business  Value:  A  pa=ern     –  standardizes  the  usage  experience  by  promo+ng  similar  behavior  (for  users)     –  simplifies  applica+on  development  by  templa+zing  API  interac+ons  (for  developers)   –  serves  as  the  organiza+on’s  memory  of  the  best-­‐prac+ces  in  developing  a  class-­‐of-­‐applica+ons  even  when  the   specific  APIs  may  not  be  relevant  (for  business)   Ø Key  Technical  Issue   –  What  pa=erns  should  one  build  ?  Theore+cally,  there  exists  a  trivial  method  to  blindly  generate  a  pa=ern  from  any   applica+on.  Any  pa=ern  development  process  has  to  do  be=er  than  this  baseline.   –  How  should  the  pa=erns  be  used  in  prac+ce?   –  Building  a  tool-­‐enabled  process  around  Pa=ern-­‐based  programming  
  • 44. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Applica+on  Pa=ern   Ø Approach  followed  in  AllGov   –  Common  steps  taken  by  a  role  player  is  a  candidate  pa=ern   –  Common  steps  that  can  be  executed  in  the  same  infrastructure  is  a  candidate  pa=ern   Ø Pa=ern  1:  Browse  city  services  pa=ern  [User  Role:  Govt.  Dept  Admin;  Environment:  PRODUCTION  system]   –  find  a  city's  services   –  find  a  service's  defini+on   –  find  services  of  a  par+cular  high-­‐level  category  (example:  building,  graffi+,  ...)   Ø Pa=ern  2:  Create  service  request  pa=ern  [User  Role:  Developer;  Environment:  TEST  system]   –  Browse  city  services   –  Browse  raised  city  service  requests   –  Create  a  new  service  request   Ø Pa=ern  3:  Create  service  request  pa=ern  [User  Role:  General  ci+zen  of  a  par5cular  City;  Environment:  PRODUCTION   system]   –  Browse  city  services   –  Browse  raised  city  service  requests   –  Create  a  new  service  request  
  • 45. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation AllGov Scenario Deconstruction (flows) Customer Mobile AllGov City Services 1 2 External IBM Client browse events get recent events Request confirmation get service types create request Post location coordinates Post details on Event, location 3 Notify service completed P1, P1+ P2, P3
  • 46. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation The Government API services economy will evolve a new service Business Model (Value & Revenue chain) with different service providers Individual Consumer API endpoint Business Services Mobile App Revenue Value Revenue Value API Services & Data API endpoint API endpoint Value Revenue Value Revenue API Provider App developer Value Revenue Value Revenue Pattern Provider Pattern Security Revenue Value Revenue Value Assets and Orchestrations BindingConfiguration Sample (Client, UI) Assets Properties Properties Endpoint Dependency Endpoint Dependency Pattern* Security Monitoring & Analytics * Pattern provides a reusable, secure, configurable composition of services template for replicable business scenarios/services.
  • 47. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation47 Case Study: Web Service Composition – Staged Semi-Automatic Synthy
  • 48. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation48 The Problem q  Web Service Composition approaches Ø  AI based –  Semantic Web Services –  Ontologies, Planning etc. Ø  Distributed Programming based –  Standardized Interfaces and protocol bindings –  Web Service Description Language (WSDL), Universal Description, Discovery and Integration (UDDI) etc. q  A complete view take an end-to-end approach 1.  Specification of desired functionality 2.  Composition of new service based on specified requirements 3.  Creating deployable instance of the newly created composite service q  Two staged approach Ø  Semantic annotations for functional composition Ø  Interface Descriptions and QoS guarantees for non-functional composition q  In current semantic web service modeling efforts (specifically OWL-S) Ø  services engineering has not been done with scalability in mind Ø  the best way of using non-functional requirements (NFRs) is not very clear Ø  control flow creation is facilitated but lack of support for data flow construction WWW 2005, AAAI 2006, Web Semantics Journal 2006
  • 49. •  IBM be or an •  Ba no m ints For the latest, go to http://w3.ibm.com/ibm/presentations MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Indications in black = Optional elements 49 Synthy IDE for Web Service Composition
  • 50. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Logical Composition – “what” service types to compose? Validator Ontology SNOBASE MatchmakerFilterPlanner4J Service Specs Abstract Workflow Service Capabilities Registry Logical Composer Available Service Types Domain Information Candidate Component Services Domain Information Candidate Component Services Validated Specs AAAI 2006
  • 51. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Physical Composition – “how” to select service instances? Instance Selector BPEL Generator Abstract Workflow Deployable Workflow Data Dictionary WSME Matchmaker Service Instances Registry Physical Composer Available Service Instances Selected Instances WSDLs for the selected Instances Matchmaking language/rules Matching Instances AAAI 2006
  • 52. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation52 Handling Scalability ServiceGrounding ServiceType Service ServiceProfileType ServiceModelType Service Profile anInstanceOf anInstanceOf presents presents support s describedBy q  Current OWL-S Approach Ø  Each individual running instance is modeled as a service Ø  Requires evaluation of all service instances while searching for a desired service Ø  Lack of standardization: no information about similarity or dissimilarity Ø  Resulting composition prone to small implementation changes q  Modified OWL-S Upper Ontology Ø  Split the ontology into Service Type Hierarchy and Service Instance Hierarchy q  Scalability Ø  Only Service Types needs to be matched Ø  A composition may replace an instance with another of same type Ø  Changes to instance NFCs will not affect the existing functional composition Service Service Profile Service Model Service Grounding presents describedBy supports ISWC 2005
  • 53. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation53 Issue 1: How to Classify among Types and Instances " Composition valid when instance chosen for a service type " Instances allowed to have minor variations " Preconditions of Type superset of preconditions of all Instances " Effects of Type subset of effects of all Instances ISWC 2005
  • 54. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation54 Issue 2: Rules for Role Propagation ISWC 2005
  • 55. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation55 Issue 2: Benefits of Role Association q Disambiguate i/o parameters Ø  Assign semantic meaning q Creation of context for data flow generation Ø  Role propagation q Extra dimension for parameter matching Ø  Looking for a service that uses Name with the role To ISWC 2005
  • 56. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation56 Issue 3: Functional versus Non-functional Capabilities q FC expresses core functionality through IOPE’s q NFC’s characterize the service further Ø  Cost, QoS, ownership rights q OWL-S represents NFC’s using profile attributes q Unclear how to reason with NFC’s Ø  Logical or physical layer? ISWC 2005
  • 57. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation57 Issue 3: Breakdown of end-to-end NFR q Handled in physical composition module Ø  Breaking composite requirements into individual component requirements Ø  Selecting best instance for each component q Rules can be specified to resolve conflicts ISWC 2005
  • 58. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation58 Adaptation of Web Service Composition - Solution Overview q Use of Staged Approach for Service Composition Ø Decompose the specification into functional and non-functional requirements Ø Differentiate between web service types and web service instances Ø Logical Composition: Create the desired functionality using service types Ø Physical Composition: Optimize non-functional requirements and bind service instances q Create alternatives for adaptation q Intelligently select alternatives at each stage based on operating conditions Details: Adaptation in Web Service Composition and Execution, ICWS 2006, ICWS 2007
  • 59. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation59 A-WSCE Solution Overview Physical Composition Input Specs Runtime FP W = W1,.., WL RP Logical Composition RL P = P1,…, PK I = {I1, I2, …, Iβ}S = {S1, S2, …, Sα} FL FR Wopt RR Execution Environment Details: Adaptation in Web Service Composition and Execution, ICWS 2006, ICWS 2007
  • 60. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation60 A-WSCE System Architecture Workflow Generator Service Developer Execution Environment Service Type Registry Template Generator QoS Registry Instance Registry K Templates L Workflows 1 workflow InstanceType QoS Feedback Feedback Feedback Runtime Selector CALLBACK CALLBACK CALLBACK Physical ManagerLogical Manager Runtime Manager Available InstancesAvailable Types Details: Adaptation in Web Service Composition and Execution, ICWS 2006
  • 61. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation61 Generation of Multiple Workflows q Template Generator Ø Generate abstract workflows using AI Contingent Planning methodology q Workflow Generator Ø Creation of multiple executable workflows for a single template –  Formulate as mixed Integer Programming problem –  Repeatedly invoke Optimization module while Intelligently removing a few instances from consideration ü O-reuse Strategy ü K-reuse Strategy Ø Selecting workflows representing each template –  Formulate as an Integer Programming problem q Runtime Selector Details: Adaptation in Web Service Composition and Execution, ICWS 2006
  • 62. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation62 Demonstration of Web Service Composition (Synthy): Building User Services – Helpline Application for an Electronic Consumer Appliance Company, enabled by a Telco
  • 63. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Helpline Automation Scenario q  Service Specifications Ø Input – Customer Problem Ø Output – Status of Problem Resolution q  Steps in the workflow Ø Reporting of the problem using a Web-based interface Ø Selection of a helpline agent to resolve the problem –  Agent should have desired level of expertise –  Agent could be a desk-based expert, or a field-based expert Ø Notify the appropriate expert with relevant information about the problem Ø Update registry with resolution status q  Goal is to create the service using existing component services, in an automated manner if feasible Problem Ticket ID, Field Agent ID Problem Ticket ID, Resolution Status Customer Problem Problem Reporting Service Agent Assignment Service Help Desk Service On Site Service Problem Registry Service Problem Ticket ID Problem Ticket ID, Desk Agent ID Problem Ticket ID, Resolution Status
  • 64. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Composed Service: Helpline Automation Problem Reporting Registry Update Call Setup Help Desk Message Delivery On Site Problem Classification Location-based Agent Selection Expert Lookup Agent Assignment Desk-based Expert ID Field Expert ID Problem Ticket Problem Ticket, Problem Ticket, Resolution Status Problem Ticket, Resolution Status Problem Ticket, Customer Interaction Top-down or bottom-up?
  • 65. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Composed Service: Location-Based Agent Selection Service Location-based Selection Service Effect: Agent chosen based on proximity to destination Output: Field Agent ID Input: Customer Location, List of Field Agent IDs Expert DB Location Tracker Distance Calculator Optimal Agent Selector List of Agent IDs List of Agent Mobile Nos List of Agent Locations List of Agent Distances, List of Agent IDs Nearest Agent ID Customer Location
  • 66. IBM Research © 2014 IBM CorporationMobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs66 Synthy – High Level View § Complexity and Main Issues Ø Scalability of composition solution Ø Level of automation Ø Modeling domain information Ø Leverage industry practices Specify end-user service capability Select service providers Design the flow Deploy the service New service capabilities New service providers Network / environment changes Value Proposition "   Quicker reaction to changing market conditions & competitive threats "   Faster time to market for new services "   Flexible B2B collaboration "   Improved runtime performance & scalability for new services "   Ability to adapt business processes to meet new customer demands Deliverables "   Tool for (semi)-automated value-added service creation via semantically annotated web services "   Infrastructure for metering and charging for composite services Customer: Mobile telecommunications company (Bharti) Description: Develop a tool to (semi)- automatically compose specific user-specified services using semantically-annotated web services, and reconfiguration of orchestration pattern. Computer Science Techniques: Domain (OWL), Functional (OWL-S), Non-functional (Policy, SLAs), Web services (BPEL, WSDL), Semantic matching, AI planning, NFR optimization, Automatic Workflow Metadata Generation Our work proposed a first-of-a-kind staged approach for web service composition, enabling automation, control and optimization at each stage
  • 67. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation References - Papers q  Synthy: A System for End to End Composition of Web Services , V. Agarwal, G. Chafle, K. Dasgupta, N. Karnik, A. Kumar, S. Mittal, B. Srivastava, Journal of Web Semantics, Vol. 3, Issue 4, 2005. A Service Creation Environment based on End to End Composition of Web Services , V. Agarwal, K. Dasgupta, N. Karnik, A. Kumar, A. Kundu, S. Mittal, B. Srivastava, Proceedings of the 14th. WWW Conference (WWW 2005), Japan q  The Synthy Approach for End to End Web Services Composition: Planning with Decoupled Causal and Resource Reasoning , B. Srivastava, NECTAR paper in Proceedings of the 21st National Conference on Artificial Intelligence (AAAI-06), Boston, USA. q  An Integrated Development Environment for Web Service Composition , G. Chafle, G. Das, K. Dasgupta, A. Kumar, S. Mittal, S. Mukherjea, B. Srivastava, In Proceedings of the IEEE International Conference on Web Services (ICWS 2007), Industrial Track, Salt Lake City, USA. q  Improved Adaptation of Web Service Compositions Using Value of Changed Information , G. Chafle, P. Doshi, J. Harney, S. Mittal, B. Srivastava, Industrial Track paper in the Proceedings of the IEEE International Conference on Web Services (ICWS 2007), Salt Lake City, USA. q  Adaptation in Web Services Composition and Execution , G. Chafle, K. Dasgupta, A. Kumar, S. Mittal, B. Srivastava, Industrial Track paper in the Proceedings of the IEEE International Conference on Web Services (ICWS 2006), Chicago, USA. Information Modeling for End to End Composition of Semantic Web Services , A. Kumar, S. Mittal, B. Srivastava, Proceedings of the 4th International Semantic Web Conference (ISWC 2005), Galway, Ireland. Also, IBM Research Report RI 06009, November 2006 q  Understanding Approaches for Web Service Composition and Execution , V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, In ACM Compute 2008, Bangalore, India. Also in IBM Research Report RI 07005 q  Evaluating Planning based Approaches for End to End Composition and Execution of Web Services , V. Agarwal, G. Chafle, K. Dasgupta, S. Mittal, B. Srivastava, In AAAI 2005 Workshop on Exploring Planning and Scheduling for Web Services, Grid and Autonomic Computing, Pittsburgh, US q  Applying Planning in Composition of Web Services with a User-Driven Contingent Planner , A. Mediratta, B. Srivastava, In IBM Research Report RI 06002, February 2006. q  Metering and Accounting for Service-oriented Computing. A Kumar, V Agarwal, N Karnik E-business models, services, and communications, 275, Information Science Publishing, 2008 q  Usage Metering for Service-Oriented Grid Computing, A Kumar, N Karnik, V Agarwal, International Journal of E-Business Research (IJEBR) 2(1), 78--106, IGI Global, 2006. q  An information model for metering and accounting, V Agarwal, N Karnik, A Kumar, Network Operations and Management Symposium, 2004. q  Metering and accounting for composite e-Services, V Agarwal, N Karnik, A Kumar, E-Commerce, 2003, Published by the IEEE Computer Society, 2003 q  Web Service Composition - Current Solutions and Open Problems , B. Srivastava & J. Koehler, 2003. 67
  • 68. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Outline q Basics Ø Web APIs, Web Services, Services Oriented Architecture Ø Importance of Web APIs for enterprise integration Ø REST v/s Web Services? q Composing services Ø Composition Types Ø Understanding Automatic Composition Choices Ø Semi-automated Composition Case Studies – APIs Pattern with Open 311 – Web Services Composition – Synthy q Mobile implications q Practical considerations 68
  • 69. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Mobile Implications 69 In collaboration with Vikas Agarwal, IBM Research - India
  • 70. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation70 Mobile Phone as a Platform Growing functions and dropping cost make mobile phone capable as an alternative to PC to access information and services Mobile phone information service platform •  Growing 1 Billion per year through 2011 •  3x the number of PCs today •  2x the number of credit cards today •  2x the number of TVs today • GPS • Sensors • Biometrics ID • Productivity tool • TV • Game • Email • Dictionary • Data Storage • Voice Recorder • Internet Browser § Credit Card / Payment Function • Business Card Reader • Bar Code Reader • Radio & Media Player • SMS • Voice • Camera • Address Book Smartphone New Functions Enhanced Phone New UI Basic Phone Lower Cost $300 $200 $100 Price User Number 0 0.5 1 1.5 2 2.5 1990 1995 2000 2001 2002 2003 2004 2005 Fixed lines Cellular mobile phones Billions Fixed lines & mobile phones worldwide Source: ITU Information Society Statistics Database. 125 years 21 years 3 years § Mobile phone: an alternative to PC §  Young generation §  Leading markets (e.g. Japan, Korea) §  The base of pyramid (e.g. India, Africa) Mobile Web Mashups Slide Courtesy: Vikas Agarwal
  • 71. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Example Mobile Platforms 71
  • 72. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation72 What Composition Can Enable on Mobiles q Accelerate application development on emerging smart phone platforms Ø Apple iPhone, Google Android, Nokia S60, and Blackberry Ø Application must –  Provide Mobile Device Breadth –  Provide Consistent User Experience –  Reduce Cost of development –  Provide Ease of deployment & update q Enable smarter and richer applications Ø Rich Client Device Features (PIM, Bluetooth, Camera, …) Ø Telecom Infrastructure Services (Location, Presence, 3PCC, …) Ø 3rd party services (Maps, News feeds, …) As the new killer application remains elusive…differentiation will come from ability to ‘rapidly compose’ customized services for narrow customer segments News Weather Traffic Map Bluetooth SMS Call   Control Loca+on Presence Contacts Camera Calendar AndroidiPhone S60 Mobile Browser Platform Telecom Functionality Device Features Third Party Web Services News Weather Traffic Map Bluetooth SMS Call   Control Loca+on Presence Contacts Camera Calendar AndroidiPhone S60 Mobile Browser Platform Telecom Functionality Device Features Third Party Web Services Slide Courtesy: Vikas Agarwal
  • 73. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation73 Mobile Applications running on Browser q Advantages Ø Easy reuse of existing web assets Ø Dynamic delivery of content and services Ø Easy to reconfigure and update the application q Disadvantages Ø Cannot make use of native device services Ø Inconsistency in mobile web browsers Ø No offline model Ø Web applications that maintain long http connections not feasible because of CPU and battery constraints Ø Don’t handle network interruption and latency well q Advantages Ø Full access to local device services Ø User interface richness because of the use of native controls and advanced graphics Ø Can make use of advanced controls like multi touch to enhance user experience q Disadvantages Ø No consistency in programming model from different vendors Ø Fixed function. Very little flexibility in being able to dynamically adapt, re-skin the application Ø Update cycle can be painful Ø Service composition not as easy as web applications Ø Difficult to distribute source form of the app for extension 73 Native Mobile Application Slide Courtesy: Vikas Agarwal
  • 74. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation74 Hybrid Application Model q  Mobile web applications based on browser runtime (both widgets and native apps with browser access) Ø Locally installed with Web connectivity Ø Rich UI without browser frame Ø Access to native functionalities (PIM, Camera, …) Ø Access to 3rd party services (Maps, news feeds, …) Ø Can have a server-side component –  Dynamic generation of HTML content –  Device specific scripts for accessing device functionalities q  Mobile Web platform is becoming the new rich client platform Ø Generally based on Webkit –  An open source browser engine with smaller footprint and better performance –  Provides a Web 2.0 Programming (HTML, XML, JavaScript, AJAX) –  Can support multiple device platforms including Android, iPhone, Nokia S60 Slide Courtesy: Vikas Agarwal
  • 75. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation75 Mobile Composition Architecture q Provides Web programming with native integration Ø Using JavaScript Interfaces Ø Uniform API across different mobile platforms q Mashup compositions can combine device, telecom and third party services Slide Courtesy: Vikas Agarwal
  • 76. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Native Apple XCode Android Dev Tools (ADT) (Eclipse) IDE   Hybrid Mix Native and Hybrid code in a single application Web Uses the Browser on the device to access application running on the server. Written in HTML and JS iPhone Application Android Application Hybrid Application iPhone, Android, … Web Application iPhone, Android, … Native Code Native Code Pladorm  API   Native Code Native Code Pladorm  API   HTML5 CSS Java Script Hybrid  Device  Bridge   and  pladorm  API   Native Code HTML HTML Java  Script  Helper  API   Build   Connect  and  Run   Manage  &  Analy+cs   Secure   Transform  &  Grow   Mobile platforms Must Support All Application Models IDE   Slide Courtesy: Vikas Agarwal
  • 77. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Mobile Issues q Performance Ø Question whether cpu-intensive work is needed Ø Can work be moved to back-end, result be cached? q Resource footprint Ø Reduce HTTP requests Ø Get multiple resources in single requests (e.g., mod_cat library) Ø Eliminate images Ø Avoid redirects, call directly q Security Ø Use libraries that check security policy violations (e.g., SafeMash) Ø Verify security violation with 3rd party tools 77 See details: •  The evolution of web development for mobile devices, Nicholas C Zakas, CACM April 2013 •  Full Enabling the development of safer mashups for open data Krishna Chaitanya; Venkatesh Choppella, ICSE IWP 2014 •  TaintDroid: An Information Flow Tracking System for Real-Time Privacy Monitoring on Smartphones by William Enck, Peter Gilbert, Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick McDaniel, and Anmol N. Sheth, CACM Mar 2014
  • 78. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Outline q Basics Ø Web APIs, Web Services, Services Oriented Architecture Ø Importance of Web APIs for enterprise integration Ø REST v/s Web Services? q Composing services Ø Composition Types Ø Understanding Automatic Composition Choices Ø Semi-automated Composition Case Studies – APIs Pattern with Open 311 – Web Services Composition – Synthy q Mobile implications q Practical considerations 78
  • 79. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Practical Considerations 79
  • 80. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Public Datasets q APIs Ø Programmable Web (programmableweb.com) Ø Open 311 (open311.org) Ø Government open data sites supporting APIs (data.gov, data.gov.in, …) q Web Services Ø Xmethod (www.xmethod.com) Ø Webserviceslist.com Ø Soa.com 80
  • 81. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Composition Tooling q Do it yourself with favorite environment at application level Ø HTML5 Ø Kimonolabs - Kimonolabs.com Ø TouchDevelop - http://tdev.ly/sykua q Platform specific development tools Ø MIT AppInventor - http://appinventor.mit.edu/ q Cross-platform tools with platform specific tweaking q Key concern while composition concern Ø Model of change that is being handled 81
  • 82. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Key Composition Issues to Keep in Mind q Representation of services Ø Just input/ output? Ø Need semantics of preconditions/ effects? q Model of change that needs to be handled Ø Only runtime changes, e.g., service instances? Ø Only design time changes, e.g., user reviews compositions? Ø Both design and runtime? Ø Handle new requirements over time, automatically? Ø Others – Semantics of current behavior? Do we need to ignore changes? q Tooling to create and manage compositions 82
  • 83. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation References q  Nicholas Zakas, The evolution of web development for mobile devices, Communications of the ACM, April 2013. q  V. Agarwal, G. Chafle, S. Mittal, B. Srivastava, Understanding Approaches for Web Service Composition and Execution , In ACM Compute 2008, Bangalore, India. q  J. Koehler, B. Srivastava: Web Service Composition: q  Current Solutions and Open Problems ICAPS 2003 Workshop on Planning for Web Services, pages 28 - 35. q  V. Agarwal, G. Chafle, K. Dasgupta, S. Mittal, B. Srivastava, Evaluating Planning based Approaches for End to End Composition and Execution of Web Services, In AAAI 2005 Workshop on Exploring Planning and Scheduling for Web Services, Grid and Autonomic Computing, Pittsburgh, USA. q  Pautasso C., Zimmermann O., and Leymann, F. "Restful web services vs. big'web services: making the right architectural decision." Proceedings of the 17th international conference on World Wide Web. ACM, 2008. q  DuVander A., “9,000 APIs: Mobile Gets Serious,” ProgrammableWeb, http://blog.programmableweb.com/2013/04/30/9000-apis- mobile-gets-serious/, 2013. q  B. Srivastava, The Synthy Approach for End to End Web Services Composition: Planning with Decoupled Causal and Resource Reasoning , NECTAR paper in Proceedings of the 21st National Conference on Artificial Intelligence (AAAI-06), Boston, USA. q  McIlraith, Sheila, Son, Tran Cao, and Zeng, Honglei (March 2001). "Semantic Web Services" (PDF). Intelligent Systems (IEEE) 16 (2): 46–53 q  Piergiorgio Bertoli, Marco Pistore, Paolo Traverso. Automated Composition of Web Services via Planning in Asynchronous Domains, Journal of Artificial Intelligence, 316-361, 2009. q  A. Kumar, S. Mittal, B. Srivastava, Information Modeling for End to End Composition of Web Services , Proceedings of the 4th International Semantic Web Conference (ISWC 2005), Galway, Ireland. Also, IBM Research Report RI 06009, November 2006. q  Keman Huang; Yushun Fan; Wei Tan; Xiang Li, Service Recommendation in an Evolving Ecosystem: A Link Prediction Approach, Web Services (ICWS), 2013 IEEE 20th International Conference on , vol., no., pp.507,514, June 28 2013-July 3 2013 q  Torres, R.; Tapia, B.; Astudillo, H., Improving Web API Discovery by Leveraging Social Information, Web Services (ICWS), 2011 IEEE International Conference on , vol., no., pp.744,745, 4-9 July 2011 q  Bizer C., Heath T., and Berners-Lee T. "Linked data-the story so far." International Journal on Semantic Web and Information Systems (2009): 1-22. q  G. Chafle, S. Chandra, V. Mann, MG Nanda, Decentralized orchestration of composite web services, WWW 2004, Alternate track on Web Services q  D. Mukherjee, P. Jalote, MG Nanda, Determining QoS of WS-BPEL compositions, ICSOC 2008 q  Decentralizing execution of composite web services, MG Nanda, S Chandra, V Sarkar OOPSLA, 2004 q  J. Koehler, R. Hauser, S. Sendall, M. Wahler: Declarative Techniques for Model-Driven Business Process Integration IBM Systems Journal 44(1): 47-65 (2005). q  J. Koehler, J. Vanhatalo: Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling IBM Websphere Developer Technical Journal, Issues 10.2 and 10.4, 2007. IBM ZRL Research Report 3678. q  V. Agarwal, G. Chafle, K. Dasgupta, N. Karnik, A. Kumar, S. Mittal, B. Srivastava, Synthy: A System for End to End Composition of Web Services , Journal of Web Semantics, Vol. 3, Issue 4, 2005. q  V. Agarwal, K. Dasgupta, N. Karnik, A. Kumar, A. Kundu, S. Mittal, B. Srivastava, A Service Creation Environment based on End to End Composition of Web Services , Proc. of the 14th. WWW Conference (WWW 2005), Japan q  G. Chafle, P. Doshi, J. Harney, S. Mittal, B. Srivastava, Improved Adaptation of Web Service Compositions Using Value of Changed Information , Industrial Track paper in the Proceedings of the IEEE International Conference on Web Services (ICWS 2007), Salt Lake City, USA. q  G. Chafle, K. Dasgupta, A. Kumar, S. Mittal, B. Srivastava, Industrial Adaptation in Web Services Composition and Execution , Track paper in the Proceedings of the IEEE International Conference on Web Services (ICWS 2006), Chicago, USA q  Panziera, Luca and Comerio, Marco and Palmonari, Matteo and De Paoli, Flavio and Batini, Carlo, Quality-Driven Extraction, Fusion and Matchmaking of Semantic Web API Descriptions , Journal of Web Engineering, 2012 q  M. Lanthaler, Creating 3rd Generation Web APIs with Hydra, WWW 2013 83
  • 84. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Thank You Merci Grazie Gracias Obrigado Danke Japanese French Russian German Italian Spanish Portuguese Arabic Traditional Chinese Simplified Chinese Hindi Romanian Korean Multumesc Turkish Teşekkür ederim English