Composing Web APIs – State of the art and mobile implications

773 views
689 views

Published on

This tutorial was given at ICSE 2014 co-located MobiSoft conference. http://mobilesoftconf.org/2014/program/.
Same Title: Composing Web APIs – State of the art and mobile implications

Published in: Engineering, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
773
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Composing Web APIs – State of the art and mobile implications

  1. 1. © 2014 IBM Corporation Composing Web APIs: State of the Art and Mobile Implications Biplav Srivastava IBM Research – India 2nd June, 2014
  2. 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. 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. 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. 5. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Basics 5
  6. 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. 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. 8. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation A Composition (Mashup) Example 8
  9. 9. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Example: API Registry 9
  10. 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. 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. 12. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Web Services Standards Source: Wil van der Aalst
  13. 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. 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. 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. 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. 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. 18. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Composing Services 18
  19. 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. 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. 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. 22. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Types of Automatic Services Composition 22
  23. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 47. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation47 Case Study: Web Service Composition – Staged Semi-Automatic Synthy
  48. 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. 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. 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. 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. 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. 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. 54. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation54 Issue 2: Rules for Role Propagation ISWC 2005
  55. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 71. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Example Mobile Platforms 71
  72. 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. 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. 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. 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. 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. 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. 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. 79. MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs © 2014 IBM Corporation Practical Considerations 79
  80. 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. 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. 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. 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. 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

×