is the web "good enough" for web services?
TRANSCRIPT
-
8/14/2019 Is the Web "Good Enough" for Web Services?
1/125
Is The Web"Good Enough"
forWeb services?
Paul Downey
15th March 2007
-
8/14/2019 Is the Web "Good Enough" for Web Services?
2/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
3/125
SORRY!
-
8/14/2019 Is the Web "Good Enough" for Web Services?
4/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
5/125
NO T Stev e Vinoski!
-
8/14/2019 Is the Web "Good Enough" for Web Services?
6/125
resteyeFOR THE
SOA GUY
-
8/14/2019 Is the Web "Good Enough" for Web Services?
7/125
ARCHITECTUR
Styles
-
8/14/2019 Is the Web "Good Enough" for Web Services?
8/125
Style WTF
ARCHITECTUR
-
8/14/2019 Is the Web "Good Enough" for Web Services?
9/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
10/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
11/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
12/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
13/125
REST://(v)
-
8/14/2019 Is the Web "Good Enough" for Web Services?
14/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
15/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
16/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
17/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
18/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
19/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
20/125
The greatest thing in
is to have a
command of the Style
metaphor
-
8/14/2019 Is the Web "Good Enough" for Web Services?
21/125
pwnz0red!
-
8/14/2019 Is the Web "Good Enough" for Web Services?
22/125
IC T
b lf
-
8/14/2019 Is the Web "Good Enough" for Web Services?
23/125
personasdeperimiterisation
virtualisation
outsourcingubiquitous web
mobile
agileoffshoring
presence
identity
federation
open
St d d
-
8/14/2019 Is the Web "Good Enough" for Web Services?
24/125
Standards
-
8/14/2019 Is the Web "Good Enough" for Web Services?
25/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
26/125
Web
services
Web
services
-
8/14/2019 Is the Web "Good Enough" for Web Services?
27/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
28/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
29/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
30/125
REST://
-
8/14/2019 Is the Web "Good Enough" for Web Services?
31/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
32/125
K l R i k Ch
-
8/14/2019 Is the Web "Good Enough" for Web Services?
33/125
Karl Rove and Dick Cheney to write the Democratic Party Platform
-
8/14/2019 Is the Web "Good Enough" for Web Services?
34/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
35/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
36/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
37/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
38/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
39/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
40/125
REST*THE*BOOK?
http://www.crummy.com/writing/RESTful-Web-Services/
-
8/14/2019 Is the Web "Good Enough" for Web Services?
41/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
42/125
General von Moltke
Active Lazy
-
8/14/2019 Is the Web "Good Enough" for Web Services?
43/125
CaptureValue
DiscoverValue
MaintainValue
DestroyValue
Active Lazy
Smart
Dumb
Everything You Hate About ITA d W 't Af id T S
-
8/14/2019 Is the Web "Good Enough" for Web Services?
44/125
- And Weren't Afraid To Say
-
8/14/2019 Is the Web "Good Enough" for Web Services?
45/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
46/125
http://www.soacenter.com/?p=33
-
8/14/2019 Is the Web "Good Enough" for Web Services?
47/125
Explicit Boundaries
-
8/14/2019 Is the Web "Good Enough" for Web Services?
48/125
Op
shared contract and schema, not class
Policy Driven
10 Principles of SOA by Stefan Tilkov
autonomous wire formats not Programming Language APIs
Document Oriented
Metadata Drivenloosely coupled standards compliant
vendor independent
-
8/14/2019 Is the Web "Good Enough" for Web Services?
49/125
Metadata
Driven?!
-
8/14/2019 Is the Web "Good Enough" for Web Services?
50/125
"Stopping the
world
to describe it"
-
8/14/2019 Is the Web "Good Enough" for Web Services?
51/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
52/125
META-META-DATA
-
8/14/2019 Is the Web "Good Enough" for Web Services?
53/125
HTML
WS-Policy
XForms
Time
C o m m i t m e n t WADL
CannedHTTPPOST
WSDLHTTP
OPTIONS
DESCRIPTION
-
8/14/2019 Is the Web "Good Enough" for Web Services?
54/125
CONTENTS EVOLUTION ASYNCH
DESCRIPTIONPAIN POINTS
-
8/14/2019 Is the Web "Good Enough" for Web Services?
55/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
56/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
57/125
DO
THE AGREEDTHING!
EXPECTED
-
8/14/2019 Is the Web "Good Enough" for Web Services?
58/125
Web services
Messaging
-
8/14/2019 Is the Web "Good Enough" for Web Services?
59/125
Messaging
Messaging
-
8/14/2019 Is the Web "Good Enough" for Web Services?
60/125
MessagingSystems
-
8/14/2019 Is the Web "Good Enough" for Web Services?
61/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
62/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
63/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
64/125
EPR
-
8/14/2019 Is the Web "Good Enough" for Web Services?
65/125
NO "STACK"
-
8/14/2019 Is the Web "Good Enough" for Web Services?
66/125
NO STACK
-
8/14/2019 Is the Web "Good Enough" for Web Services?
67/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
68/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
69/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
70/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
71/125
bwlAKau7KQAubgGNJzysZoEEF8o=
kyBw9fnMjhi2I39+wfBIklyk8g4=
XW2FqP9o/A1J+NOg6Kv3ncn3PvSg5lzr2V4H/AQpRycXUSk7bzWK8kzhtMrlXUwkykrJ2AyEzw+xrRtSBIeaId1Iveme2KO02p21MTglr73cPCft/
GHvEvAHZ4B6N6gSaX7NcGFrYnsYKP0nX5vT7jBh7WZ7Euqn0PyjCHyYxbU=
2007-02-23T07:47:01Z2007-02-23T08:47:01Z
MIICdzCCAeCgAwIBAgICAX0wDQYJKoZIhvcNAQEEBQAwezEnMCUGA1UEChMeQnJpdGlzaCBUZWxlY29tbXVuaWNhdGlvbnMgUExDMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxDzANBgNVBAcTBkxmRvbjELMAkGA1UEBhMCR0IxEjAQBgNVBTCUJUIFNESyBDQTAiFxEwNzAxMDMxNTE5MjIrMDAwMBcNMDgwMTA0MTUxOTIyWjCBgjELMAkGA1UEBhMCR0IxDzANBgNVBAgTBkxvbmRvbjEPMA0GA1UEBxMGTG9uZG9uMQ8wDQYDVQQKEwZCVCBTREsxLTArBgNVBAsTJDM0ZDU0NTkwLTRkZTEtNGJmNi04ZGMxLWZjODQzNzM1MmM4MjERMA8GA1UEAxMIcGhvbmVib3gwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANKIQf+DOAKNZqs+HvCBYJ7+Q/wdCQBfFslIOGMnKN5zxpCuwB/pPW4DjLnqcWkIIVIH4A7RlWRemIO5e5caTW9bwvz0Fl1ZM6e2Mx9XKT0ZkxvXq8Dxn0abqWzoKyD3IJ2/tUhqriWveFR+6PY3PSBcj7NpJaqr7yH3z6RtEGNlAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAmabZVFeAXfXcBKR6NUK7kYqHhtX7YdNtxZcULRMMpFEkCMGERWCH5bK6/xnFtNXG09RkwkSTGs2dhM6/jQNvd1jJhLR6E2ejYrYWWf6Sap0Etok7sJqrS9awdbFmQGenFZKRUAEeyHeZhdFil8trzyJv1VzgPIjDRZmhnpItzQ8=
http://sdk.bt.com/2007/01/WhiteLabelAuthentication#loginurn:uuid:e12edac3-f87d-3e0a-b621-04fa4d0b8cda
HEADERHELL
IN
-
8/14/2019 Is the Web "Good Enough" for Web Services?
72/125
UNORD
ED
BAG
3IN
21
-
8/14/2019 Is the Web "Good Enough" for Web Services?
73/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
74/125
Services on theWeb?
-
8/14/2019 Is the Web "Good Enough" for Web Services?
75/125
They
-
8/14/2019 Is the Web "Good Enough" for Web Services?
76/125
They
HATE SOAP!
-
8/14/2019 Is the Web "Good Enough" for Web Services?
77/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
78/125
Isn't the Web"Good Enough?"
-
8/14/2019 Is the Web "Good Enough" for Web Services?
79/125
POX!
-
8/14/2019 Is the Web "Good Enough" for Web Services?
80/125
POX REST
-
8/14/2019 Is the Web "Good Enough" for Web Services?
81/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
82/125
URIsidentify things
-
8/14/2019 Is the Web "Good Enough" for Web Services?
83/125
and they can beanywhere ..
-
8/14/2019 Is the Web "Good Enough" for Web Services?
84/125
IS IT SAFE?
-
8/14/2019 Is the Web "Good Enough" for Web Services?
85/125
IS IT SAFE?
Resources
-
8/14/2019 Is the Web "Good Enough" for Web Services?
86/125
cool URIs
Resourcesdemand
cool URIs
-
8/14/2019 Is the Web "Good Enough" for Web Services?
87/125
Message-Id:
X-Original-To: [email protected]: http://www.w3.org/mid/
2A7793353757DB4392DF4DFBBC9522550A20155C@I2KM11-UKBR.domain1.systemhost.net
HTTP METHODS
-
8/14/2019 Is the Web "Good Enough" for Web Services?
88/125
method safe idempotent semantics resource cacheable-----------------------------------------------------------
GET | X X X X X |HEAD | X X X X X |PUT | X X X |POST | * |DELETE | X X X |OPTIONS | X X X |
-----------------------------------------------------------PROPFIND | X X X X * |PROPPATCH | X X X |MKCOL | * X X |COPY | X X X |MOVE | ? X X |LOCK | X X |
UNLOCK | X X X |PATCH | * X X |-----------------------------------------------------------
-
8/14/2019 Is the Web "Good Enough" for Web Services?
89/125
htt ://thou ht ad.net/who/alan-dean/ima e/htt -headers-status/
Presentation
-
8/14/2019 Is the Web "Good Enough" for Web Services?
90/125
Presentation
Style? Substance?
-
8/14/2019 Is the Web "Good Enough" for Web Services?
91/125
Knowwhat it is you
trying to build!
#1
-
8/14/2019 Is the Web "Good Enough" for Web Services?
92/125
FollowBuilding !
Regulations
#2
Let's make a
-
8/14/2019 Is the Web "Good Enough" for Web Services?
93/125
Phone
Call!
Web21C
-
8/14/2019 Is the Web "Good Enough" for Web Services?
94/125
sdk.bt.com
Web21C
Web21C
-
8/14/2019 Is the Web "Good Enough" for Web Services?
95/125
MAKE CALLS
SEND TEXTSLOCATE MOBILESMANAGE CONTACTSetc..
-
8/14/2019 Is the Web "Good Enough" for Web Services?
96/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
97/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
98/125
http://sdk.bt.com/2007/01/Session/ThirdPartyCall.wsdl
WSDL
-
8/14/2019 Is the Web "Good Enough" for Web Services?
99/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
100/125
END CALL
-
8/14/2019 Is the Web "Good Enough" for Web Services?
101/125
callId
-
8/14/2019 Is the Web "Good Enough" for Web Services?
102/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
103/125
HEADERS?
-
8/14/2019 Is the Web "Good Enough" for Web Services?
104/125
bwlAKau7KQAubgGNJzysZoEEF8o=
kyBw9fnMjhi2I39+wfBIklyk8g4=
XW2FqP9o/A1J+NOg6Kv3ncn3PvSg5lzr2V4H/AQpRycXUSk7bzWK8kzhtMrlXUwkykrJ2AyEzw+xrRtSBIeaId1Iveme2KO02p21MTglr73cPCft/
GHvEvAHZ4B6N6gSaX7NcGFrYnsYKP0nX5vT7jBh7WZ7Euqn0PyjCHyYxbU=
2007-02-23T07:47:01Z2007-02-23T08:47:01Z
MIICdzCCAeCgAwIBAgICAX0wDQYJKoZIhvcNAQEEBQAwezEnMCUGA1UEChMeQnJpdGlzaCBUZWxlY29tbXVuaWNhdGlvbnMgUExDMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxDzANBgNVBAcTBkxmRvbjELMAkGA1UEBhMCR0IxEjAQBgNVBTCUJUIFNESyBDQTAiFxEwNzAxMDMxNTE5MjIrMDAwMBcNMDgwMTA0MTUxOTIyWjCBgjELMAkGA1UEBhMCR0IxDzANBgNVBAgTBkxvbmRvbjEPMA0GA1UEBxMGTG9uZG9uMQ8wDQYDVQQKEwZCVCBTREsxLTArBgNVBAsTJDM0ZDU0NTkwLTRkZTEtNGJmNi04ZGMxLWZjODQzNzM1MmM4MjERMA8GA1UEAxMIcGhvbmVib3gwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANKIQf+DOAKNZqs+HvCBYJ7+Q/wdCQBfFslIOGMnKN5zxpCuwB/pPW4DjLnqcWkIIVIH4A7RlWRemIO5e5caTW9bwvz0Fl1ZM6e2Mx9XKT0ZkxvXq8Dxn0abqWzoKyD3IJ2/tUhqriWveFR+6PY3PSBcj7NpJaqr7yH3z6RtEGNlAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAmabZVFeAXfXcBKR6NUK7kYqHhtX7YdNtxZcULRMMpFEkCMGERWCH5bK6/xnFtNXG09RkwkSTGs2dhM6/jQNvd1jJhLR6E2ejYrYWWf6Sap0Etok7sJqrS9awdbFmQGenFZKRUAEeyHeZhdFil8trzyJv1VzgPIjDRZmhnpItzQ8=
http://sdk.bt.com/2007/01/WhiteLabelAuthentication#loginurn:uuid:e12edac3-f87d-3e0a-b621-04fa4d0b8cda
HEADERS?
. serv ce eve s2. customisation3 security
-
8/14/2019 Is the Web "Good Enough" for Web Services?
105/125
3. security 4. currency
6. exception handling5. obligation
7. compensating transactions
9. monitoring
8. choreography
10. versioning11. transformation
-
8/14/2019 Is the Web "Good Enough" for Web Services?
106/125
REST://
-
8/14/2019 Is the Web "Good Enough" for Web Services?
107/125
HTTP GET http://example.com/calls/123213
GET CALL INFO
-
8/14/2019 Is the Web "Good Enough" for Web Services?
108/125
Accept: text/xml
!
200 OKContent-Type: text/xml; charset=utf-8
http://example.com/user/fred/calls/123213 CallInitial tel:+447918880... tel:+447918880... 2007-01-09 11:45:20
502 CallNotTerminated
-
8/14/2019 Is the Web "Good Enough" for Web Services?
109/125
RECENT CALLSHTTP GET http://example.com/calls/feed
-
8/14/2019 Is the Web "Good Enough" for Web Services?
110/125
! 200 OK
Content-Type: application/atom+xml
Phonebox Calls2007-01-0911:45:02ZPhoneboxtag:example.com,2007-01-09:/calls
Call 1234567tag:example.com/calls/1234567-200701091223313CallInformation2005-10-13T18:30:02Z
CONTENTHTTP GET:
-
8/14/2019 Is the Web "Good Enough" for Web Services?
111/125
Accept: application/weatherml+xml; q=1.0,application/xml; q=0.8,text/html; q=0.5
Apache Server .htaccess:AddType application/weatherml+xml weaOptions +MultiViews
./index.wea
./index.xml
./index.html
CACHING
-
8/14/2019 Is the Web "Good Enough" for Web Services?
112/125
HTTP GET http://flickr.com/photos/psd/2450160If-Modified-Since: Fri, 31 Dec 1999 23:59:59 GMTIf-None-Match: 'guid-21343244324'
!
HTTP/1.1 412 Precondition Failed
OVERALL ..
-
8/14/2019 Is the Web "Good Enough" for Web Services?
113/125
http://example.com/callshttp://example.com/calls/feedhttp://example.com/user/paul/calls/feedhttp://example.com/user/paul/calls/7d6374da5http://example.com/user/paul/calls/search?callingParty=tel:%3A44791888http://example.com/smshttp://example.com/sms/feedhttp://example.com/user/fred/sms/7d6374da5http://example.com/user/fred/sms/inbox/feedhttp://example.com/user/fred/sms/inbox/7d6374da5http://example.com/user/fred/sms/inbox?search?from=tel:%3A44791888
....
-
8/14/2019 Is the Web "Good Enough" for Web Services?
114/125
BROWSERFRIENDLY
-
8/14/2019 Is the Web "Good Enough" for Web Services?
115/125
JUST ONTHE WEB
-
8/14/2019 Is the Web "Good Enough" for Web Services?
116/125
Java
-
8/14/2019 Is the Web "Good Enough" for Web Services?
117/125
Rub
. JavaPythonPerl
WLATom
-
8/14/2019 Is the Web "Good Enough" for Web Services?
118/125
Locate
Dick'sApplication
Harry
AUTHENTICATION
-
8/14/2019 Is the Web "Good Enough" for Web Services?
119/125
TRUST!
IDENTITYFEDERATION
-
8/14/2019 Is the Web "Good Enough" for Web Services?
120/125
XSLT
-
8/14/2019 Is the Web "Good Enough" for Web Services?
121/125
AJAXXSLT
-
8/14/2019 Is the Web "Good Enough" for Web Services?
122/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
123/125
-
8/14/2019 Is the Web "Good Enough" for Web Services?
124/125
YAGNI
-
8/14/2019 Is the Web "Good Enough" for Web Services?
125/125
UESTIONS