Chapter 3 Introducing SOA

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 1.
Building an Operational Enterprise Architecture and Service Oriented Architecture Best Practices Presented by: Ajay Budhraja Copyright 2006 Ajay Budhraja,
7-1 INTRODUCTION: SoA Introduced SoA in Chapter 6 Service-oriented architecture (SoA) - perspective that focuses on the development, use, and reuse of.
Presentation 7 part 1: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 Outline Definition Overview of Web Services Examples Next Time: SOAP.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
Service Oriented Architecture Concepts March 27, 2006 Chris Armstrong
1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,
Stuart Sim Chief Architect Global Education & research Sun Client Solutions Blog:
Troy Hutchison Service Oriented Architecture (SOA) Security.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Ch 12 Distributed Systems Architectures
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Service Oriented Enterprise CS409 Application Services Even Semester 2007.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br SOA Platform technologies Alan Mateus Danilo Vieira
SOA, BPM, BPEL, jBPM.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Proprietary Data Services and Ontology Driven Applications (ODA) 2nd SOA for E-Government Conference October 2006 Presented by: Atif Kureishy October.
Nguyễn Huy Trường Bùi Dũng Anh Tuấn 1.  Service  Service Oriented Architecture (SOA)  Service Oriented Computing (SOC)  Reference 2.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
What is Service Oriented Architecture ? CS409 Application Services Even Semester 2007.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Unit 1 Service Oriented Architecture UNIT – I Based On Service-Oriented Architecture: Concepts, Technology, and Design By Thomas Erl Prepared.
SOA Chapter 3 Introducing SOA. Fundamental SOA A distinct approach for separating concerns Logic for large problems are decomposed into smaller, related.
IT2401 SERVICE ORIENTED ARCHITECTURE
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
HNDIT Rapid Application Development
Advanced Web Technologies Lecture # 5 By: Faraz Ahmed.
Basics of SOA Testing Assurance Services Unit 24 February 2016.
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
Topics on Web Services COMP6017 Dr Nicholas Gibbins –
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
A service Oriented Architecture & Web Service Technology.
08/07/ Comparative Integrated Systems CIS007-3 Sue Brandreth Week 13: Service-Oriented Architecture (Overview)
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
SOA (Service Oriented Architecture)
Perspectives on the Term Service
Service Oriented Architecture
Service Oriented Architecture
Distribution and components
7. Service-oriented Architecture (SOA)
Introduction to Web Services and SOA
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Service-centric Software Engineering 1
Service Oriented Architecture
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Elements of Service-Oriented Architecture
Service Oriented Architecture (SOA)
Service Oriented Architecture + SOAP
Introduction to Web Services
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Distributed Systems through Web Services
Introduction to SOA and Web Services
Introduction to Service-Orientation
The Current State of CBSE
Introduction to Web Services and SOA
Presentation transcript:

Chapter 3 Introducing SOA

Fundamental SOA A distinct approach for separating concerns Logic for large problems are decomposed into smaller, related pieces What distinguishes SOA in separating concerns is the manner in which it achieves separation

Fundamental SOA Individual units of logic can be distributed Why is SO separation different? Units exist autonomously, but not isolated Units maintain a degree of commonality and standardization but can evolve independently Units of logic are known as services

Services Encapsulate Business Logic Services encapsulate logic within a distinct context This context is directly related to a business task, business entity, or other logical grouping Service task can be small or large Service logic can encompass the logic provided by other services

Services Encapsulate Business Logic Services can be composed to produce other services Business processes drive the design Services execute in predefined sequences that match business logic and runtime conditions

Services Encapsulate Logic Process Service Process Step Service Service Sub Process Service

How Services Relate In order for services to interact, they must be aware of each other Awareness is achieved through service descriptions Description: name, location, data exchange requirements Services are loosely coupled through service descriptions

How Services Relate Service A Service B Service Description for Service B

How Services Communicate Services need to cooperate and so they must communicate One communication framework is messaging Messages, like services, are autonomous After a message is sent, the service loses control of what happens to the message Messages carry enough intelligence to self-govern their parts of processing logic

How Services Communicate Self-governing Message Service A Service B Service Description for Service B

