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

Similar documents
SOA for Healthcare: Promises and Pitfalls

Getting Started with Service- Oriented Architecture (SOA) Terminology

Service-Oriented Architectures

Service Oriented Architecture

Introduction to Service-Oriented Architecture for Business Analysts

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

SOA Myth or Reality??

Service-Oriented Architecture: Analysis, the Keys to Success!

What You Need to Know About Transitioning to SOA

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

SOA GOVERNANCE MODEL

A standards-based approach to application integration

How To Understand A Services-Oriented Architecture

Federal Enterprise Architecture and Service-Oriented Architecture

Oracle SOA Reference Architecture

Lesson 18 Web Services and. Service Oriented Architectures

SOA REFERENCE ARCHITECTURE: SERVICE TIER

A Quick Introduction to SOA

Trends in Software Intensive Systems Development JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY

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

Service Oriented Architecture Case: IBM SOA Reference Architecture

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Service-Oriented Architecture and Software Engineering

David Pilling Director of Applications and Development

10 Years of Hype Cycles - Do We Forget Knowledge?

Using SOA to Improve Operational Efficiency An Executive Overview

HP SOA Systinet software

IBM Information Management

Service Oriented Architecture (SOA) An Introduction

Air Force SOA Enterprise Service Bus Study Using Business Process Management Workflow Orchestration for C4I Systems Integration

SOA Success is Not a Matter of Luck

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Cloud Computing & Service Oriented Architecture An Overview

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

Business Process Driven SOA using BPMN and BPEL

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

Service-Oriented Computing and Service-Oriented Architecture

Service Oriented Architecture

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

Introduction to Service Oriented Architectures (SOA)

Service-oriented architecture in e-commerce applications

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

Prerequisites for Successful SOA Adoption

15 Years of Service Oriented Architecture at Credit Suisse

Architectural Decisions as Service Realization Methodology in Model-Driven SOA Construction

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

Business Process Management Enabled by SOA

Guiding Principles for Modeling and Designing Reusable Services

How To Create A C++ Web Service

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

E-Business Suite Oracle SOA Suite Integration Options

SOA CERTIFIED CONSULTANT

Realizing business flexibility through integrated SOA policy management.

A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus

An introduction to SOA and the HP NonStop server environment

Service Virtualization: Managing Change in a Service-Oriented Architecture

Service Oriented Architecture

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

SOA Governance & Security How BPM Can Help Philip Larson, Director of Product Management, Appian Corporation

Improving Agility at PHMSA through Service-Oriented Architecture (SOA)

Service Oriented Architecture 1 COMPILED BY BJ

Using SOA to Improve Operational Efficiency A Management Overview. Introducing MIKE2.0 An Open Source Methodology for Information Development

Government's Adoption of SOA and SOA Examples

AquaLogic Service Bus

SOA and Cloud in practice - An Example Case Study

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

Adventures in Estimating Open Source, Component Systems, Agile, and SOA Projects

UDDI v3: The Registry Standard for SOA

SOA IN THE TELCO SECTOR

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

Table of Contents. 1 Executive Summary SOA Overview Technology Processes and Governance... 8

Distributed systems. Distributed Systems Architectures

ITU-T Kaleidoscope Conference Innovations in NGN. Managing NGN using the SOA Philosophy. Y. Fun Hu University of Bradford

Business Process Management In An Application Development Environment

Developing SOA solutions using IBM SOA Foundation

Testing Web Services Today and Tomorrow

SOA and Web Services. Larry Kramer Principal Applied Technologist June 9, A PeopleTools and Fusion perspective

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

The Use of Service Oriented Architecture In Tax and Revenue

Chapter 15. Web services development lifecycle

MDA Journal A BPT COLUMN. David S. Frankel. December 2003

An Esri White Paper June 2007 Developing and Deploying an Integrated Geoenabled SOA Business Solution: A Case Study

The case for service oriented architecture in realising trusted, interoperable, pan-european egovernment services.

Building Out BPM/SOA Centers of Excellence Business Driven Process Improvement

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Enterprise Application Designs In Relation to ERP and SOA

Business Process Execution Language for Web Services

SOA Governance and the Service Lifecycle

Challenges and Opportunities for formal specifications in Service Oriented Architectures

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

JBOSS ENTERPRISE SOA PLATFORM AND JBOSS ENTERPRISE DATA SERVICES PLATFORM VALUE PROPOSITION AND DIFFERENTIATION

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Enterprise SOA Service activity monitoring

Magic Quadrant for Intelligent Business Process Management Suites

Oracle Reference Architecture and Oracle Cloud

Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles

SOA: The missing link between Enterprise Architecture and Solution Architecture

Transcription:

