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

Similar documents
Developing SOA solutions using IBM SOA Foundation

Business Process Management Tampereen Teknillinen Yliopisto

CMMI and IBM Rational Unified Process

Business Process Management Enabled by SOA

A Comparison of SOA Methodologies Analysis & Design Phases

A Software Development Platform for SOA

Enterprise IT Architectures SOA Part 2

Business-Driven Software Engineering Lecture 3 Foundations of Processes

The IBM Rational Software Development Platform..Role focused tools help simplification via Separation of Concerns

Business Driven Development for SOA

CBM SOMA - SCA. Techniques and Standards to Increase Business and IT Flexibility. Jouko Poutanen Senior IT Architect, IBM Software Group

Extend the value of your core business systems.

Realizing business flexibility through integrated SOA policy management.

Federal Enterprise Architecture and Service-Oriented Architecture

SOA: The missing link between Enterprise Architecture and Solution Architecture

Applying SOA to OSS. for Telecommunications. IBM Software Group

Government's Adoption of SOA and SOA Examples

Sadržaj seminara: SOA Architecture. - SOA Business Challenges s: Billion Dollar Lock-In. - Integration Tools. - Point-to-Point Approach

Five best practices for deploying a successful service-oriented architecture

IBM Rational Asset Manager

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

Avoiding Web Services Chaos with WebSphere Service Registry and Repository

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

JOURNAL OF OBJECT TECHNOLOGY

Enterprise IT Architectures SOA (Service Oriented Architecture)

The role of integrated requirements management in software delivery.

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

WebSphere IBM Product Lifecycle Management Content Pack for IBM WebSphere Business Services Fabric version 6.2. Reference Architecture Guide

SOA Governance and the Service Lifecycle

Approach to Service Management

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

Unifying IT Vision Through Enterprise Architecture

IBM Rational DOORS Next Generation

How service-oriented architecture (SOA) impacts your IT infrastructure

Service Oriented Architecture 1 COMPILED BY BJ

SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment

Testing Web Services Today and Tomorrow

Introduction to SOA governance and service lifecycle management.

Increasing Development Knowledge with EPFC

Software Development in the Large!

Analysis and Design Techniques for Service-Oriented Development and Integration

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

SOA Myth or Reality??

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

Chapter 15. Web services development lifecycle

Realizing the Full Scope of PLM with Business Process Management

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Requirements Management im Kontext von DevOps

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

SOA and Cloud in practice - An Example Case Study

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

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government

Independent Insight for Service Oriented Practice. An SOA Roadmap. John C. Butler Chief Architect. A CBDI Partner Company.

IBM SWG. Amos CC Liu Associate IT Architect IBM

WebSphere Business Modeler

SOA REFERENCE ARCHITECTURE

Guiding Principles for Modeling and Designing Reusable Services

Case Study: Process SOA Scenario

Use service virtualization to remove testing bottlenecks

IBM SOA Foundation products overview

Business Process Management IBM Business Process Manager V7.5

A Quick Introduction to SOA

Managing the Services Lifecycle SOA & BPM

A standards-based approach to application integration

Enterprise Reference Architecture

Service Oriented Architecture Case: IBM SOA Reference Architecture

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

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Service Oriented Architecture (SOA) An Introduction

What You Need to Know About Transitioning to SOA

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

Life insurance policy administration: Operate efficiently and capitalize on emerging opportunities.

Harnessing the power of software-driven innovation. Martin Nally IBM Rational CTO IBM Fellow and VP

Basic Unified Process: A Process for Small and Agile Projects

CT30A8901 Chapter 10 SOA Delivery Strategies

Modernizing enterprise application development with integrated change, build and release management.

IBM 2010 校 园 蓝 色 加 油 站 之. 商 业 流 程 分 析 与 优 化 - Business Process Management and Optimization. Please input BU name. Hua Cheng chenghua@cn.ibm.

The Rap on RUP : An Introduction to the Rational Unified Process

Guiding SOA Evolution through Governance From SOA 101 to Virtualization to Cloud Computing

The Future of Testing: How Service Virtualization Changes the Game in Testing Complex Applications

SERVICE ORIENTED ARCHITECTURE

Increased Agility with Integration Testing

Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15

IBM Innovate AppScan: Introducin g Security, a first. Bobby Walters Consultant, ATSC bwalters@atsc.com Application Security & Compliance

BEA BPM an integrated solution for business processes modelling. Frederik Frederiksen Principal PreSales Consultant BEA Systems

Prerequisites for Successful SOA Adoption

Asset Based Development

