37
Enterprise SOA at New Zealand Transport Agency. Thomas Erl and the Microsoft technology stack: A recipe for success Peter Davies, Pat Ryan, Kiri Brown, Joel Guevara ARC310

ARC310. The source of the Architectural Challenge Erl’s Approach Who is Thomas Erl?

Embed Size (px)

Citation preview

Enterprise SOA at New Zealand Transport Agency. Thomas Erl and the Microsoft technology stack: A recipe for success

Peter Davies, Pat Ryan, Kiri Brown, Joel Guevara

ARC310

Introductions and this Session

Getting Business

Sponsorship

SO Delivery Strategy

Why Erl’s Methodolog

yPeter Davies – CTO for New Zealand Transport Agency

Pat Ryan – Strategy and Architecture Practice Lead for Resultex

Joel Guevara – Development Practice Lead for Inov8

Kiri Brown – Solution Architect and business SME (New Zealand Transport Agency)

Pat Ryan – Why Erl’s Methodology?

Erl and Service Oriented Architecture

The source of the

Architectural Challenge

Erl’s Approach

Who is Thomas Erl?

Thomas Erl

“Before jumping into cloud, learn from the SOA experience”

http://www.zdnet.com/blog/service-oriented/before-jumping-into-cloud-learn-from-the-soa-experience/8438

Why Erl?He answers some really important questions:

What types of services do you need?

How do you “discover” services?

Where do you start?

The one big challenge with Erl

Educating the team

Read the Erl books

Workshops and coaching

Homework… and then lots of coffee and sugar!

The source of the first big opportunity!Both of these key self-service business processes include stand-alone payment logic somewhere in the process…

TollingRUC

By User:AlbertHerring (CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0),via Wikimedia CommonsImage Copyright Sandy Gemmill. This work is licensed under the Creative Commons Attribution-Share Alike 2.0 Generic Licence.

Uncovering current functionality

By User:AlbertHerring (CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0),via Wikimedia Commons

RUC has complex payments-related requirements

It has its own implementation for:

Payment processing

GL reconciliation and disbursement

Multiple bank accounts

Special legal requirements

Uncovering current functionality

Tolling has its own implementation for:

Payment processing

GL reconciliation and disbursement

Penalties

legal requirements …Image Copyright Sandy Gemmill. This work is licensed under the Creative Commons Attribution-Share Alike 2.0 Generic Licence.

Uncovering current functionality

And 14 other systems (that we know of) have used different approaches…

 © Copyright Stephen Charles and licensed for reuse under  Creative Commons Licence

And the proposed solution…

A new shared service that hides all the complexity and handles multiple types of payment items in a single request

Walterdale Bridge concept art. City of Edmonton handout

Kiri Brown – Architecting the SO journey

The SO Delivery Strategy

What the approach looks like

The principles used to guide the approach

Approach to adoption of

Service Orientation

(SO)

How the Agency approached SOBy understanding that:

The benefits will grow incrementally along the way

The journey will bring change for people, process and technology

The Agency are embarking on a journey

The principles behind the approach

Focus on quality first

Manage the growth and maturity

Take small incremental steps that are well planned

Some words from Gartner

“Ambitious, large-scale SOA projects will fail unless they're preceded by smaller projects that establish understanding, policies and best practices for SOA development.”

Applied SOA: Transforming Fundamental Principles into Best Practices, Gartner, 2007

What NZTA’s approach looks like

Services Strategy

ConceptIntegration

Strategy

Pilot

Foundation

Emerging SOA

Mature SOA

Pat and Joel Guevara

“Joel can field deep technical questions and demonstrate the tools and techniques we used outside this session if you would like to dig a bit deeper”

The Technology Challenges

Ongoing Challenges

The Critical Success Factor

Designing and Building the Services

In our Microsoft ecosystem we learned ... how to design and build the services:

How to model and then generate contracts

How to unit and system test services

How to approach Production deployment

How to prepare for the journey to “the cloud”

Enterprise Schemas to Service Contracts

EDMContractXML and

WSDL

WCF services

Web service standards we adopted•WS-I Basic Profile 1.2•WS-I Basic Security Profile 1.1•Simple Object Access Protocol (SOAP) 1.1•WSDL 1.1•XML 1.0•XSD 1.1

The number one critical success factor … is Business Domain Modelling … BUT

We often had:

Too many parties

Too many points of view

… leading to steadily increasing complexity

Further challenges we are facing

Controlling the versioning of contracts/code

Maintaining service levels over time

Security concerns (PCI)

Line-of-sight EDM -> Contract

Key design considerations

Contract first ,stateless, interoperable and platform agnostic services

Transaction management

Complex service compositions

Asynchronous processing and pub-sub

Peter Davies - CTO

Getting Business Sponsorship

What did we learn?

Demonstrating capability

and commitment

Where did we start from?

Where did we start from?

Enterprise Service Bus project

Technology lead project

Business not engaged in project

Where did we start from?

Enterprise Service Bus project

Technology lead project

Business not engaged in project

2 projects with SO delivery

SO delivery funding

Demonstrating Capability and Commitment

Created a production ready service

Demonstrating integration to legacy systems

Demonstrated a solution to a business problem

SOA Project Watch-Points

Service Orientated delivery is like digging a mine

Projects Quality

Get involved in planning of business projects with SO delivery

“Don’t call it SOA” – call it something else, e.g. Reusable Services

Questions and Discussion

P.S. The initial Pilot produced comprehensive documents describing the technology, the technical methods and processes, the governance model and the business strategy for SOA

Our Microsoft EcosystemInfrastructure

Business Layer

Presentation Layer

Service Layer

Data Layer

UI Components

HTML5, CSS3

Core Client Side Framework

AngularJS 1.2

Core Server Side Framework

ASP.NET MVC 5

Cross-cutting

Presentation Logic

ASP.NET Web API,.NET Classes

Service Interfaces

Windows Communication Foundation 4.5

Object Relational Mapper

Entity Framework 6

Core Library

.NET Framework 4.5

Logging

Log4Net 1.2.13

Dependency Injection

Ninject 3.2

Service Contracts

WSDL 1.1, XSD 1.0

Business Entities

.NET Classes

Business Logic

.NET Classes

Message Security

WS-SecurityX.509 Certificate

Operational Management

Windows Server AppFabric 1.1

Server Operating System

Windows Server 2012

Web Server

Internet Information Services 8

Data Sources

Virtualisation

VMWare ESX 5

Database Server

Microsoft SQL Server 2012

Load Balancing

F5 BIG-IP

Development Tools

IDE

Visual Studio 2013

Build Server

TeamCity 8.1

Unit Testing

Visual Studio Unit Testing

Mocking

Moq

Source Control and Defect Management

Team Foundation Server

Resources

TechNet & MSDN FlashSubscribe to our fortnightly newsletter

http://aka.ms/technetnz http://aka.ms/msdnnz

TechNet Virtual LabsFree Virtual Hands-on Labs

http://aka.ms/ch9nz

Microsoft Virtual AcademyFree Online Learning

http://aka.ms/mva http://aka.ms/technetlabs

Sessions on Demand

Complete your session evaluation now and win!

© 2014 Microsoft Corporation. All rights reserved.Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.