Asset Based Development



Similar documents
A Software Development Platform for SOA

General Introduction to IBM (R) Rational (R) Asset Manager

IBM Rational Asset Manager

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

Developing SOA solutions using IBM SOA Foundation

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing

CMMI and IBM Rational Unified Process

Realizing business flexibility through integrated SOA policy management.

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

Understanding Architectural Assets

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

The leading platform for Model Driven Architecture (MDA) Content:

Foundations of Model-Driven Software Engineering

SOA: The missing link between Enterprise Architecture and Solution Architecture

Chap 1. Introduction to Software Architecture

Software change and release management White paper June Extending open source tools for more effective software delivery.

Business Process Management Enabled by SOA

Eclipse Process Framework Composer

Policy Driven Practices for SOA

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

WebSphere Business Modeler

Exporting from WebSphere Business Modeler Unit 23

Agile Modeling and Design of Service-Oriented Component Architecture

The Role of the Software Architect

Appendix 2-A. Application and System Development Requirements

WebSphere Business Modeler Overview

CS4507 Advanced Software Engineering

The 7 Attributes of a Good Software Configuration Management System

Federal Enterprise Architecture and Service-Oriented Architecture

Business Process Modeling and Standardization

Development Methodologies

A Service-Oriented approach dedicated to Internet based Business Process Networks: Building a MDA based collaborative platform with opensource

Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform

Agile Development with Jazz and Rational Team Concert

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Acknowledgments. p. 55

Data Management Roadmap

SOA-14: Continuous Integration in SOA Projects Andreas Gies

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

Domain modeling: Leveraging the heart of RUP for straight through processing

Model driven architecture: Principles and practice

Business Process Management Tampereen Teknillinen Yliopisto

Generating Aspect Code from UML Models

SOA Governance and the Service Lifecycle

SOA for Healthcare: Promises and Pitfalls

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

Component-Oriented Engineering

Developing in the MDA Object Management Group Page 1

Enterprise Architecture (Re)Charter Template

How To Understand A Services-Oriented Architecture

Fidelity National Financial Drives Improvements in Software Development and Reuse with IBM Rational Software Development Platform and Flashline

Pervasive Software + NetSuite = Seamless Cloud Business Processes

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

Five best practices for deploying a successful service-oriented architecture

SAP NetWeaver. SAP NetWeaver

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

The OMG BPM Standards

Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational

HP SOA Systinet software

How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

Business-Driven Software Engineering Lecture 3 Foundations of Processes

What Is the Java TM 2 Platform, Enterprise Edition?

Avoiding Web Services Chaos with WebSphere Service Registry and Repository

Enterprise Service Oriented Architecture Using the OMG SoaML Standard

Web Service Implementation Methodology

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

Improved SOA Portfolio Management with Enterprise Architecture and webmethods

Increasing Development Knowledge with EPFC

Prerequisites for Successful SOA Adoption

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Government's Adoption of SOA and SOA Examples

Enhance visibility into and control over software projects IBM Rational change and release management software

Utilizing Experian next generation decision management software to bring customer management to the next level of client experience and value creation

The Fast Guide to Model Driven Architecture

The Service, The Cloud & The Method: The Connection Points

Information systems modelling UML and service description languages

Surveying and evaluating tools for managing processes for software intensive systems

IBM Rational Web Developer for WebSphere Software Version 6.0

Transcription:

IBM Software Group Asset Based Development Grant Larsen gjlarsen@us.ibm.com November 2003

Agenda Introduction Asset-based Development Process Standards Tooling Assets Getting Started

Agenda Introduction Asset-based Development Process Standards Tooling Assets Getting Started

Business Challenges Cost Reduce business & IT costs Decrease complexity Decrease blank sheet Increase productivity Increase quality Increase consistency Increase maintainability ROI Increased returns from IT investments Agile Organization is nimble and responsive to market forces Leverage Resources effectively applied to business problem Collaboration Alignment Business Technology Integrate end-to-end business processes Technology delivers business solutions

Organizations Needs To decrease the time-to-value and produce systems in competitive time To leverage their scarce resources to a broader audience Software architectures which are extensible and easily integrate the enterprise Process & alignment guidance and seamless tooling

