You are on page 1of 73

!"#$%%$&'"()*'+*,-&'+".

/)"0&'12"

!"#$%&'$(')$'*)+,,+--'-$."/,$*0112'#+,'$-"2/3"4$

3)4"5$6"7/88/)"
3$)/,1&)9"(2&:;217&)<+"

560*#'))',$
&789::60*;#'))',;4+*'$
!%%"*8&:1"5$6"

<,;$=0*$('))',$0-$10,'>%",$"?$8,"?'--0"4+2$-',@0>'-$?",$A&"/B&%(",C-$#&','$&'$#",C-$"4$1'8'41+)2'$10-%,0)/%'1$
-.-%'*-$+,>&0%'>%/,'$?",$>20'4%-$#",21#01';$A&"/B&$&0-$>/,,'4%$04%','-%-$+,'$04$/-04B$%&'$(')$?",$)/02104B$
10-%,0)/%'1$-.-%'*-D$=0*$#+-$?",*',2.$+$-'40",$,'-'+,>&',$#0%&$%&'$EF$GHI>0'4>'$8,"B,+**'$#&','$&'$1'@'2"8'1$
%'>&40J/'-$?",$1'8'41+)2'D$B2")+2H->+2'$&0B&$8',?",*+4>'$>"*8/34B;$K-$+4$+,>&0%'>%$#0%&$!'#2'7HL+>C+,1D$+41$
2+%',$K,6/4+$A'>&4"2"B0'-D$=0*$#+-$%&'$2'+1$1'@'2"8',$"4$%&'$041/-%,.M-$N,-%$(')$I',@0>'-$A,+4-+>3"4$-"2/3"4;$=0*$
0-$+4$+>3@'$-8'+C',$+41$0-$04@0%'1$%"$-8'+C$,'B/2+,2.$+%$>"4?','4>'-$+>,"--$%&'$B2")';$!'$0-$+4$+>3@'$+/%&",$+41$04$
+1103"4$%"$O<'@'2"804B$G4%',8,0-'$(')$I',@0>'-$H$K4$K,>&0%'>%M-$P/01'O$&'$0-$#",C04B$"4$+$4'#$)""C$"4$(')H
)+-'1$04%'B,+3"4$>+22'1$OQGIA$04$L,+>3>';O$=0*$&"21-$+$R;I>;$04$S"*8/34B$I>0'4>'$+41$L&;<;$04$L+,+22'2$S"*8/34B$
)"%&$?,"*$%&'$E40@',-0%.$"?$T'#>+-%2'$/8"4$A.4';$!0-$)2"B$0-$2">+%'1$+%$&789::60*;#'))',;4+*'$+41$&'$%#''%-$
"U'4$560*#'))',;$$
A"1+.V-$G4%',8,0-'$K,>&0%'>%/,'$
WIXK9$L,04>082'-$"?$I',@0>'$<'-0B4!"#$%&'%#(!!
)!(*+&+",*!(%-*#.-)/!&%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!A&"*+-$G,2!!
A"*",,"#V-$G4%',8,0-'$K,>&0%'>%/,'$

RLY$
I',@0>'-$

R/-04'--$ R/-04'--$ R/-04'--$


I',@0>'$ I',@0>'$ I',@0>'$

<+%+$ <+%+$ <+%+$ <+%+$ <+%+$


I',@0>'$ I',@0>'$ I',@0>'$ I',@0>'$ I',@0>'$
T0,@+4+$G4%',8,0-'$K,>&0%'>%/,'D$",Z$

RLY$ R/-04'--$ R/-04'--$ R/-04'--$


I',@0>'$ I',@0>'$ I',@0>'$ I',@0>'$

GIR$

R+-0>$ R+-0>$ R+-0>$ R+-0>$ R+-0>$


I',@0>'$ I',@0>'$ I',@0>'$ I',@0>'$ I',@0>'$
GIR$H$G,,"4'"/-$I8+B&'[$R"\]$
G4%',8,0-'$I',@0>'$R/-$
"""""
R/%$#'$-322$1"$0%;$
(&.]$

R'>+/-'$0%V-$W2'--$,0-C.^$
(&.]$

R'>+/-'$%&+%V-$#&+%$%&'$*+,C'%$1"'-$
(&.]$

R'>+/-'$#'$4''1$%&'$H0203'-$
I"$2'%V-$%+2C$+)"/%$%&"-'$H0203'-$
(')$I>+2'_$
()*=$-&'*%">'1/).)$+/""?/,:)$1@"
%*"1-,*( %*"1-,*(

"*%'3",*%(

%*,3"-!4( 2'+-,#2( %*,3"-!4(


"*%'3",*%(
G41$%"$G41$I'>/,'$
Y'--+B04B$
.*/(0*"1-,*(2'+-,( -$!*")*5-#"4( &'-$!6!'6&'-$!( -$!*")*5-#"4( .*/(0*"1-,*(2'+-,(
)*%%#+*(!"#$%7*"(

)*%%#+*(&"',*%%-$+( )*%%#+*(&"',*%%-$+(

!"#$%&'"!( !"#$%&'"!(

!"&/#%*0'123"4'!"#$%&"'
?@!A1#/)*B'

()*+,-%).'!"&/#%*0'123"4'524*"6*'

)"&/#"'&24*"6*'

G41$%"$G41$I'>/,'$ !%74"89"4&#0:*"8';)7'*#+4)<"#'

S"4@',-+3"4-$ !"#$%&"'
="4">9+;"48')"&/#%*0'&24*"6*'*23"4'
!"#$%&"'

!%74"89"4&#0:*"8';)7'*#+4)<"#'

5+4&"-9"6:%#"')"&/#%*0'&24*"6*'*23"4'
I'>/,0%.$A"C'4-$
!"#$%&'()*+,"-)!"%.&#") !"#$%&'()*+,"-)!"%.&#")
/0!1*%$2'3) /0!1*%$2'3)

!"#$%&'() !"#$%&'()
*+,"-) *+,"-)

4+5&#()
657&8)
657&8)
657&8) 4+5&#()
657&8)
657&8)
657&8)
+41$>2+0*-$
!"#$%&'()*+,"-)!"%.&#")
/0!1*%$2'3)

!"#$%&'()
*+,"-)

657&8)
657&8)
4+5&#() 657&8)

!"#$%&'(' !"#$%&')'

*+',$-%.$/0'120.0&3$-4'

`'1',+34B$+>>'--$
=.0&3/>' =.0&3/>'
?2"<%.02'@A6AB' C2"<%.02'@A6AB'

G+',$-%.$/0'

#0%&$%"C'4-$
D+'E0/'6"F0&'
120.0&3$-4'

:0;8043&9' :0;8043&9'
402<%10' 402<%10'
5+'62$&4702'401820'#044$90'
A@&:"
B&:%='C1"
:+/"$1"*1"
2&6/D"
(#")*"'+",-".&"'

!",-".&"'&#")*"/'

8"++)9"2'!",34':'5'

8"++)9"2'!",34':'3'

!"#$%&"' !"#$%&"'

8"++)9"2'!",34':'3';'5'

0&12'!",34'56375'

<"+"./2'!",34':'32'0&1'<",-"+*"/'

!",-".&"'0&12'56'3'

=./'
Bottleneck!

2#)*+)&,-*'
/0%"*(')110%&),-*'
&--#3%*)(-#'

No trust!
Crash Denial of
recovery?! Service!

!"#$%&"' !"#$%&"' !"#$%&"'

(#)*+)&,-*'&-*(".('

67+%*"++'&-41-*"*('%*("#)&,-*+'
2#)*+)&,-*'&-*(#-0'4"++)5"+'
!'22"$(",21_$
<?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>
(2/"7/8"$+"*",&&)=$'*-&'".%*E&)6"

F/)8+"
+ " ,& =/ +"

0/=$*"
(@./+"
?1*1 :
K$S+-'$I%/1.$
G%$/'1"
•! EFH)+-'1$%'2'>"*-$-',@0>'$8,"@01',$
•! P2")+2$>/-%"*',-$a4"$'+-.$1"#43*'b$
H)&8%/6"
•! I>+2+)020%.$+41$-.-%'*$,'-020'4>'$0--/'-$
•! !/B'$B,"#%&$>/,@'$%"$?,"*$+$*0220"4$%"$+$
)0220"4$*'--+B'-$8',$*"4%&$
•! S"-%-$
L2+c",*$K,>&0%'>%/,'$

Where’s my
Bottleneck! Nightmare!!
file gone?!
Carrier!
Carrier! Integration Shared
Carrier! Gateway!
Carrier! Database! Filesystem!

Voice to
Post
Text
Processing!
Algorithms!
Fix things
up here! Shoehorn it
in that other
program!
A&'$Q-$de>,$$I"2/3"4$
f

“Queue”! Shared
Gateway!
Database! Filesystem!

Carrier!
Carrier!
Carrier!
Carrier! Enterprise Service Bus!

Voice to
Post
Text
Processing!
Algorithms!

f$I"2/3"4$1"'-$4"%$04>2/1'$0*82'*'4%+3"4D$6/-%$/8H?,"4%$>"-%$"?$*0112'#+,'$
A&"/B&%(",C-$#+-$B0@'4$%&'$"/%8/%$?,"*$+$
8,'@0"/-$'4%',8,0-'$>"4-/2%+4>.Z$

Z+41$%"21$%"$W1"$%&+%D$)/%$>&'+8',^$
(2$'<"
=$I/)/'1%@D"
J&)"/K/'"L:+1"+1&."*'="12$'<M"
Architecture is still important!
KB02'$GK9$L,0",03-'$I',@0>'$<'20@',.$

Start by
fixing
storage!

Carrier!
Carrier! Integration Shared
Carrier! Gateway!
Carrier! Database! Filesystem!

Voice to
Post
Text
Processing!
Algorithms!
I%",+B'$Y+4+B',$L,"6'>%$<'20@',.$
?6*%%"1/*6" 5*K*"+&%:-&'"

N"7//<"O',/.-&'" H/)R&)6*',/"1/+-';"
12)&:;2&:1"
PQ"$1/)*-&'+" –! I''$="4'-$+41$F/+$8+8',D$
KB02'$ghhi$
G&'-':&:+%@"8:$%1"*'="
=/.%&@/="R&)"1/+-';"
(')H?,0'412.$K,>&0%'>%/,'$
a*"-%2.$#+22'%H?,0'412.$%""_b$
Encapsulates
storage
detail!!

Fast!!

Free!!
Cacheable!!

Jboss/Tomcat!

Optimised Optimised
disk access!!
Storage Manager! server config!

GPFS SAN!

Spend £ on the
right !
Infrastructure!
(&+%$0-$B"04B$"4$
#0%&$%&'-'$8'+C-]$
&',']$
!.8"%&'-0-$

<0,'>%",0'-$+,'$)'>"*04B$?/22D$-2"#04B$
,+41"*$+>>'--$%"$N2'-$
L,'10>3"4$

K$-04B2'$10,'>%",.$#022$,'-/2%$04$
204'+,2.$1'B,+104B$8',?",*+4>'$
X/%>"*'$

K1+8%$%&'$10,'>%",.$-%,/>%/,'$%"$%+C'$
+1@+4%+B'$"?$%&'$/41',2.04B$N2'$
-.-%'*$
j*8,"@04B$G4%',8,0-'$K,>&0%'>%/,'$

Reduced Scalable!!
Load!
Carrier!
Carrier! Integration Storage
Carrier! Gateway!
Carrier! Database! Manager!

Voice to
Post
Text
Processing!
Algorithms!
“She’ll be
right”! Just shoehorn
it in that
other program!
I%",+B'$Y+4+B',$R'4'N%-$
•! j**'10+%'$,'1/>'1$2"+1$"4$04%'B,+3"4$
1+%+)+-'$
•! G4+)2'1$,'*"@+2$"?$>"1'$?,"*$-.-%'*-$
•! 3/%$K/)/="8:+$'/++"K*%:/"8@"<//.$';"
,:+1&6/)+"2*..@"

•! WA&'$)'-%$-"U#+,'$#'$&+@'$'@',$1'82".'1^$
–! X8',+3"4-$10,'>%",$ jV22$>"*'$)+>C$%"$%&0-$
(&+% V-$#,"4B$#
0%&$%&0-$80>%/,']
$
Scalable!!

Storage
Manager!

Voice to
Text
Algorithms!
Just shoehorn
it in that
other program!
(&+%$0?Z$

('$%""C$"/,$04-80,+3"4$?,"*$
-/>>'--?/2$(')H->+2'$>"*8+40'-]$
(&+%$0?Z$

K41$%""C$%&'$3*'$%"$/41',-%+41$"/,$
IkK-]$
(&+%$0?Z$

K41$80>C'1$%&'$,0B&%$%'>&4"2"B.$
-"2/3"4]$
T"%$6/-%$%&'$"4'$#'V,'$)'04B$-"21]$
(&+%$0?Z$

('$)/02%$+$->+2+)2'$>"*8/%'$
82+c",*]$
P,01$L,"6'>%$<'20@',.$
S*);/)"1/*6" 5*K*"+&%:-&'"

N4T"7//<"O',/.-&'" H/)R&)6*',/"1/+-';"
12)&:;2&:1"
PU"$1/)*-&'+"
G&'-':&:+%@"8:$%1"*'="
=/.%&@/="R&)"1/+-';"
(')H?,0'412.$K,>&0%'>%/,'$
a@',.$#+22'%H?,0'412._b$ Fault
Tolerant!

ASR! ASR! ASR! ASR!


Fault
Tolerant!

Grid Pipeline!
Embedded Jetty!
Just Embedded Jetty!
HTTP! Embedded Jetty!
Embedded Jetty! Just
Embedded Jetty! HTTP!
Grid Manager!
Grid Manager!
Grid Manager!
Grid Manager! Sustainable
Grid Manager! container for
business logic!

ASR! ASR! ASR! ASR!

£0! Grid Pipeline!


Software
Infrastructure!
j*8,"@04B$G4%',8,0-'$K,>&0%'>%/,'$

Scalable Processing Platform!


Massively
Reduced
Load! Scalable!!
Carrier!
Carrier! Integration Storage
Carrier! Gateway!
Carrier! Database! Manager!

Post
Grid!
Processing!
“She’ll be
Scalable,
right”!
sustainable!!
P,01$R'4'N%-$
•! I>+2+)2'D$,'-020'4%$82+c",*$
•! K20B4'1$#0%&$)/-04'--$B"+2-$
•! `/,%&',$,'1/>'1$2"+1$"4$04%'B,+3"4$1+%+)+-'$
•! I'%$+,>&0%'>%/,+2$8+7',4-$
•! 3/%$K/)"8:+$'/++"K*%:/"8@".)&,/++$';"6&)/"
6/++*;/+"*1"%&B/)",&+1"12*'"/K/)"8/R&)/"

•! WA&'$)'-%$-"U#+,'$#'$&+@'$'@',$1'82".'1^$
–! X8',+3"4-$10,'>%",$ R'7',$'@',.$3*'_$
Rs 6,800 lakhs!
Up-Front Cost of Bus Architecture!
Rs 680 lakhs!
Actual Cost of Completed Project!
Rs 0!
Cost of Middleware!
A&'$(')$#",C-$

K41$0%-$'>"4"*0'-$"?$->+2'$
'>208-'$."/,$@'41",-V$