Enterprise Interoperability Through SOA. Case Study: The...

20
Enterprise Interoperability Through SOA. Case Study: The Central London Congestion Charge.

Transcript of Enterprise Interoperability Through SOA. Case Study: The...

Page 1: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Enterprise Interoperability Through SOA.Case Study:

The Central London Congestion Charge.

Page 2: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging2 ©2008 Deloitte MCS Limited. Private and confidential

• Background to the London Congestion Charge

• What’s a service?– Contextual view– Solution Elements– Service Catalogue– Example

• What is needed of a service for interoperability?– Technical delivery– Service levels– Governance

• Some lessons learned

Agenda

Page 3: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging3 ©2008 Deloitte MCS Limited. Private and confidential

Background• Went live in 2003 then extended

in 2007– More than 100,000 people pay the

charge each day.– Reduction in vehicles entering the

zone of c15%– Net revenue of £137m reinvested

in London’s transport– Enforced by a network of more than

1000 cameras.

• Low Emission Zone started last year.– Aim is to deter the most polluting heavy

diesel vehicles from driving within Greater London.

– Affected vehicles must meet a minimum emissions standard of Euro III for Particulate Matter.

– Compliance to date is high with most affected vehicles either fitting abatement devices or diverting from London.

Page 4: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging4 ©2008 Deloitte MCS Limited. Private and confidential

Page 5: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging5 ©2008 Deloitte MCS Limited. Private and confidential

Original implementation was successful

“Probably the one shining example of a 'big bang' implementation that went okay was congestion charging in London which was

'big bang'. Yes, there were some teething problems, but comparedto other 'big bangs' in the public sector it was a massive success“

Sir Peter Gershon CBE

Minutes of Evidence taken before the Public Administration Select Committee, Civil Service effectiveness 3 February 2005.

Page 6: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging6 ©2008 Deloitte MCS Limited. Private and confidential

The case for a more architected approach

• Original contracts were mostly output based with a single supplier:– Had to give suppliers maximum flexibility to meet aggressive implementation

time line– Wanted suppliers to own and manage the delivery risks

• However as the scheme evolved TfL wanted to be more control of the service and the solution:– To reduce tie in to a single supplier reducing cost of change– The future plans became more uncertain (politically driven) demanding a more

flexible solution– Experienced business users had increasingly sophisticated requirements for

the provision of services and wanted more control– Potential for shared services

Page 7: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging7 ©2008 Deloitte MCS Limited. Private and confidential

The Contextual View

Enforcement and Detection

Infrastructure Service

Providers

Core IT Services RetailService

Providers

Business Operations

Service Provider

Enforcement Operations

Service Provider

DVLA

The Adjudication Service

Traffic Enforcement Centre

On Street Enforcement

Bailiff

Customer

Fleet

Reimbursement Partner

Selected Partner

TfLVOSI

CAPITA

TfLTraffic Monitoring

TfLMIS

Outstanding Debt

Debt Registration

Appeal

Persistent Evader

VOSI Alarm European Debt Recovery Agency

Contravention forForeign Vehicle

Selected PartnerManagement

ChargeRe-imbursement

Fleet AccountManagement

Traffic/Volume Data

MerchantAcquirer Service

ElectoralRollSMMT

TECOPerson Liable/Registered Keeper

TfLFinance

TfLBank

Account(s)

LTCCDiversionDetails

TfLPMA

Extended case /Escalated issues

Diplomatic MissionsPCN

County Court

Metropolitan PoliceAuthority

Key

Re-let Solution Architecture

Author: Technology & CommercialPaul Johnson

Version: 003 Release / option: Baseline

View: Context Diagram

Third party

Challenge Pack

Data & Statementsfor fraud cases /

VOSI Alarm

100% Discounted Fleet Partner

Fleet AccountManagement

Legacy

Page 8: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging8 ©2008 Deloitte MCS Limited. Private and confidential

High level solution elements – The course grained services

• Vehicle Usage Detection– Systems for detecting an individual’s

usage of the scheme.

• Retail– Suppliers to provide a network of

convenient payment facilities.

• Customer Services– Systems for registration, enquiry

and/or complaint handling, payments, billing and/or account management.

• Enforcement – Systems to chase those who fail to

comply.

• Core IT– Provides custom functionality for

pricing and identifying contraventions.

Vehicle Usage

Detection

Customer Services

Retail Enforcement

Core IT

Page 9: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging9 ©2008 Deloitte MCS Limited. Private and confidential

