Top Banner
An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway © WSO2 2012. Not for redistribution. Commercial in Confidence. Jordan Corn – Director of Solutions Research for IT , AAA MA Ed Kilchinsky- Manager Mobile Development, AAA MA Miyuru Wanninayaka – Senior Software Engineer, Member Integration Technology Group, WSO2 Asanka Abeysinghe - Director, Solutions Architecture, WSO2
26

An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

May 20, 2015

Download

Technology

WSO2
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

An Enhanced User Experience for Automobile Purchases with the

WSO2 Mobile Services Gateway

© WSO2 2012. Not for redistribution. Commercial in Confidence.

Jordan Corn – Director of Solutions Research for IT , AAA MA Ed Kilchinsky- Manager Mobile Development, AAA MA Miyuru Wanninayaka – Senior Software Engineer, Member Integration Technology Group, WSO2 Asanka Abeysinghe - Director, Solutions Architecture, WSO2

Page 2: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

WSO2 Background

-  Founded in 2005 by recognized leaders in XML, Web services technologies, standards and open source

-  Primary contributors to Apache Web Services projects started in 2001 -  Funded by Intel Capital & Quest Software ($11M) -  Technology OEM’d by IBM, Progress, Software AG, Alcatel, EMC,

and CA -  Global offices:

-  Palo Alto, USA - Portsmouth, UK - Colombo, Sri Lanka

-  145+ employees and growing

Page 3: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

WSO2 Platforms and PaaS WSO2 Carbon Enterprise Middleware Platform

WSO2 Stratos Cloud Middleware Platform

WSO2 StratosLive Java PaaS

On-premise on physical or virtualized environments

Cloud-native (multi-tenant & metered), deployed as private or public PaaS

Public Java PaaS operated by WSO2

Full suite of products – start with one, click to add more

Full benefits of cloud – from using VMs to building higher level PaaS or SaaS apps

Instant access to middleware – as-a-Service

In production at 100+ F1000 enterprises; 1B txn per day at eBay

Manage central ops, enable developers to self-provision middleware services

Pay just for what you use; flexible billing

Common Code Base •  Complete middleware stack •  OSGi-based componentized platform •  100% open source and standards

Page 4: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

WSO2 support engagement model

-  QuickStart -  Development

Support -  Development

Services -  Production

Support -  Turnkey

Solutions

Page 5: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

AAA Mid-Atlantic -  Part of the AAA association, serving more than 50 million members

across the United States -  One of over 40 AAA clubs -  Territory extends from Virginia through New Jersey -  Customers include more than 3.5 million members

Page 6: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

AAA Mid-Atlantic Products

Roadside assistance Discounts Insurance

Auto repair Maps and directions

Travel booking

Auto Buying

Driver training Retail

Page 7: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Business Requirements

-  Deliver an iPhone auto buying app for the entire AAA Association

-  Deliver an app that works for different clubs with -  Different fulfillment options -  Different business rules

-  Provide the following functions: -  Allow all users to research and compare vehicles -  Present member prices to members -  Allow members (in some territories) to buy cars at

guaranteed member prices

Page 8: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Simplified Application Flow

Enter Shopping Zip

• Specify shopping location •  Intent is to allow shopping near

or away from home

Research and compare vehicles

• Select from makes/models, saved favorites, saved searches

• Study, compare, price vehicles

Contact dealers • Validate membership

number and zip code • Receive dealer

information • Transmit leads to dealers

Varies by territory

Page 9: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Technical  Requirements  

-  Communication between iPhone application and WSO2 ESB should use JSON messages

-  Backend services uses different message formats -  SOAP, REST, POX, JSON

-  Expose services provided by multiple vendors as composite services -  Minimize iPhone to ESB service calls by aggregating backend services -  Expose AAA internal database as services -  Monitor activity of Mobile Service Gateway

Page 10: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Component Architecture

Page 11: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Solu3on  Architecture  

JSON

AAA  Internal  Services  

External  Providers  

Media3on  Sta3s3cs  

ESB  Configura3on  Ar3facts  

