Why Teams call analytics are critical to your entire business
Using WSO2 as a Mobile Services Platform
1. Using WSO2 as a Mobile
Services Platform
by
Simon Bilton
Head of Professional Services
Gödel Technologies Europe Ltd
In association with Transport for London
2. 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
3. 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
4. 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
5. 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.
6. 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
7. 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
8. 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
9. 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” services Transparent technology
Virtualised environment with Consistent delivery of
management dashboard service and information
Better Customer Encourage use of TfL transport “One view” of the
Experience Increased customer satisfaction information
Personalised, not generic
Reduced Risk Common capabilities and Technology change has no
services interoperate from negative impact
inception
Greater Control Strong governance and Confidence in the vision of
architecture ensure change is TfL as a public service
driven by the business
Commercial Opportunity Defined and controllable Low cost, high quality
interfaces enables monetisation service
of services Rich, diverse information on
demand
10. Extensible and Scalable
Service Interfaces & SDK
Governance & Architecture model
Multimodal Service Orchestration
Transport Sector Verticals
Timetables
Parking/Congestion
National Coaches
Regional Buses
Stops & POI
Common Services
Management
Network Rail
Monitoring
Reporting
Logistics
Eurostar Incidents
ATOC
TfL
Journeys
Location
Personalization
Payments
TFL Common Capabilities
Why think outside of the box when the box can think for itself ?
16. Core Components
• 2 x WSO2 ESB Nodes as Load Balanced Cluster
Common configuration files on shared storage
Running 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
20. 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
21. 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
22. 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
23. 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)
24. Challenges we faced
Required 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
25. 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
26. Thank you for listening!
- Any Questions?
- See Vladimir !!
27. TfL Trivia
Number of individual passengers carried on theyear:
Distance travelled by each Tube train each Tube
each year: Length of Network:
123,600km / 76,800 miles
402km/249 miles
28 million
28. More Trivia …
Busiest stations:
Total number of escalators:
During the three-hour morning peak, London's busiest Tube station is:
Deepest lift shaft:
Waterloo with 51,100 people entering
41255.2m/181ft
Hampstead -
The busiest station in terms of passengers each year is:
Victoria with 76 million
Notas del editor
ATOC – Association of Train Operating CompaniesPoI – Point of Information
SMS Database = stored messages
LBS etc also outbound from DC2
There are 26 services in total beingproxied through the ESB. These services pass messages to and from external services.Ancillary SMS = g