Service-Oriented Architecture and its Implications for Software Life Cycle Activities Grace A. Lewis Software Engineering Institute Integration of Software-Intensive Systems (ISIS) Initiative

Agenda SOA: Basic Concepts Pillars of Service-Oriented Systems Development Implications of SOA for Software Life Cycle Activities Conclusions SOA: Basic Concepts 2

What is SOA? Service-oriented architecture is a way of designing, developing, deploying and managing systems, in which Services provide reusable business functionality. Service consumers are built using functionality from available services. Service interface definitions are first-class artifacts. An SOA infrastructure enables discovery, composition, and invocation of services. Protocols are predominantly, but not exclusively, message-based document exchanges. SOA: Basic Concepts 3

Services Services are reusable components that represent business tasks. Customer lookup Credit card validation Weather Hotel reservation Services can be Globally distributed across organizations Reconfigured into new business processes Service interface definitions are well-defined firstclass artifacts (ideally) available in a service repository. SOA: Basic Concepts 4

SOA Infrastructure Set of technologies that bind service consumers to services Products, standards and protocols that support communication Typically message-based document exchanges o o o o Web Services (HTTP, SOAP, WSDL) Message-oriented middleware (i.e. IBM Websphere MQ) Publish/subscribe (i.e. Java Messaging Service JMS) CORBA Infrastructure services available to service providers and/or service consumers Security, discovery, data transformation, Development, deployment and management tools and guidelines SOA: Basic Concepts 5

Service Consumers Clients for the functionality provided by the services End-user applications Internal systems External systems Composite services Consumers programmatically bind to services. SOA: Basic Concepts 6

Services and Cost-Efficiency Order Processing Application Invoicing Application Customer Lookup - 2 CRM Application Customer Lookup - 1 Customer Lookup - 3 Customer Lookup Service A service with equivalent functionality can be implemented, and used by all three applications. SOA: Basic Concepts 7

Services and Agility Order Processing Application Course Management Application The new application can use available services. New services can be used by other applications as well. Customer Lookup Service Credit Check Service Item Lookup Service Inventory Check Service Room Availability Service SOA: Basic Concepts 8

Services and Adaptability Order Processing Application The SOA Infrastructure provides a standard communication mechanism between consumers and services. SOA Infrastructure Changes in services have potentially no impact on existing service consumers. Customer Lookup Service Credit Check Service Item Lookup Service Inventory Check Service SOA: Basic Concepts 9

Services and Legacy Leverage Legacy platform diversity and complexity is transparent to consumers. Customer Lookup Service Order Processing Application SOA Infrastructure Credit Check Service Item Lookup Service Inventory Check Service Consumers access the services in a standard way. It is the service s task to invoke the legacy system. Customer Management System Manufacturing System SOA: Basic Concepts 10

Components of a Service-Oriented System End User Application Portal Internal System External Consumer Service Consumers SOA Infrastructure Internet Security Development Tools Discovery Infrastructure Service A Service B Service C Service D Service Interfaces Internal Users Enterprise Information System Legacy or New Service Code External System Service Implementation SOA: Basic Concepts 11

Three Basic Operations to Support Service- Oriented Systems Service Discovery Services repositories are queried for services with desired characteristics. Service Composition Applications/service consumers are built by integrating functionality provided by services. Service Invocation Services are invoked and service code is executed. SOA: Basic Concepts 12

An Example of SOA Implementation: WS* Web Services WS* Web Services is one mechanism for implementing a service-oriented system. Service interfaces are described using Web Services Description Language (WSDL). Data is transmitted using SOAP over HTTP. UDDI is optionally used as the directory service. Because it is the most common mechanism, Web Services is often equated to SOA. Base Stack Orchestration and Choreography WSCL, WSCI, BPEL, WS-Coordination BPML, BPSS Discovery UDDI Description WSDL Message Format SOAP Encoding XML Transport HTTP Security Quality of Service Transactions Management Adapted from XML and Web Services Unleashed, SAMS Publishing SOA: Basic Concepts 13

So What Is Different? There is nothing conceptually new, but it has brought together existing technologies and good practices in a way that works. More aligned with business Services represent coarse-grained business tasks Backed by industry Standards-based Greater degree of rigor in interface specifications Truly loosely-coupled No need to install specific components Platform-independent o What is behind the interface is invisible to the consumer SOA: Basic Concepts 14

So What is the Challenge? Creating Good Services! Represent reusable tasks Have (or may have) multiple consumers Permit consumers to bind to services programmatically Correspond to functionality of a stateless nature Service has no knowledge of previous visits Enable service inputs and outputs that do not require the construction of very complex consumers Are of a request-response nature Although SOA 2.0 supports events SOA: Basic Concepts 15