Services catalogueS01: AccountServiceS02: ChargingEngineServiceS03: ContraventionCandidateServiceS04: CustomerCommunicationServiceS05: PaymentAccountServiceS06: DetectionEventServiceS07: EnforcementServiceS08: ERServiceS09: MessageServiceS10: MISServiceS11: PaymentServiceS12: RejectedContraventionCandidateServiceS13: ShadowPaymentAccountServiceS14: SubSystemStatusServiceS15: TagAnomalyServiceS16: TagVRMMappingServiceS17: ValidationServiceS18: VehicleListManagementServiceS19: VehicleLookupServiceS20: VoSIServiceS21: PartnerAccountServiceS22: ChargingEvidenceServiceS23: AssociatedVehicleServiceS24: AssociatedTagServiceS25: DiscountServiceS26: ImageServiceS27: AuthoritativeTagVRMMappingServiceS28: AuthoritativeDSRCActionListManagementServiceS29: DSRCActionListManagementServiceS30: AuthoritativeVehicleListManagementServiceS31: ProxyPaymentService

• Solution architecture defined 31 services.

• Each Solution Element implements a subset of these services.

• Each service implements one or more operations. 130 defined in the solution architecture.

• For each operation the data types consumed and produced are defined. We have 278 of these..

• The usage to be implemented is then defined. We specified 50 interactions.

Page 10: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging10 ©2008 Deloitte MCS Limited. Private and confidential

Customer Service

Core ITVehicle Usage Detection

Basic Congestion Charge process through to contravention

Image matched

to paymentCustomer pays the charge by phone,

by SMS text message, at retail outlets or by post

Vehicle captured on camera

Automatic number plate recognition

technology used to identify vehicle

VRM added to database

Vehicle enters zone

Page 11: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging11 ©2008 Deloitte MCS Limited. Private and confidential

Service definition

S06: DetectionEventService

Interface ID Operation ID Operation Name

DExCS0606 OP0606 SubmitMatchData

DExCS0607 OP0607 SubmitSessionRecord

DExCS0608 OP0608 SubmitSR

DExCS0609 OP0609 SubmitTagRecord

DExCS0612 OP0612 SubmitSRRejectionResponse

Implemented by: Core

Used by: Detection and Enforcement Infrastructure Solution

Element to inform the Core Solution Element of Vehicles detected by the road-side infrastructure.

Page 12: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging12 ©2008 Deloitte MCS Limited. Private and confidential

Operation definition

OP0608: SubmitSRThis Operation is used to submit Summary Records (SRs - text-based summaries of Evidential Records) to the Core Solution Element. When a Summary Record is first created the initial version number sent to the Core Solution Element shall be "0", and the updated date shall be omitted. The Core Solution Element shall then store the record as version 1 with the modification date set to the time the record was persisted

Operation

Operation ID OP0608 Operation Name SubmitSR

Expected Usage

The Detection and Enforcement Infrastructure Solution Element is expected to transfer all Summary Records to the Core Solution Element using this Interface.

Input Data Type ID D3.08.11 Input Data

Type SRType

Output Data Type ID D2.07.01 Output Data

Type MessageBodyType

Operation Type A

Associated InterfacesInterface ID DExCS0608 From D&EI To Core

Page 13: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging13 ©2008 Deloitte MCS Limited. Private and confidential

Data type definitions

SRType (D3.08.11)Where a Vehicle is captured by a camera, an SR (Summary Record) is produced. This is a textual summary of the image, together with information about where and when the record was captured and any manual checking the image may have gone through. This Data Type is used by Core to determine whether this detection resulted in any form of Chargeable Item. If the Vehicle is suspected of having contravened any of the Schemes, the ER corresponding to this SR is then requested from the appropriate provider of the D&EI Solution Element for enforcement purposes.The SRType includes an "interpretedVRM" which is the VRM as interpreted by ANPR technology and a "VRM" field which is the latest working value of the VRM. The "VRM" will be the same "interpretedVRM" initially, however as the SR goes through checking processes, only the "VRM" field will be updated.The SR includes a version number, which must be incremented each time the record is modified.

AttributeName Type Cardinality Description

directionOfTravel directionOfTravelEnumeratedType 1..1

Direction in which Vehicle was travelling at the time of detection.

provider providerEnumeratedType 1..1

The provider of the D&EI Solution Element that submitted this SR.

ANPRConfidenceLevel string 1..1 The Confidence Level as

reported by the ANPR.

ANPRId string 1..1 The ID of the ANPR unit producing this evidence.

Page 14: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging14 ©2008 Deloitte MCS Limited. Private and confidential

Sequence diagramCoreE&DI

1) Detect Vehicle

DetectionEventService

SubmitSR()

SubmitSessionRecord()

Process SR through Scheme rules

2) Determine whether SR is required for charging purposes

ValidationService

SubmitSR()

3) Send required SR to D&EI for assurance4) Assure SR and return modified record to Core

