Using REST for SOA Stefan Tilkov, QCon SF 2010
|
|
- Peregrine Freeman
- 6 years ago
- Views:
Transcription
1 Using REST for SOA Stefan Tilkov, QCon SF 2010
2 Stefan Tilkov innoq Deutschland GmbH innoq Schweiz GmbH Halskestraße 17 Gewerbestrasse 11 D Ratingen CH-6330 Cham Phone Phone
3 REST
4 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages
5 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages
6 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages
7 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages
8 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages GET /customers/1234 Host: example.com Accept: application/vnd.mycompany.customer+xml <customer>...</customer>
9 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages GET /customers/1234 Host: example.com Accept: application/vnd.mycompany.customer+xml <customer>...</customer> GET /customers/1234 Host: example.com Accept: text/x-vcard begin:vcard... end:vcard
10 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages
11 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages <order self=' <item> <amount>23</amount> <product ref=' /> </item> <customer ref=' /> <link rel='items' ref=' /> </order>
12 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages <order self=' <item> <amount>23</amount> <product ref=' /> </item> <customer ref=' /> <link rel='items' ref=' /> </order>
13 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages <order self=' <item> <amount>23</amount> <product ref=' /> </item> Stop Worrying <customer ref=' /> <link rel='items' About URI Design ref=' /> </order>
14 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages
15 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages GET /service/customers/1234 HTTP 1.1 Host: User-Agent: XYZ 1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Keep-Alive: 300 Connection: keep-alive If-Modified-Since: Fri, 02 Oct :47:31 GMT If-None-Match: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=60
16 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages GET /service/customers/1234 HTTP 1.1 Host: User-Agent: XYZ 1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Keep-Alive: 300 Connection: keep-alive If-Modified-Since: Fri, 02 Oct :47:31 GMT If-None-Match: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=60 HTTP/ OK Date: Sun, 04 Oct :36:25 GMT Server: Apache/ (Debian) Last-Modified: Fri, 02 Oct :47:31 GMT Etag: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=300 Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 7160 Keep-Alive: timeout=15, max=91 Connection: Keep-Alive Content-Type: application/xml <?xml version= 1.0 encoding= utf-8?>...
17 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages Standard Method GET /service/customers/1234 HTTP 1.1 Host: User-Agent: XYZ 1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Keep-Alive: 300 Connection: keep-alive If-Modified-Since: Fri, 02 Oct :47:31 GMT If-None-Match: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=60 HTTP/ OK Date: Sun, 04 Oct :36:25 GMT Server: Apache/ (Debian) Last-Modified: Fri, 02 Oct :47:31 GMT Etag: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=300 Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 7160 Keep-Alive: timeout=15, max=91 Connection: Keep-Alive Content-Type: application/xml <?xml version= 1.0 encoding= utf-8?>...
18 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages Standard Method Media Type GET /service/customers/1234 HTTP 1.1 Host: User-Agent: XYZ 1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Keep-Alive: 300 Connection: keep-alive If-Modified-Since: Fri, 02 Oct :47:31 GMT If-None-Match: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=60 HTTP/ OK Date: Sun, 04 Oct :36:25 GMT Server: Apache/ (Debian) Last-Modified: Fri, 02 Oct :47:31 GMT Etag: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=300 Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 7160 Keep-Alive: timeout=15, max=91 Connection: Keep-Alive Content-Type: application/xml <?xml version= 1.0 encoding= utf-8?>...
19 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages Standard Method GET /service/customers/1234 HTTP 1.1 Host: User-Agent: XYZ 1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Keep-Alive: 300 Connection: keep-alive If-Modified-Since: Fri, 02 Oct :47:31 GMT If-None-Match: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=60 Media Type HTTP/ OK Date: Sun, 04 Oct :36:25 GMT Server: Apache/ (Debian) Last-Modified: Fri, 02 Oct :47:31 GMT Etag: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=300 Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 7160 Keep-Alive: timeout=15, max=91 Connection: Keep-Alive Content-Type: application/xml <?xml version= 1.0 encoding= utf-8?>... Data
20 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages Standard Method GET /service/customers/1234 HTTP 1.1 Host: User-Agent: XYZ 1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Keep-Alive: 300 Connection: keep-alive If-Modified-Since: Fri, 02 Oct :47:31 GMT If-None-Match: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=60 Media Type HTTP/ OK Date: Sun, 04 Oct :36:25 GMT Server: Apache/ (Debian) Last-Modified: Fri, 02 Oct :47:31 GMT Etag: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=300 Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 7160 Keep-Alive: timeout=15, max=91 Connection: Keep-Alive Content-Type: application/xml <?xml version= 1.0 encoding= utf-8?>... Data Control Data
21 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages Standard Method Media Type GET /service/customers/1234 HTTP 1.1 Host: User-Agent: XYZ 1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Keep-Alive: 300 Connection: keep-alive If-Modified-Since: Fri, 02 Oct :47:31 GMT If-None-Match: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=60 HTTP/ OK Date: Sun, 04 Oct :36:25 GMT Server: Apache/ (Debian) Last-Modified: Fri, 02 Oct :47:31 GMT Etag: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=300 Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 7160 Keep-Alive: timeout=15, max=91 Connection: Keep-Alive Content-Type: application/xml VisibilityControl Data Data <?xml version= 1.0 encoding= utf-8?>...
22 getorderdetails() submitapplicationdata() updatequote() findmatchingbid() initiateprocess() cancelsubscription() listauctions() getusers()
23 getorderdetails() findmatchingbid() initiateprocess() submitapplicationdata() listauctions() getusers() updatequote() cancelsubscription()
24 getorderdetails() findmatchingbid() initiateprocess() submitapplicationdata() listauctions() getusers() updatequote() cancelsubscription()
25 getorderdetails() findmatchingbid() GET listauctions() initiateprocess() submitapplicationdata() POST getusers() PUT DELETE updatequote() cancelsubscription()
26 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() }
27 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() }
28 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... }
29 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } Any HTTP client (Firefox, IE, curl, wget) class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... }
30 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } Any HTTP client (Firefox, IE, curl, wget) Any HTTP server class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... }
31 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } Any HTTP client (Firefox, IE, curl, wget) Any HTTP server Caches class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... }
32 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } Any HTTP client (Firefox, IE, curl, wget) Any HTTP server Caches Proxies class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... }
33 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } Any HTTP client (Firefox, IE, curl, wget) Any HTTP server Caches Proxies Google, Yahoo!, MSN class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... }
34 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } Any HTTP client (Firefox, IE, curl, wget) Any HTTP server Caches Proxies Google, Yahoo!, MSN class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... } Anything that knows your app
35 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } Any HTTP client (Firefox, IE, curl, wget) Any HTTP server Caches Proxies Google, Yahoo!, MSN class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... } Anything that knows your app
36 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } generic Any HTTP client (Firefox, IE, curl, wget) Any HTTP server Caches Proxies Google, Yahoo!, MSN class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... } Anything that knows your app
37 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } generic Any HTTP client (Firefox, IE, curl, wget) Any HTTP server Caches Proxies Google, Yahoo!, MSN class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... } Anything that knows your app specific
38 Mapping Examples
39 Mapping Examples getfreetimeslots(person)
40 Mapping Examples getfreetimeslots(person) GET /people/{id}/timeslots?state=free
41 Mapping Examples getfreetimeslots(person) rejectapplication(application) GET /people/{id}/timeslots?state=free POST /rejections <application> <reason>unsuitable for us!</reason>
42 Mapping Examples getfreetimeslots(person) rejectapplication(application) GET /people/{id}/timeslots?state=free POST /rejections <application> <reason>unsuitable for us!</reason>
43 Mapping Examples getfreetimeslots(person) rejectapplication(application) performtariffcalculation(data) GET /people/{id}/timeslots?state=free POST /rejections <application> <reason>unsuitable for us!</reason> POST /contracts Data Location: GET /contracts/4711/tariff Result
44 Mapping Examples getfreetimeslots(person) rejectapplication(application) performtariffcalculation(data) GET /people/{id}/timeslots?state=free POST /rejections <application> <reason>unsuitable for us!</reason> POST /contracts Data Location: GET /contracts/4711/tariff Result
45 Mapping Examples getfreetimeslots(person) rejectapplication(application) performtariffcalculation(data) shiporder(id) GET /people/{id}/timeslots?state=free POST /rejections <application> <reason>unsuitable for us!</reason> POST /contracts Data Location: GET /contracts/4711/tariff Result PUT /orders/0815/status <status>shipped</status>
46 Mapping Examples getfreetimeslots(person) rejectapplication(application) performtariffcalculation(data) shiporder(id) GET /people/{id}/timeslots?state=free POST /rejections <application> <reason>unsuitable for us!</reason> POST /contracts Data Location: GET /contracts/4711/tariff Result PUT /orders/0815/status <status>shipped</status>
47 Mapping Examples getfreetimeslots(person) rejectapplication(application) performtariffcalculation(data) shiporder(id) GET /people/{id}/timeslots?state=free POST /rejections <application> <reason>unsuitable for us!</reason> POST /contracts Data Location: GET /contracts/4711/tariff Result PUT /orders/0815/status <status>shipped</status> shiporder(id) [variation] POST /shipments Data Location:
48 Mapping Examples getfreetimeslots(person) rejectapplication(application) performtariffcalculation(data) shiporder(id) GET /people/{id}/timeslots?state=free POST /rejections <application> <reason>unsuitable for us!</reason> POST /contracts Data Location: GET /contracts/4711/tariff Result PUT /orders/0815/status <status>shipped</status> shiporder(id) [variation] POST /shipments Data Location:
49 SOA
50 Well-known architectural principles, applied at different scale
51
52 Through our work we have come to prioritize: Business value over technical strategy Strategic goals over project-specific benefits Intrinsic interoperability over custom integration Shared services over specific-purpose implementations Flexibility over optimization Evolutionary refinement over pursuit of initial perfection That is, while we value the items on the right, we value the items on the left more.
53
54 Unlike the Agile manifesto however, the SOA manifesto is nothing more than snake oil to give the vendor community a thin veneer of respectability atop their increasing bureaucracy, deteriorating levels of innovation, and increasingly painful pricing models. Jim Webber
55 Lesson Learned:
56 Don t write manifestos
57 unless you look like this
58 or this
59 Bad Stuff
60 Good Stuff
61 Monoliths
62 Monoliths Redundant data
63 Monoliths Redundant data Redundant logic
64 Monoliths Redundant data Redundant logic Resistance to change
65 Monoliths Redundant data Redundant logic Resistance to change Late integration
66 Monoliths Redundant data Redundant logic Resistance to change Late integration Vendor dependency
67 Monoliths Redundant data Redundant logic Resistance to change Late integration Vendor dependency Bad
68 Monoliths Loosely coupled modules Redundant data Redundant logic Resistance to change Late integration Vendor dependency Bad
69 Monoliths Redundant data Loosely coupled modules Localized data Redundant logic Resistance to change Late integration Vendor dependency Bad
70 Monoliths Redundant data Redundant logic Loosely coupled modules Localized data Single implementation Resistance to change Late integration Vendor dependency Bad
71 Monoliths Redundant data Redundant logic Resistance to change Loosely coupled modules Localized data Single implementation Flexibility Late integration Vendor dependency Bad
72 Monoliths Redundant data Redundant logic Resistance to change Late integration Loosely coupled modules Localized data Single implementation Flexibility Early interoperability Vendor dependency Bad
73 Monoliths Redundant data Redundant logic Resistance to change Late integration Vendor dependency Loosely coupled modules Localized data Single implementation Flexibility Early interoperability Reliance on standards Bad
74 Monoliths Redundant data Redundant logic Resistance to change Late integration Vendor dependency Loosely coupled modules Localized data Single implementation Flexibility Early interoperability Reliance on standards Bad Good
75 RESTful SOA?
76 The Web & SOA
77 The Web & SOA Standard protocols
78 The Web & SOA Standard protocols Standard formats
79 The Web & SOA Standard protocols Standard formats Library and tool support
80 The Web & SOA Standard protocols Standard formats Library and tool support Mature and useful intermediaries
81 The Web & SOA Standard protocols Standard formats Library and tool support Mature and useful intermediaries Support for loose coupling
82 The Web & SOA Standard protocols Standard formats Library and tool support Mature and useful intermediaries Support for loose coupling Wide availability and adoption
83 The Web & SOA Standard protocols Standard formats Library and tool support Mature and useful intermediaries Support for loose coupling Wide availability and adoption Well-defined architectural model
84 The Web & SOA Standard protocols Standard formats Library and tool support Mature and useful intermediaries Support for loose coupling Wide availability and adoption Well-defined architectural model
85 But what about...
86 Enterprisey Stuff?
87 Encapsulation
88 Service Interface Service Logic Business Rules Data Access Data
89 Service Interface Service Logic WSDL Operations SOAP WS-* XML Parameters Messages Business Rules Data Access Data
90 Service Interface Service Logic WSDL Operations SOAP WS-* XML Parameters Messages Business Rules Data Access Data Resources HTTP JSON XML Hypermedia Representations
91 Transactions
92 RESTful Service Interface
93 RESTful Service Interface Implementation
94 RESTful Service Interface Implementation DB
95 RESTful Service Interface Implementation Local Tx DB
96 RESTful Service Interface Implementation Local Tx DB RESTful Service Interface
97 RESTful Service Interface Implementation Local Tx DB RESTful Service Interface Implementation
98 RESTful Service Interface Implementation Local Tx DB RESTful Service Interface Implementation DB A
99 RESTful Service Interface Implementation Local Tx DB RESTful Service Interface Implementation DB A DB B
100 RESTful Service Interface Implementation Local Tx DB RESTful Service Interface Implementation DB A DB B MQ
101 RESTful Service Interface Implementation Local Tx DB RESTful Service Interface DB A Implementation Distrib Tx DB B MQ
102 RESTful Service Interface Implementation DB Tx across Local Tx services RESTful Service Interface DB A Implementation Distrib Tx DB B MQ
103 create new Tx resource augment state
104 create new Tx resource augment state POST /transactions Location: <status>in progress</status> POST /transactions/4711
105 create new Tx resource augment state POST /transactions Location: <status>in progress</status> POST /transactions/ data...
106 create new Tx resource augment state POST /transactions Location: <status>in progress</status> POST /transactions/ data...
107 create new Tx resource augment state POST /transactions Location: <status>in progress</status> POST /transactions/ data... get state GET /transactions/ data... <link rel= status >in progress</link>
108 create new Tx resource augment state POST /transactions Location: <status>in progress</status> POST /transactions/ data... get state GET /transactions/ data... <link rel= status >in progress</link>
109 create new Tx resource augment state POST /transactions Location: <status>in progress</status> POST /transactions/ data... get state commit GET /transactions/ data... <link rel= status >in progress</link> PUT /transactions/4711/status <status>committed</status>
110 create new Tx resource augment state POST /transactions Location: <status>in progress</status> POST /transactions/ data... get state commit GET /transactions/ data... <link rel= status >in progress</link> PUT /transactions/4711/status <status>committed</status>
111 Stateful Communication
112 Turn session state R1 Client 1 Server R1 R2 Rn Client 2 R2 State Client 1 State Client 2 Server State Representation
113 into client or resource state Client 1 C1 R1 C1 C1 Server C1 R1 R2 C2 C2 Rn Client 2 R2 C2 C2 State Client 1 State Client 2 Server State Representation
114 Reliable Messaging
115 Client Server
116 Consumer Server
117 Consumer Provider
118 Consumer Provider
119 Consumer Provider
120 Consumer Provider Success/ Error
121 Consumer Provider Success/ Error
122 Consumer Provider Success/ Error
123 Consumer Provider? Success/ Error
124 Consumer Provider? Success/ Error
125 Consumer Provider? Success/ Error Idempotent Retry
126 Consumer Provider GET, PUT, DELETE? Success/ Error Idempotent Retry
127 Consumer Provider GET, PUT, DELETE? 202 Accepted Success/ Error Idempotent Retry
128 Consumer Provider GET, PUT, DELETE? 202 Accepted Success/ Error Idempotent Retry Async Accepted
129 Notifications
130 Call Stack
131 Call Stack Process
132 Call Stack Process Assumed Success Probability: 99.9%
133 Distributed Call Stack
134 Distributed Call Stack Assumed Success Probability: 99.6%
135 Distributed Call Stack Assumed Success Probability: 99.6%
136 Distributed Call Stack Assumed Success Probability: 99.6% 98%?
137 Distributed Call Stack 90%? 98%? Assumed Success Probability: 99.6%
138 Order Management
139 Order Management Orders
140 Submit Order Order Management Orders
141 Submit Order Order Management Customer Management Orders Customers
142 Submit Order Order GET Customer XYZ Customer Management Management Orders Customers
143 Submit Order Order Management GET Customer XYZ Customer Management Orders Customers Customers
144 Submit Order Order Management GET Customer XYZ Customer Management Orders Customers <Customer Change> Customers
145 Submit Order Order Management GET Customer XYZ Customer Management Orders Customers <Customer Change> Customers
146 Submit Order Order Management GET Customer XYZ Customer Management Orders Customers <Customer Change> Customers Feed-based notification
147 Atom Model Feed id title updated 0 * Entry id title updated * Category Content Resource OutOfLine InlineText InlineXHTML InlineOther
148 Security
149 Transport-based encrypt communication channel protection while in transit fast, efficient, wide-spread not end-to-end not persistent
150 Transport-based encrypt communication channel protection while in transit fast, efficient, wide-spread not end-to-end not persistent Message-based encrypt/sign individual messages indefinite protection Slow, inefficient, scarcely used end-to-end persistent
151 Transport-based encrypt communication channel protection while in transit fast, efficient, wide-spread not end-to-end not persistent Message-based encrypt/sign individual messages indefinite protection Slow, inefficient, scarcely used end-to-end persistent SSL
152 Transport-based encrypt communication channel protection while in transit fast, efficient, wide-spread not end-to-end not persistent Message-based encrypt/sign individual messages indefinite protection Slow, inefficient, scarcely used end-to-end persistent SSL HTTPS
153 Transport-based encrypt communication channel protection while in transit fast, efficient, wide-spread not end-to-end not persistent Message-based encrypt/sign individual messages indefinite protection Slow, inefficient, scarcely used end-to-end persistent SSL HTTPS REST
154 Transport-based encrypt communication channel protection while in transit fast, efficient, wide-spread not end-to-end not persistent Message-based encrypt/sign individual messages indefinite protection Slow, inefficient, scarcely used end-to-end persistent SSL HTTPS REST WSS
155 Transport-based encrypt communication channel protection while in transit fast, efficient, wide-spread not end-to-end not persistent Message-based encrypt/sign individual messages indefinite protection Slow, inefficient, scarcely used end-to-end persistent SSL HTTPS REST WSS XML
156 Transport-based encrypt communication channel protection while in transit fast, efficient, wide-spread not end-to-end not persistent Message-based encrypt/sign individual messages indefinite protection Slow, inefficient, scarcely used end-to-end persistent SSL HTTPS REST WSS XML WS-*
157 HTTP Security
158 HTTP Security Extensible HTTP Authentication Mechanism
159 HTTP Security Extensible HTTP Authentication Mechanism HTTP + SSL + Basic Auth
160 HTTP Security Extensible HTTP Authentication Mechanism HTTP + SSL + Basic Auth OpenID
161 HTTP Security Extensible HTTP Authentication Mechanism HTTP + SSL + Basic Auth OpenID OAuth
162 HTTP Security Extensible HTTP Authentication Mechanism HTTP + SSL + Basic Auth OpenID OAuth HMAC
163 Mixing RESTful HTTP w/ WS-*
164 Disclaimer first
165 set of problems
166 RESTful HTTP set of problems
167 RESTful HTTP MoM set of problems
168 RESTful HTTP MoM RMI/DCOM/CORBA set of problems
169 Spaces RESTful HTTP MoM RMI/DCOM/CORBA set of problems
170 Actors Spaces RESTful HTTP MoM RMI/DCOM/CORBA set of problems
171 Actors Spaces RESTful HTTP MoM RMI/DCOM/CORBA set of problems
172 Actors Spaces RESTful HTTP MoM RMI/DCOM/CORBA set of problems SOAP/WSDL
173 The SOAP/WSDL Problem
174 The SOAP/WSDL Problem Each application is different
175 The SOAP/WSDL Problem Each application is different Each application requires its own protocol
176 The SOAP/WSDL Problem Each application is different Each application requires its own protocol Need to learn a new API every single time
177 The SOAP/WSDL Problem Each application is different Each application requires its own protocol Need to learn a new API every single time WSDL as formal approach for syntax only
178 The SOAP/WSDL Problem Each application is different Each application requires its own protocol Need to learn a new API every single time WSDL as formal approach for syntax only Separation of application and metadata
179 Anatomy of a WSDL File XML Schema Message Definitions Operation Names, Input, Output Meaningless Legacy Address Info
180 Anatomy of a WSDL File 80% XML Schema Message Definitions Operation Names, Input, Output Meaningless Legacy Address Info
181 Anatomy of a WSDL File 80% XML Schema 2% Message Definitions Operation Names, Input, Output Meaningless Legacy Address Info
182 Anatomy of a WSDL File 80% XML Schema 2% Message Definitions 5% Operation Names, Input, Output Meaningless Legacy Address Info
183 Anatomy of a WSDL File 80% XML Schema 2% Message Definitions 5% Operation Names, Input, Output 10% Meaningless Legacy Address Info
184 Anatomy of a WSDL File 80% XML Schema 2% Message Definitions 5% Operation Names, Input, Output 10% Meaningless Legacy 3% Address Info
185 SOAP/WSDL RESTful HTTP XML Schema Message Definitions Operation Names, Input, Meaningless Legacy Address Info
186 SOAP/WSDL RESTful HTTP XML Schema XML Schema (If you care for it) Message Definitions Operation Names, Input, Meaningless Legacy Address Info
187 SOAP/WSDL RESTful HTTP XML Schema XML Schema (If you care for it) Message Definitions Operation Names, Input, GET, PUT, POST, DELETE Meaningless Legacy Address Info
188 SOAP/WSDL RESTful HTTP XML Schema XML Schema (If you care for it) Message Definitions Operation Names, Input, GET, PUT, POST, DELETE Meaningless Legacy Address Info URIs
189 SOAP/WSDL RESTful HTTP XML Schema XML Schema (If you care for it) Message Definitions Operation Names, Input, GET, PUT, POST, DELETE Meaningless Legacy Address Info URIs Informal Documentation (Word, PDF, HTML,...)
190 SOAP/WSDL RESTful HTTP XML Schema XML Schema (If you care for it) Message Definitions Operation Names, Input, GET, PUT, POST, DELETE Meaningless Legacy Address Info URIs Informal Documentation (Word, PDF, HTML,...) Informal Documentation (Word, PDF, HTML,...)
191 SOAP/WSDL RESTful HTTP XML Schema XML Schema (If you care for it) Message Definitions Operation Names, Input, GET, PUT, POST, DELETE Meaningless Legacy Address Info URIs Informal Documentation (Word, PDF, HTML,...) Hypermedia Informal Documentation (Word, PDF, HTML,...)
192
193 SOAP HTTP Endpoint
194 SOAP HTTP Endpoint Resource
195 Order Customer Fulfilment Shipment
196 Resource Order Customer Fulfilment Shipment
197 Resource Order Customer Fulfilment Shipment
198 Resource Order Fulfilment Customer SelfServiceUI Shipment ProfileEntry
199 Resource Order Fulfilment Customer SelfServiceUI Shipment ProfileEntry
200 Resource Order Fulfilment Customer SelfServiceUI Order Management Documentation Shipment ProfileEntry
201 Resource Order Fulfilment Customer SelfServiceUI Order Management Documentation Shipment ProfileEntry
202 Resource Order Fulfilment Customer SelfServiceUI Order Management Documentation Shipment ProfileEntry Resources All The Way Down
203 Resource Order Fulfilment Customer SelfServiceUI Order Management Documentation Shipment ProfileEntry Resources All The Way Down
204 Resource Order Fulfilment Customer SelfServiceUI Order Management Documentation Shipment ProfileEntry Resources All The Way Down
205 Resource Order Fulfilment Customer SelfServiceUI Order Management Documentation Shipment ProfileEntry Resources All The Way Down
206 EJB 1.x JDBC
207 EJB 1.x JDBC Enterprise-compliant
208 EJB 1.x JDBC Enterprise-compliant Complex
209 EJB 1.x JDBC Enterprise-compliant Complex Heavyweight
210 EJB 1.x JDBC Enterprise-compliant Complex Heavyweight Managed
211 EJB 1.x JDBC Enterprise-compliant Straightforward Complex Heavyweight Managed
212 EJB 1.x JDBC Enterprise-compliant Complex Straightforward Simple Heavyweight Managed
213 EJB 1.x JDBC Enterprise-compliant Complex Heavyweight Straightforward Simple Lightweight Managed
214 EJB 1.x JDBC Enterprise-compliant Complex Heavyweight Managed Straightforward Simple Lightweight Integrated
215 EJB 1.x JDBC Enterprise-compliant Complex Heavyweight Managed Straightforward Simple Lightweight Integrated SOAP
216 EJB 1.x JDBC Enterprise-compliant Complex Heavyweight Managed Straightforward Simple Lightweight Integrated SOAP Plain HTTP
217 SOAP Plain HTTP
218 SOAP Legacy Access Plain HTTP
219 SOAP Legacy Access Transactional API Plain HTTP
220 SOAP Legacy Access Transactional API Processing-centric Plain HTTP
221 SOAP Legacy Access Transactional API Processing-centric Secured messages Plain HTTP
222 SOAP Legacy Access Transactional API Processing-centric Secured messages Politically motivated Plain HTTP
223 SOAP Legacy Access Transactional API Processing-centric Secured messages Politically motivated Plain HTTP Web-related
224 SOAP Legacy Access Transactional API Processing-centric Secured messages Politically motivated Plain HTTP Web-related (Meta-)Data-centric
225 SOAP Legacy Access Transactional API Processing-centric Secured messages Politically motivated Plain HTTP Web-related (Meta-)Data-centric Document-oriented
226 SOAP Legacy Access Transactional API Processing-centric Secured messages Politically motivated Plain HTTP Web-related (Meta-)Data-centric Document-oriented Interoperable
227 SOAP Legacy Access Transactional API Processing-centric Secured messages Politically motivated Plain HTTP Web-related (Meta-)Data-centric Document-oriented Interoperable Scalable
228 Steps for introducing REST to a SOA Enterprise
229 #0: Convince Management
230
231
232
233
234 My Internet is bigger than your enterprise. Paraphrasing Dare Obasanjo, see
235
236 VersicherungX
237 #1: Ensure your Web apps are RESTful
238 #2: Expose machine-readable information via HTTP GET
239 I do think the REST-afarians are missing an opportunity by not driving home the secret sauce that is HTTP GET. [ ] GET is one of the most optimized pieces of distributed systems plumbing in the world. It's an absolute/objective slam dunk. No arguing/evangelism needed IMO. GET is the classic the first bag is free kind of feature a platform builder dreams about.
240 I do think the REST-afarians are missing an opportunity by not driving home the secret sauce that is HTTP GET. [ ] GET is one of the most optimized pieces of distributed systems plumbing in the world. It's an absolute/objective slam dunk. No arguing/evangelism needed IMO. GET is the classic the first bag is free kind of feature a platform builder dreams about. Don Box, Co-inventor of SOAP
241 #3: Distribute notifications via Atom feeds
242 #4: Manage Your Metadata with RESTful HTTP
243 #5: Ship RESTful client libraries
244 #6: Adopt existing infrastructure
245 #7: Use WS-* for read/write interactions if politics or legacy force you
246 #8: Draw your own Conclusions Watching the Adoption of WS-* vs. RESTful HTTP
247 Q&A innoq Deutschland GmbH innoq Schweiz GmbH Halskestraße 17 Gewerbestrasse 11 D Ratingen CH-6330 Cham Phone Phone Stefan Phone:
Pragmatic SOA Beyond Buzzwords and Flamewars. Stefan Tilkov, -
Pragmatic SOA Beyond Buzzwords and Flamewars Stefan Tilkov, innoq @stilkov - http://www.innoq.com/blog/st/ 1 Some Claims 2 Some Recommendations 3 Claim: Application architecture is irrelevant for your
More informationREST & Caching: Web Services, Accelerated
REST & Caching: Web Services, Accelerated JAOO 2009 Stefan Tilkov, innoq innoq Deutschland GmbH innoq Schweiz GmbH Halskestraße 17 Gewerbestrasse 11 D-40880 Ratingen CH-6330 Cham Phone +49 21 02 77 162-100
More informationA Pragmatic Introduction to REST. Stefan Tilkov,
A Pragmatic Introduction to REST Stefan Tilkov, stefan.tilkov@innoq.com Stefan Tilkov http://www.innoq.com stefan.tilkov@innoq.com http://www.innoq.com/blog/st/ http://www.infoq.com Audience Poll How many
More informationREST & JSR 311. Stefan Tilkov, innoq Deutschland GmbH November 2008
REST & JSR 311 Stefan Tilkov, innoq Deutschland GmbH stefan.tilkov@innoq.com November 2008 1 Stefan Tilkov Geschäftsführer und Principal Consultant, innoq Deutschland GmbH Fokus auf SOA, Web-Services,
More informationREST: I don't Think it Means What You Think it Does. Stefan
REST: I don't Think it Means What You Think it Does Stefan Tilkov @stilkov REST: An architectural style defined by the constraints Client-Server, Stateless Communication, Caching, Uniform Interface, Layered
More informationinnoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel
innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Stefan Tilkov, stefan.tilkov@innoq.com 1 Goals Introduce MDE, MDA, MDD, MDSD,...
More informationREST for SOA. Stefan Tilkov, innoq Deutschland GmbH
REST for SOA Stefan Tilkov, innoq Deutschland GmbH stefan.tilkov@innoq.com Contents An Introduction to REST Why REST Matters REST And Web Services Recommendations Stefan Tilkov http://www.innoq.com stefan.tilkov@innoq.com
More informationREST API s in a CA Plex context. API Design and Integration into CA Plex landscape
REST API s in a CA Plex context API Design and Integration into CA Plex landscape Speaker Software Architect and Consultant at CM First AG, Switzerland since 2008 having 30+ years of experience with the
More informationREST Easy with Infrared360
REST Easy with Infrared360 A discussion on HTTP-based RESTful Web Services and how to use them in Infrared360 What is REST? REST stands for Representational State Transfer, which is an architectural style
More informationA Brief Introduction to REST
A Brief Introduction to REST Posted by Stefan Tilkov on Dec 10, 2007 03:42 AM Community Architecture,SOA Topics Enterprise Architecture, REST You may or may not be aware that there is debate going on about
More informationINF5750. RESTful Web Services
INF5750 RESTful Web Services Recording Audio from the lecture will be recorded! Will be put online if quality turns out OK Outline REST HTTP RESTful web services HTTP Hypertext Transfer Protocol Application
More informationGoal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture
Evaluating a Service-Oriented Architecture Paulo Merson, SEI with Phil Bianco, SEI Rick Kotermanski, Summa Technologies May 2007 Goal: Offer practical information to help the architecture evaluation of
More information04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6
04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is
More informationUnderstanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018
Understanding RESTful APIs and documenting them with Swagger Presented by: Tanya Perelmuter Date: 06/18/2018 1 Part 1 Understanding RESTful APIs API types and definitions REST architecture and RESTful
More informationWWW, REST, and Web Services
WWW, REST, and Web Services Instructor: Yongjie Zheng Aprile 18, 2017 CS 5553: Software Architecture and Design World Wide Web (WWW) What is the Web? What challenges does the Web have to address? 2 What
More informationLesson 14 SOA with REST (Part I)
Lesson 14 SOA with REST (Part I) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano Web Sites (1992) WS-* Web Services (2000)
More informationThe HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1
The HTTP protocol Fulvio Corno, Dario Bonino 08/10/09 http 1 What is HTTP? HTTP stands for Hypertext Transfer Protocol It is the network protocol used to delivery virtually all data over the WWW: Images
More informationA Pragmatic Introduction to REST
A Pragmatic Introduction to REST QCon London 2008 Stefan Tilkov, stefan.tilkov@innoq.com 1 Stefan Tilkov http://www.innoq.com stefan.tilkov@innoq.com http://www.innoq.com/blog/st/ http://www.infoq.com
More informationENTERPRISE SOA CONFERENCE
BELGIAN JAVA USER GROUP PRESENTS ENTERPRISE SOA CONFERENCE 2 4 O c t o b e r 2 0 0 6, D e M o n t i l, A f f l i g e m REST - the Better Web Services Model Stefan Tilkov Founder & Principal Consultant
More informationOracle RESTful Services A Primer for Database Administrators
Oracle RESTful Services A Primer for Database Administrators Sean Stacey Director Database Product Management Oracle Server Technologies Copyright 2017, Oracle and/or its affiliates. All rights reserved.
More informationStefan Tilkov innoq Deutschland GmbH REST + JSR 311 Java API for RESTful Web Services
Stefan Tilkov innoq Deutschland GmbH stefan.tilkov@innoq.com REST + JSR 311 Java API for RESTful Web Services Contents An Introduction to REST Why REST Matters REST And Web Services JSR 311 Intro Demo
More informationReST 2000 Roy Fielding W3C
Outline What is ReST? Constraints in ReST REST Architecture Components Features of ReST applications Example of requests in REST & SOAP Complex REST request REST Server response Real REST examples REST
More informationServices Web Nabil Abdennadher
Services Web Nabil Abdennadher nabil.abdennadher@hesge.ch 1 Plan What is Web Services? SOAP/WSDL REST http://www.slideshare.net/ecosio/introduction-to-soapwsdl-and-restfulweb-services/14 http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/
More informationREST-based Integration Architecture for a Financial Business Service. Phillip Ghadir, innoq
REST-based Integration Architecture for a Financial Business Service Phillip Ghadir, innoq REST-based Integration Architecture for a Financial Business Service When we started out building a large-scale
More informationServices Oriented Architecture and the Enterprise Services Bus
IBM Software Group Services Oriented Architecture and the Enterprise Services Bus The next step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team ghambric@us.ibm.com
More informationWhite Paper. EVERY THING CONNECTED How Web Object Technology Is Putting Every Physical Thing On The Web
White Paper EVERY THING CONNECTED Is Putting Every Physical Thing Every Thing Connected The Internet of Things a term first used by technology visionaries at the AUTO-ID Labs at MIT in the 90s 1 has received
More informationThe State of REST vs. SOA
The State of REST vs. SOA BeJUG Enterprise SOA 07 Stefan Tilkov, innoq Who am I? Stefan Tilkov stefan.tilkov@innoq.com http://www.innoq.com/blog/st/ http://www.innoq.com http://www.infoq.com REST vs....?
More informationSERVICE API SPECIALIST Certification. Service API Specialist
SERVICE API SPECIALIST Certification Service API The new generation SOACP program from Arcitura is dedicated to excellence in the fields of contemporary service-oriented architecture, microservices, service
More informationIntroduction to Web Services & SOA
References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Web Service Definition The term "Web Services" can be confusing.
More informationHTTP, REST Web Services
HTTP, REST Web Services Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2018 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) HTTP, REST Web Services Winter Term 2018 1 / 36 Contents 1 HTTP 2 RESTful
More informationDesigning Enterprise IT Systems with REST: A (Cloudy) Case Study. Stuart Charlton Chief Software Architect, Elastra
Designing Enterprise IT Systems with REST: A (Cloudy) Case Study Stuart Charlton Chief Software Architect, Elastra Objectives What enterprise problem domains does RESTful architecture handle well? Understanding
More informationREST Web Services Objektumorientált szoftvertervezés Object-oriented software design
REST Web Services Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline HTTP REST REST principles Criticism of REST CRUD operations with REST RPC operations
More informationRapid Large-Scale SOA - Connected Products at Leapfrog Enterprises
Rapid Large-Scale SOA - Connected Products at Leapfrog Enterprises A little bit about myself Jason Whaley Web Infrastructure Engineer Leapfrog Enterprises jwhaley@leapfrog.com What Will be Covered Overview
More informationActiveVOS Technologies
ActiveVOS Technologies ActiveVOS Technologies ActiveVOS provides a revolutionary way to build, run, manage, and maintain your business applications ActiveVOS is a modern SOA stack designed from the top
More informationRESTful Services. Distributed Enabling Platform
RESTful Services 1 https://dev.twitter.com/docs/api 2 http://developer.linkedin.com/apis 3 http://docs.aws.amazon.com/amazons3/latest/api/apirest.html 4 Web Architectural Components 1. Identification:
More informationdescribe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution
1 of 9 10/9/2013 1:38 AM WCF and WF Learning Objectives After completing this topic, you should be able to describe the functions of Windows Communication Foundation describe the features of the Windows
More informationWeb Services. Lecture I. Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics
Web Services Lecture I Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics 2015.02.19 Outline Introduction to SOA SOA Concepts: Services Loose Coupling Infrastructure SOA Layers
More informationRESTful API Design APIs your consumers will love
RESTful API Design APIs your consumers will love Matthias Biehl RESTful API Design Copyright 2016 by Matthias Biehl All rights reserved, including the right to reproduce this book or portions thereof in
More informationIntroduction to Web Services & SOA
References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Service-Oriented Programming (SOP) SOP A programming paradigm that
More informationMigrating traditional Java EE applications to mobile
Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16
More informationWeb-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology
Web-APIs Examples Consumer Technology Cross-Domain communication Provider Technology Applications Blogs and feeds OpenStreetMap Amazon, Ebay, Oxygen, Magento Flickr, YouTube 3 more on next pages http://en.wikipedia.org/wiki/examples_of_representational_state_transfer
More informationLesson 15 SOA with REST (Part II)
Lesson 15 SOA with REST (Part II) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano REST Design Tips 1. Understanding GET vs.
More informationCopyright 2014 Blue Net Corporation. All rights reserved
a) Abstract: REST is a framework built on the principle of today's World Wide Web. Yes it uses the principles of WWW in way it is a challenge to lay down a new architecture that is already widely deployed
More informationImplementing a Ground Service- Oriented Architecture (SOA) March 28, 2006
Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006 John Hohwald Slide 1 Definitions and Terminology What is SOA? SOA is an architectural style whose goal is to achieve loose coupling
More informationCSCI-1680 WWW Rodrigo Fonseca
CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and
More informationCSCI-1680 WWW Rodrigo Fonseca
CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Sco2 Shenker and John Janno6 Administrivia HW3 out today Will cover HTTP, DNS, TCP TCP Milestone II coming up on Monday Make sure you sign
More informationREST A brief introduction
REST A brief introduction Juergen Brendel What is it good for? Something with networks: APIs Interactions Distributed systems? All contents Copyright 2010, Mulesoft Inc. 2 Getting more popular All contents
More informationSOA Architect. Certification
SOA Architect Certification SOA Architect The new generation SOACP program from Arcitura is dedicated to excellence in the fields of contemporary service-oriented architecture, microservices, service APIs
More informationProgramming Web Services in Java
Programming Web Services in Java Description Audience This course teaches students how to program Web Services in Java, including using SOAP, WSDL and UDDI. Developers and other people interested in learning
More informationSTANDARD REST API FOR
STANDARD REST API FOR EMAIL Kalana Guniyangoda (118209x) Dissertation submitted in partial fulfillment of the requirements for the degree Master of Science Department of Computer Science & Engineering
More informationCoding Intro to APIs and REST
DEVNET-3607 Coding 1001 - Intro to APIs and REST Matthew DeNapoli DevNet Developer Evangelist Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session
More informationIntroduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University
Introduction to XML Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Topics p What is XML? p Why XML? p Where does XML
More informationREST API Developer Preview
REST API Developer Preview Dave Carroll Developer Evangelist dcarroll@salesforce.com @dcarroll Alex Toussaint Sr. Product Manager atoussaint@salesforce.com @alextoussaint Safe Harbor Safe harbor statement
More informationService Interface Design RSVZ / INASTI 12 July 2006
Architectural Guidelines Service Interface Design RSVZ / INASTI 12 July 2006 Agenda > Mandatory standards > Web Service Styles and Usages > Service interface design > Service versioning > Securing Web
More informationRESTful Web Services. 20-Jan Gordon Dickens Chariot Solutions
RESTful Web Services 20-Jan-2011 Gordon Dickens Chariot Solutions gdickens@chariotsolutions.com Instructor/Mentor at chariotsolutions.com/education Who Am I? Active Tweeter for Open Source Tech Topics
More informationAtomic Transactions for the REST of us
Atomic Transactions for the REST of us Cesare Pautasso Faculty of Informatics University of Lugano, Switzerland c.pautasso@ieee.org http://www.pautasso.info @pautasso Acknowledgements This is joint work
More informationIntroduction to XML 3/14/12. Introduction to XML
Introduction to XML Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Topics p What is XML? p Why XML? p Where does XML
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationWEB-202: Building End-to-end Security for XML Web Services Applied Techniques, Patterns and Best Practices
WEB-202: Building End-to-end Security for XML Web Services Applied Techniques, Patterns and Best Practices Chris Steel, Ramesh Nagappan, Ray Lai www.coresecuritypatterns.com February 16, 2005 15:25 16:35
More informationSOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE
SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE Tomas Cerny, Software Engineering, FEE, CTU in Prague, 2014 1 ARCHITECTURES SW Architectures usually complex Often we reduce the abstraction
More informationComposer Help. Web Request Common Block
Composer Help Web Request Common Block 7/4/2018 Web Request Common Block Contents 1 Web Request Common Block 1.1 Name Property 1.2 Block Notes Property 1.3 Exceptions Property 1.4 Request Method Property
More informationGlobal Reference Architecture: Overview of National Standards. Michael Jacobson, SEARCH Diane Graski, NCSC Oct. 3, 2013 Arizona ewarrants
Global Reference Architecture: Overview of National Standards Michael Jacobson, SEARCH Diane Graski, NCSC Oct. 3, 2013 Arizona ewarrants Goals for this Presentation Define the Global Reference Architecture
More informationWeb Services Week 10
Web Services Week 10 Emrullah SONUÇ Department of Computer Engineering Karabuk University Fall 2017 1 Recap BPEL Process in Netbeans RESTful Web Services Introduction to Rest Api 2 Contents RESTful Web
More informationedocs Home > BEA AquaLogic Service Bus 3.0 Documentation > Accessing ALDSP Data Services Through ALSB
Accessing ALDSP 3.0 Data Services Through ALSB 3.0 edocs Home > BEA AquaLogic Service Bus 3.0 Documentation > Accessing ALDSP Data Services Through ALSB Introduction AquaLogic Data Services Platform can
More informationDistribution and Publication With Atom Web Services
Distribution and Publication With Atom Web Services Software Architect at Schematic Atlanta PHP Leader Co-author of Zend PHP 5 Certification Study Guide Chatter on #phpc The name Atom applies to a pair
More informationIntegrating Legacy Assets Using J2EE Web Services
Integrating Legacy Assets Using J2EE Web Services Jonathan Maron Oracle Corporation Page Agenda SOA-based Enterprise Integration J2EE Integration Scenarios J2CA and Web Services Service Enabling Legacy
More informationApplication Protocols and HTTP
Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due
More informationDATA COMMUNICATOIN NETWORKING
DATA COMMUNICATOIN NETWORKING Instructor: Ouldooz Baghban Karimi Course Book: Computer Networking, A Top-Down Approach By: Kurose, Ross Introduction Course Overview Basics of Computer Networks Internet
More informationComposable Web Services Using Interoperable Technologies From Sun s Project Tango
Composable Web Services Using Interoperable Technologies From Sun s Project Tango Nicholas Kassem Technology Director Harold Carr Lead Architect TS-4661 Copyright 2006, Sun Microsystems, Inc., All rights
More informationBest Practices for developing REST API using PHP
Best Practices for developing REST API using PHP Web services are a common way to enable distribution of data. They can be used to allow different software components interact with one another. It can
More informationDATABASE SYSTEMS. Database programming in a web environment. Database System Course,
DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016-2017 AGENDA FOR TODAY The final project Advanced Mysql Database programming Recap: DB servers in the web Web programming
More informationCNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies
CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response
More informationCS 43: Computer Networks. HTTP September 10, 2018
CS 43: Computer Networks HTTP September 10, 2018 Reading Quiz Lecture 4 - Slide 2 Five-layer protocol stack HTTP Request message Headers protocol delineators Last class Lecture 4 - Slide 3 HTTP GET vs.
More informationDistribution and web services
Chair of Software Engineering Carlo A. Furia, Bertrand Meyer Distribution and web services From concurrent to distributed systems Node configuration Multiprocessor Multicomputer Distributed system CPU
More informationAIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0
z/tpf EE V1.1 z/tpfdf V1.1 TPF Toolkit for WebSphere Studio V3 TPF Operations Server V1.2 IBM Software Group TPF Users Group Spring 2007 TPF Users Group Spring 2007 z/tpf Web Services Update Name: Barry
More informationDatabaseRESTAPI
ORDS DatabaseRESTAPI https://oracle.com/rest Jeff Smith Senior Principal Product Manager Jeff.d.smith@oracle.com @thatjeffsmith Database Tools, Oracle Corp Not just THAT SQLDev Guy I GET ORDS, too! Blogs
More information02267: Software Development of Web Services
02267: Software Development of Web Services Week 1 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2013 Contents Course Introduction
More informationLesson 3 SOAP message structure
Lesson 3 SOAP message structure Service Oriented Architectures Security Module 1 - Basic technologies Unit 2 SOAP Ernesto Damiani Università di Milano SOAP structure (1) SOAP message = SOAP envelope Envelope
More informationCS 43: Computer Networks. Layering & HTTP September 7, 2018
CS 43: Computer Networks Layering & HTTP September 7, 2018 Last Class: Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability Network:
More informationC exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.
C9510-319.exam Number: C9510-319 Passing Score: 800 Time Limit: 120 min File Version: 1.0 IBM C9510-319 IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile Version: 1.0 Exam A QUESTION
More informationWarm Up to Identity Protocol Soup
Warm Up to Identity Protocol Soup David Waite Principal Technical Architect 1 Topics What is Digital Identity? What are the different technologies? How are they useful? Where is this space going? 2 Digital
More informationSemantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95
ه عا ی Semantic Web Semantic Web Services Morteza Amini Sharif University of Technology Fall 94-95 Outline Semantic Web Services Basics Challenges in Web Services Semantics in Web Services Web Service
More informationSUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional
SUN 311-232 Java Platform Enterprise Edition 6 Web Services Developer Certified Professional Download Full Version : http://killexams.com/pass4sure/exam-detail/311-232 QUESTION: 109 What are three best
More informationApplication Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017
CSC 401 Data and Computer Communications Networks Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network applications 2.2
More informationJAX-RS: REST, the Java Way. Stefan Tilkov,
JAX-RS: REST, the Java Way Stefan Tilkov, stefan.tilkov@innoq.com 1 Contents An Introduction to REST Why REST Matters JSR 311 Overview Demo What s Next 2 Stefan Tilkov stefan.tilkov@innoq.com http://www.innoq.com/blog/st/
More informationDesigning RESTful Web Applications. Ben Ramsey
Designing RESTful Web Applications Ben Ramsey About Me Proud father of 3-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original
More informationSoftware Design COSC 4353/6353 DR. RAJ SINGH
Software Design COSC 4353/6353 DR. RAJ SINGH Outline What is SOA? Why SOA? SOA and Java Different layers of SOA REST Microservices What is SOA? SOA is an architectural style of building software applications
More informationOracle Fusion Middleware
Oracle Fusion Middleware Administering Web Services 12c (12.1.2) E28131-01 June 2013 Documentation for developers and administrators that describes how to administer Web services. Oracle Fusion Middleware
More informationSUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :
SUN 310-052 Sun Certified Enterprise Architect for J2EE 5 Download Full Version : http://killexams.com/pass4sure/exam-detail/310-052 combination of ANSI SQL-99 syntax coupled with some company-specific
More informationChapter 10 Web-based Information Systems
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial
More informationOracle APEX 18.1 New Features
Oracle APEX 18.1 New Features May, 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated
More informationMOS Encryption and Security via Web Sockets & MOS Passive Mode MOS v4.0
Proposal for Adoption into the MOS Protocol MOS Encryption and Security via Web Sockets & MOS Passive Mode MOS v4.0 Revised June 2018 Revision 1.4 FOR FINAL APPROVAL & RATIFICATION Shawn Snider VP Production
More informationHTTP Reading: Section and COS 461: Computer Networks Spring 2013
HTTP Reading: Section 9.1.2 and 9.4.3 COS 461: Computer Networks Spring 2013 1 Recap: Client-Server Communication Client sometimes on Initiates a request to the server when interested E.g., Web browser
More informationfor NonStop Applications To this Process-Centric Solutions SOA Call Center Services Standar rd Interface Any to any WSDL SOAP HTTP/S Standar rd Interface SOA AP/AM Order Processing Services Customer
More informationComposable Web Services Using Interoperable Technologies from Sun's "Project Tango"
Composable Web Services Using Interoperable Technologies from Sun's "Project Tango" Nicholas Kassem Technology Director Harold Carr Lead Architect TS-4661 2006 JavaOne SM Conference Session 4661 Goal of
More informationDevelop Mobile Front Ends Using Mobile Application Framework A - 2
Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4
More informationSemantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91
بسمه تعالی Semantic Web Semantic Web Services Morteza Amini Sharif University of Technology Spring 90-91 Outline Semantic Web Services Basics Challenges in Web Services Semantics in Web Services Web Service
More informationArchitectural patterns and models for implementing CSPA
Architectural patterns and models for implementing CSPA Marco Silipo THE CONTRACTOR IS ACTING UNDER A FRAMEWORK CONTRACT CONCLUDED WITH THE COMMISSION Application architecture Outline SOA concepts and
More informationJava Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview
Java Web Service Essentials (TT7300) Day(s): 3 Course Code: GK4232 Overview Geared for experienced developers, Java Web Service Essentials is a three day, lab-intensive web services training course that
More informationApex REST API. SUMMER OF APIs. Sandeep Bhanot Developer Alex Toussaint Senior Product
SUMMER OF APIs Apex REST API Sandeep Bhanot Developer Evangelist @cloudysan Alex Toussaint Senior Product Manager @alextoussaint Got Twitter? @forcedotcom / #forcewebinar Facebook? facebook.com/forcedotcom
More information