Page 12: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Deployment  Architecture  

•  7 x 4GB dual core VMs • Clustered MS SQL server

Page 13: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Exposing Data

Data is stored in MS SQL database Stored procedures exposed as SOAP web services using WSO2 DSS 35+ backend service operations created just using XML configuration

MS SQL JDBC

WebService  

Page 14: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Monitoring

•  WSO2 BAM is used to monitor services exposed by WSO2 ESB •  Push model

•  Presents statistics in dashboard and as reports •  Email alerts •  Logging

Mediation Statistics Push

Page 15: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Manage Configuration

-  WSO2 Governance Registry is used to store artifacts of -  Shared registry instance across multiple products using registry mounts -  Each product has separate registry space -  Shared space to store common artifacts ( WSDLs, Schemas ) -  DEV > IST > UAT > PROD migration using check-in/check-out

Mount

Mount

Mount

Page 16: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Complex Service Creation

Aggregated services created in ESB using Service chaining Cloning Aggregating Conditional routing Message transformation

Individual    Services  

Aggregated  Service  

Page 17: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Get Vehicle Info By Chrome ID And Zip

-  Call GetVehicleInfoByTrimID -  Call GetDealershipInfo -  Call GetTrims -  Call In parallel

-  TrueCarPricing -  TrueCarIncentivesAndFees -  TrueCarSpecifications -  TrueCarEditorialReviews -  TrueCarStandardFeatures -  TrueCarOptionsAndColors -  TrueCarPhotos

-  Call addVehicle (DSS)

Page 18: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Get Vehicle Info By Chrome ID And Zip

GetVehicleInfo ByTrimID

GetDealership Info GetTrims

TrueCar Pricing

AddVehicle

TrueCarIncentivesAndFees

TrueCar Specifications

TrueCarEditorialReviews

TrueCarStandardFeatures

TrueCarOptionsAndColors

TrueCar Photos

Parallel Processing

Page 19: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Project Challenges: Geographical Variations

-  Primary functionality varies by geography: -  Some territories partner with the Association’s primary provider of vehicle

information and guaranteed prices -  Others use different partners -  Others do not actually offer auto buying

-  Secondary functionality varies by geography: -  Cross-promotion of related products (financing, protection, insurance) -  When member prices are shown varies

-  The app design had to handle all cases with no sense of degradation!

Page 20: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Project Challenges: Overall

-  Account for geographic variability -  Connect to multiple partners

-  Provider of vehicle data and pricing -  Provider for VIN resolution -  AAA National

-  Allow club-specific cross-promotion and messaging -  Abstract changes from the application -  Manage multiple partners -  Maintain close ties with major clubs and AAA National -  Coordinate launch across all of AAA

Page 21: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Project Challenges: Technical

-  Ability to create JSON API's -  Ability to create reliable composite services -  Ability to consume services with various message formats -  Ability to create data service API's -  Ability to have service monitoring capabilities -  Security challenges exposing internal challenges to internet -  Service response times

Page 22: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Results

-  Success! -  Store reviews have been positive -  We have passed 10,000 downloads -  Application is allowing members to research and purchase cars -  Architecture has been extremely robust -  Numerous changes have been made without app redeployment

Page 23: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Possible Future Enhancements

-  Extend application functionality -  VIN recognition -  Overall ownership cost estimates -  Used cars?

-  Port to other platforms -  Android -  iPad -  Windows Phone

-  The architecture will help us regardless of where we go!

Page 24: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

Summary

-  Reuse of existing services -  Usage gateway pattern and bus architecture to build the solution -  Unified API to hide the complex backend services -  Lightweight API with JSON -  Go to market within a shorter project cycle -  Enterprise solution with scalability, high-availability and performance

Page 25: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

More Info

§  Corporate website: http://wso2.com

§  Developer portal: http://wso2.org

§  Business development team: [email protected]

§  AAA Mid-Atlantic

§  Website : http://midatlantic.aaa.com

Page 26: An Enhanced User Experience for Automobile Purchases with the WSO2 Mobile Services Gateway

26

lean . enterprise . middleware