Composing Web APIs – State of the art and mobile implications

  • View
    158

  • Download
    2

Embed Size (px)

DESCRIPTION

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

Text of Composing Web APIs – State of the art and mobile implications

  • 2014 IBM Corporation Composing Web APIs: State of the Art and Mobile Implications Biplav Srivastava IBM Research India 2nd June, 2014
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation What to Expect Tutorial Objectives qThe 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) qRelation to other tutorials Seems to be the first tutorial of its kind; many web composition surveys available qDisclaimer: we are only providing a sample of techniques intended to match audience profile in the available time.
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Acknowledgements All our collaborators, and especially those in: qIndustry 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, qAcademia Prashant Doshi, Jana Koehler, Sheila McIlraith, Amit Sheth qIBM: Many including Web Services and Composition Vikas Agarwal, Girish Chafle, Koustuv Dasgupta, Gautam Das, Sugata Ghoshal, Mangala Gowri, Sunil Goyal, Neeran Karnik, Arun Kumar, Ashish Kundu, Anupam Mediratta, Sumit Mittal, Sougata Mukherjea. APIs Apurva Kumar, Jim Laredo, Shao Chun Li, Florian Pinel, Karthik Visweswariah, Maja Vukovic Mobile Vikas Agarwal, Dipyaman Banerjee, Dipanjan Chakraborty, Sunil Goyal, Arun Kumar, Sumit Mittal, Sougata Mukherjea, Amit Nanavati, Nitendra Rajput 3 For discussions, ideas and contributions. Apologies to anyone unintentionally missed.
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Outline qBasics Web APIs, Web Services, Services Oriented Architecture Importance of Web APIs for enterprise integration REST v/s Web Services? qComposing services Composition Types Understanding Automatic Composition Choices Semi-automated Composition Case Studies APIs Pattern with Open 311 Web Services Composition Synthy qMobile implications qPractical considerations 4
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Basics 5
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Terminology qAPIs Application Programming Interfaces Similar concepts service interfaces, web services (interfaces) qComposition 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 qRegistry A place to record information about APIs Similar concepts UDDI, API registry qCloud Hosted infrastructure to run and manage APIs 6
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation API Example 7 http://www.programmableweb.com/api/sabre-instaflights-search
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation A Composition (Mashup) Example 8
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Example: API Registry 9
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Business Web: Service Oriented Architecture qRelies on common service registry service descriptions qEnables dynamic discovery, binding qBased on open standards Service Broker Service Provider Service Requester Web Services: web accessible software components Slide Courtesy: Nirmal Mukhi
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation The Acronyms in Action Service Broker Service Provider Service Requester WSDL Search with UDDI and get WSDL of match Invoke using SOAP Execute BPEL Return Solution
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Web Services Standards Source: Wil van der Aalst
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation WSDL Example message> message> ... Binding
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Composite Web Service in BPEL4WS ... ... Partners Flow Description
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Business Source: Bessemer Venture Partners 2012 Business Capabilities as Services are being via APIs and delivered as-a-service, allowing Businesses to engage with Clients and Partners with speed at Scale
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation REST v/s Web Services? 16 REST support limited integration styles, and involves fewer decisions on architectural alternatives This simplifies client-side integration steps (at the cost of lessening automation in system evolution); more focus on do-it- yourself Source: Pautasso et al, RESTful Web Services vs. Big Web Services: Making the Right Architectural Decision, WWW 2008
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Outline qBasics Web APIs, Web Services, Services Oriented Architecture Importance of Web APIs for enterprise integration REST v/s Web Services? qComposing services Composition Types Understanding Automatic Composition Choices Semi-automated Composition Case Studies APIs Pattern with Open 311 Web Services Composition Synthy qMobile implications qPractical considerations 17
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Composing Services 18
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation19 Service Composition High Level View Complexity and Main Issues Scalability of composition solution Level of automation Modeling domain information Leverage industry practices Specify end-user service capability Select service providers Design the flow Deploy the service New service capabilities New service providers Network / environment changes Value Proposition " Quicker reaction to changing market conditions & competitive threats " Faster time to market for new services " Flexible B2B collaboration " Improved runtime performance & scalability for new services " Ability to adapt business processes to meet new customer demands Deliverables " Tool for (semi)-automated value-added service creation via semantically annotated APIs/ services " Infrastructure for metering and charging for composite services
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Service Composition Styles (Patterns) 20 Source: Change et al, Solving the Service Composition Puzzle, SCC2008 Glass is the easiest to assemble but forces manual composition, Orchestration/ Event allows automation in composition
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Impact of Composition Style on Performance 21 Source: Change et al, Solving the Service Composition Puzzle, SCC2008 Different relative strengths of different styles
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation Types of Automatic Services Composition 22
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation23 Motivation qAn Overall Web Service Composition and Execution view is important in practice Web Service Composition and Execution Specification of Requirement Available Capabilities [ Templates, Policies ] Execution Trace Today, it is not clear what are fundamentally different possible types of WSCE approaches and which type to use in a given scenario? Events
  • MobileSOFT 2014 Tutorial | 2 June 2014 | Composing Web APIs 2014 IBM Corporation24 Underst anding Basis for WSCE approaches qAre composition and execution separable? No, Yes qWhen does composition happen? Offline, Online qHow does composition happen? Search-based, Template-based qWhat information is used for composition? Service types, Service instances published, Servic