Top Banner
Specialists in Service Oriented Application Modernization www.everware-cbdi.com Opposites Attract, SOA, Model Driven Architecture and Agile April 12, 2011 Denzil Wasson ([email protected])
26

Opposites Attract SOA, Agile, MDA

May 26, 2015

Download

Technology

Denzil Wasson

Given at the SOA for e-Government conference 12 April 2011
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Opposites Attract SOA, Agile, MDA

Specialists in Service Oriented Application Modernization

www.everware-cbdi.com

Opposites Attract, SOA, Model Driven Architecture and Agile

April 12, 2011

Denzil Wasson([email protected])

Page 2: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com2

Everware-CBDI SnapshotWorldwide SOA Reputation� Keynote Speakers on SOA� CBDI Forum Website: over

25,000 subscribers� SOA Best Practice

Framework and Knowledgebase

� SOA MetamodelSubmission to OMG

Leadership in Advisory Groups & Standards Bodies� ACT/IAC

� Chair: EA-SIG/Services Committee� Lead Role on Practical Guide to Federal SOA

� Federal SOA Community of Practice : Co-Chair� Object Management Group (OMG)

� Co-Chair: GovDTF� Instruct on EA & SOA

� National Defense U/EA Program � Industry Conferences� Public/Private Courses� eLearning CurriculumAuthors/Publications

� CBDI Journal (120+ Editions)� Articles (eg, EA Journal,

Microsoft Journal)� White Papers (eg, Federal CIO

Council, IAC, AFEI)� Books (eg, Service Orientation,

Information Modeling)

Government & Commercial Consulting� Enterprise/Segment Service Architecture

� Service Portfolio Transition � Service Management & Governance� Service Oriented Application Modernization

� Model-Driven Architecture & Development� Service Harvesting & Provisioning� Business Process Modeling� Service Assembly, Orchestration

� SOA Adoption� Maturity Assessment & Planning� Process Improvement� Capability Development

Page 3: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com

Setting the StageTypical Process – Revolutionary (aka disruptive)

3

Time

Cost

Application ages, becomes less responsive, frustration and cost increase

Planning/Analysis for replacement

“Big Bang” replacement and frozen legacy

Cycle renews, but has anything really changed?

User ramp-up period with productivity loss and frustration as the business figures out what it really got and IT does rework

Business response “Dead Zone” -only emergency or mandated updates are made

High cost/impact of replacement invariably creates delays and means that legacy app outlives its effectiveness

One time Modernization occurs here – if at all

Page 4: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com

The Big IT Picture – we need to get SERIOUS

This is the driver behind OMB’s 25-Point Implementa tion Plan to Reform IT Management. Objectives:� Make IT more cost effective (reduce the per unit cost of delivering capabilities)� Provide better more responsive support to the business/mission of government

(establish IT agility to enable business agility)� Reduce the risk and cycle-time associated with IT development programs� Reduce redundancy and improve consistency through reuse

4

We need a Major Inflection Point

Page 5: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com5

The 25 Point Plan

Long on “What”� Reduce the cost of IT infrastructure (1,2,3,20)� Modernize government IT acquisition and contracting (4,5,13,16,25)� Reduce IT risks through better program management (7,8,12)� Identify and implement IT best practices (9,10,11,14,24)� Promote shared services and modular development (6,15,17)� Align processes for capital investment, budgeting and modular development (17, 18, 19, 20)� Improve IT management and oversight (22,23)

Short on “How”� Low Hanging Fruit:

� Data Center Consolidation / Platform Virtualization (IaaS / PaaS)� Obvious Commodities (e-mail, calendar)

� Bigger Payback:� Wide-scale use of Shared Business Services� Modernized Software Development Process emphasizing modularity, reuse,

iteration and knowledge management� IT Procurement modernization

Page 6: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com

Infrastructure Rationalization

Architectural Best Practice

Development Approaches

Convergence of Capabilities for Modernization

6

Heavy, Complex Legacy Portfolio

Lighter, Shared Modern Portfolio

Modernization

Architectural Best Practice• Enterprise/Segments• Service Orientation• Standard Patterns• Reference Models

Development Approaches• Agile/Iterative• MDA/MDD• Twin Track

Knowledge Management• Models – UML/BPMN• Rules Engines• Collaboration Tools

Infrastructure rationalization• Virtualization• Cloud

Knowledge Management

Page 7: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com

Iterative Process – Evolutionary + Multipliers

� Multipliers:� Service Oriented Architecture (modular, efficient)� Model Driven Development (knowledge, automation, portability)� Business, Integration and Implementation Patterns� Management (scope)� Virtualization (efficient resource usage)

7

Time

Cost

Application is continually evolving facilitated by an iterative approach and agile architecture

