Dev372 Large-Scale Application Development: a Case Study Mark Brown Capita Geralyn Miller Microsoft.
-
Upload
rudolf-patrick -
Category
Documents
-
view
217 -
download
0
Transcript of Dev372 Large-Scale Application Development: a Case Study Mark Brown Capita Geralyn Miller Microsoft.
Objective
Pay per use
No toll booths
Reduce number of vehicles by 12-19%
Increase speed of travel 10-15%
Raise revenue for investment
Handle exceptions (taxis, emergency, fleets)
Requirements
Scalability: 1.5-3M events/12h
150-300k sales per day
Integration: Image, DVLA, Financial, Retail, …
Reliability: heavy penalties for outage
Evidential security
Paying the chargeType of
customerChannel of communicati
on with public
System linkages
Capita Core Systems
Fleet operator
Exempt motorist
Discount motorist
General motorist
Merchant acquirers
DVLA
3rd PartyAgents
TfL
On Street Enforcement
Post
Web
Retail
Call centre
IVR
SMS
Scheme administrationDiscounts
Blue badge holdersResidentsAlternative fuel vehiclesElectrically propelled vehiclesTaxis / minicabsLarge passenger (9+) vehiclesEmergency services vehiclesLondon Borough operated vehiclesBreakdown / recovery vehicles
Fleet accountsDecrementing SchemePeriodic Notification Scheme
General accounting
A vehicle enters the
zone
Vehicle passes a camera Manual check
DVLA – registered
keeper query
Effective enforcementImage deleted
Paymentvaliditycheck
Image Capture
Number plate ‘recognised’
PCN issued
A day in the life…
VideoImage
Number Plate
Image Capture & Licence Validation
Automated NumberPlate Recognition (ANPR) System
Area Store for Charges
Payment Processing
Finance System
Charge, PCN Details
Charge Details
Charge, PCN Details
Evidential Record
Unpaid Charge Details
Evidence
Customer Interactions
Call Centre
Internet
Postal
Retail
- Charge Sales- Enquiries- PCN Payments
- Charge Sales- Enquiries
- Charge Sales- Refunds- Discounts & Exemptions- Enquiries- PCN Payments
- Charge Sales- Enquiries
IVR
SMS
- Charge Sales
- Charge Sales
KeeperDetails
Unpaid Number Plate
NoticeProcessing
Enforcement InterfacesAppeals HandlingDebt RegistrationBailiff ServiceClamping & Removals
EnforcementDetails
Penalty Charge Notice
Core Systems
Fleet Administration
How did the solution use .NET?
3 tier architecture
ASP.NET for public and intranetSticky session state
Viewstate
Caching
Stateless business objects
Binary TCP/IP remoting
ADO.NET for SQL Server and Oracle
Separation of domains
PublicWeb site
Intranet plus Web Services
See: Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication pattern
SQL
Oracle
BORemotingTCP/IPBinary
Image Capture (NRS to Index Server)
IES
IES
IES
IES
IES
Connection
Connection
Connection
Connection
Connection
Connection
SQL Driver
Data Objects
Connection Pool
“Active” Web Pages
ADO.NET
Web Server – IIS5
Static Content
-HTML-Images-JavaScript
NRS
NRS
NRS
NRS
NRS
NRS
NRSData
Acceptor
NRSData
Acceptor
IES
IES
Index Table
VRM Job Queue
Index Record
HTTP Request/Response
ER
SMB
Windows 2000
NLBS
Index ServerSQL Server 2000
Integration
Web Services: DVLA, IVR, SMS
Sockets: Accounting (UNIX)
MSMQ: Retail
HTTP Post: Image Recognition
Remoting: inter-module
Deployment
Primary Image Centre
DR Image Centre
Primary Data Centre
DRData Centre Primary
Contact Centre Secondary Call Centre
DR
Merchant Acquirer
DVLA
Retail Service Providers
Bulk Printers
Traffic Monitoring
3rd party enforcement
Telephony TfL HQ
Calls
Zone Cameras Comms
Hardware Topology
Compaq servers
ASP .NET Public Web Site: 3 servers (dual proc blades)
ASP .NET Intranet and Web Services: 4 servers (dual proc blades)
Web Services: 2 servers (dual proc blades)
Hardware Load Balancing, Hardware encryption
Application Servers: 3 servers (quad processor)
Development Process
Visual Studio .NET
VB.NET (>80%), some C#
Patterns and Practices:Exception Management block
Configuration Management and Deployment
Performance Tuning Tips for ASP.NET Applications
Built weekly initially, then daily as milestones approached
Lifecycle ManagementEnvironments
MastekDevelopmentLoad Testing
CapitaIntegrationFunctional TestingLoad Testing (replica of production)Full Production
Lifecycle ManagementTools
Source Control: Visual Source Safe (Mastek)
Load TestingWebLoad (Mastek)
Mercury Load Runner (Capita)
Defect Tracking: PVCS Tracker (both)
Configuration Management: PVCS (Capita)
Lifecycle ManagementTeam
Mastek Development team of 100 people including PM, test, design, build, infrastructure
CapitaDedicated integration teamDedicated configuration management team – CD based deliveriesInfrastructure team had environment managers and technical support staff for install, buildOperations team to support production environment
4 To pay for another car other than your usual one, simply include its registration number
3 You’ll get a receipt back within a minute or two
2 …and text it to a five-digit number
1All you need to do is register once, then: To pay a day’s charge, key in the last four digits of your payment card…
SMS Payment
Menu Back
4712
Send Clear
81099
Down Up
Menu Back
4712 BT51YDG
…charge for £5 for W737UAR for Tue 18202. Your receipt reference...
Timeline
May2000
Ken
ele
cted
as
May
or
Aug2001
TF
L R
FI
shoo
t-ou
t st
arte
dNov2001
TF
L co
ntra
ctaw
arde
d
Mar2002
TF
L de
velo
pmen
tst
arte
d
Jun2001
Beta 1
Oct2001
Beta 2Feb2002
Launch
Aug2002
Enq
uirie
s de
ploy
ed
Oct2002
Pay
men
ts a
nd d
isco
unt
appl
icat
ions
de
ploy
ed
Jan2003
Ret
ail s
ales
dep
loye
d
Feb2003
Ful
l dep
loym
ent
Visual Studio .NET Product Cycle
LCCProductCycle
Technical Design Study
August – November 2001
Reduced risk
Detailed designs
Team of 80
Weekly deliverables (75)
Demonstrated 53 scenarios
Proved interfaces
Capita, supported Mastek
Why .NET?
.NET vs J2EE shootout:End-to-end scenario (web to db)
+-8 developers/3 months
Results Nov 2001 (Beta2)
Reduced development time
30% lower cost with VS.NET!
Benefits of Solution
No disruption to traffic flow (Toll booths etc.)No requirement to fit anything to vehicles Multiple channels to pay the chargePre purchase not required, but can buy up to a year in advanceFlexible, scalable architectureSales available 24x7
London Today
““I have done that trip by bike for several years, and today I have done that trip by bike for several years, and today was the most glorious trip of them all.”, email to BBCwas the most glorious trip of them all.”, email to BBC
• Traffic reduced by over 25% • Queues reduced by 20 – 30%
• Traffic speeds increased by 15%
Inside the Zone
Outside the Zone
• Traffic increased on the orbital routes by up to 5%
• Traffic reduced on radial routes by 5 - 10%
Community Resources
Community Resourceshttp://www.microsoft.com/communities/default.mspx
Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/
NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx
User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx
© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.