Agenda SOA: Basic Concepts Pillars of Service-Oriented Systems Development Implications of SOA for Software Life Cycle Activities Conclusions Pillars 16

Pillars of Service-Oriented Systems Development SOA-Based Systems Development Strategic Alignment SOA Governance Technology Evaluation Change of Mindset High-level mission and business goals need to dictate the focus of the strategy of SOA adoption and implementation. SOA governance provides a set of policies, rules, and enforcement mechanisms for developing, using, and evolving SOA assets and for analysis of their business value. Contextual technology evaluation allows early insight into technologies within the context in which they will be used. Development is different from traditional systems development loose coupling between consumers and providers, multiple ownership, shared semantics, etc. SOA Design Principles Pillars 17

Different Business Needs and Goals Drive Different SOA Strategies Business Needs and Goals Increase information available to business customers Intuitive portals SOA Strategy Creation of services related to customer information Integrate business partners Heterogeneous interoperability Back office integration Identification of business rules Improve business processes Identification of key processes Elimination of redundancy Consistency between processes Services that access legacy systems Pillars: Strategic Alignment 18

Linkage of Business Processes to Services 1. Business processes to support business goals are identified. 2. Candidate services are identified. Top-Down Shared steps between business processes are identified as service candidates. Bottom-Up Legacy system inventory is performed. Systems with functionality to support business processes are identified as migration candidates. 3. Services are selected based on relationship to business goals. Pillars: Strategic Alignment 19

Disciplined SOA Adoption Introduction Address Specific Pain Proof of Concept Single Application Spreading Process Integration Establish Technology Platform Multiple Applications (1BU) Exploitation Process Flexibility Leverage Service Sharing Multiple Applications (Across BUs) Plateau Continuous Adaptation and Evolution Enterprise SOA Infrastructure Virtual Enterprise Adapted from Meeting the Challenges of SOA Adoption, keynote by Roy Schulte at the SOA In Action Virtual Conference, November 2006. Pillars: Strategic Alignment 20

SOA Governance SOA governance provides a set of policies, rules, and enforcement mechanisms for developing, using, and evolving SOA assets and for analysis of their business value. It provides the who, that what and the how decisions business, engineering and operations are made in order to support a SOA strategy. Policies and procedures Roles and responsibilities Design-time governance Runtime governance Source: Integration and SOA: Concepts, Technologies and Best Practices. Beth Gold-Bernstein Pillars: SOA Governance & Gary So. 21

Examples of Governance Elements Business Projects Service Ownership Service Lifecycle Shared Artifacts Financial Service Funding Model Service Usage Fees Platform Funding People Roles & Responsibilities Service and Process Owners Portfolio Projects Business Services Applications Operations Information Data Ownership Data Standards Data Quality Capacity Planning Enforcement Service Levels Enforcement Policies Metrics Collection Architecture Reference Architectures Architectural Standards Blueprints & Patterns Technology Strategic SOA Platform Enforcement Platform Decisions Shared Infrastructure Services Operations Engineering Governance elements adapted from a presentation by Dr Mohamad Afshar from Oracle Corporation and Ben Moreland from The Hartford at the Business Transformation Conference 2007 Pillars: SOA Governance 22

Match of Technologies to the Problem Domain Need a realistic understanding on what technologies can do in the specific problem domain How to understand and keep up with the alphabet soup? XML, SOAP, WSDL, UDDI, WS-Security? How to determine which standards and technologies to implement in specific situations? How to build systems that are resilient to changes in standards and commercial products that implement them? How to determine if selected technologies will meet QoS requirements? Security Availability Performance All the above questions suggest a need for contextual experimentation. Pillars: Technology Evaluation 23

T-Check SM Experiment, situated in a specific context, with the goal of providing a technology sanity check The approach 1. Formulate hypotheses about the technology 2. Examine these hypotheses against very specific criteria through experimentation Extremely efficient Focus on implementing the simplest experiment to validate technology claims [Hypotheses Sustained] Develop Hypotheses Develop Criteria Context Design and Implement Solution Evaluate Solution Against Criteria [Hypotheses Refuted] Pillars: Technology Evaluation 24

Service-Oriented Systems Require a Different Development Approach Change of Mindset Traditional Systems Development Tight coupling between system components Semantics shared explicitly at design time Known set of users and usage patterns System components owned by the same organization Service-Oriented Systems Development Loose coupling between service consumers and services Semantics shared without much communication between developers of consumers and services In the future, even at runtime Potentially unknown set of users and usage patterns Systems components potentially owned by multiple organizations Pillars: Change of Mindset 25

