semantic enterprise integration
DESCRIPTION
Radu Sora - Research Proposal PresentationNovel 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"TRANSCRIPT
SEMANTIC ENTERPRISE INTEGRATIONRadu’s Research Proposal
Saturday, 3 December 11
OPPORTUNITYOne entrepreneur identifies a great business opportunity
Saturday, 3 December 11
PARTNER IDENTIFICATIONWho can help me deliver the work?
Saturday, 3 December 11
PARTNER SELECTIONWho do I select to implement the different parts?
Saturday, 3 December 11
AGREEMENTCan we agree to be partners and make a bid for the tender?
Saturday, 3 December 11
COLLABORATIONHow do we share information between the partners?
Saturday, 3 December 11
PARTNERSHIP FORMATIONHow do we go from identifying the business opportunity to delivering the work
Opportunity Partner Identification Partner Selection Agreement Collaboration
Saturday, 3 December 11
PARTNERSHIP FORMATIONHow do we go from identifying the business opportunity to delivering the work
Opportunity Partner Identification Partner Selection Agreement Collaboration
Saturday, 3 December 11
PARTNERSHIP FORMATIONHow do we go from identifying the business opportunity to delivering the work
Opportunity Partner Identification Partner Selection Agreement Collaboration
West Midlands Collaborative Common Marketplace
Saturday, 3 December 11
PARTNERSHIP FORMATIONHow do we help the parters to share more information between them?
Collaboration
Saturday, 3 December 11
SUPPLY CHAIN EXAMPLEWe can assemble the baby carriages, but where do we get the parts?
Assembler
Saturday, 3 December 11
SUPPLY CHAIN EXAMPLEWhere do our suppliers get their materials?
Assembler
Textiles Company
Iron Works Company
Saturday, 3 December 11
SUPPLY CHAIN EXAMPLEAnd finally where do the raw materials come from?
Material Supplier
Material Supplier
Assembler
Textiles Company
Iron Works Company
Saturday, 3 December 11
SUPPLY CHAIN EXAMPLEHow can we share information across the whole supply chain?
Material Supplier
Material Supplier
Assembler
Textiles Company
Iron Works Company
Raw Material Supplier
Raw Material Supplier
Raw Material Supplier
Saturday, 3 December 11
HUB INTEGRATION
Material Supplier
Material Supplier
Assembler
Textiles Company
Iron Works Company
Raw Material Supplier
Raw Material Supplier
Raw Material Supplier
Saturday, 3 December 11
SERIAL BUS INTEGRATION
Material Supplier
Material Supplier
AssemblerTextiles Company
Iron Works Company
Raw Material Supplier
Raw Material Supplier Raw Material Supplier
Saturday, 3 December 11
Going on the enterprise service bus architecture, trying to standardise the way
in which companies communicate via “blueprints”
Saturday, 3 December 11
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
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
DISTRIBUTED INTEGRATION
Material Supplier
Material Supplier
Assembler
Textiles Company
Iron Works Company
Raw Material Supplier
Raw Material Supplier
Raw Material Supplier
Saturday, 3 December 11
HOW DO PEOPLE COMMUNICATEThey don’t need rules to govern their communication
Saturday, 3 December 11
HOW TO MACHINES COMMUNICATEMachines rely heavily on pre-approved rules to govern their communication
Saturday, 3 December 11
DISTRIBUTED INTEGRATION
Material Supplier
Material Supplier
Assembler
Textiles Company
Iron Works Company
Raw Material Supplier
Raw Material Supplier
Raw Material Supplier
2
1
3
4
5
6
7
8
9 10 11
12
13
Saturday, 3 December 11
ROY FIELDINGREST - Representational State Transfer
Saturday, 3 December 11
THE WEB IS THE PLATFORMScalable, Fault-Tolerant, Recoverable, Secure, Loosely Coupled
Saturday, 3 December 11
http://wmccm.co.uk/suppliers
{ count: 11000, filters: none, list: { { id: 1, name: "A & E Asbestos Ltd", competencies: { "Asbestos" } }, { id: 2, name: "Bedson Ltd", competencies: { "Material Handling & Packaging", "Supply Chain Management" } }, ... }}
Saturday, 3 December 11
http://wmccm.co.uk/suppliers/2
{ id: 2 name: "Bedson Ltd", postcode: "CV2 5DB", phone: "024 7661 4542", fax: "024 7661 4523", website: "http://www.bedsons.com", products-‐services: { "inspection head lamps", "surge protectors", "low voltage transformers" } ...}
Saturday, 3 December 11
MACHINES NEED A CONTRACT TO COMMUNICATE EFFECTIVELY
Is there a way to overcome this limitation?
Saturday, 3 December 11
HATEOAS THE CONFUSING BIT OF REST
Hypermedia As Engine of The Application State
Saturday, 3 December 11
STARBUCKS EXAMPLEHow would a machine order a coffee?
Saturday, 3 December 11
201 CreatedLocation: http:/restbucks.com/order/1234Content-Type: application/ vnd.starbucks+xmlContent-Length: ...
<order xmlns="urn:restbucks"><drink>latte</drink><link rel="payment" href="https://starbucks.com/ payment/order/1234" type="application/xml"/></order>
POST /order HTTP 1.1Host: starbucks.comContent-Length: ...
<order xmlns="urn:starbucks"><drink>latte</drink></order>
REGULAR DAY AT STARBUCKS
Request Response
Saturday, 3 December 11
PUT /payment/order/1234 HTTP 1.1Host: starbucks.comContent-Type: application/xmlContent-Length: ...
<payment xmlns="urn:starbucks"><cardNo>123456789</cardNo><expires>07/07</expires><name>John Citizen</name><amount>4.00</amount></payment>
201 Createdhttps://starbucks.com/payment/order/1234Content-Type: application/xmlContent-Length: ...
<payment xmlns="urn:starbucks"><cardNo>123456789</cardNo><expires>07/07</expires><name>John Citizen</name><amount>4.00</amount></payment>
REGULAR DAY AT STARBUCKS
Request Response
Saturday, 3 December 11
GET /order/1234 HTTP 1.1 Host: starbucks.com
200 OKContent-Type: application/ vnd.starbucks+xmlContent-Length: ...
<order xmlns="urn:starbucks"><drink>latte</drink></order>
REGULAR DAY AT STARBUCKS
Request Response
Saturday, 3 December 11
201 CreatedLocation: http:/restbucks.com/ order/1234Content-Type: application/ vnd.starbucks+xmlContent-Length: ...
<order xmlns="urn:restbucks"><drink>latte</drink></order>
POST /order HTTP 1.1Host: starbucks.comContent-Length: ...
<order xmlns="urn:starbucks"><drink>latte</drink></order>
GENEROUS BARISTA AT STARBUCKS
Request Response
Saturday, 3 December 11
GET /order/1234 HTTP 1.1 Host: starbucks.com
200 OKContent-Type: application/ vnd.starbucks+xmlContent-Length: ...
<order xmlns="urn:starbucks"><drink>latte</drink></order>
GENEROUS BARISTA AT STARBUCKS
Request Response
Saturday, 3 December 11
SO MACHINES CAN TALK WITHOUT RULES
But how do we make them talk the same language?
Saturday, 3 December 11
SIR TIM BERNERS-LEEFather of the World Wide Web and the
Semantic Web
Saturday, 3 December 11
ONTOLOGY RECONCILIATION
Customer
HomePhone Town ZipPlus FullName
Customer
Address FirstName LastName Email
City ZipCode
Country
Saturday, 3 December 11
ONTOLOGY RECONCILIATION
Customer
HomePhone Town ZipPlus FullName
Customer
Address FirstName LastName Email
City ZipCode
Country
is-a
has-a
same-as
Saturday, 3 December 11
GOOD RELATIONSUsed by Google, Yahoo, BestBuy and 10.000 more
Saturday, 3 December 11
DATA SHARING AND SECURITY This can’t be done in a decentralised way, can it?
Saturday, 3 December 11
WHAT ABOUT KEYS?Humans already have quite a good method of dealing with distributed security
Saturday, 3 December 11
TOKEN PASSING ALONG THE CHAIN
Material Supplier
Material Supplier
Assembler
Textiles Company
Iron Works Company
Raw Material Supplier
Raw Material Supplier
Raw Material Supplier
Saturday, 3 December 11
ANY SILVER BULLET ALTERNATIVE ?
Cheap, non-proprietary
Fast to implement
Distributed - no single point of failure
Re-use of already systems and data
REST Architecture using the WWW
No need to agree on rules, just ontology
No single point of failure, 1-to-1 integration
Ontology reconciliation
Saturday, 3 December 11
THANK YOU!Time for some criticism...
Saturday, 3 December 11