O&M curve flattens as new features are more easily implemented

Business gets working software early

Tightly scoped iterations reduce risk and provide early feedback

Smooth cost curve is easier to budget and manage. Smooth delivery curve reduces resource spikes and User impact (retraining, disappointment, …)

Page 8: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com

� Agile� The Agile method’s main focus is the production of the software solution

� Agile is an adaptive approach vs. the traditional predictive approach

� Key roles of Scrum Master, Product Owner, Cross Functional team

� Scrum

� Benefits (25 point plan)

� Shortened delivery cycles

� Strong feedback loop for program management

� Ability to reduce acquisition scope

8

Agile – Methods and Outcomes

Source: SrumAlliance.org

Page 9: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com9

SOA

� SOA – Service Oriented Architecture

� An architectural pattern that promotes a collaborative modular architecture that leverages re-usable services

� Characteristics� Services are assets – specifications are key knowledge asset

� Modular – design for both re-use and change

� Standards based – be careful of just technical standards

� Twin track development – dependency management is crucial

� Best fit with virtualized cloud solutions – facilitates deployment transparency

� Benefits (25 point plan)

� Reduces IT portfolio development and maintenance effort, cost and complexity in a changing world

� Agile - designed for change, responsiveness

� Modular - facilitates smaller grain acquisition

� Re-use – reduces cost and risk

Page 10: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com10

MDA/MDD

� MDA/MDD – Model Driven Architecture / Development

Software delivery approach where specification models and other abstract artifacts are created to describe the structure and behavior of a system or module. The models are either executed directly or transformed into implementation code or environment control.

StartEvent1 Meets standards for enlistment, appoi ntment or inducti on?

enli st wi th M EPS?

appl icant not qual if ied for enlistment/accession

appl icant not enl isted wi th MEPS

shipping requested?

enl istee

quali fi ed not enlisted

shi pper

«BusinessProcess»1 appl icant qualification

«BusinessProcess»1 appl icant qualification

Appl icant chooses notto enl ist

«BusinessProcess»2 enlistment

«BusinessProcess»2 enlistment

Appl icant chooses notto enl ist

«BusinessProce.. .3 shipping

«BusinessProce.. .3 shipping

no

yes

no

yes

no, waiver granted

yes

Application & Service Models

Business Process Models

Metadata Models

Message Mgt

«Business T ype»Region

«Business T ype»Facili ty

+ name: string

«Business T ype»Armed Serv ice

«Business T ype»Reception/Training

Center

«Business T ype»Duty Station

«Business Type»Party

+ name

«Business Type»Role

«Busi ness Type»Organization

«Busi ness Type»Person

+ gender: Gender+ dob: date+ ssn: stri ng+ uniqueIdentif ier+ phone numbers+ f irstName: string+ m iddl eNam e: st ring+ l astName: string+ m aritalStatus: MaritalStatus+ prior mi litary service+ privileges+ preferences+ raci al Category: RacialCategory+ ethnicCategory: Ethni cCategory+ dependents: int+ religiousPreference: string+ educat ion: Education

«Business T ype»Location

+ street: st ri ng+ city: st ring+ county: st ring+ zipCode: st ring+ name

Parties and Facilities

«enumerat ion»Gender

male female other

«enumeration»Mari talStatus

married si ngle divorced

«enumerati on»RacialCategory

americanIndi anOrAlaskaNat ive asian blackOrAfricanAmerican nat iveHawai ianOrOtherPaci ficIslander whi te decl ineT oRespond

«enumeration»EthnicCategory

decl ineT oRespond hispani cOrLatino nonHispani cOrLatino

«Business T ype»ForeignLanguageSkill

+ language: st ring+ fi rst : boolean

*

residesat

*

1plays

*

incl udes

1

have

*

*i s locatedat

1

*

bel ongs to

1

*

+placeOfBi rth

1

1

hasLanguage

*

• Routing• Mediation• Translation

•Source code•Executables•Test Harness•Documentation

Workflow /OrchestrationControl

Business RulesLogic

Virtualized Data Access

Infrastructure /ESB Configuration

UML BPMN

BPEL

Java, C#, XSD,WSDL

UML, SBVR

DDL,XBRL, OCL

UML,OWL/RDF

DDL,SQL,SPARQL

Business Rule Models

Page 11: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com11

MDA/MDD

� Characteristics� Leverages standardized model notations – class diagram or ERD insufficient

� Focuses on the production of standards based specification views of services and solutions

� Commoditizes the transformation from specification to implementation via automation – virtualizes the implementation

� Benefits (25 point plan)

� Rapid Delivery

� Efficient maintenance

� Improves Quality

� Facilitates integration (modular challenge)

� Portability across technology platforms

� Preserves knowledge beyond current contractor / implementation

