Third Party Gateway

11
EUC 2005 Chandrashekhar Mullaparthi T-Mobile (UK) Third Party Gateway

description

Third Party Gateway. TPG - What is it. TPG is a third party gateway. Bulk MT-SMS Premium MT-SMS Receive MO-SMS Location Based Services. Why did we do it?. Replace a failing IT system Slow response times Lots of unwanted features Missing wanted features Unstable Expensive - PowerPoint PPT Presentation

Transcript of Third Party Gateway

Page 1: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)

Third Party Gateway

Page 2: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)

TPG - What is it

• Bulk MT-SMS

• Premium MT-SMS

• Receive MO-SMS

• Location Based Services

TPG is a third party gateway.

Page 3: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)

Why did we do it?

• Replace a failing IT system

– Slow response times

– Lots of unwanted features

– Missing wanted features

– Unstable

– Expensive

– Built using Weblogic, Java, DB2

Page 4: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)

How did we do it?

• 1st version in 2002– Written in 3 weeks ( warts and all )

• 2nd version in 2003– Half hearted attempt to win the political battle

• 3rd version in 2004– Political battle won!– Got rid of most of the warts (except XML)

Page 5: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)

Architecture

Nortel iSD-SSL

Transaction node

Reply nodeReal time

cust db

Prepay Db

SMSCThird Parties

HTTPS

HTTP

HTTPS

MT-SMS

MO-SMS

Logs db(1 TB)

Public node(yaws)

Public node(yaws)

Public node(yaws)

HTTP

Page 6: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)

Some Details

• yaws as the front end webserver• XML parsing using eXpat (http://www.libexpat.org/)• ibrowse as the HTTP client• mnesia based message queues• Configurable throughput for each 3rd party• All events logged in an external 1TB Oracle DB• Public node uses Sun Fire V120• Trx node uses Sun Netra T4 (dual processor)• Business Logic: nearly 11000 lines of code• Libraries: nearly 19000 lines of code

Page 7: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)

ibrowsehttp://jungerl.sourceforge.net

• My first contribution to the erlang community!

• RFC2616 compliant (AFAIK)

• HTTP/0.9, HTTP/1.0, HTTP/1.1

• Understands chunked encoding

• Named pools of connections to each webserver

• Pipelining support

• Download to file

• Asynchronous requests. Responses are streamed to a process

• Basic authentication

• Proxy authentication

• Can talk to Secure webservers using SSL

• ToDo - Use inets driver HTTP parsing

• ToDo - Support the CONNECT method

Page 8: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)

Performance

RTT: 120ms

Availability

Traffic Level

Page 9: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)

Effort• 1st version developed by me in 3 weeks

• I’ve forgotten what I did in the 2nd version

• 3rd version– Updated to meet all “known” requirements

– Kept updating as new requirements were “discovered”

– Performance tuned with Sean’s help

– Peter Lund developed a load tool

– Francesco Cesarini took over from me and did load testing, bug fixing and training of support staff. Lots of everything!

– Chris Newman helped with end to end testing and SSL troubleshooting

– Peter Whitaker held endless meetings with support to get TPG accepted

– Tammy Saunders helped setup a database for logs produced by TPG and made a poster to inspire everyone!

– Haider Mohammed was brave enough to take ownership of TPG!

Page 10: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)

Customer comments• “You have gone from the worst performing network [out

of 40 networks] to the best” - WIN (verbal quote)

• “We have achieved a 100% improvement in performance and we have not runup as any connections as we had before” - WIN CTO John Rands

• “Requests now take between 60 and 100ms. This compares well against ATK (very rarely see a transaction < 500ms) and is approaching Grouse (where most transactions tend to take 20-50ms)” - MX CTO Chris Wilson

Page 11: Third Party Gateway

EUC 2005 Chandrashekhar MullaparthiT-Mobile (UK)