Contenu connexe Similaire à Establishing a service factory Similaire à Establishing a service factory (20) Establishing a service factory1. Specialists in Service Oriented Application
Modernization
Establishing a Service
Factory
Federal SOA Community of Practice
14th SOA for eGovernment Conference
October 2, 2012
Dave Mayo
www.everware-cbdi.com
2. Topics
Corporate Profile
Architecture – Engineering Model
What is a Service Factory?
Twin-Track Development
Product Line Engineering
Governance
Service Factory Methods & Tooling
Service Architecture & Specification
Model Driven Development
Agile Methods
2
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
3. Everware-CBDI is a Leader in Applied SOA
Worldwide SOA Leadership in Advisory Groups &
Reputation Standards Bodies
Knowledgebase of SOA Best Industry Advisory Council
Practices – CBDI-SAE™ Federal SOA Community of Practice
Keynote Speakers on SOA Object Management Group (OMG)
SOA Metamodel Submission
to OMG (SoaML)
Profile
Small Business
Authors/Publications Founded in 1997
CBDI Journal (130+ Editions) Offices in
Articles (EA Journal, Microsoft Fairfax, Virginia
Journal) London, UK
White Papers (Federal CIO Council,
IAC, AFEI) Offerings
Books (Service Orientation,
Architecture Services
Information Modeling)
SOA Enablement Services
Application Modernization &
Development Services
3 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
4. Implementable Architecture: Standard
Engineering Model
• Define & Communicate
Needs
Customer • Provide Funding
Functional Responsibilities
• Balance Demands
• Rationalization/Alignment
Architecture • High Level Structure
• High-level Solution Design
• Apply Constraints
Engineering • Detailed Specification
• Build & Assemble
Construction • Hand off to QA
Remember:
Architect, Invest &
Implement?
4
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
5. Implementable Architecture: IT Roles
Business Model (CIM)
Business/ Each level guides and
• Analytical Products
Mission • IT Innovation constrains the next level.
Enterprise • Service
Architect Portfolio
• Business Solution Model (PIM)
Capability
Requirements
• Solution Service
Portfolio Solution Architect
• Service Architect
Portfolio • Service
• Architecture Specification
Policies
• Solution
• Design Design Platform Model (PSM)
Guidance Software
• Design • Technical Patterns
Patterns Engineer • Domain Knowledge
Contract-Based Interfaces Application
Developer
• Engineering
Design
Specification
5
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
6. Implementable Architecture: IT Roles
Business/ Each level guides and
• Analytical Products
Mission • IT Innovation constrains the next level.
Enterprise • Service
Architect Portfolio
• Business
Capability
Requirements
• Solution Service
Portfolio Solution Architect • Service
• Service Architect Specification
Portfolio
• Architecture
Policies Service
• Solution
• Design Design
Developer
Guidance Solution
• Design
Patterns Engineer • Service
Contract-Based Interfaces Solution
Assembler
• Engineering
Design
Specification
6
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
7. What Is a Service
Factory?
7
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
8. Service Factory: What is the Problem to Solve?
IT Solution Delivery Issues
Quality
Cycle time
Risk
Inconsistency of approach
Across teams (skills)
Semantics
Delivery technology
Methods
Lack of reuse of implementation and process assets
Architectural mismatch
Ad hoc / program focused reuse
Solutions Development projects do not have budget,
charter or business scope to deliver shared services
8 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
9. Service Factory: Concepts & Drivers
Purpose
Execute repeatable process to produce shared
services in efficient manner
Specialization of Software Factory
Manufacturing analogy
Assembly from components
Automation of standardized, repeatable processes
Mass customization
Produces families of products
Factory Components
Skilled workers with diverse roles
Automated tools for design, construction and
coordination
Engineered processes, techniques and materials
9
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
10. Service Factory
Systematic approach to reuse
Implementation Assets – tools, design patterns, frameworks
Process assets – test cases, harnesses, design methods
Production assets – software artifacts providing ROI through reuse
Highly automated service software development
Building families of similar software service products
Assembling self describing service components
Developing DSL and tools using language definition, code
generation, tool development technologies – massive reduction in
handwritten code
Massive scalability
Larger projects
Geographical, Sector distribution
Extended product life cycles without
loss of agility
10 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
11. Service Factory Fundamentals
Frameworks
Bootstrap implementations of services
Based on common architectural styles
Language based tools
Support development of services
Adapting, configuring and assembling framework based components
Using tools to engage customers
Respond to changes in requirements rapidly
Building software services incrementally
Capturing design decisions in a form that directly
produces executables
Brings all skillsets, disciplines, tools together in a single
organization
Centralized funding
11 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
12. Solution Provisioning: Twin Track Process
Application SDLC
Current: Based Business Solutions
Build to Demand
Order
SDLC
Capability
Based Solution Assembly
Business Solutions
Future:
Demand
Assemble
to Order Service
Architecture Inventory
and Service
Portfolio Provisioning
Service
Factory
12
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
13. Service Factory Supports the “Provide” Swim
Lane of the CBDI-SAE™ Process
Consume (Note: only showing Application Modernization context)
Solution
Provisioning
Solution Solution
Solution Architecture Component Assembly/
Requirement Solution Implementation
Component
Legacy
Application Modernization Application
Plan Reengineering
KDM Packages
Service (implemented)
Provide
Service Service
Provisioning Service Implementation
Service Portfolio Plan Implementation
(Service Architecture, Requirement
Service requirements)
Service Implementation
Legacy to Service Component
Application Modernization
Reengineering
Plan
KDM Packages
13
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
14. Service Factory: Context
Business
Capability Reference
Priorities Architecture
Solution
Portfolio Plan Service
Registry /
Repository
Service Service
Portfolio Plan Factory
Solution
Assembly
Teams
Legacy
Portfolio Plan
Service
COTS / Specification
GOTS / Contract
Components
14
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
15. Service Factory: Concepts & Drivers
Reference Framework
Software Factory Schema
Service Product Line or
Specification Family Analysis
Customized
Reusable, Product Line or
Tools
Configurable Family Design
Assets
Service
Product Line or
Implementation
Family
Implementation
Service Product Line
Delivery Development
15
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
16. Software Product Line Principles
A software product line is a set of software-intensive
systems sharing a common, managed set of features that
satisfy the specific needs of a particular market segment or
mission and that are developed from a common set of core
assets in a prescribed way.
-- Software Engineering Institute
Strategic & systematic reuse
Goal is to manage the product
line, rather than products
individually
Configuration management
becomes critical
Commonality and Variability
16 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
17. Software Product Lines: Commonality &
Variation within a Product Family
Commonality
Implement common service behavior patterns as
reusable components
Raise level of abstraction of reuse
Architect for Variability
Deliver policy driven service architecture
Specialize family reference architecture to separate the
aspects of the service that change at different rates
Prediction
Deliver generalized service components for family that
are designed to be configured to create variants
Exploit the Predicted Changes
Standard infrastructure
Platform for service reuse – SDK, SLA plus related
processes
Upgradeable designs and components
17 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
18. Product Line Engineering Enables
Mass Customization
Finished
Product
Pick Exterior Colour Pick Interior Colour Pick Wheel Style Employ base products
designed to be
? ?
? customised for
individual customer /
process requirements
Engineer for faster
delivery of finished
Standard GT Spec Label product
Enable concurrent
delivery for multiple
customers
Maintains integrity of
Base Product Base Product
base product
Uses range of assembly
techniques to
customise
18
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
19. SOA Governance
Shared Services Don’t Happen by Accident
Policies to Mandate Sharing & Reuse
Architected Services by Domain
Use of Reference Architectures
Use of Canonical Data Models
(MDM)
Use of Standard Technology
Stacks
SDLC Checkpoints for Services
Funding Mechanisms
CBDI-SAE™ Governance Framework
19 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
20. Service Factory
Methods & Tooling
20
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
21. Service Oriented Application Modernization (SOAM)
Provides Methods & Tools for the Service Factory
• Modularization • Rigorous
• Reuse specification
• Rapid • Coordination
assembly • Automated
patterns
Service Model
Oriented Driven
Service Model-Driven
Arch
Oriented Dev
Development
Architecture
Agile Portfolio
Methods Methods Eng
Agile Trans
• Rapid • Maximum
development leverage of
• User feedback legacy assets
• Continuous • Reduced risk
testing • Orderly
retirement of
legacy apps
21 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
22. SOA: Domain-Based Service Architecture
Patent Application Management (partial)
22
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
23. Model-Driven Development (MDD) Provides
Accelerators
Software delivery approach where specification models and other abstract
artifacts are created to describe the structure and behavior of a system or
module. Models are either executed directly or transformed into
implementation code or environment control.
Application & Business Business Rule Metadata Message Mgt
Service Models Process Models Models Models
enli st wi th
M EP S?yes
no, waiver granted
yes
«BusinessP rocess»
2 enlistment
A ppl icant
yes
shipping
requested?
«BusinessProce.. .
3 shipping
no
enl ist ee
shi pper Parties and
Facilities
+
«B usin ess Typ e »
Pa rty
n a me
*
in cl u de s
re sid e s
at
+p la ceO fBi rth
1
*
+
+
+
+
+
« Bu sin e ss T yp e»
Loca ti on
stree t: st ri ng
city: st rin g
cou n ty: st rin g
zip Co d e: st rin g
na me
*
b el o ng s t o
1
«B u sin ess T yp e »
Re gion
• Routing
chooses not 1
1 i s lo ca te d
Mediation
to enl ist p la ys * « e nu me ra ti on »
* at
Ra ci a lCa te gor y
«Busi nessP rocess» * « Bu sin e ss T yp e»
•
1 appl icant qualificati on « B usi ne ss Typ e» Fa c ili ty a me rica n In di an OrAla ska Nat ive
«B usin ess Typ e » « B usi n ess Typ e »
Pe rs on a sia n
Orga ni za tion h a ve
Role + na me : strin g
St artE vent 1 Meets standards f or quali fi ed not enlisted b la ckOrA frica nA me rica n
h a sL an g ua g e + g e n de r: G en d er 1 *
enlistment, appoi nt ment or n at ive Ha wa i ia nO rOth e rP aci ficI sla nd e r
+ d o b : da te
inducti on? 1 whi te
+ ssn: stri ng
d ecl in eT o Re sp on d
* + u n iq u eI de n tif ie r
+ p h o ne n u mbe rs
« Bu sin e ss T ype » + f irstNa me : strin g
Fore ignLangua geS k ill + m id dl eNam e: st rin g « en u merat io n » « en u me ra tio n »
« Bu sin e ss T yp e» « Bu sin e ss T ype » Ge nde r Ma ri ta lStatus
+ l a stNa me : strin g «B u sin e ss T ype »
no + la n gu a g e: st rin g Re c epti on/ T ai ni ng
r Duty S ta tion
+ m arita lS ta tu s: Ma rit a lSt at us Arme d S erv ic e
+ fi rst : bo o le an Ce nter ma le ma rrie d
+ p rio r mi lit ary se rvice
fe ma le si ng le
+ p rivile g e s
o th e r d ivo rce d
appl icant not + p ref eren ce s
appl icant not + ra ci al Ca te g ory: Ra cia lCat eg o ry
enl ist ed wi th
qual if ied f or + e t hn icCat eg o ry: E th ni cCa te g ory « en u me ra tio n »
ME PS
enlistment/ accession + d e p en d en ts: in t E thni cCa te gory
+ re lig io u sPref eren ce : strin g
d ecl in eT o Re sp on d
Translation
+ e d u ca t io n: E du ca tio n
h isp a ni cOrL a tin o
n on Hisp a ni cOrL a tin o
•
UML, UML,
UML BPMN SBVR OWL/
RDF
Java, C#, DDL,
XSD, XBRL, DDL,SQL,
BPEL SPARQL
WSDL OCL
• Source code Virtualized
Workflow / Business Rules Infrastructure /
• Executables
Orchestration Logic Data Access ESB
• Test Harness
• Documentation
Control Configuration
23
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
24. Why Model-Driven?
Productivity Requirements
Increase output (eg, function points)
Reduce time & cost of development
Increasing Abstraction
Coordination
Across multiple (parallel) development Problem
Gap
teams Space
Solution
Replicate modifications across modules
Space
Rigorous specifications
Application of Patterns
Encapsulate knowledge as reusable Executables
assets
Automate the application of patterns Abstraction Gap
Traceability & Reconstruction
Easily identify impacted components when
requirements change
Document & preserve design decisions
24 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
25. MDD:
Model Transformation and Code Generation
Model Design UML Model
Transformation
Model
Validation Parser
Engine
XML
Java SOA-P XML DB REST CXF Backbone .js
Cartridges Cartridge Cartridge
Schema
Cartridge Cartridge Cartridge
Cartridge
Code .java .wsdl .xsd .xqy .java .js
25
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
26. Agile Methods: Scrum
Feedback
Customer
Require-
ments
26
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
27. MDD for Agile life cycle
Enterprise and Solution
User Stories, Use Cases
Architecture
Business Improvement
Knowledge Discovery
UML Iteration and
Reference Model Models redeployment
Cartridge Code and Schema
Development Generation
Test, Configuration and
Deployment
Code generation enables rapid and frequent iteration
and evolution with integrity without the cost/ time overhead
27
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
28. Service Tooling for CMS/FFE Factory
28 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
29. Service Factory: Summary of Results
Implementation of services based on architecture
Product Line approach ensures consistency
Facilitates Twin-Track provisioning
Practical implementation of service policies
(governance)
Semantics
Technology
Reuse
Automates & accelerates provisioning process
Enables enterprise scale production
29
V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
30. Specialists in Service Oriented Application
Modernization
Thank You.
Questions?
Dave Mayo
dmayo@everware-cbdi.com
www.everware-cbdi.com