A 8||||on 1ransacnons per Month

Pow Lhe Web embarrasses vour mlddleware soluuon
Dr. I|m Webber
D|rector, 1houghtWorks
«[lmwebber
hup://[lm.webber.name
A|| about I|m
ur. !lm Webber ls dlrecLor of professlonal servlces for 1houahLWorks where he works on dependable dlsLrlbuLed
svsLems archlLecLure for cllenLs worldwlde. 1houah hls currenL lnLeresLs are ln uslna Lhe Web for bulldlna
dlsLrlbuLed svsLems, !lm was formerlv a senlor researcher wlLh Lhe uk L-Sclence proaramme where he developed
Lechnlques for dependable, alobal-scale hlah performance compuuna. As an archlLecL wlLh Pewleu-Þackard, and
laLer Ar[una 1echnoloales, !lm was Lhe lead developer on Lhe lndusLrv's ñrsL Web Servlces 1ransacuon soluuon. !lm
ls an acuve speaker and ls lnvlLed Lo speak reaularlv aL conferences across Lhe alobe. Pe ls an acuve auLhor and ln
addluon Lo "ueveloplna LnLerprlse Web Servlces - An ArchlLecL's Culde" he ls worklna on a new book on Web-
based lnLearauon called "8LS1 ln Þracuce." !lm holds a 8.Sc. ln Compuuna Sclence and Þh.u. ln Þarallel Compuuna
boLh from Lhe unlverslLv of newcasLle upon 1vne. Pls bloa ls locaLed aL hup://[lm.webber.name and he LweeLs
oûen «[lmwebber.
1odav's LnLerprlse ArchlLecLure
ºSCA: Þrlnclples of Servlce ueslan!"#$%&'%#(!!
)!(*+&+",*!(%-*#.-)/!&%0.%'!.#0+/0.#,!+0%&!!
!"#$%&'%(%$)#*$+,#-'.%$%/0#&%/-+$)1!
+&,)#.2)3+#41!)#$!5&+6%44.+#4!)-&+44!7+&(*!
89%&.-)1!:"&+5%1!)#$!84.);!<*%!=++>!*)4!=%%#!
*+$,1223#%/-+$)%-#=?!9%9=%&4!+6!,14+$#567#
&%/-+$)1!.#-/"$.#,!@AB1!B.-&+4+C1!D&)-/%1!!
A:81!)#$!@#(%/;E!
! ! ! ! ! ! ! ! ! ! !FF!1homas Lrl!!
1omorrow's LnLerprlse ArchlLecLure
8ÞM
Servlces
8uslness
Servlce
uaLa
Servlce
8uslness
Servlce
uaLa
Servlce
uaLa
Servlce
8uslness
Servlce
uaLa
Servlce
uaLa
Servlce
nlrvana LnLerprlse ArchlLecLure, or.
8ÞM
Servlce
8uslness
Servlce
8uslness
Servlce
LS8
8aslc
Servlce
8aslc
Servlce
8aslc
Servlce
8aslc
Servlce
8aslc
Servlce
8uslness
Servlce
LS8 - Lrroneous Spaahem 8ox?
LnLerprlse Servlce 8us





8uL we sull do lL.
Whv?
8ecause lL's ºless rlskv"
Whv?
8ecause LhaL's whaL Lhe markeL does
Whv?
8ecause we need Lhe -lllues
So leL's Lalk abouL Lhose -lllues
W
e
b

S
c
a
l
e
!

1
r
a
d
|
n
o
n
a
|

L
n
t
e
r
p
r
|
s
e


5
e
c
u
r
|
t
y

