Service Oriented Architecture



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

Service Oriented Architecture (SOA) An Introduction

Service-Oriented Architecture and Software Engineering

Introduction to Service Oriented Architectures (SOA)

SOA Myth or Reality??

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

Service Virtualization: Managing Change in a Service-Oriented Architecture

How To Understand A Services-Oriented Architecture

SOA for Healthcare: Promises and Pitfalls

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

What You Need to Know About Transitioning to SOA

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

The Enterprise Service Bus

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

Extend the value of your core business systems.

Service-Oriented Architectures

Unlocking the Power of SOA with Business Process Modeling

Service Oriented Architectures

Service Oriented Architecture 1 COMPILED BY BJ

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

A standards-based approach to application integration

System Models for Distributed and Cloud Computing

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.

Software Life-Cycle Management

Government's Adoption of SOA and SOA Examples

Web Services Software Architecture

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

Challenges and Opportunities for formal specifications in Service Oriented Architectures

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

Enterprise Service Bus: Five Keys for Taking a Ride

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc.

Service Computing: Basics Monica Scannapieco

Five best practices for deploying a successful service-oriented architecture

Business Process Management Enabled by SOA

10 Years of Hype Cycles - Do We Forget Knowledge?

Guiding Principles for Modeling and Designing Reusable Services

Service Oriented Architecture

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

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

Chapter 15. Web services development lifecycle

Software Engineering

An introduction to SOA and the HP NonStop server environment

Lesson 18 Web Services and. Service Oriented Architectures

Applying 4+1 View Architecture with UML 2. White Paper

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

SOA and BPO SOA orchestration with flow. Jason Huggins Subject Matter Expert - Uniface

Architecture. Reda Bendraou

Introduction to Service Oriented Architecture (SOA)

Web Application Development for the SOA Age Thinking in XML

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

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

Enterprise Application Integration (Middleware)

MIDDLEWARE 1. Figure 1: Middleware Layer in Context

JOURNAL OF OBJECT TECHNOLOGY

Oracle Platform as a Service (PaaS) FAQ

Copyright IONA Technologies Web Services. Seán Baker IONA Technologies

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

The Integration Between EAI and SOA - Part I

TECHNOLOGY GUIDE THREE. Emerging Types of Enterprise Computing

Juniper Networks QFabric: Scaling for the Modern Data Center

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

Enterprise Application Designs In Relation to ERP and SOA

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

Distributed systems. Distributed Systems Architectures

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Distributed System: Definition

Adopting Service Oriented Architecture increases the flexibility of your enterprise

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

Pervasive Software + NetSuite = Seamless Cloud Business Processes

SCALABILITY AND AVAILABILITY

Using SOA to Improve Operational Efficiency An Executive Overview

CHAPTER 1 INTRODUCTION

Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.

CHAPTER 8 CLOUD COMPUTING

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

CSCI 5828 Spring 2010 Foundations of Software Engineering. - Arpit Sud

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

Business-Driven Software Engineering Lecture 3 Foundations of Processes

JOURNAL OF OBJECT TECHNOLOGY

IONA Technologies. David Roy Investor Relations Phone: (781) Fax: (781) Contact: Date January 2008

SOA REFERENCE ARCHITECTURE: WEB TIER

An Architecture Vision

Software Engineering: Reflections on an Evolving Discipline

Technical Track Session Service-Oriented Architecture

SOA and Cloud in practice - An Example Case Study

Service Virtualization andRecycling

Prerequisites for Successful SOA Adoption

IBM s SOA Foundation

Service Governance and Virtualization For SOA

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

A Framework for Virtual Enterprise Support Services

Developing the Architectural Framework for SOA Adoption

Realizing business flexibility through integrated SOA policy management.

The Accenture Foundation Platform for Oracle. Enter

MOVING TO THE CLOUD: Understanding the Total Cost of Ownership

Approach to Service Management

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

L Impatto della SOA sulle competenze e l organizzazione ICT di Fornitori e Clienti

Transcription:

Service Oriented Architecture Version 9 2 SOA-2 Overview Ok, now we understand the Web Service technology, but how about Service Oriented Architectures? A guiding analogy Terminology excursion Service, interface, architecture model, architecture style, -oriented architecture Benefits of -oriented design Successful example of -oriented design What does this mean to you? How to prepare for SOA Summary

