Radu Sora - Research Proposal Presentation
Novel way to do enterprise integration using a mix of level 3 REST APIs (HATEOAS), Ontology Reconciliation and capability based security.
*Starbucks example is inspired from Jim Webber's "HATEOAS - The confusing bit of REST"
4. PARTNER SELECTION
Who do I select to implement the different parts?
Saturday, 3 December 11
5. AGREEMENT
Can we agree to be partners and make a bid for the tender?
Saturday, 3 December 11
6. COLLABORATION
How do we share information between the partners?
Saturday, 3 December 11
7. Opportunity Partner Identification Partner Selection Agreement Collaboration
PARTNERSHIP FORMATION
How do we go from identifying the business opportunity to delivering the work
Saturday, 3 December 11
8. Opportunity Partner Identification Partner Selection Agreement Collaboration
PARTNERSHIP FORMATION
How do we go from identifying the business opportunity to delivering the work
Saturday, 3 December 11
9. West Midlands Collaborative Common Marketplace
Opportunity Partner Identification Partner Selection Agreement Collaboration
PARTNERSHIP FORMATION
How do we go from identifying the business opportunity to delivering the work
Saturday, 3 December 11
10. Collaboration
PARTNERSHIP FORMATION
How do we help the parters to share more information between them?
Saturday, 3 December 11
11. Assembler
SUPPLY CHAIN EXAMPLE
We can assemble the baby carriages, but where do we get the parts?
Saturday, 3 December 11
12. Textiles Company
Assembler
Iron Works Company
SUPPLY CHAIN EXAMPLE
Where do our suppliers get their materials?
Saturday, 3 December 11
13. Material Supplier Textiles Company
Assembler
Material Supplier Iron Works Company
SUPPLY CHAIN EXAMPLE
And finally where do the raw materials come from?
Saturday, 3 December 11
14. Raw Material Supplier
Material Supplier Textiles Company
Raw Material Supplier Assembler
Material Supplier Iron Works Company
Raw Material Supplier
SUPPLY CHAIN EXAMPLE
How can we share information across the whole supply chain?
Saturday, 3 December 11
15. Material Supplier Textiles Company
Raw Material Supplier Assembler
Raw Material Supplier Iron Works Company
Raw Material Supplier Material Supplier
Saturday, 3 December 11
HUB INTEGRATION
16. Raw Material Supplier Material Supplier Textiles Company Assembler
Raw Material Supplier Raw Material Supplier Material Supplier Iron Works Company
Saturday, 3 December 11
SERIAL BUS INTEGRATION
17. Going on the enterprise service bus
architecture, trying to standardise the way
in which companies communicate via
“blueprints”
Saturday, 3 December 11
18. Going with the assumption that in a
regional context we can configure a cloud
with the applications that most
companies need to use
Saturday, 3 December 11
19. ANY SILVER BULLET
ALTERNATIVE ?
• Cheap, non-proprietary;
• Fast to implement;
• Distributed - no single point of failure;
• Re-use of already systems and data;
Saturday, 3 December 11
20. Raw Material Supplier
Material Supplier Textiles Company
Raw Material Supplier Assembler
Material Supplier Iron Works Company
Raw Material Supplier
DISTRIBUTED INTEGRATION
Saturday, 3 December 11
21. HOW DO PEOPLE COMMUNICATE
They don’t need rules to govern their communication
Saturday, 3 December 11
22. HOW TO MACHINES COMMUNICATE
Machines rely heavily on pre-approved rules to govern their communication
Saturday, 3 December 11
23. 1
7
2
Raw Material Supplier 12
Material Supplier Textiles Company
3
9 10 11
4
Raw Material Supplier 13 Assembler
5 8
Material Supplier Iron Works Company
Raw Material Supplier
6
DISTRIBUTED INTEGRATION
Saturday, 3 December 11
24. ROY FIELDING
REST - Representational State Transfer
Saturday, 3 December 11
25. THE WEB IS THE PLATFORM
Scalable, Fault-Tolerant, Recoverable, Secure, Loosely Coupled
Saturday, 3 December 11
28. MACHINES NEED A CONTRACT TO
COMMUNICATE EFFECTIVELY
Is there a way to overcome this limitation?
Saturday, 3 December 11
29. HATEOAS
THE CONFUSING BIT OF REST
Hypermedia As Engine of The Application State
Saturday, 3 December 11
30. STARBUCKS EXAMPLE
How would a machine order a coffee?
Saturday, 3 December 11
31. Request Response
POST /order HTTP 1.1 201 Created
Host: starbucks.com Location: http:/restbucks.com/order/1234
Content-Length: ... Content-Type: application/
vnd.starbucks+xml
<order xmlns="urn:starbucks"> Content-Length: ...
<drink>latte</drink>
</order> <order xmlns="urn:restbucks">
<drink>latte</drink>
<link rel="payment"
href="https://starbucks.com/
payment/order/1234"
type="application/xml"/>
</order>
REGULAR DAY AT STARBUCKS
Saturday, 3 December 11
32. Request Response
PUT /payment/order/1234 HTTP 1.1 201 Created
Host: starbucks.com https://starbucks.com/payment/order/1234
Content-Type: application/xml Content-Type: application/xml
Content-Length: ... Content-Length: ...
<payment xmlns="urn:starbucks"> <payment xmlns="urn:starbucks">
<cardNo>123456789</cardNo> <cardNo>123456789</cardNo>
<expires>07/07</expires> <expires>07/07</expires>
<name>John Citizen</name> <name>John Citizen</name>
<amount>4.00</amount> <amount>4.00</amount>
</payment> </payment>
REGULAR DAY AT STARBUCKS
Saturday, 3 December 11
33. Request Response
GET /order/1234 HTTP 1.1 200 OK
Host: starbucks.com Content-Type: application/
vnd.starbucks+xml
Content-Length: ...
<order xmlns="urn:starbucks">
<drink>latte</drink>
</order>
REGULAR DAY AT STARBUCKS
Saturday, 3 December 11
34. Request Response
POST /order HTTP 1.1 201 Created
Host: starbucks.com Location: http:/restbucks.com/
Content-Length: ... order/1234
Content-Type: application/
<order xmlns="urn:starbucks"> vnd.starbucks+xml
<drink>latte</drink> Content-Length: ...
</order>
<order xmlns="urn:restbucks">
<drink>latte</drink>
</order>
GENEROUS BARISTA AT STARBUCKS
Saturday, 3 December 11
35. Request Response
GET /order/1234 HTTP 1.1 200 OK
Host: starbucks.com Content-Type: application/
vnd.starbucks+xml
Content-Length: ...
<order xmlns="urn:starbucks">
<drink>latte</drink>
</order>
GENEROUS BARISTA AT STARBUCKS
Saturday, 3 December 11
36. SO MACHINES CAN TALK WITHOUT
RULES
But how do we make them talk the same language?
Saturday, 3 December 11
37. SIR TIM BERNERS-LEE
Father of the World Wide Web and the
Semantic Web
Saturday, 3 December 11
38. Customer Customer
HomePhone Town ZipPlus FullName Country Address FirstName LastName Email
City ZipCode
ONTOLOGY RECONCILIATION
Saturday, 3 December 11
39. is-a
Customer Customer
has-a
HomePhone Town ZipPlus FullName Country Address FirstName LastName Email
City ZipCode
same-as
ONTOLOGY RECONCILIATION
Saturday, 3 December 11
40. GOOD RELATIONS
Used by Google, Yahoo, BestBuy and 10.000 more
Saturday, 3 December 11
41. DATA SHARING AND SECURITY
This can’t be done in a decentralised way, can it?
Saturday, 3 December 11
42. WHAT ABOUT KEYS?
Humans already have quite a good method of dealing with distributed security
Saturday, 3 December 11
43. Raw Material Supplier
Material Supplier Textiles Company
Raw Material Supplier Assembler
Material Supplier Iron Works Company
Raw Material Supplier
TOKEN PASSING ALONG THE CHAIN
Saturday, 3 December 11
44. ANY SILVER BULLET
ALTERNATIVE ?
Cheap, non-proprietary REST Architecture using the WWW
Fast to implement No need to agree on rules, just ontology
Distributed - no single point of failure No single point of failure, 1-to-1 integration
Re-use of already systems and data Ontology reconciliation
Saturday, 3 December 11
45. THANK YOU!
Time for some criticism...
Saturday, 3 December 11