2. 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
3. WSO2 Platforms and PaaS
WSO2 Carbon WSO2 Stratos WSO2 StratosLive
Enterprise Middleware Cloud Middleware Platform Java PaaS
Platform
On-premise on physical or Cloud-native (multi-tenant & Public Java PaaS operated by
virtualized environments metered), deployed as private WSO2
or public PaaS
Full suite of products – start with Full benefits of cloud – from Instant access to middleware –
one, click to add more using VMs to building higher as-a-Service
level PaaS or SaaS apps
In production at 100+ F1000 Manage central ops, enable Pay just for what you use;
enterprises; 1B txn per day at developers to self-provision flexible billing
eBay middleware services
Common Code Base
• Complete middleware stack
• OSGi-based componentized platform
• 100% open source and standards
4. WSO2 support engagement model
- QuickStart
- Development
Support
- Development
Services
- Production
Support
- Turnkey
Solutions
5. 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
6. AAA Mid-Atlantic Products
Roadside
Discounts Insurance
assistance
Maps and Travel
Auto repair
directions booking
Auto Driver
Retail
Buying training
7. 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
8. Simplified Application Flow
Varies by • Validate membership
number and zip code
territory Contact dealers
• Receive dealer
information
• Transmit leads to dealers
• Select from makes/models,
Research and saved favorites, saved searches
compare vehicles • Study, compare, price vehicles
• Specify shopping location
Enter
• Intent is to allow shopping near
Shopping Zip or away from home
9. 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
13. 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
JDBC MS SQL
WebService
14. 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
15. 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
16. Complex Service Creation
Aggregated services created in ESB using
Service chaining
Cloning
Aggregating
Conditional routing
Message transformation
Individual
Services
Aggregated
Service
17. 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)
18. Get Vehicle Info By Chrome ID And Zip
TrueCar
Pricing
TrueCarIncenti
vesAndFees
TrueCar
Specifications
GetVehicleInfo GetDealership TrueCarEditori
GetTrims alReviews AddVehicle
ByTrimID Info
TrueCarStand
ardFeatures
TrueCarOption
sAndColors
TrueCar
Photos
Parallel Processing
19. 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!
20. 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
21. 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
22. 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
23. 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!
24. 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
25. More Info
§ Corporate website: http://wso2.com
§ Developer portal: http://wso2.org
§ Business development team: bizdev@wso2.com
§ AAA Mid-Atlantic
§ Website : http://midatlantic.aaa.com