From just using a Web Service to having a -oriented architecture 3 SOA-3 Monolithic applications Intermediate stage: Individual s broken out Service-oriented architecture A guiding example Bank Teller analogy for -orientation 4 SOA-4 Different types of tellers offer different s Tellers specialized to perform only certain types of transactions (which are typically closely related) Example partitioning: Account Management (Opening and closing accounts) Credits (inquiry about conditions, consulting, applying for mortgages) Cash Register (Withdrawals, deposits, funds transfers) Currency exchange (buy and sell foreign currencies) There may be several tellers offering the same set of s (for load balancing / failover) What happens behind the counter is not your business (bulletproof glass, iron bars) If you require a complex transaction, you may have to visit several tellers (customer as transaction coordinator)

Terms and Definitions Service (Definition) 5 SOA-5 A is a package of closely related standardized functions, which are called repeatedly in a similar fashion, and should therefore be implemented by a dedicated facility, which can be specialized to perform them. Example: Account Management A can be partitioned and have multiple functions. Example: Open new account The smallest subunits within functions are called primitives. Example: Generate next available account number 6 SOA-6 Terms and Definitions Characteristics to completely describe a Service requester ( client ) Who/which components use or need the? For the requester, the provided is most important, and not how it is implemented (principle of information and implementation hiding) Service provider ( server ) Who/which components implement or provide the? is responsible for hosting the, and ensuring the promised QoS may charge for usage Qualities of Service (QoS) What are the parameters that allow to distinguish good provisioning from bad? Examples: Reliable, predictable execution, cost, execution time, level of privacy, other guarantees

Terms and Definitions Interface (Definition) 7 SOA-7 An interface constitutes the specification of a, that is implemented by a certain component. The interface defines a contract, to which the component that implements it has to comply. Signature of interfaces can be described using formal languages Web Services Description Language (WSDL) OMG/ISO Interface Definition Language (IDL) (for CORBA) UML Object Constraint Language (OCL) But also: Java, C++ headers,... Type-safe interfaces sometimes introduce tight coupling Web Services don t force you into type-safe interfaces Different message types may be acceptable to a Terms and Definitions Software Architecture (Definition) 8 SOA-8 Software architecture encompasses the set of significant decisions about the organization of a software system selection of the structural elements from which the system is composed, and the interfaces to these behavior as specified in collaborations among those elements (de)composition of these structural and behavioral elements into a larger system architectural style that guides this organization Mary Shaw (Carnegie Mellon Univ.)

Terms and Definitions Architectural Style (Definition) 9 SOA-9 An architectural style defines a family of systems in terms of a pattern of structural organization [Garland/Shaw 96] An architectural style defines: a vocabulary of design elements components (client, server, filter, layer, adapter ), and connector types (pipe, broadcast, queue,...) a set of configuration rules (constraints) on how they can be combined Example styles in Software Architecture: Event-based, Repository-based, virtual machines, layered Good reference: Martin Fowler book on Enterprise Integration Architecture introduces notation for architectural components of enterprise systems Terms and Definitions Service-Oriented Architecture (SOA) 10 SOA-10 The architectural style of an application is called -oriented if it meets the following criteria: It is not monolithic; common blocks of functionality are broken out of the applications and are instead provided by s A significant part of the overall functionality is implemented by s, which exist otherwise independent of the application Design elements for an SOA are: Components: s (can be composites), consumers, providers Connector type: (remote) invocations Configuration rules for an SOA are: No strict layering ( implementations can use other s) No centralized control entity Services are designed for shared use, and for use that may not even have been anticipated at design time

Terms and Definitions Service-Orientation 11 SOA-11 Service-Orientation is an organizational principle A set of principles for building large systems It is not tied to any particular technology Examples: Common horizontal s: Logging, authentication/single-sign-on, systems management, Directory lookup of s, event notification Vertical s, specific to your business domain Product feature search, Address management, Order Status Tracking Service, Truck/trailer tracking As in organizations, there is always more than one way to structure a large system The most important question: How to decompose? What is the guiding abstraction mechanism? Why would one favor one decomposition for another? Terms and Definitions Quality criteria for (software) architectures 12 SOA-12 Q: What makes one decomposition better than the other? A: Depends on the priorities of your requirements! Quality criteria used to measure the result: 1. Derived from top rank use cases (adequateness) 2. Balanced with existing assets: platform technology, frameworks, components 3. Balanced with requirements (trade-offs, performance vs. security, ) 4. Compliance with (domain-specific) industry standards and reference models (interoperability, readiness for merging) 5. Designed to make the system more resilient to future changes (20 years?) (maintainability) 6. Designed for substantial reuse, and with substantial reuse 7. Intuitively understandable (people buy-in!) (usability)