How is this done? Asset-based Development (ABD) delivers the process guidance, tooling, standards, and assets for delivering these results It is developing software solutions (re)using cohesive, documented software artifacts It is organizing software development in a way that leverages previous investments and influences the nature of future investments These results Teams know what to do and how to solve business problems, using architected solutions, models, artifacts, which are organized for use throughout the enterprise delivering timely value. Are delivered by Process RUP ABD guidance Tooling Rational XDE, Rose, ClearQuest, ClearCase Standards UML, MDA RAS Assets Leveraged development

What s an Asset? An Asset is a collection of Asset Artifacts which provide a solution to a problem for a given context with rules for usage and variability points What are Asset Artifacts? Workproducts from the software process Requirements, Models, Source code, Binary files, Tests, Plans, and so on Kinds of assets Components, patterns, web services, frameworks, templates, Not just code variability point Asset Problem Solution Artifact Artifact Artifact Artifact Artifact with rules for usage for a context

Asset Qualities Should be easy to use, customize and should declare the context wherein it should be reused Tight cohesion, loose coupling Purpose and intent should be easy to understand Should be easy to determine the asset s match to a particular context

Barriers & Keys To Effective Reuse Reuse Barriers A lack of incentive Teams focus on delivering to their project goals rather than investing energy into creating reusable things A lack of trust Manifested in a "not invented here" mentality An architecture that isn't organized to support a relatively easy insertion of new items Difficulty finding and using the right asset Effective Reuse Need engineering support, tooling and education so teams can build and use something that is re-usable Organization must support a reuse culture Software development processes must be able to work with asset-based development techniques Costs and returns on investments must be managed - Ivar Jacobson (Software Reuse)

Agenda Introduction Asset-based Development Process Standards Tooling Assets

ABD Process Asset-based Development Key Workflows Reuse Program Management Asset Management Candidate Asset Identification Asset Production Asset Consumption Asset Identification Asset Production asset feedback Asset Management Asset Consumption asset feedback Reuse Program Management

Where Does It Fit? Asset Production Asset Identification feedback Asset Consumption Asset Management feedback Reuse Program Management Asset-based Development process workflows can occur within any phase and across multiple disciplines

ABD Process Spans Multiple Levels Organization-level Asset Development Team Focus is on reuse program and asset management, asset identification and production, but may perform asset consumption assets feedback, assets issue request & feedback Project-level Application Development Team Focus is on asset consumption, but may perform candidate asset identification and asset production Asset production Candidate asset identification Determining the cost/benefit of harvesting or producing reusable assets Management of reusable asset libraries Initiating projects to harvest/produce reusable assets Certifying and accepting assets into asset libraries Application development Asset consumption Candidate asset identification Asset production

Asset Production Process Harvest Asset Artifacts Develop Asset Artifacts Asset Artifact Reusable Asset Library responsible for Asset Librarian Package Reusable Asset Reusable Asset

Asset Consumption Process Asset Librarian responsible for Provide Reuse Feedback Reuse Feedback Reusable Asset Library Locate Asset Locating Assets Using Rational XDE Identify Candidate Asset Candidate Asset (Reuse Feedback) Reusable Asset Apply Asset Applying Assets Using Rational XDE

Re-using Assets Assessing asset applicability is essentially performing a fit-gap analysis to see if an asset will work in the required context Business fit Financial, legal and maintenance Organizational fit Acceptance, who will use it Process fit Support Engineering fit Understanding, completeness, reliability, error handling, cohesion/coupling, portability

Asset Reuse Scope and Formality Asset-based Development process adjusts as reuse scope and formality changes More formal Inter-project Inter-team Intra-team Sharing assets between projects Sharing assets between teams Sharing assets amongst team members

RUP Asset-based Development Configuration Available from the Rational Developer Network

Agenda Introduction Asset-based Development Process Standards Tooling Assets

UML, MDA UML models are used to represent various views of the business and the architectures MDA is used to leverage models to produce and maintain systems faster, cheaper, better The OMG MDA separates the fundamental logic behind a specification from the specifics of the particular middleware that implements it. MDA drives model transformation techniques to develop systems MDD is a development approach where the models drive the entire development lifecycle Asset-based Development implements systems using assets that realize MDA techniques

