Establishing a service factory

  • 1,184 views
Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,184
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
63
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Specialists in Service Oriented Application ModernizationEstablishing a ServiceFactoryFederal SOA Community of Practice14th SOA for eGovernment ConferenceOctober 2, 2012Dave Mayowww.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 Methods2 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 Services3 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 Specification5 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 Specification6 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 services8 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 materials9 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 agility10 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 funding11 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 Factory12 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 Packages13 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 Components14 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 Development15 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 Variability16 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 components17 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 customise18 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 Framework19 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
  • 20. Service Factory Methods & Tooling20 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 apps21 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 Configuration23 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 decisions24 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 .js25 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
  • 26. Agile Methods: Scrum Feedback Customer Require- ments26 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 overhead27 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
  • 28. Service Tooling for CMS/FFE Factory28 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 production29 V1.0 052012 www.everware-cbdi.com © 2012 Everware-CBDI Inc
  • 30. Specialists in Service Oriented Application ModernizationThank You.Questions?Dave Mayodmayo@everware-cbdi.comwww.everware-cbdi.com