Chap 1. Introduction to Software Architecture

HP SOA Systinet software

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

JOURNAL OF OBJECT TECHNOLOGY

How To Use A Cloud Based Organization (Soa) To Improve Your Business

Connectivity and integration Executive brief. Optimize the potential of ERP systems through IBM SMART SOA integration strategies.

Transcription:

SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational keith_mantell@uk.ibm.com March 2008 2008 IBM Corporation

Agenda What is SOA? Rational Tool Support for SOA Development Processes for SOA Rational Unified Process Rational Method Composer RUP SOMA: variations Examples 2

What is Service-Oriented Architecture (SOA)? SOA is different things to different people: a set of services that a business wants to expose to their customers and partners, or other portions of the organization an architectural style which requires a service provider, requestor and a service description a set of architectural principles, patterns and criteria which address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, composability a programming model complete with standards, tools and technologies such as Web Services a middleware solution optimized for service assembly, orchestration, monitoring, an management Business Executive, Analyst Architect IT Architect Software Developer and System Developer 3

Moving to Services-Oriented Solutions Vision Channel B2B atomic and composite Service Provider Service Components Operational Systems Packaged Application Custom Application OO Application 4 Governance Services Data Architecture (meta-data) & Business Intelligence Composition; choreography; business state machines QoS Layer (Security, Management & Monitoring Infrastructure Services) Business Process Integration (Enterprise Service Bus) Service Consumer Consumers

Moving to Services-Oriented Solutions Challenges Channel B2B Consumers Identity Transport Permissions Operational Systems Orchestration Mediation Governance Service Provider Services Flexibility atomic and composite Registry Reuse Repository QoS Service Components Data Architecture (meta-data) & Business Intelligence Composition; choreography; business state machines QoS Layer (Security, Management & Monitoring Infrastructure Services) Reliability Firewall Business Process Integration (Enterprise Service Bus) Service Consumer Security Transformation Packaged Application Custom Application OO Application Policy Management Contract Management Hosting Bind Resource 5

Agenda What is SOA? Rational Tool Support for SOA Development Processes for SOA Rational Unified Process Rational Method Composer RUP SOMA: variations Examples 6

SOA: the Larger Context Rational RequisitePro Rational Portfolio Manager WebSphere Business Modeler Document Business Strategy Understand Risk, Project Costs, and ROI Capture Business Goals, Objectives and Requirements Business Strategist Identify and Manage Projects and Resources Business Analyst Trace Business Objectives, Requirements & Create Business Use Case Outlines Project Manager UML Rational Application Developer Create & Manage System Requirements and Use Cases Developer Choreograph services using BPEL, WSDL, etc. Implement Services, & expose as Web Services Develop Portlets (App UI and Monitor) Model Services Details Tester R EA Verify Quality Create Observation Model with KPIs & export to Monitor Runtime WebSphere Process Server WebSphere Portal WebSphere Business Monitor Integration Developer Use Business Rules, State Machines, Web Services, Adapters, ESB, etc. Architect EA R WebSphere Integration Developer Configure Human Task Manager (including Ad-Hoc) & Client Run-time Statistics Create, Simulate, Analyze and Optimize ToBe Business Model Create, Simulate & Analyze AsIs Business Model BPEL Rational Software Architect Trace Requirements & Architect System Use Case Realizations Create Financial Reports & ROI Estimates Monitor Database Developer Deploy/Run Rational Functional Tester Rational Performance Tester EAR Business Operations Manager IBM Rational Team Unifying Platform 7

Service Quality Management Functional and Performance Testing of Web Services from a common interface Rational Tester for SOA Quality Automated regression and functional testing for GUI-less Web services Rational Performance Tester Extension for SOA Quality Performance Testing for Web Service based applications 8

Asset Management Solutions Rational Asset Manager Rational Portfolio Manager Reusable Asset repository Portfolio data warehouse Promote Analyze Consume Discover Project repositories ClearCase, ClearQuest, ReqPro databases Service Registry & Repository WSRR 9

Agenda What is SOA? Rational Tool Support for SOA Development Processes for SOA Rational Unified Process Rational Method Composer RUP SOMA: variations Examples 10

Why Use the Rational Unified Process(RUP)? RUP provides a software development practitioner with a standards-based yet configurable process environment. That process environment: Allows a tailored method to be published and made accessible to the entire project team Allows that method to be configured to suit the unique needs of each project Provides each user with customized filtering RUP is a body of software engineering practices that are continually improved to reflect changes in industry practices. 11

