April 24, 2014 Webcast featuring Forrester Research, Inc. Layering Mobile APIs for Profit and Business Agility
Randy Heffner @BizTech21 Ed Anuff @edanuff
Youtube.com/apigee! 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 3
community.apigee.com/learn! 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 5
Layering Mobile APIs for Profit and Business Agility Randy Heffner, Vice President & Principal Analyst
Forget Facebook, APIs are mainstream
The industry cry: Mobile needs APIs! Mobile apps APIs Your applications
The industry cry: Mobile needs APIs! Mobile apps APIs Your applications
Problem: Each channel works differently Source: January 2013 Digital Customer Experience Trends To Watch, 2013 Forrester report 2013 Forrester Research, Inc. Reproduction Prohibited 5
A recipe for API-based business chaos Mobile app Mobile UI APIs Product data API Customer data API Order data API Applications ERP data CRM data
A recipe for API-based business chaos Mobile app Catalog business logic Mobile UI Account business logic Order business logic APIs Product data API Customer data API Order data API Applications ERP data CRM data
A recipe for API-based business chaos Mobile app Kiosk, et al Mobile UI Kiosk UI Catalog business logic Account business logic Order business logic Account logic Order logic APIs Product data API Customer data API Order data API Applications ERP data CRM data
And customer experience is not the only thing Social Cloud Internet of Things Virtualization Events Zero-trust security
More importantly...a business to-do list Engage customers in better ways Open new channels to market Optimize supply chains Drive out costs Adapt to competitive shifts Respond more quickly to business disruptions Continuously improve processes and outcomes Understand trends before others
Goal: Agile, digital, customer-centric business November 2013 Top Technology Trends To Watch: 2014 To 2016 Forrester report 2013 Forrester Research, Inc. Reproduction Prohibited 11
Goal: Consistent outcomes across all contexts Kiosk Employee mobile apps Customer mobile apps Industry marketplaces Web Internal biz solutions Value chain integration Digital disruption 2013 Forrester Research, Inc. Reproduction Prohibited 12
Business building blocks stem chaos B2B: application-centric Technical API ERP API CRM API Applications ERP application CRM application
Business building blocks stem chaos Technical coupling B2B: application-centric Logistics application Technical API ERP API Technical building blocks CRM API Applications ERP application CRM application
Business building blocks stem chaos Technical coupling B2B: application-centric Logistics application Technical API ERP API Technical building blocks CRM API Applications ERP application CRM application
Business building blocks stem chaos Technical coupling B2B: application-centric Logistics application Business relationship B2B: business-centric Logistics process Technical API Technical building blocks Business API Business building blocks ERP API CRM API Order fulfillment API Applications ERP application CRM application
Mobile needs layered APIs Mobile UI Business building block APIs Core business applications
Mobile needs layered APIs Mobile UI Transaction APIs Business building block APIs Core business applications
Mobile needs layered APIs Mobile UI User interface APIs UI-level APIs Transaction APIs Business building block APIs Core business applications
Mobile needs layered APIs Mobile UI User interface APIs UI-level APIs UI logic Transaction APIs Data APIs Business building block APIs Core business applications
So mobile needs an API backend Mobile UI Device User interface APIs UI-level APIs UI logic Mobile backend Transaction APIs Data APIs Core systems Business building block APIs Core business applications
So mobile needs an API backend Mobile UI Device User interface APIs UI-level APIs API façade for core transactions UI logic Mobile backend Transaction APIs Data APIs Core systems Business building block APIs Core business applications
So mobile needs an API backend Mobile UI Device User interface APIs UI-level APIs Local / cached data API façade for core transactions UI logic Mobile backend Local / cached data Transaction APIs Data APIs Core systems Business building block APIs Core business applications
API design strategy: Five major areas API categories Business context of API design & use API types Interface technical design Community concerns Future preparation Function, purpose, architecture context Messaging style, payloads, security, quality of service API limits, testing, support Open-ended design, portfolio management 2013 Forrester Research, Inc. Reproduction Prohibited 24
API strategy: A business view Wide-open to innovation Optimized business Tech-savvy consumers Value-add innovators Web site developers Digital disruptors Distribution partners Enterprise customers Suppliers Digital experiences (mobile, web, etc.) 1 2 Open web APIs B2B APIs Your enterprise Enterprise applications (custom, off-the-shelf, cloud, on-premise)
API strategy: A business view Wide-open to innovation Optimized business Tech-savvy consumers Value-add innovators Web site developers Digital disruptors Distribution partners Enterprise customers Suppliers Digital experiences (mobile, web, etc.) 1 2 Open web APIs B2B APIs 3 Internal APIs Your enterprise Enterprise applications (custom, off-the-shelf, cloud, on-premise)
API strategy: A business view Wide-open to innovation Optimized business Build product ecosystems Tech-savvy consumers Web site developers Enterprise customers Enterprise customers Tech-savvy consumers Value-add innovators Digital disruptors Distribution partners Suppliers Product ecosystem Digital experiences (mobile, web, etc.) 1 2 Open web APIs B2B APIs 4 Product APIs 3 Internal APIs Products (software, physical products, services) Enterprise applications (custom, off-the-shelf, cloud, on-premise) Your enterprise Your products
Purpose and function drive API types Data APIs Transaction APIs Integration APIs User interface APIs Application component APIs Utility APIs Play in the data economy Direct entity/collection access Complex, multiple resource interactions Push processes forward Technical connections between siloed applications Serve UI data, UI fragments, and fullyformed UI components Provide business function support Technical support, such as security, logging, and format conversion 2013 Forrester Research, Inc. Reproduction Prohibited 28
REST verbs: Not as clear as you think HTTP verb: GET POST PUT DELETE HEAD OPTIONS PATCH Q: Which is the correct handling of POST /order? A) Store a new order record AND submit the order for processing B) Store a new order record DO NOT submit the order for processing C) Store a new order record DO submit IF orderstatus = submit D) Store a new order record ONLY if it passes validation
REST verbs: Not as clear as you think HTTP verb: GET POST PUT DELETE HEAD OPTIONS PATCH Q: Which is the correct handling of POST /order? A) Store a new order record AND submit the order for processing B) Store a new order record DO NOT submit the order for processing C) Store a new order record DO submit IF orderstatus = submit D) Store a new order record ONLY if it passes validation A: Whatever it says in the documentation The lesson: REST is clear only in your documentation
Bigger issue: Transaction management Docs specify: POST /order submits a new order for processing Q: What should API user do if POST /order returns no response? A: Whatever it says in the documentation
Bigger issue: Transaction management Docs specify: POST /order submits a new order for processing Q: What should API user do if POST /order returns no response? A: Whatever it says in the documentation Strategy 1: Transaction submission protocol Step A: GET /neworderid! returns unique control number Step B: POST /order! implementation uses neworderid to prevent duplicates Step C: If no response! API user can resend POST /order at will
Bigger issue: Transaction management Docs specify: POST /order submits a new order for processing Q: What should API user do if POST /order returns no response? A: Whatever it says in the documentation Strategy 1: Transaction submission protocol Step A: GET /neworderid! returns unique control number Step B: POST /order! implementation uses neworderid to prevent duplicates Step C: If no response! API user can resend POST /order at will Strategy 2: Duplicate transaction detection Step A: POST /order Step B: If no response! API user resends identical POST /order Step C: Implementation hashes the order to identify duplicates Step D: Duplicate handling is business scenario dependent
Forrester s recommendations Don t just build APIs, create an API design strategy Understand how APIs create wide open business opportunity Craft your taxonomy of API types Manage and evolve your portfolio of business APIs
Forrester s recommendations Don t just build APIs, create an API design strategy Understand how APIs create wide open business opportunity Craft your taxonomy of API types Manage and evolve your portfolio of business APIs Layer APIs to deliver business agility Layer user experience APIs on top of business APIs Use a backend to integrate experience APIs with other needs
Forrester s recommendations Don t just build APIs, create an API design strategy Understand how APIs create wide open business opportunity Craft your taxonomy of API types Manage and evolve your portfolio of business APIs Layer APIs to deliver business agility Layer user experience APIs on top of business APIs Use a backend to integrate experience APIs with other needs Leverage APIs for business effectiveness Deliver mobile now, prepare for future channels Deliver consistent business across any channel Use API design strategy to build business agility
Thank you Randy Heffner rheffner@forrester.com @BizTech21
Mobile API Architecture 4-Tier (and 2 Teams) Web is a client More logic on device New Stacks (Node.js) Backend-as-a-Service 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 6
Mobile API Architecture App Code SDK API Server Infrastructure 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved
Mobile Client Development SDK or API? Static Obj-C and Java HTML5/JS (PhoneGap) Async (& background) 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 8
Mobile API Security Identity (FB, OAuth) Untrusted Devices Token Vending Policies & Permissions Untrusted Networks MITM 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 9
Mobile Communication - Async & Offline Notifications Push, Poll, WebSocket Network Availability Intermittent & Offline Message Queues SQS, etc. 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 10
Mobile Debugging Where To Start? App, Network, Server Timeouts Missing Headers Auth & Security Log EVERYTHING! 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 11
Mobile Development Challenge Key App Features Cloud Connected New Architecture Client/Server Redux New Development SDKs, Async, Offline 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 12
Mobile API Value Chain User App Developer API API Team Backend Self-service developer portal Prebuilt mbaas components Mobile app monitoring and testing Proxy for optimization, security, message transformation Node.js coding environment for business logic and validation API versioning Analytics Faster time to market Lower development costs More reliable code Agility Responsiveness Lower IT scaling costs 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 13
Walgreens: driving in-store traffic via third-party apps QuickPrints API powered by Apigee Prescription API powered by Apigee Balance Rewards API powered by Apigee Avg spend / customer 75+ partner apps integrated with Walgreens QuickPrints partners offered 15% revenue share >1 prescription refills per second from mobile apps More APIs planned: Healthcare Appointment Scheduling, Steps with Balance Rewards We started by driving customer engagement outside our store with the QuickPrints and Prescription APIs. Then, moved to driving engagement inside our store with the Balance Rewards API. Tim McCauley, Sr. Director, Mobile Commerce, Walgreens 2014 2013 Apigee. Apigee Corp. Confidential All Rights All Reserved Rights Reserved 14
B2C use case: personalized mobile offers User receives email offer on new shoes Browses shoes on website and adds to wishlist Later, she happens to be near one of their stores Gets push notification with promotion: 15% offer, today only Orders on mobile, selects in-store pickup Store meets monthly sales target, learns about customer Picks up item in store and confirms by scanning mobile device Uses store s location-based services to walk to nearest store EXTEND your business to every customer interaction point through apps and APIs. 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 15
B2C/B2E use case: customer service optimization In-store shopper notices item is on sale but out of stock Taps customer service button on her mobile app This triggers push notification to store associate s mobile device Associate checks stock availability from mobile device Locates item in back Assists shopper in timely fashion; shopper completes transaction Finds shopper knowing their exact in-store location from device INTEGRATE internal systems to boost employee efficiency and customer retention. 2014 2013 Apigee. Corp. Confidential All Rights All Reserved Rights Reserved 16
Questions? Randy Heffner @BizTech21 Ed Anuff @edanuff rheffner@forrester.com eanuff@apigee.com
Thank you youtube.com/apigee! slideshare.com/apigee! linkedin.com/company/apigee!