Dev372 Large-Scale Application Development: a Case Study Mark Brown Capita Geralyn Miller Microsoft.

37
Dev372 Large-Scale Application Development: a Case Study Mark Brown Capita Geralyn Miller Microsoft

Transcript of Dev372 Large-Scale Application Development: a Case Study Mark Brown Capita Geralyn Miller Microsoft.

Dev372

Large-Scale Application Development: a Case Study

Mark BrownCapita

Geralyn MillerMicrosoft

Overview

London traffic

The application

How did .NET win?

Development

Deployment

Experience to-date

London traffic

<10 mph vehicle speed

900,000 vehicle entries

Complex topology

Old infrastructure

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)

Congestion charging zone

Public reaction before…

Public reaction after…

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 charge

Scheme Administrati

on

Key processes

EffectiveEnforcement

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

How do I pay the Charge? – Internet

www.cclondon.comwww.cclondon.com

Internet Payment

www.cclondon.comwww.cclondon.com

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

Number Plate Capture

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

London Congestion Charging System

Mark Brown

Capita

demodemo

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%

Ask The ExpertsGet Your Questions Answered

July 3, 2003 11:15-13:15

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

evaluationsevaluations

© 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.