RAS Reusable Asset Specification (RAS) Describes the structure and nature of assets Reduces the friction on development transactions thru standard, consistent packaging Each asset is described using these sections Classification Solution Usage Related Assets Asset Name Desc Version State Profile Classification Descriptors: Name/Value pairs Context Domain, Development, Test, Deployment, and so on Solution Artifacts Usage Usage Instructions & Activities Filling Variability Points Related Assets Association, Aggregation, Dependency, Parent Asset Overview Requirements Models, Code, Tests Documents

Packaging RAS Assets RAS Asset Classification Solution Usage Related- Assets RAS is realized in rasset.xml rasset.xml is the manifest & points to each file Artifacts & RAS XML file Zipped into a.ras file assetx.ras ClearCase VOB File System RAS Repository

RAS Profiles RAS describes the general characteristics of software assets RAS is extended to represent specific kinds of software assets RAS Profiles describe a specific type of asset Current profiles available Default profile version 2.1 Default component profile version 1.1 Default web service profile version 1.1 Create your own profile Companies are creating their own profile to describe their assets XDE addins can be created to handle these asset types RAS Core RAS Profiles Default Default Web Service Default Component Your Profile

UML, MDA, RAS UML Language to specify components and systems MDA PIM Specifies model organization for business-driven component architectures PSM RAS Packages patterns, components and other artifacts as assets to leverage the business