Terms and Definitions Forces and quality factors for software arch. 13 SOA-13 Throughput Scalability Capacity Cost Software Architecture Performance Fault Tolerance Functionality Availability Maintainability Interoperability Fail safe Challenges and problems 14 SOA-14 Technology heterogeneity of existing applications Many integration projects during the last three years Have been tactical, not strategic (no enterprise focus) Only solved problems for one project (e.g. for one channel) Result: Stovepipe integrations Large organizations run literally hundreds of packaged applications and often even multiple ERP systems These systems were designed as stand-alone and independent of each other They overlap in functionality They overlap in the data they manage Integration does not remove any overlap Consolidation would be better SOA helps to address these issues

15 SOA-15 Benefits of -oriented design (1) More flexibility ( business agility ) Assumption: business process logic and business rules are no longer buried inside applications Result: Since they are now explicit, processes can be changed easier Existing s can be used in different contexts Shorter time-to market for changed processes Reduced cost of operation through consolidation Assumption: Redundant functionality is eliminated Result: Fewer servers Fewer licenses Fewer assets to manage Lower maintenance cost Benefits of -oriented design (2) Higher quality Eliminating redundancy will reduce inconsistent data and inconsistent behavior More transparency Improved system architecture easier to understand Reduced risk, cost and complexity for development Clean architecture reduced cost and risk Increased developer productivity through reuse Projects can leverage existing s Black box reuse instead of copy&paste reuse Lessen the dependencies on vendors Service implementations can be replaced as long as interfaces stay the same Services can be relocated from one platform to another Services can even be outsourced to an external provider 16 SOA-16

Benefits of -oriented design (3) 17 SOA-17 Good design (partitioning) will outlive your middleware or implementation technology All you have to do is to put a wrapper around it, if required Many mainframe systems today provide many useful s that should be made available to applications elsewhere in the enterprise Commoditizing more and more parts of the IT infrastructure Off-the-shelf infrastructure components are moving up the layers and coming closer to the application! Due to existing industry standards and available products, developers stop building this stuff themselves: 1990: DBMS, TP Monitors 1992: Networking stacks 1995: CORBA, RPC Middleware, Reliable Messaging 1998: Naming Service, Publish and Subscribe, Event Notification 2000: Various J2EE Services Case Study Credit Suisse s Enterprise Architecture Model 18 SOA-18 J2EE COM C++ Java CORBA Service Service Service Service Service Credit Suisse Information Bus! Implemented standardsbased interfaces everywhere Service Service Service Service Service Service OS/390 OS/390 OS/390 OS/390 OS/390 " and then enabled s-oriented access to all application systems.

Case Study Credit Suisse s Enterprise Architecture Model 19 SOA-19 # 500 business # 50-plus front-end composite applications # 100,000 users # 7 million invocations per week "There is no need for us to dismantle our existing infrastructure to deploy online business opportunities. IONA enables us to leverage multiple technology generations in a flexible system, which ensures shorter development cycles and investment protection. Stephan Murer, Credit Suisse What does all this mean for you? (1) 20 SOA-20 Your role: Developer or Software Architect Project-focused ( get this done ) Success metric: Project / deliverable completed in time Goal: Minimize time and cost of development Granularity of re-use: class libraries, source code, classes, frameworks What you need to do be familiar with Web Services standards and technologies get your feet wet be aware of existing s in your enterprise try to (re)use them as much as possible

21 SOA-21 What does all this mean for you? (2) Your role: Enterprise Architect or CIO Enterprise- or infrastructure-focused Success metric: Resourcefulness Goals: Minimize TCO across projects, reduce complexity, maximize business agility Granularity of re-use: s, infrastructure What you need to do understand Web Services technologies define the roadmap, act as catalyst define the business architecture work for the application teams and encourage them to use the s of your infrastructure Summary Precise terminology helps to understand and handle the problem to identify and debunk unbaked concepts Service-orientation is an architectural style Web s are a good technology to build oriented architectures Simple, easy to understand Inexpensive technology, no major investment needed Can start small and proceed incrementally 22 SOA-22