Agenda SOA: Basic Concepts Pillars of Service-Oriented Systems Development Implications of SOA for Software Life Cycle Activities Conclusions SOA and the Software Life Cycle 26

General Process Implications Processes must reflect the required strategic approach Processes must be iterative Short iterations to respond to business needs SOA governance must be embedded across the full life cycle Emphasis on problematic areas Automation where possible Processes must be targeted Processes targeted at service provider types: internal services vs. external services Processes targeted at system component provider: service, consumer or infrastructure Technology evaluation must become an integral process component SOA and the Software Life Cycle 27

Some Implications for Requirements Activities Require an business process management (BPM) focus Must deal with a larger number of stakeholders First step is to look at the inventory of business processes and services Negotiation and adaptation to increase reuse May cause refactoring of services A high quality registry makes the process easier In the case of service providers, these need to work with potential requirements In the same way COTS products vendors work SOA and the Software Life Cycle 28

Some Implications for Architecture and Design Activities The responsibilities of each system component need to be clearly defined consumers, services and infrastructure Security, transaction management, data transformations, etc. Constant technology evaluation Evaluation of expected quality of service (QoS) Tradeoff analysis Contextual experimentation Implications of external consumers and services Decisions must promote reuse SOA and the Software Life Cycle 29

Some Implications for Development Activities Development environments need to be similar/same as production environments as in any distributed system environment In some cases, the simulation of the production environment might be necessary The emergent characteristics of many SOA technologies cause instability in development activities Require the establishment of processes for the implementation of service interfaces and infrastructure components Traditional processes apply to service implementation SOA and the Software Life Cycle 30

Some Implications for Testing Activities System testing of a service consumer requires all services (or test instances of them) to be available From a service consumer perspective, the service is a black box Requires greater and more diverse exception handling For example, what happens if the service is not available? Regression tests have to evaluate against all consumer requirements and service-level agreements (SLAs) SOA and the Software Life Cycle 31

Some Implications for Maintenance Activities Impact analysis affects a larger number of users Internal and external users Service users and users of the systems that implement the services Configuration management becomes more complicated What artifacts are placed under configuration management? Consumers? Services? Infrastructure? Greater coordination of release cycles (if possible) Between services and consumers Between infrastructure and services/consumers SOA and the Software Life Cycle 32

Less Control Requires giving up full control not easy Tradeoff is agility Anticipate objections and understand validity Security Performance Control Greatest challenges come from Single organization may not own the complete system Services used in unknown ways by (potentially) unknown users Education and training on new mindset is needed. SOA and the Software Life Cycle 33

Agenda SOA: Basic Concepts Pillars of Service-Oriented Systems Development Implications of SOA for Software Life Cycle Activities Conclusions Conclusions 34

Conclusions 1 SOA is an approach to software development where Services provide reusable functionality with well-defined interfaces. An SOA infrastructure enables discovery, composition, and invocation of services. Service consumers are built using functionality from available services. SOA is real Many successful case studies, mainly in commercial enterprises Main goal for adoption of SOA is internal integration and business process improvement Main adoption barriers are lack of governance and finding people with the right skills Conclusions 35

Conclusions 2 SOA is not just a buzzword Currently the best option available for loosely coupled systems integration and leverage of legacy systems The technologies to implement SOA will change over time, but the concepts are here to stay SOA is much broader than its most popular instantiation (Web Services) Development of service-oriented systems is about more than just technologies and standards It is a way of developing systems It requires a change of mindset It requires alignment with business goals and processes to be of value Conclusions 36

2008-2009 Course Dates for Migrating Legacy Components to SOA Environments October 15-16 January 28-29 April 16-17 July 29-30 September 10-11 October 28-29 2008 SEI DC 2009 SEI Pittsburgh SEI Pittsburgh SEI DC SEI Europe SEI Pittsburgh Course Dates 37

References SMART: The Service Migration and Reuse Technique SMART: Analyzing the Reuse Potential of Legacy Components in a Service-Oriented Architecture Environment: http://www.sei.cmu.edu/publications/documents/08.reports/08tn008.html T-Checks Process: http://www.sei.cmu.edu/publications/documents/05.reports/05tn025.html Applications: Web Services and Security: Single Sign-On: http://www.sei.cmu.edu/publications/documents/08.reports/08tn026.html Open Grid Services Architecture: http://www.sei.cmu.edu/publications/documents/07.reports/07tn016.html Web Services: http://www.sei.cmu.edu/publications/documents/06.reports/06tn021.html OWL-S (OWL Web Ontology Language for Services): http://www.sei.cmu.edu/publications/documents/06.reports/06tn018.html MDA (Model-Driven Architecture): http://www.sei.cmu.edu/publications/documents/05.reports/05tn022.html References 38