Why Should I Use RUP? (cont.) For stakeholders RUP provides a glossary of terminology and an encyclopedia of knowledge to help you communicate your needs effectively with the software development team. For software development practitioners RUP provides a central, common process definition that team members can share, helping to improve communication. RUP provides a wealth of guidance on software development practices For managers or team leaders RUP provides you with a process by which you can communicate effectively with your staff, and manage the planning and control of their work accordingly. For process engineers RUP provides you with an architectural foundation and wealth of material from which you can construct your process definition. 12

History of the Rational Unified Process Performance Testing Business Modeling Configuration and Change Mgt OMT Booch UML 1.0 Rational Process Workbench Major addition of content Improved Process for independent testing Objectory Process 1996 1997 1998 Terminology changes Introduction of RUP Base Concepts Key Principles for BusinessDriven Development Delivery processes 1999 2000 2001 Rational Approach Requirements Test Process UI Design Data Engineering UML 1.1 Project Management UML 1.3 RealTime Major addition of tool mentors 2002 Introduction of RUP Platform providing a configurable process framework 2003 2007 Tree browser upgraded for enhanced capabilities of creating customized My RUP tree 13

Key Principles for Business-Driven Development The tried-and-true best practices of the Rational Unified Process have been the basis for the evolution of our tools and processes for more than a decade. Today, as software development is becoming a key business capability, our best practices are maturing within the larger context of business-driven development. The following six principles re-articulate our best practices for the broader lifecycle of continuously evolving systems, in which the primary evolving element is software: Adapt The Process A B C D E F Balance Competing Stakeholder Priorities Collaborate Across Teams Demonstrate Value Iteratively Elevate Level Of Abstraction Focus Continuously On Quality 14

Major Milestones: Business DecisionCustomer Points Scope and Business Case agreement Inception Product sufficiently Architecture mature for customers baselined Elaboration Construction acceptance or end of life Transition time Lifecycle Objective Milestone Lifecycle Architecture Milestone Initial Operational Capability Milestone Product Release 15

What is Rational Unified Process(RUP)? 16

More detail! 17

Agenda What is SOA? Rational Tool Support for SOA Development Processes for SOA Rational Unified Process Rational Method Composer RUP SOMA: variations Examples 18

Structuring Process Content Standardize representation and manage libraries of reusable Method Content Content on agile development Content on managing iterative development Guidance on serialized java beans JUnit user guidance Develop and manage Processes for performing projects Lessons learnt from previous project and iteration Content on J2EE Configuration mgmt guidelines Process assets patterns Standard or reference processes Corporate guidelines on compliance Project plan templates Configure a cohesive process framework customized for my project needs Create project plan templates for Enactment of process in the context of my project 19

Method Content Example IC / Best Practices Books / Publications Standards / Regulations Homegrown Methods 20

Process Example 21

Tools - Authoring, configuring and viewing capabilities 22

Agenda What is SOA? Rational Tool Support for SOA Development Processes for SOA Rational Unified Process Rational Method Composer RUP SOMA: variations Examples 23

SOMA activities are grouped into three major steps Identification of Candidate Services and Flows What we do? How we do it? Specification of Services, Components, and Flows Realization Decisions SOMA activities are grouped into three major steps: Identification, Specification, and Realization Decisions. At the heart of SOMA is the Domain Decomposition component flow specification information specification identification and specification of services, components, and flows. Each step is carried out by applying one or more complementary techniques. Goal-Service Modeling Subsystem Analysis Component Specification Existing Asset Analysis service flow specification Service Specification message & event specification Realization Decisions service allocation to components technical feasibility exploration component layering 24

Service Identification Top-down Analysis Align Services with Business Goals Bottom-up Analysis Identification Specification Realization CBM Maps aligned with industry models Industry process models Business classification / externalization of rules Domain decomposition Functional Area Analysis Goal Service Modeling Existing Asset Analysis Business directions, metrics, KPIs Process Decomposition Variation-Oriented Analysis Industry models as common framework for mapping legacy systems functionality 25

Process decomposition helps identify candidate services Process Process Process Sub-process Sub-process Leaf-level Leaf-level Sub-process Sub-process Use Case Leaf-level Sub-process Use Case Process Decomposition Process In this top-down approach of the service identification approach, leaf-level subprocesses are good candidates for services. Rule of thumb: 3 levels of decomposition. Use Case A sub-process is a convenient construct used to denote further levels of refinement to a process into its constituent parts (sub-processes), recursively. Sub-processes are used to identify candidate services. The list of use cases provides the initial scope for system design ( business as usual ). 26