!"#$%&'"!(
)*%%#+*(&"',*%%-$+(
.*/ 0*"1-,*(2'+-,(
"*%'3",*%
%*,3"-!4(
-$!*")*5-#"4(
%*"1-,*(
!"#$%&'"!(
)*%%#+*(&"',*%%-$+(
.*/ 0*"1-,*(2'+-,(
"*%'3",*%
%*"1-,*(
2'+-,#2
&'-$!6!'6&'-$!(
)*%%#+*(!"#$%7*"(
%*,3"-!4(
-$!*")*5-#"4(
!"#$%&"' !"#$%&"'
()*+,-%).'!"&/#%*0'123"4'524*"6*'
)"&/#"'&24*"6*'
!%74"89"4&#0:*"8';)7'*#+4)<"#'
="4">9+;"48')"&/#%*0'&24*"6*'*23"4'
!"&/#%*0'123"4'!"#$%&"'
?@!A1#/)*B'
!%74"89"4&#0:*"8';)7'*#+4)<"#'
5+4&"-9"6:%#"')"&/#%*0'&24*"6*'*23"4'
Lnd Lo Lnd Secure
Messaalna
Lnd Lo Lnd Secure
Conversauons
!"#$%&'(' !"#$%&')'
*+',$-%.$/0'120.0&3$-4'
5+'62$&4702'401820'#044$90'
:0;8043&9'
402<%10'
:0;8043&9'
402<%10'
=.0&3/>'
?2"<%.02'@A6AB'
=.0&3/>'
C2"<%.02'@A6AB'
D+'E0/'6"F0&'
G+',$-%.$/0'
120.0&3$-4'
!"#$%&'()*+,"-)!"%.&#")
/0!1*%$2'3)
4+5&#()
!"#$%&'()
*+,"-)
657&8)
657&8)
657&8)
!"#$%&'()*+,"-)!"%.&#")
/0!1*%$2'3)
4+5&#()
!"#$%&'()
*+,"-)
657&8)
657&8)
657&8)
!"#$%&'()*+,"-)!"%.&#")
/0!1*%$2'3)
4+5&#()
!"#$%&'()
*+,"-)
657&8)
657&8)
657&8)
SecurlLv 1okens
and clalms
lederauna access
wlLh Lokens
.you
wou|dn't
use |t at
home!
!"#$%&"' !"#$%&"'
(#")*"'+",-".&"'
!",-".&"'&#")*"/'
0&12'!",34'56375'
8"++)9"2'!",34':'5'
8"++)9"2'!",34':'3'
8"++)9"2'!",34':'3';'5'
<"+"./2'!",34':'32'0&1'<",-"+*"/'
!",-".&"'0&12'56'3'
=./'
!"#$%&"'
(#)*+)&,-*'&-*(".('
!"#$%&"' !"#$%&"'
/0%"*(')110%&),-*'
2#)*+)&,-*'
&--#3%*)(-#'
2#)*+)&,-*'&-*(#-0'4"++)5"+'
67+%*"++'&-41-*"*('%*("#)&,-*+'
Bottleneck!
No trust!
Crash
recovery?!
Denial of
Service!
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="HelloService"
targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<message name="SayHelloRequest">
<part name="firstName" type="xsd:string"/>
</message>
<message name="SayHelloResponse">
<part name="greeting" type="xsd:string"/>
</message>
<portType name="Hello_PortType">
<operation name="sayHello">
<input message="tns:SayHelloRequest"/>
<output message="tns:SayHelloResponse"/>
</operation>
</portType>
<binding name="Hello_Binding" type="tns:Hello_PortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="sayHello">
<soap:operation soapAction="sayHello"/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:examples:helloservice"
use="encoded"/>
</input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:examples:helloservice"
use="encoded"/>
</output>
</operation>
</binding>
<service name="Hello_Service">
<documentation>WSDL File for HelloService</documentation>
<port binding="tns:Hello_Binding" name="Hello_Port">
<soap:address
location="http://localhost:8080/soap/servlet/rpcrouter"/>
</port>
</service>
</definitions>
P
e
l
l
o

W
o
r
l
d
!

1he Web |s a coord|nanon p|auorm
5
t
a
t
u
s

c
o
d
e
s

V
e
rb
s
M
e
d
|
a

1
y
p
e
s

A Case SLudv
C||ent
•! uk-based Lelecoms servlce provlder
•! Clobal cusLomers (no easv downume)
Þrob|em
•! ScalablllLv and svsLem reslllence lssues
•! Puae arowLh curve Lo from a mllllon Lo a
bllllon messaaes per monLh
•! CosLs
Þlauorm ArchlLecLure
Carrier!
Carrier!
Carrier!
Carrier!
Gateway!
Voice to
Text
Algorithms!
Integration
Database!
Post
Processing!
Shared
Filesystem!
Bottleneck! Nightmare!!
Where’s my
file gone?!
Shoehorn it
in that other
program!
Fix things
up here!
1he 8s 68cr Soluuon
Carrier!
Carrier!
Carrier!
Carrier!
Gateway!
Voice to
Text
Algorithms!
“Queue”!
Database!
Post
Processing!
Shared
Filesystem!
Enterprise Service Bus!
*
* Soluuon does noL lnclude lmplemenLauon, [usL up-fronL cosL of mlddleware
1houahLWorks was alven Lhe ouLpuL from a
prevlous enLerprlse consulLancv.
.and Lold Lo ºdo LhaL, buL cheaper"
1h|nk
d|ñerent|y!
(or even [ust stop and th|nk)
Architecture is still important!
Aalle LA: Þrlorluse Servlce uellverv
Carrier!
Carrier!
Carrier!
Carrier!
Gateway!
Voice to
Text
Algorithms!
Integration
Database!
Post
Processing!
Shared
Filesystem!
Start by
fixing
storage!
SLoraae Manaaer Þro[ecL uellverv
5ma|| team
3 Week Incepnon
14 |teranons
Iava so|unon
Þerformance tesnng
throughout
–! See !ones and kua paper,
Aalle 2009
Connnuous|y bu||t and
dep|oyed for tesnng
Web-frlendlv ArchlLecLure
(mosLlv walleL-frlendlv Loo!)
Storage Manager!
Jboss/Tomcat!
GPFS SAN!
Cacheable!!
Optimised
disk access!!
Optimised
server config!
Free!!
Encapsulates
storage
detail!!
Fast!!
Spend £ on the
right !
Infrastructure!
WhaL ls aolna on
here?
WhaL ls aolna on
wlLh Lhese peaks?
PvpoLhesls
ulrecLorles are becomlna full, slowlna
random access Lo ñles
Þredlcuon
A slnale dlrecLorv wlll resulL ln
llnearlv dearadlna performance
CuLcome
AdapL Lhe dlrecLorv sLrucLure Lo Lake
advanLaae of Lhe underlvlna ñle
svsLem
lmprovlna LnLerprlse ArchlLecLure
Carrier!
Carrier!
Carrier!
Carrier!
Gateway!
Voice to
Text
Algorithms!
Integration
Database!
Post
Processing!
Storage
Manager!
Reduced
Load!
Just shoehorn
it in that
other program!
“She’ll be
right”!
Scalable!!
SLoraae Manaaer 8eneñLs
•! lmmedlaLe reduced load on lnLearauon
daLabase
•! Lnabled removal of code from svsLems
•! De||vered bus|ness va|ue by keep|ng
customers happy
•! º1he besL soûware we have ever deploved"
–! Cperauons dlrecLor
l'll come back Lo Lhls
W
h
a
L's
w
ro
n
a
w
lLh
Lh
ls
p
lc
Lu
re
?

Voice to
Text
Algorithms!
Storage
Manager!
Just shoehorn
it in that
other program!
Scalable!!
WhaL lf.
We Look our lnsplrauon from
successful Web-scale companles?
WhaL lf.
And Look Lhe ume Lo undersLand our
SLAs?
WhaL lf.
And plcked Lhe rlahL Lechnoloav
soluuon?
noL [usL Lhe one we're belna sold?
WhaL lf.
We bullL a scalable compuLe
plauorm?
Crld Þro[ecL uellverv
Larger team
3.5 Week Incepnon
18 |teranons
Iava so|unon
Þerformance tesnng
throughout
Connnuous|y bu||t and
dep|oyed for tesnng
Web-frlendlv ArchlLecLure
(verv walleL-frlendlv!)
Grid Manager!
Embedded Jetty!
Grid Manager!
Embedded Jetty!
Grid Manager!
Embedded Jetty!
Grid Manager!
Embedded Jetty!
Grid Manager!
Embedded Jetty!
ASR! ASR! ASR! ASR!
Grid Pipeline!
ASR! ASR! ASR! ASR!
Grid Pipeline!
Just
HTTP!
Fault
Tolerant!
Fault
Tolerant!
Just
HTTP!
Sustainable
container for
business logic!
£0!
Software
Infrastructure!
lmprovlna LnLerprlse ArchlLecLure
Carrier!
Carrier!
Carrier!
Carrier!
Gateway!
Grid!
Integration
Database!
Post
Processing!
Storage
Manager!
Massively
Reduced
Load!
“She’ll be
right”!
Scalable!!
Scalable,
sustainable!!
Scalable Processing Platform!
Crld 8eneñLs
•! Scalable, reslllenL plauorm
•! Allaned wlLh buslness aoals
•! lurLher reduced load on lnLearauon daLabase
•! SeL archlLecLural pauerns
•! De||ver bus|ness va|ue by process|ng more
messages at |ower cost than ever before
•! º1he besL soûware we have ever deploved"
–! Cperauons dlrecLor 8euer everv ume!
Rs 6,800 lakhs!
Up-Front Cost of Bus Architecture!
Rs 680 lakhs!
Actual Cost of Completed Project!
Rs 0!
Cost of Middleware!
1he Web works
And lLs economles of scale
ecllpse vour vendors'

Sign up to vote on this title
UsefulNot useful