� Facilitates effective management (predictability)

� Facilitates acquisition through common specification language

Page 12: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com12

Knowledge Discovery & Patterns

� Knowledge Discovery

� The extraction of knowledge from existing assets to preserve knowledge and reduce the cost and risk associated with starting over

� Various architecture views data, process, dependencies, rules, timing, organization, roles – focus on the areas that will be somewhat stable.

� Manual and automated approaches – sometimes a meeting is faster

� Jumpstarts the knowledge management approach – beware the ‘do over’

� Facilitates transition from the old way of doing things

� Patterns

� Congruent Business Process, Business Data, System Architecture, System Integration and System Implementation patterns – multiple levels

� Leveraged to optimize Knowledge Discovery

� Facilitate modeling, specification, testing and communication

� Used to accelerate forward engineering

� Important tool for acquisition and program management

Page 13: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com

� Architecture communication� Framework for business

oriented SOA� Consistent integration of

services� Increases Service visibility� Knowledge retention

� Quickly produces results� Focus on removal of

blockages� Small teams� Steady pipeline � Sense of urgency

Combine the most beneficial and appropriate aspects of each approach

Architecture/Modeling Agile“Cons” “Pros” “Pros” “Cons”

� Scale Agile by using models to facilitate architecture compliance and rapid delivery � Service models facilitate service re-use through analysis and design time bindings� Models are “agile” too – quickly respond to changes in navigation, data, service

consumption, and platform/framework targets� Model-driven code ensures integration consistency reducing the single largest cause

for code “breakage”� Leverage repeatable patterns and MDA to rapidly generate all “plumbing” code

allowing agile developers to concentrate on UI and extensions

The Power of Synergy

Opposites Attract – SOA, MDA & Agile

� Reputation as chaotic� Refactoring “rework”� Different � Codified Knowledge� Relationship to EA� How to scale

� “Analysis Paralysis”� Is it realistic� Is it current?� Familiarity

Page 14: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com14

Service Oriented Application ModernizationGetting from here to there

� Use of existing assets for Modernization to SOA� Use of knowledge contained in existing assets and people

� Potential direct use of assets

� Why?� Modernization is an opportunity to strategically position the portfolio

� restructure to SOA

� preserve knowledge

� facilitate future change

� put the ‘bonus’ multipliers in place

� Modernization without restructuring is just re-platforming (same problems, new technology)

� Modernization leverages current skills and knowledge

� Modernization can be done iteratively easing the transition

Page 15: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com15

Application Modernization Strategy

� Integrated portfolio management coordinating SOA with replacement and refactoring � Twin track solutions and services� “Meet in the middle” service growth� Baseline and iteration vs big bang

� Pattern based analysis, architecture, design and transformation� Functional equivalence vs implementation equivalence� Functional redundancy / duplication vs functional congruency –

encapsulate similarities as reusable capabilities

� Selective automation (reverse and forward engineering)� Model Driven forward engineering

Page 16: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com

CBDI-SAE Application Modernization Framework

16

OrganizationArchitectureGovernanceProcess & ToolsDelivery MgtQuality MgtChange Mgt

BusinessArchitecture

SpecificationArchitecture

ImplementationArchitecture

Technology Architecture

DeploymentArchitecture

EvolveDeliverAnalyzeAssess Plan

Page 17: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com17

CBDI-SAE Process Model (SOAM)

SolutionAssembly/

Implementation

BusinessModeling

ServiceImplementation

BusinessImprovement

SolutionArchitecture &

Design

Legacy to ServiceReengineering

SolutionProvisioning

ServiceProvisioning

Solution/ServiceDeployment

Solution/ServicePlatform Design

& InstallationEnable

Solution/ServicePlatform

Architecture

Solution/Service Operations & Management

Modernization Change Management

SOA Quality ManagementManage

SOA Delivery Management

Consume

Provide

Information Architecture

Service OrientedArchitecture

& Design

ApplicationModernization

Planning

Legacy Application Reengineering

SOA Governance

SOA Adoption & Excellence

Knowledge Discovery

Page 18: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com

Typical Iteration (“Sprint”) Process

Sprint Planning (team)• Identify and prioritize functional scope and objectives• Assign resources and tasks• Establish sprint schedule, delivery goals

Sprint Infrastructure Install environment upgrades and adaptations, Ensure required COTS, legacy & service availability

Sprint Architecture• Extend and detail data & functional architecture• Select patterns, services & design elements• Model business process/workflow

User/SME Support for analysis, design, QA, Prioritization

Sprint MDA/MDD• Create/Extend/Refactor models• Generate/Compile code artifacts• Generate test artifacts • Initial unit and integration testing

Sprint Analysis• Define data and process• Map data flow thru layers• Identify & detail business rules• Detail new service methods/signatures• Mock UI Interaction Sprint Implementation