5) Does Core wish to request D&EI to hold the ER associated with this SR?

CoreD&EI

BatchSubmitERRetentionRequest()

ERService

{IF Yes GO TO step 6ELSE END}

6) Add ER ID to the list for the batch request; continue processing SR

7) Submit batch request for ER retention

RequestSRAssurance()

Page 15: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging15 ©2008 Deloitte MCS Limited. Private and confidential

Pragmatic delivery of services

• Want loose coupling therefore tend towards:– Asynchronous message based (MQ ubiquitous)– Batch FTP (old fashioned, but still very effective)

• For synchronous (preferably non transactional):– Web services

• Message form– XML– Non proprietary schemas

Image Hub Providers SystemsWEZ Providers Systems

WEZ InstationApplication Interface

OutboundMessage

Sent

MessageQueue

MessageQueue

Queuessynchronisedby message

queuingsoftware

InboundMessageRecieved

Interface

Image HubApplication

IntermediateEvidence Store

AcknowledgementRecieved

MessageQueue

MessageQueue

Queuessynchronisedby message

queuingsoftware

AcknowledgementSent

Page 16: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging16 ©2008 Deloitte MCS Limited. Private and confidential

Service levels

• Need to relate to business need:– Is 24 x7 and 99.9% availability really necessary?– Does the service need to provide sub second response?– Don’t measure servers but services.– Must be measurable.

• Understand implications of service failures across provider boundaries:– Who ultimately takes the consequences?– Set penalties proportional to impact and/or cost of delivering the service– Create margin in service levels between provider and consumer of services

Page 17: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging17 ©2008 Deloitte MCS Limited. Private and confidential

Governance structure

Senior Responsible

Officer

Requirement Owners

Owner 1 Owner 2 Owner n

Programme Manager

Design AuthorityProject Office

Architecture/Design Team

Subject Matter Experts

Project Teams

Project

Enterprise Architecture Design Authority

Business Strategy Design Authority

ProgrammeDA Leader

Proj Arch Proj Arch

DA Leader

Proj Arch Proj Arch

DA Leader DA Leader DA Leader

Enterprise Architect

Enterprise Architect

Project

Business Strategy Lead

Business Strategy LeadBusiness Strategy Lead

Sol

Arch

Domain

Arch

Project

ProgrammeDA Leader

Proj Arch Proj Arch

DA Leader

Proj Arch Proj Arch

Project

Sol

Arch

Domain

Arch

Project

ProgrammeDA Leader

Proj Arch Proj Arch

DA Leader

Proj Arch Proj Arch

Project

Sol

Arch

Domain

Arch

Project

Enterprise Architecture Design Authority

Business Strategy Design Authority

ProgrammeDA Leader

Proj Arch Proj Arch

DA Leader

Proj Arch Proj Arch

DA Leader DA Leader DA Leader

Enterprise Architect

Enterprise Architect

Project

Business Strategy Lead

Business Strategy LeadBusiness Strategy Lead

Sol

Arch

Domain

Arch

Project

ProgrammeDA Leader

Proj Arch Proj Arch

DA Leader

Proj Arch Proj Arch

Project

Sol

Arch

Domain

Arch

Project

ProgrammeDA Leader

Proj Arch Proj Arch

DA Leader

Proj Arch Proj Arch

Project

Sol

Arch

Domain

Arch

Design Authority:• Appoint an individual to be the

Design Authority

• Established group of requirement owners

• Consult subject matter experts but avoid design by committee

Typical Problem:• Solution crossed organisation

boundaries

• No end-to-end owner

• Many experts in areas of the solution

Page 18: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging18 ©2008 Deloitte MCS Limited. Private and confidential

Lessons learned

• Must have design authority responsible for end-to-end solution. (Both technical and business)

• Must establish clear governance and responsibilities. Include all interested parties to get buy-in and have escalation process to make decisions where necessary.

• Nailing down requirements is not possible but identifying a range of scenariosto architect for is.

• Minimise likely change impact through defining services boundaries which encapsulate business logic likely to change or to enable change through differing assembly of services.

• Need clean well defined interfaces with well defined and measurable service levels between any separable solution elements.

• Need to ensure shared understanding through good communication and clear architectural models and artefacts.

• Need to produce detailed specification of service interfaces and usage in Architecture/High Level Design phases.

Page 19: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Transport for London Congestion Charging19 ©2008 Deloitte MCS Limited. Private and confidential

Email: [email protected]

Questions?

Page 20: Enterprise Interoperability Through SOA. Case Study: The ...archive.opengroup.org/public/member/proceedings/q209/q...This Operation is used to submit Summary Records (SRs - text-based

Member ofDeloitte Touche Tohmatsu