How Services Are Designed Like Object-orientation, service-orientation is a distince design approach with a set of design principles Application of principles results in a standardized service-oriented processing logic A solution comprised of units of service-oriented processing logic is said to be a service-oriented solution

SOA Design Principles Loose Coupling – Services maintain a relationship that minimizes dependencies Service Contract – Services adhere to a communications agreement defined by one or more service descriptions and related documents Autonomy – Services have control over the logic they encapsulate

SOA Design Principles Abstraction – Beyond what is described in the service contract, services hide logic from the outside world Reusability – Logic is divided into services with the intention of promoting reuse Composability – Collections of services can be coordinated and assembled to form composite services

SOA Design Principles Statelessness – Services minimize retaining information specific to an activity Discoverability – Services are designed to be outwardly descriptive so they can be found and accessed via discovery mechanisms

How Services Are Built The arrival of Web service technology has promoted SOA All major vendor platforms support SOA solutions with the understanding that SOA support is based on Web services SOA can be achieved without Web services, but the book’s focus uses Web service technology

Primitive SOA The previously discussed ideas comprise “primitive SOA” These ideas represent a baseline technology architecture supported by all major vendors All other forms of SOA are based on extending primitive SOA

Case Study RailCo accounting solution exists as a two-tier client-server application Most of the application logic resides within an executable deployed on client workstations Two primary tasks: Enter Customer Purchase Order Create Customer Order

Case Study In an SO business model, the logic behind each process would be partitioned into one or more services The entire process might be a composition of multiple smaller services Create Customer Order Process might look like this: Retrieve Purchase Order Data Check Inventory Availability Generate Back Order Publish Customer Order

Case Study A business process can be viewed and modeled as a service One or more processes can be combined to form an even larger process Create Customer Order and Generate Customer Invoice could be combined to form Order Processing Process

Case Study We need a technical architecture with the following : The ability to partition business automation logic into units represented by services The ability for these units to be relatively independent so that they can participate in different compositions The ability for these units to communicate with each other in a way that preserves unit independence

Contemporary SOA The basic ideas in SOA are continually expanded upon by vendors Current platforms include powerful XML and Web services support This includes new Web services specifications We refer to this extended variation of SOA as Contemporary SOA

Contemporary SOA Is … At the core of the service-oriented platform The term SOA has come to have several meanings including a new computing platform as well as an architectural approach This book includes the notion of SOA as a contemporary service-oriented platform

Contemporary SOA … Increases quality of service but there is more yet to be done in this area Tasks need to be carried out in a secure manner, protecting the contents of messages Tasks to need to be carried out reliably so that message delivery or notification of failed delivery is guaranteed Performance needs to be enhanced for SOAP and XML processing Transaction processing enhancement for task failure

Contemporary SOA Is … Fundamentally autonomous Individual services need to be as independent and self-contained as possible This is realized through message-level autonomy Messages are “intelligence-heavy” and control the way they are processed by recipients Application that are comprised of autonomous services can be viewed a composite, self-reliant services

Contemporary SOA Is … Based on open standards, messages travel between services via a set of protocols that is globally standardized and accepted Message format is standardized, too. SOAP, WSDL, XML, and XML Schema allow messages to be fully self-contained For services to communicate, they only need to know of each other’s service description. This supports loose-coupling This limits the role of proprietary technology

Contemporary SOA … Supports vendor diversity The communications framework bridges the heterogeneity within and between corporations Any development environment that supports web services can be used to create a non-proprietary service interface layer Integration technologies encapsulate legacy logic through service adapters

Contemporary SOA … Supports vendor diversity .NET Solution J2EE Solution Platform neutral communication

Contemporary SOA … Promotes discovery Universal Description Discovery and Integration (UDDI) provided for service registries Few early SOA systems used UDDI

Contemporary SOA … Promotes federation Establish SOA in an enterprise doesn’t require replacement of what you have SOA helps establish unity across non-federated environments Legacy logic is exposed via a common, open, and standardized communcation network