RAS To The OMG RAS was developed in a Consortium of IBM Rational, Microsoft, and Component Source, and others RAS is being submitted to the OMG Co-submitters Adaptive (http://www.adaptive.com) Blueprint Technologies (http://www.blueprinttech.com) ComponentSource (http://www.componentsource.com) Flashline (http://www.flashline.com) IBM (http://www.ibm.com) LogicLibrary (http://www.logiclibrary.com) OSTnet (http://www.ostnet.com) Supporters ABB, Aetna, Borland Software, Cap Gemini Ernst & Young, Caterpillar, Fujitsu, IconMedialab, Iocore-7n, Jaczone, Kantega, Martin Griss Associates, OSTnet, Praxis Engineering Technologies, RDA Corporation, Telstra, Unisys, USPTO, Volvo, Xansa

RAS To The OMG The RAS RFC document can be found at http://www.omg.org/cgi-bin/doc?ad/2003-10-12 The supporting documents that accompany the RAS RFC can be found at http://www.omg.org/cgi-bin/doc?ad/2003-10-11 Rose models of the existing XML schema and the recently inserted MOF 2.0 XMI representation RAS RFC XML schema and MOF 2.0 XMI XML schema documents which realize the UML models WSDL document for the lightweight RAS Repository Service

Agenda Introduction Asset-based Development Process Standards Tooling Assets Getting Started

ABD Tools Reuse Management Coordination, metrics, reporting to mgmt Asset Production Asset Management Asset Consumption XDE Asset Certification modify/refine modify/ refine check-in Submitted ClearQuest CC Development Repository RWG Reviewed Packaged Less formal Production Ready Librarian Reviewed Reviewer Logins More formal check-in CC ProductionReady Repository deliver deliver RAS Repository Service search apply & customize search XDE Map to multiple repositories

Case Study: Volvo IT Objectives for JNX Framework Project Simplify the workflow for application development Achieve consistency and maintenance benefits Leverage OMG s MDA PIM and PSM as the strategy for application development Achieve a robust and reliable architecture that will shield the programmers from the actual plumbing Target Audience 400 600 developers Have not had training in UML Use waterfall software process 200 developers Have had training in UML and RUP 10 20 Architects Experienced with UML Largely use iterative development

Volvo IT JNX Framework - Applying MDA in XDE Requirements RAS Repository Service Reusable asset (.ras file) Reusable asset (.ras file) Reusable asset (.ras file) Rational XDE Model templates Patterns Patterns Patterns extend integrate validate Platform-independent Model transform Domain Model Platform-specific Model Design Model synchronize Code & Test Business logic Implementation Model

Agenda Introduction Asset-based Development Process Standards Tooling Assets Getting Started

Assets To Get You Started Now Rational XDE patterns in the box GoF patterns (Java, C#, C++) J2EE patterns Rational Developer Network Patterns and other assets on RDN ready for use in Rational XDE

When To Create Assets The question to ask: Is it worthwhile for me to create this reusable asset? Items to consider when answering that question: What recurring problems do you see? Is there a solution to a recurring problem? Is there an area needing enhanced productivity or consistency of deliverables What s the impact on performance and memory usage? What s the stability of the domain and requirements? What s the viability of the technology? Is obsolescence a concern? Have the target consumers been identified? Who will own and maintain the asset?

Business Processes & IT Solutions Line of Business 1 Line Line of Line of Business of Business 2 Business 3 n Business Process A IT Solution Business Process B IT Solution Business processes are intertwined with the IT infrastructure impacting the organization s ability to respond quickly to market forces Business Business Process Business C Process Business D Process Business A Process Business F Process A Process H IT IT Solution IT Solution IT Solution IT Solution IT Solution Solution

Patterns: Aligning The Business & IT Solutions [1] Patterns can describe the business structure and the component architecture to support adaptability and predictability Assets Line of Business n Business Pattern Business Process A Business Process B Specifies the business context and the general IT infrastructure to support the business Architecture Design IT Solution Patterns Architecture IT Solution Patterns Design Specifies the component architecture to support the business for the IT infrastructure

Patterns: Aligning The Business & IT Solutions [2] The business patterns are mapped to a component architecture which realizes the business functions and is deployed on a runtime infrastructure. Line of Business n Self-Service Business Pattern process Business Process A Browse Account component Login Retrieve Account Details Web service Architecture Design IT Solution Patterns Entity Bean Component Pattern IT Solution GoF Observer Pattern application deployment runtime infrastructure

Patterns: Aligning The Business & IT Solutions [3] Patterns address specific architectures as well as crosscutting concerns for the system. Pattern can be applied in succession. Patterns need to be specified and created for each category. Business Model Architecture Solution Architecture Application Architecture Design & Data Architecture Deployment Architecture

Patterns: Aligning The Business & IT Solutions [4] 1. Business process / Entity / function modeling 2. High-level solution architecture modeling [IBM patterns for e-business] 3. Use cases for Business processes 4. Use Case realizations 5. Behavioral modeling Entity modeling Business Model Architecture Solution Architecture Application Architecture Design & Data Architecture Deployment Architecture 6. Component specification 7. Component design and workflow design 8. Component creation, Database generation mapping 9. Code generation Shortened time to production. Fewer Mistakes. Lifecycle traceability. 10. Deploy and monitor

Patterns: Aligning The Business & IT Solutions [5] Patterns, and other assets, are easily accessible through the RAS Repository Service for XDE [Eclipse/WSAD/VS.NET] users RAS Asset Repository Business Model Architecture Solution Architecture Application Architecture Design & Data Architecture Deployment Architecture Asset user [XDE, Eclipse, WSAD, VS.NET] Asset developer [XDE, Eclipse, WSAD, VS.NET]

Kits IBM Software Group Rational software A Kit is a comprehensive, structured collection of assets, guidance, examples and tools addressing anticipated needs of a target audience, in a specific development context and domain Business Domains Financial Services Domain 2 Domain N A Kit provides a solution for a particular domain Kit Assets Guidance Best Practices Exemplars Automation A Kit uses key technologies to realize the solution Technologies Rational Tools RUP BPEL MDA

Agenda Introduction Asset-based Development Process Standards Tooling Assets Getting Started

Getting Started 1. Management support for asset-based development First Things First 2. High quality, relevant assets must be identified Must be critically needed by the target asset consumer and has the highest probability for early return on investment. The asset consumer must be well understood. 3. Policies to identify, understand, and control reinvention in the organization and to measure progress 4. Dedication to recognize and encourage all forms of software assets that have net benefits to the organization Begin Pilot Project 1. Start small, with narrow scope, such as for one project Set up tooling Harvest & create assets and deliver to asset consumers Measure & report & refine 2. Increase scope, such as for two projects Refine policies, procedures, guidelines Review/refine architectures to support assets Harvest, create, certify assets and deliver to asset consumers Measure & report & refine

Summary Companies need to be more nimble to meet their customers needs and to address market changes. Asset-based Development (ABD) delivers the process guidance, tooling, standards, and assets for delivering these results These results Needs Are delivered by Solution Approach Teams know what to do and how to solve business problems, using architected solutions, models, artifacts, which are organized for use throughout the enterprise delivering timely value. Process RUP ABD guidance Tooling Rational XDE, ClearQuest, ClearCase Standards UML, MDA RAS Assets Leveraged development