More Related Content Similar to Composing Web APIs – State of the art and mobile implications (20) More from Biplav Srivastava (13) Composing Web APIs – State of the art and mobile implications1. © 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
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
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
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
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
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