using wso2 as a mobile services platform
DESCRIPTION
TRANSCRIPT
Using WSO2 as a Mobile Services Platform
by
Simon BiltonHead of Professional Services
Gödel Technologies Europe Ltd
In association with Transport for London
In this session …..
• How Transport for London use WSO2 ESB as the main platform for mobile services
• Focus on “What” rather than “How” – I will be discussing the high level solution rather than the intimate details of the code we have developed
• Real world experiences – some of the issues we found and overcame
• Meet the developer(s) afterwards
30 seconds of corporate background
Software Development Organisation
Established in 2005
HQ in Manchester, England
Development Centre in Minsk, Belarus
Approximately 80 staff
Represented at WSO2Con 2011 by Simon Bilton, Head of Professional Services and Vladimir Klevko, Senior Developer
About Transport for London
Transport for London (TfL) is the government body responsible for most aspects of the transport system in Greater London in the UK
Examples of the transport modes and services operated by TFL:
• London Underground also known as the Tube
• Surface Bus Network
• Journey Planner and Travel Alerts
• Near Field Radio pre-payment card (Oyster)
• Cabwise SMS (Text) for TAXI Information Services
Journey Planner Services
Journey Planner delivers travel information to the public via Web and WAP channels and associated content delivery platforms with over 95 million trip requests per month from 4 million unique users.
Journey Planner has year on year growth of over 20 % and remains one of core internet services in promoting easy of transport planning across London.
TfL WAP portals delivers 100,000 trip requests per month with a year on year growth rate of 10%.
Travel Alerts sends out 950,000 email alerts and 900,000 SMS alerts each month advising of transport problems.
Transport for London’s Vision for a Mobile Services Platform
•Consolidation of mobile messaging services across TfL
•Extension of personalised services within Journey Planner
•Upgrading Current Mobile & Wireless Services
• Introduction of rich-client applications to the Mobile Journey Planner Services Portfolio
•Introduction of enhanced Real Time Information Services
• Building a foundation platform to allow quick and efficient integration of current and future TfL services
• Building of other travel related services for the community, such as bicycle lane information
The Challenges
• Build a scalable, reliable foundation platform
• Promote reusability of all system components
• Extend the personalisation from 200,000 travel alerts users up to 5 million mobile and web users
• Integrate real time services
• Meet the demands of 4 million users and 95 million journey resolutions per month
• Deliver over 1 million SMS and email alerts per month now, with a growth rate of 20% per year
• Allow easy integration of new services in the future
The Core Design
• TfL mandated that the solution should be designed and built using Service Oriented Architecture principles
• Use a high performance Enterprise Service Bus
• Enforce strong governance and architectural principles
• Establish a single point of integration for current and future TfL services
• Define and re-use infrastructure, software and processes
Design Benefits
Benefit Benefit to TfL TfL’s Customer Benefit
Cost Reduction Reduced physical infrastructure
Quality of service through focussed investment
Reduced Complexity “Building Block” servicesVirtualised environment with management dashboard
Transparent technologyConsistent delivery of service and information
Better Customer Experience
Encourage use of TfL transportIncreased customer satisfaction
“One view” of the informationPersonalised, not generic
Reduced Risk Common capabilities and services interoperate from inception
Technology change has no negative impact
Greater Control Strong governance and architecture ensure change is driven by the business
Confidence in the vision of TfL as a public service
Commercial Opportunity
Defined and controllable interfaces enables monetisation of services
Low cost, high quality serviceRich, diverse information on demand
Extensible and Scalable
TFL Common Capabilities
TfL
Netw
ork
Rail
Eu
rosta
r
Log
isti
cs
Park
ing
/C
on
gesti
on
Nati
on
al
Coach
es
Reg
ion
al B
uses
ATO
CTransport Sector Verticals
Com
mon S
erv
ices
Multimodal Service Orchestration
Service Interfaces & SDK
Gov
erna
nce
& A
rchi
tect
ure
mod
el
Mon
itorin
g
Man
agem
ent
Repo
rting
Timetables
Stops & POI
Incidents
Journeys
Location
Personalization
Payments
Why think outside of the box when the box can think for itself ?
Core Components
• 2 x WSO2 ESB Nodes as Load Balanced Cluster
Common configuration files on shared storageRunning identical services on both nodes
• 2 x Application Servers as Load Balanced Cluster
• 2 x Message Broker Servers as Master-Slave Cluster
• 2 x WSO2 BAM servers in Active-Passive mode
WSO2 ESB Interfaces
26 proxy services are deployed on ESB which provide the following functionality across the whole solution:
• Journey Planning Services (including Travel Alerts services)
• Address, Geolocation and LBS Lookup Services
• Mobile Application Building Services
• Incident Command System (ICS) Services
• Utility and Intelligent Router Services
• Cabwise service
Utility Service
• Used to receive and send SMS and emails
• Email sent via SMTP relay servers using load balancing algorithm
• SMS text messages sent and received on different channels using SMPP gateway*
• Highly re-usable, can be called directly or used in conjunction with Intelligent Router service
* SMPP=Short Message Peer to Peer Protocol
Intelligent Router Service
• Used to route messages based on user configurable parameters such as:
SMS short-code and keyword
Email address and subject
• Incorporates profanity and abuse filters
• Functional Requirement: Operators must be able to easily add or modify the parameters without changing application
• Uses fixed or flex keywords
Cabwise• Send a text to short-code 60835 with valid keyword
such as “home” or “cab” or a valid postcode
• Message received and processed by Intelligent Router
• Calls Location Based service to locate user’s geo-position (Latitude/Longtitude)
• Performs database lookup for two nearest licensed taxi firms
• Sends reply SMS to user with phone numbers of taxi firms
• (Premium SMS message – so TfL costs are covered)
Challenges we facedRequired huge amount of co-operation between all parties (3 main suppliers plus 4 or more sub-contracted agents)
Interdependencies between most suppliers
Managed infrastructure environment was a pain!
• Dual network cards in servers a particular nuisance for bindings
Bugs or lack of functionality in WSO2 ESB
Limited documentation on WSO2 ESB and WSO2 BAM to assist with deployment
Although not a Godel deliverable, the migration of existing users was a major issue
Open Source to the Rescue!
Due to the Open Source nature of WSO2 we were able to change or fix the shortcomings of some of the code such as:
• Added several message builders to meet requirements
• Start up failure on underlying service unavailability was fixed. Unavailable proxy service is replaced with the fake service returning valid SOAP fault
• Ability to re-deploy proxy services on the fly was added
• A fix was implemented to address the issue with WSDL not being returned when many concurrent requests were being sent
• 202 (Accepted) response was replaced with valid SOAP fault as all proxy services are synchronous
TfL Trivia
Distance travelled by each Tube train each year:
123,600km / 76,800 miles
Number of passengers carried on the Tube each year:
1,073 million
Number of individual passengers carried on the Tube each year:
28 million
Average Train Speed:
33kph / 20.5mphLength of Network:
402km/249 miles
Proportion of the network in tunnels:45%
Longest continuous tunnel:
27.8km/17.25 miles
More Trivia …
Total number of escalators:
412 Station with most escalators:
Waterloo with 23 plus
two passenger conveyorsTotal number of lifts: 122
Deepest lift shaft:
Hampstead - 55.2m/181ftShortest lif
t shaft:
Westminster -
2.5m/8ftBusiest stations:
During the three-hour morning peak, London's busiest Tube station is:
Waterloo with 51,100 people entering
The busiest station in terms of passengers each year is:
Victoria with 76 million