Contemporary SOA … Promotes architectural composability Supports the automation of flexible, adaptable business process by composing loosely coupled services Web service framework is evolving with the release of numerous WS-* specifications that can be composed WS-* specification leverage SOAP messaging

Architectural Composability WS-ReliableMessaging WS-Policy WS-Addressing WS-Coordination WS-AtomicTransaction WS-BPEL WS-ReliableMessaging WS-Policy WS-Addressing WS-Coordination WS-AtomicTransaction WS-ReliableMessaging WS-Policy WS-Addressing J2EE Solution .NET Solution

Contemporary SOA … Fosters inherent reusability Service-oriented design principles encourage reuse of software Services can be composed into larger services which in turn can be reused Services are agnostic in regard to business processes and automation solutions

Contemporary SOA … Emphasizes extensibility When encapsulating functionality through a service description, you are encouraged to think beyond a point-to-point solution With appropriate granularity, the scope of a service can be extended without breaking an established interface

Extensibility Same service providing additional tasks

SOA Definition Contemporary SOA represents an open, extensible, federated, composable architecture that promotes service-orientation and is comprised of autonomous, QoS-capable, vendor diverse, interoperable, discoverable, and potentially reusuable services, implemented as Web services

Contemporary SOA … Supports a service-oriented business modeling paradigm Business processes are modeled with services and cut vertically through business logic BPM models, entity models and other forms of business intelligence can be accurately represented through coordinated composition of business-centric services

Contemporary SOA … Implements layers of abstraction SOAs introduce layers of abstraction by positioning services as the sole access points to a variety of resources and processing logic Services abstracting application logic and technology resources Application Logic

Contemporary SOA Promotes Loose Coupling Business Logic Service Layers Application Logic

Contemporary SOA … Promotes organizational agility High dependency between parts of an enterprise means that changing software is more complicated and expensive Leveraging service business representation, service abstraction, and loose coupling promotes agility

Contemporary SOA … Is a building block Services are composed into larger services Multiple SOA applications can be pulled into service-oriented integration technologies to help build a Service-Oriented Enterprise (SOE)

Appending the Definition SOA can establish an abstraction of business logic and technology, resulting in a loose coupling between these domains. These changes foster service-orientation in support of a service-oriented enterprise

Contemporary SOA … Is an evolution SOA is a distinct architecture from its predecessors Different from client-server technology in that it is influenced by concepts in service-orientation and Web services Promotes reuse, encapsulation, componentization, and distribution of application logic like previous technologies

Contemporary SOA … Is still maturing Standards organization and vendors are continuing to develop new SOA technologies

Contemporary SOA … Is an achievable ideal Moving an enterprise toward SOA is a difficult and enormous task Many organizations begin with a single application and then begin leveraging services into other applications Changing to SOA requires cultural changes in an organization

Adding to the Definition SOA is an evolution of past platforms, preserving successful characteristics of traditional architectures, and bringing with it distinct principles that foster service-orientation in support of a service-oriented enterprise SOA is ideally standardized throughout an enterprise, but achieving this state requires a planned transition and the support of a still evolving technology set

Misconceptions about SOA An application that uses Web services is service-oriented SOA is just a marketing term used to re-brand distributed computing with Web services SOA simplifies distributed computing An application with Web services that uses WS-* extensions is service-oriented

Misconceptions about SOA If you understand Web services you won’t have a problem building SOA Once you go SOA, everything becomes interoperable

Benefits of SOA Improved integration and intrinsic interoperability Inherent reuse Streamlined architectures and solutions Leveraging of legacy investment Establishing standardized XML data representation Focused investment on communication infrastructure Best of breed alternatives Organizational agility

Pitfalls of adopting SOA Building service-oriented architectures like traditional distributed architectures Proliferation of RPC-style service descriptions (increased volumes of fine-grained message exchanges) Inhibiting the adoption of features provide by WS-* specifications Improper partitioning of functional boundaries within services Creation of non-composable services Entrenchment of synchronous communications Creation of non-standardized services

Pitfalls of adopting SOA Not standardizing SOA in the enterprise Not creating a transition plan Not starting with an XML foundation architecture Not understanding SOA performance requirements Not understanding Web services security Not keeping in touch with product platforms and standards development