Process Decomposition work products Process Definition Use Case Model Process Decomposition Service Model 27

Detailed process analysis Customize Control Flow Process models Process Definition Define Business Concepts And Information Flows Analysis Process Model (APM) Identify Automated Activities Assign Roles 28

Service Analysis with RSM/RSA Extend the Class model based on the information requirements of the use case Define boundary of type class diagram Analysis Process Model (APM) Request for benefit to be provided by an insurer to the insured or entitled beneficiaries, under the terms and conditions of a policy. The Claim includes the following information: - Claim description - Claim open date - Claim reference number - Claim type - Claimant name - Claimee name - Claim status - Claim underlying insurance policy - Claim related Loss event Business Object Model (BOM) Boundary of type ClaimFolder 29

SOMA Specification Specifies Services, Service Components, and Flows Service Specification - Elaborates the Service Model, for example, service dependencies, composition, non-functional requirements, service message specifications, design decisions, and so on - Includes Service Litmus Test that gate service exposure decisions Subsystem Analysis Identification Specification Realization Domain Decomposition component flow specification - Partitioning into service components that will be responsible for service realization Component Specification - Detailed component modeling, flow, information architecture, and messages information specification Goal-Service Modeling Subsystem Analysis Component Specification Existing Asset Analysis service flow specification Service Specification message & event specification Realization Decisions service allocation to components technical feasibility exploration component layering 30

Service Specification Steps Service Specification Service Model Service Specification defines the dependencies, composition, exposure decisions, messages, quality of service constraints and decisions regarding the management of state within a service. Apply Service Litmus Test to Make Exposure Decisions Use Service Litmus Test to make service exposure decisions From my candidate services, which ones should be exposed? Identify Service Dependencies Detailed review of the service may expose service dependencies on other services or applications that will be used to realize the functionality of the service. Identify Services Composition and Flow Review of functional areas and business processes will elaborate the composition of services from other services and their flow to enable the business function. (Service) Flow Specification describes the choreography between services. Identify NonFunctional Requirements Use non-functional requirements to specify the desired quality of service. Specify Service Messages Identify and specify the format and content of input and output messages of a service. Document State Management Decisions Sometimes, the composition of services requires management of state. Document these decisions such as the answer to What kind of persistence will be used and how will it be enabled? 31

Service Litmus Test During the Service Specification, we make service exposure decisions: From all the candidate services, which ones should we expose? Not all candidate services should be exposed. Every implemented service has costs and risks. SOMA Service Litmus Test helps make exposure decisions. Candidate Services Business Alignment Composability Externalized Service Description Redundancy Elimination SLT SLT 1-1 : Does the service provide a required unit of business functionality that supports business processes and goals? Business Goals Candidate Services S0 S1 Services (Exposed) S2 S3 32

Apply service Litmus test Service Model Apply Service Litmus test Define services within IDM based on BOM use cases Business Object Model (BOM) Interface Design Model (IDM) Operation parameters based on Use Case Inputs and Outputs 33

Specify services messages Service Model Specify service messages Interface Design Model (IDM) 34

Service Realization: Services May be Implemented in Many Ways Build Buy Transform Integrate Subscribe Buy: Integrate with third party product Outsource Integrate: Wrapping a legacy system s function Subscribe Build New Component Functionality ( Roll your own ) Transform legacy to enable functionality exposure for this service to reuse 35

Service generation Export WSDL/XSD definitions of these IDM services using the generator plug-in WSDL includes Request/Response Types XSD built based on aggregations and stereotypes WSDL Interface and XSD (WID) 36

RUP SOMA Service Infrastructure definition Business Transformation Analysis Business Models including Business Processes Identification Identify services by analysing business models Confirm viable Services Specification Detailed definition of service interfaces and data Realization Decide on approach to implement services, including make/buy/subscribe decision Make: How to design a service is not in ofproject this method Emphasis is on development of servicesthe (inscope a large or an enterprise) - Not on services in a wider project context 37

Classic RUP with SOMA Classic RUP Phases, Iterations and Activities Now with added SOMA!! Thus SOA is integrated into a complete software project development process We chose this version as the basis of our work 38

RUP for SOA The Rational Unified Process (RUP) describes many useful service specification and design techniques A good place to start understanding RUP for SOA is the Developing Service-Oriented Solutions conceptual road map RUP for SOA concentrates on the Analysis and Design discipline 39

Copyright IBM Corporation 2007. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. This information is based on current IBM product plans and strategy, which are subject to change by IBM without notice. Product release dates and/or capabilities referenced in these materials may change at any time at IBM s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 40