• Extend generated codebase• Implement remaining business rules• Customize user interface• Perform unit and integration testing

Sprint Test/QA• Prepare and perform functional tests• Perform integration/regression tests• Document and Track test results• Certify requirements completion

Iterate as Needed

Sprint Management Monitor Sprint, Manage internal and external blocks, Re-prioritize activity, Constant communication of tracking to goals

Sprint Review (team)• Identify enabling aspects and blocking aspects• Define sprint process improvements• Define service solution improvements (team perspective)

2 to 4 week duration

Page 19: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com19

SOAM Case Study 1: In-situ restructuring

� Scenario Large Banking organization restructure merges all lending divisions exposing redundant solutions and inconsistent processes and rules.

� Drivers� “Lending is lending” - a suite of common rule based lending services is desired� Cost containment, Time to market

� Modernization Context

Personal Lending

Mortgage Lending

Student Lending

Commercial Lending

Credit Bureau

Lending

Credit Bureau

Page 20: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com20

SOAM Case Study 1: In-situ restructuring

� Execution� Iteration by Use Case service needs� Survey ‘best available provider’ of service need� Exposed service proxies from refactored legacy� New web functionality built consumes strategic service proxies via ESB

� Project Outcome� Lending Services suite harvested from existing legacy � New solution functionality requires only view controller layers and is built using

strategic interfaces� When legacy is retired, consumers will experience no change (strategic interfaces)

� Consider this if…� Legacy solution has the functionality in some form� The legacy transactions can technically be exposed to SOA� You have legacy skills� You need to minimize the entry costs to SOA � The persistence layer can’t be changed

Page 21: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com21

SOAM Case Study 2: Portfolio pathfinder

� Scenario Large Home Improvement retailer wants to modernize from monolithic mainframe based applications to distributed SOA. Data schemas must (initially) remain unchanged to be shared by legacy and the new services as a transitional tactic. The pathfinder is performed on a portion of the portfolio

� Drivers� Burning platform (technology, skills)� Duplication of functionality (clone and own), widespread data level coupling

� Modernization Context

Logistics

Location Management

Page 22: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com22

SOAM Case Study 2: Portfolio pathfinder� Execution

� Two distinct (business and technical) solutions in the portfolio � Reverse engineer to UML models for SOAM� Pattern based analysis� Forward engineered using MDD

� Outcome� A part of the portfolio (+- 5%) has been modernized in a 12 week duration� Path forward defined in terms of model driven approach, SOA architecture, effort

and cost� Several common utility and core services have been provisioned and deployed

� Consider this if…� You perceive redundancy in your portfolio� You need to prove a business case� You need real data to plan your portfolio modernization � You need to prove the approach against a heterogeneous portfolio� You want to establish a framework for modernization using a slice of the portfolio

Page 23: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com23

SOAM Case Study 3: BP Modernization

� Scenario Government Agency modernizes a key business process with an SOA solution that maximizes the use of COTS components while minimizing vendor lock in and providing presentation channel openness. No desire to start from first principles, legacy has all the required information.

� Drivers� Optimization of the business process (cost containment, process pendency)� Reduce vendor dependency through SOA and standards

� Modernization Context

Business Process

COTSG2C

Case Mgt

Content

Mgt

COTS

Page 24: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com24

SOAM Case Study 3: BP Modernization

� Execution� BPMN Models and User stories are Product Backlog� Combination of COTS and Model Driven Agile integrating via SOA� Candidate Services and COTS components identified � Agile Model driven approach 4X 4 week Sprints� Services and Solution generated from UML models and enriched solution UML

� Project Outcome� 42 user stories, 2 portals (75 web pages total), 29 services, 5 COTS products (excl.

platform),� Model based SOA facilitated smooth integration and rapid refactoring

� Consider this if…� You have funding and buy in around a specific set of business processes� Your core business processes need to be modernized (process and/or

implementation)� The business process may include parts that could be useful services to others� The business process is large grained and can be restructured to leverage services

Page 25: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com25

Summary

� 25 point plan requires comprehensive action to achieve inflection• Make IT more cost effective• Provide better more responsive support to the business/mission• Reduce the risk and cycle-time of IT development programs• Reduce redundancy and improve consistency through reuse

� Modernization efforts are a unique opportunity to position for the future while addressing the OMB 25 point plan

� The flexible modernization framework presented combines Agile, SOA and MDA to optimize the modernization path based on your business requirements

Page 26: Opposites Attract SOA, Agile, MDA

© 2011 Everware-CBDI IncV1.0 03 11 www.everware-cbdi.com26

Specialists in Service Oriented Application Modernization

www.everware-cbdi.com

Denzil [email protected]