i love apis europe 2015: developer sessions
TRANSCRIPT
![Page 1: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/1.jpg)
Vibrant Ecosystems: Adoption in Private or Partner Developer ProgramsKay Lummitsch, API Technology Evangelist - Swisscom !Steve Rowland, SVP WW Sales & Operations - Apigee !
![Page 2: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/2.jpg)
Building predictive apps with �λ & μ-services architecture
Alan Ho !
![Page 3: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/3.jpg)
@karlunhoAlan Ho
![Page 4: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/4.jpg)
Context is King Apps
4
![Page 5: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/5.jpg)
Technology Choices Today
5
Datawarehouse RDBMS J2EE AppServer
![Page 6: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/6.jpg)
What is Context ?
6
Historical !Events!
Recent!Events! Now!
![Page 7: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/7.jpg)
Lambda Architecture
7
Batch Storage
Near RT Storage
Batch Processing
(MR)
Near RealTime
Processing
Query DB
Batch Layer! Serving Layer!
Speed Layer!
APIs
Direct Mail
Web
Mobile
Outreach
Req / Res Processing
Historical Events
Recent Events
![Page 8: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/8.jpg)
Netflix Example
8
![Page 9: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/9.jpg)
• Offline = Batch Layer
• Nearline = Speed Layer
• Online = Serving Layer
![Page 10: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/10.jpg)
Batch Layer (Offline)
• Singular Value Decomposition
• Batch like operations
• High algorithm complexity
• Results Flow into Cassandra
![Page 11: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/11.jpg)
Speed Layer (Near Line)
11
• Medium request/response!
• Medium data!
• Medium algorithm complexity!
• Intermediate caching, incremental learning algos!
![Page 12: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/12.jpg)
Serving layer (Online)• Fast request/response,
performance is key – high availability/SLA
• Fallback mechanism to Nearline/Offline operations
• Low algorithm complexity
![Page 13: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/13.jpg)
Final Thoughts:!!• Very complete system!
• Very custom and high performance!
• Lots of specialized systems for specialized tasks!
• Not practical for most enterprises!
![Page 14: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/14.jpg)
Data Scientists & Developers
14
Direct Mail
Web
Mobile
Outreach
How can they work independently ?
![Page 15: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/15.jpg)
App Explosion
15
How can I embed predictive in all apps ?
![Page 16: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/16.jpg)
Micro-services
16
![Page 17: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/17.jpg)
Micro-services Best Practice
17
Isolation REST API
HTTP://<Resource>/
![Page 18: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/18.jpg)
Isolation at all tiers
18
Batch Storage
Near RT Storage
Batch Processing
(MR)
Near RealTime
Processing
Query DB
Serving Layer!
APIs
Direct Mail
Web
Mobile
Outreach
Req / Res Processing
Historical Events
Recent Events
Batch Processing
(MR)
Near RealTime
Processing
Req / Res Processing
Batch Processing
(MR)
Near RealTime
Processing
Req / Res Processing
Batch Processing
(MR)
Near RealTime
Processing
Req / Res Processing
Batch Storage
Near RT Storage
Query DB
Batch Storage
Near RT Storage
Query DB
![Page 19: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/19.jpg)
API at all tiers
19
Batch Layer! Serving Layer!
Speed Layer!
Direct Mail
Web
Mobile
Outreach
/Scores!
/Counts!
/Recommendations!
Historical Events
Recent Events
![Page 20: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/20.jpg)
Insights Deep Dive
![Page 21: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/21.jpg)
Recommendations Example
21
![Page 22: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/22.jpg)
Recommendation Architecture
22
Hadoop
In-Memory
Insights (GRASP)
Node.js
Node.js API BaaS
(APIs)
Direct Mail
Web
Mobile
Outreach
(Batch Scores)
(Counters)
(Query)
Historical Events
Realtime Events
(Context)
Backend
(Mashup)
3 4
5
1
2 6
Node.js
![Page 23: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/23.jpg)
Batch Layer
• Uses R for building predictive models
• Algorithms based on Event Sequences
• Lots and lots of tooling
23
HadoopInsights(GRASP)
API BaaS
(Batch Scores)1
Apigee UI
![Page 24: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/24.jpg)
24
R Code!
![Page 25: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/25.jpg)
25
Scored Export to Serving Layer!
![Page 26: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/26.jpg)
Speed Layer
• Easy to program via node.js
• Low algorithm complexity – Storm is overkill for most Apigee customers
• Simple aggregates via C* counters good enough
• Good for capturing locations, activity stream, etc.
26
Node.js
API BaaS
Apigee UI
![Page 27: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/27.jpg)
BaaS Node.js Counter Example
var event = new Usergrid.Counter(event_options, function (error, result) { … });
// Then we POST the event to increment the countervar counter_options = { name: productName + ’.add_to_cart', value: 1 }event.increment (counter_options, function (error, result)
27
curl -X GET https://api.usergrid.com/my-org/my-app/counters?counter=appleIpad3.add_to_cart
Input code:
Output code:!
![Page 28: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/28.jpg)
Microservices Layer
• API Layer (Swagger)
• Context Injection
• Service Orchestration
• Fallback logic
28
Node.js Node.js API BaaS
Direct Mail
Web
Mobile
Outreach
(Context)
Backend
![Page 29: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/29.jpg)
Swagger Based API Design
29
![Page 30: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/30.jpg)
Node.js Code
30
![Page 31: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/31.jpg)
APIs are Everywhere
31
Hadoop
In-Memory
Insights
Node.js Node.jsAPI BaaS
Direct Mail
Web
Mobile
Outreach
HistoricalEvents
RealtimeEvents
Backend
Hive
RHadoop
Node.js
Storm
Spark
![Page 32: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/32.jpg)
Thank you
32
![Page 33: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/33.jpg)
LUNCH��
General Hall / Main Concourse�(Sessions resume at 14:00)
![Page 34: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/34.jpg)
Model-Driven APIs with 127Greg Brail !
![Page 35: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/35.jpg)
Overview• A bit about API design • Some ways to turn APIs into code • A different approach • Introducing Apigee 127
35
![Page 36: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/36.jpg)
API Design
36
![Page 37: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/37.jpg)
REST
37
![Page 38: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/38.jpg)
API Design is Important• We have been talking API
design for a long time• We have an approach that we
like and often recommend• We believe that it is important to
design APIs carefully, up front
![Page 39: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/39.jpg)
My Perspective on API Design• URIs are important• Verbs should be used in a consistent way• Follow common usage• Links can be helpful
39
![Page 40: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/40.jpg)
40
![Page 41: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/41.jpg)
Turning Designs into APIs
41
![Page 42: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/42.jpg)
An API Design Story• I designed a lovely, consistent API
– In a Google Doc • The team implemented it
– In Java • I verified that the implementation matched the doc
– Using my eyeballs • We wrote docs
– Using information from both places
![Page 43: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/43.jpg)
There must be a better way…
43
![Page 44: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/44.jpg)
Modern Web / API Frameworks• Write code • Get an API up quickly • API design and code are the same
• Examples: – Express for Node.js – Ruby on Rails – Lots of others
44
![Page 45: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/45.jpg)
Another approach: Code First
45
@Path("/my-resource") @Api(value="/my-resource”, description="Rest api for do operations on admin", produces=MediaType.APPLICATION_JSON) @Produces({ MediaType.APPLICATION_JSON }) class MyResource{ @ApiOperation(value = "Get specific element", httpMethod = "GET", notes = "Fetch the selement of the collection", response = Response.class) @ApiResponses(value = { @ApiResponse(code = 200, message = ”Element found"), @ApiResponse(code = 404, message = “Element not found"),
@ApiResponse(code = 500, message = “Server error due to encoding"), @ApiResponse(code = 400, message = "Bad request: decoding error"), @ApiResponse(code = 412, message = ”Prereq: Required data not found")
}) public Response get(
@ApiParam(value = "UUID of the element", required = true) @PathParam("uuid") String uuid) {
Generate
![Page 46: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/46.jpg)
A New Approach
46
![Page 47: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/47.jpg)
Why Can’t We Do This?1. Design the API2. Annotate it with policies3. Wire it to some back end4. Run it
![Page 48: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/48.jpg)
Swagger 2.0• Swagger 2.0• Describes the shape of the API
– URIs– Verbs– Query parameters– Headers– Request and response formats
48
![Page 49: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/49.jpg)
Building a Model in Swagger 2.0• Specify API design using YAML
– URI Paths– Verbs– Parameters– Request format (optional)– Response format (optional)– Error responses (optional)
49
![Page 50: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/50.jpg)
Plugging in Code• Point each API operation to some code
– In our project it is a Node.js module
50
![Page 51: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/51.jpg)
Annotating the Model• The API definition can have “policies”
– OAuth– Quota– Spike arresting– Caching
• Each operation can have parameters– Quota– OAuth scope– Etc.
51
![Page 52: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/52.jpg)
Introducing Apigee 127
52
![Page 53: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/53.jpg)
Introduction to 127
$ npm install -g apigee-127
http://github.com/apigee-127
![Page 54: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/54.jpg)
Enterprise APIs, FastWe Handle These:• Swagger Tools
– Message validation & routing– Authorization (OAuth 2.0)
• Volos.js– Caching (Apigee Swagger 2.0 Extension)– Quota (Apigee Swagger 2.0 Extension)– Analytics (Apigee Swagger 2.0 Extension)
Developers Handle This:• Business logic
54
ControllerController.js
![Page 55: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/55.jpg)
Design-First Approach
55
Add Annotations
Implement Controllers
Add Annotations• Business Logic• Policies:
• Authorization (OAuth)• Caching• Quota• Spike Arrest• Analytics
Implement Controllers• Controllers in JavaScript via Node.js• Future ideas:
• Declarative pipelines• Other languages
![Page 56: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/56.jpg)
How it Works
56
• No code generation• Model is built at start-up time• A127 middleware applied as defined in Swagger:
– Caching, Quota, OAuth, Spike Arrest, Analytics, etc.
• Paths and parameters• Model Definitions• Vendor Extensions
(middleware)
Interprets Swagger
![Page 57: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/57.jpg)
Execution Options
57
Anywhere / PaaS
127 On-Premises 127 On Edge
127
Anywhere / PaaS
127 On-Premises + Edge
127 127
![Page 58: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/58.jpg)
Thank you
![Page 59: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/59.jpg)
APIs and Internet of ThingsEd Anuff
VP Product StrategyApigee
John Calagaz,
Chief Technology OfficerCentralite
![Page 60: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/60.jpg)
IoT is more than sensors, beacons, Arduinos, and
Raspberry Pi’s…
60
![Page 61: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/61.jpg)
App to Device Connection - Smartphone & Tire Sensor
![Page 62: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/62.jpg)
Device To Device Connection - Tire Sensor & Air Compressor
62
AIR$1
![Page 63: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/63.jpg)
The “I” in IoT is for Internet
63
AIR$1
![Page 64: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/64.jpg)
Why does this matter?
64
![Page 65: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/65.jpg)
IoT Seeks Network Value
Metcalfe’s LawValue = O(n2)
![Page 66: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/66.jpg)
Why is this hard?
66
![Page 67: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/67.jpg)
Building The Network Via The Ecosystem
67
![Page 68: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/68.jpg)
The number of connected devices is set to dramatically increase
68
![Page 69: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/69.jpg)
Too Many Devices, Too Few Developers• Connected Devices • Software Developers
• 2013: 6 Billion• 2018: 20 Billion• 333% Increase
Source: Business Insider Intelligence - The Internet Of Everything: 2014
• 2013: 18 Million• 2019: 26 Million• 45% Increase
Source: Evans Data Corporation - Global Developer Population and Demographic Study 2013
![Page 70: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/70.jpg)
MISSING:�34 Million Software Developers
70
![Page 71: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/71.jpg)
This is a scale problem
71
![Page 72: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/72.jpg)
IoT systems are a complex combination of web, app and embedded systems.�
![Page 73: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/73.jpg)
73
Things Language
Internet Languages
![Page 74: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/74.jpg)
What happens when development is so
fragmented?
74
![Page 75: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/75.jpg)
The Promise: Everything is Connected
![Page 76: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/76.jpg)
Experiences become fragmented…
76
![Page 77: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/77.jpg)
The Reality: Unnerving
![Page 78: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/78.jpg)
Today:
78
• Multiple Experiences• Multiple Apps• Multiple Developers• Multiple Ecosystems & Platforms
• Multiple Devices
![Page 79: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/79.jpg)
This is a scale problem
79
![Page 80: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/80.jpg)
Things Go from Bad
app app app app
![Page 81: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/81.jpg)
To Worse
app app app appapp app app
727272
app
cloud
![Page 82: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/82.jpg)
How are we going to fix this?
82
![Page 83: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/83.jpg)
A common platform?
83
![Page 84: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/84.jpg)
The usual suspects…(And countless others, I just got lazy building this slide…)
![Page 85: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/85.jpg)
NO!
85
![Page 86: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/86.jpg)
The platforms can’t save us…
(Again, but your own favorite IoT, OS, or mobile platform here, still wont save you…)
![Page 87: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/87.jpg)
If only there were something like the web, but for apps
and devices…
87
![Page 88: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/88.jpg)
…so that developers could work together to make
apps, devices, and systems interoperate…
88
![Page 89: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/89.jpg)
Partner Integration
Web site
Wearable Electronics
Gaming Consoles
Smart Appliances
Smart Sensors
Smart phones
Connected Cars
Tablets
KiosksAPI
API
Your Digital Assets
API
API
APIs to the rescue!
![Page 90: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/90.jpg)
Opportunity: Internet of Things ecosystems
90
app app app app app app app
Powered by APIs
Digital Experiences
Business Ecosystems
![Page 91: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/91.jpg)
A Day in the Life�of an Embedded IoT Architect
![Page 92: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/92.jpg)
Centralite: Who are we?
92
![Page 93: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/93.jpg)
The Problem
![Page 94: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/94.jpg)
![Page 95: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/95.jpg)
![Page 96: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/96.jpg)
![Page 97: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/97.jpg)
![Page 98: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/98.jpg)
![Page 99: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/99.jpg)
![Page 100: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/100.jpg)
![Page 101: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/101.jpg)
![Page 102: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/102.jpg)
5-24 months
![Page 103: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/103.jpg)
5-24 months
As fast as I can!
![Page 104: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/104.jpg)
![Page 105: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/105.jpg)
Q & A
![Page 106: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/106.jpg)
Thank you
![Page 107: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/107.jpg)
Afternoon Break��
General Hall / Main Concourse�(Sessions resume at 16:00)
![Page 108: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/108.jpg)
Management API’sMichel BurgerApigee
Herve PouponOrange
Peter DunmoreTMF
![Page 109: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/109.jpg)
1. From Best Effort to Operation Excellence
109 2015 Apigee Confidential
2. How to quickly build or easily participate to a Digital Service Ecosystem
![Page 110: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/110.jpg)
So you having fun developing solutions using many API’s
110 2015 Apigee Confidential
![Page 111: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/111.jpg)
And this happens….
111 2015 Apigee Confidential
![Page 112: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/112.jpg)
Or this….
112 2015 Apigee Confidential
![Page 113: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/113.jpg)
Or this….
113 2015 Apigee Confidential
![Page 114: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/114.jpg)
And your solution starts to behave badly…
114 2015 Apigee Confidential
![Page 115: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/115.jpg)
Will it be nice to be informed that something is going wrong your the solution before using it?
115 2015 Apigee Confidential
![Page 116: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/116.jpg)
No need to reinvent the wheel
116 2015 Apigee Confidential
• Fault• Configuration• Accounting• Performance• Security
• Simple Management• Service Level Agreement• Performance Management
![Page 117: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/117.jpg)
Going from �Best Effort �
to �Operational Excellence
117 2015 Apigee Confidential
![Page 118: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/118.jpg)
Many service providers are building digital service ecosystems leveraging their core assets
118 2015 Apigee Confidential
Identity
Powered by
![Page 119: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/119.jpg)
Your journey in an Digital Service Ecosystem
119 2015 Apigee Confidential
Product Definition
Product Offering
Product Ordering/Activation
Product Usage and Mediation
Billing Invoicing
![Page 120: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/120.jpg)
• Trouble ticketing• Catalog Management • Product Ordering• DSRA
No need to reinvent the wheel
120 2015 Apigee Confidential
• Common Service API’s
• Based on Open Standards
Unifie
d Pr
ofile
Mgm
t
Unifie
d Id
entity
Mgm
t
Cons
isten
t Ope
ratio
n M
gmt
Even
tuall
y Co
nsist
ent
Ope
ratio
n M
gmt
Analy
tics
Com
mer
ce
API Services
![Page 121: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/121.jpg)
Creating Digital Service Ecosystem �by quickly on-boarding�independent services
121 2015 Apigee Confidential
![Page 122: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/122.jpg)
Management infrastructure needs to be simple and easy to use
122 2015 Apigee Confidential
Focusing on API
![Page 123: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/123.jpg)
Management API’s: are they ..
123 2015 Apigee Confidential
Pain killers
Vitamins
vs
![Page 124: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/124.jpg)
Q & A
![Page 125: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/125.jpg)
Thank you
![Page 126: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/126.jpg)
All about that BaaSTo build enterprise apps !!
![Page 127: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/127.jpg)
@karlunhoAlan Ho
![Page 128: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/128.jpg)
Evolving Digital Architecture
128
ERP Product CatalogsCRM Data LakeData
Warehouse
Systems of Engagement
Partner �Apps
Employee �Apps
Consumer �Apps Insights
Systems of Record
![Page 129: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/129.jpg)
Trend 1 : Application Explosion
129
![Page 130: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/130.jpg)
Data De-normalization per interaction
130
ERP Product CatalogsCRM Data LakeData
Warehouse
![Page 131: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/131.jpg)
Trend 2 : Micro-services & Decentralization
131
![Page 132: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/132.jpg)
Micro-services Types
132
Business Logic Services
Data Services
![Page 133: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/133.jpg)
Microservices Best Practice
133
Isolation REST API
HTTP://<Resource>/
![Page 134: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/134.jpg)
Building Business Logic Services
134
Virtualization Light-weight Scripting
+
![Page 135: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/135.jpg)
Building Data Services Approach
135
Virtualization Light-weight Scripting
+ +
NoSQL
![Page 136: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/136.jpg)
Scaling becomes very hard
136
X X
![Page 137: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/137.jpg)
BaaS : Rethinking of Multi-tenancy
137
Sh
are
d
Sch
em
a
Shared Keyspace S
ep
ara
te
Sch
em
a
Separate Keyspace
+ Isolation
- Scalability
- Scalability
+ Isolation
- Management
+ Isolation
+ Management
+ Scalability
+ Isolation
- Management
+ Scalability
+ Management
![Page 138: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/138.jpg)
API BaaS Walkthrough
138
![Page 139: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/139.jpg)
139
http://usergrid.incubator.apache.org
Powered by
![Page 140: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/140.jpg)
Datastore
Performance Mgmt
Push Notifications
Connections /Social
Location
Users
![Page 141: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/141.jpg)
Scalable Persistence
141
SQL JOINS
“These are not the indexes you are looking for…”-Obi-Wan K.
![Page 142: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/142.jpg)
Full-text Indexing
142
![Page 143: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/143.jpg)
Graph Data Persistence: Entities & Connections
143
User A
Product A
User B
User C
Likes>>
<<Liking
![Page 144: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/144.jpg)
API-Driven : REST Semantics
GET PUT POST DELETE
144
![Page 145: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/145.jpg)
Filters / Limits / Cursors
GET http://api.usergrid.com/MyOrg/MyApp/users?ql=select * where name = ’John*'&limit=50&cursor=LTIxNDg0NDUxNDpnR2tBQVFFQWdITUFDWFJ2YlM1emJXbDBhQUNBZFFBUUQyMVZneExfRWVLRlV3TG9Hc1doZXdDQWRRQVFIYVdjb0JwREVlS1VCd0xvR3NWT0JRQQ ’
145
![Page 146: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/146.jpg)
Datastore
Performance Mgmt
Push Notifications
Connections /Social
Location
Users
![Page 147: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/147.jpg)
API BaaS – Users, Roles & Security
147
![Page 148: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/148.jpg)
Datastore
Performance Mgmt
Push Notifications
Connections /Social
Location
Users
![Page 149: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/149.jpg)
Location Queries
GET /stores?ql=location within 500 of 40.042016, -86.900749
![Page 150: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/150.jpg)
Datastore
Performance Mgmt
Push Notifications
Connections /Social
Location
Users
![Page 151: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/151.jpg)
Push Notifications
![Page 152: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/152.jpg)
Datastore
Performance Mgmt
Push Notifications
Connections /Social
Location
Users
![Page 153: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/153.jpg)
Integrated Application Performance Management
153
Errors & Crashes
API Performance
![Page 154: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/154.jpg)
Remote Application Configuration
154
Monitoring Config
App Config
A/B Testing
![Page 155: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/155.jpg)
Demo
155
![Page 156: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/156.jpg)
Thank you
156
![Page 157: I Love APIs Europe 2015: Developer Sessions](https://reader035.vdocuments.pub/reader035/viewer/2022062407/55d58c67bb61eb13218b45cc/html5/thumbnails/157.jpg)
Closing Keynote�Great Hall