Service-Oriented Architectures



Similar documents
Introduction to Service Oriented Architectures (SOA)

Service Oriented Architecture

Service Oriented Architecture 1 COMPILED BY BJ

Service Computing: Basics Monica Scannapieco

Service-Oriented Architecture and Software Engineering

David Pilling Director of Applications and Development

2 (18) - SOFTWARE ARCHITECTURE Service Oriented Architecture - Sven Arne Andreasson - Computer Science and Engineering.

Getting Started with Service- Oriented Architecture (SOA) Terminology

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

Service-Oriented Computing and Service-Oriented Architecture

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

SOA Myth or Reality??

Applying SOA to OSS. for Telecommunications. IBM Software Group

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

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

Introduction to Service-Oriented Architecture for Business Analysts

Service Virtualization: Managing Change in a Service-Oriented Architecture

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

The Enterprise Service Bus: Making Service-Oriented Architecture Real

SOA for Healthcare: Promises and Pitfalls

SERVICE ORIENTED ARCHITECTURE

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

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

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

Testing Web Services Today and Tomorrow

Six Strategies for Building High Performance SOA Applications

Service Oriented Architecture

Di 6.1a. Warum naive SOA scheitert Ein Erfahrungsbericht. Adam Bien. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

E-Business Suite Oracle SOA Suite Integration Options

Guiding Principles for Modeling and Designing Reusable Services

Oracle SOA Reference Architecture

Definition of SOA. Capgemini University Technology Services School Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2

Research on the Model of Enterprise Application Integration with Web Services

Service-Oriented Computing: Service Foundations

A Quick Introduction to SOA

SOA CERTIFIED CONSULTANT

{{This page is intentionally left blank}}

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

What You Need to Know About Transitioning to SOA

AquaLogic Service Bus

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

SOACertifiedProfessional.Braindumps.S90-03A.v by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture

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

SOA REFERENCE ARCHITECTURE: SERVICE TIER

Distributed systems. Distributed Systems Architectures

A standards-based approach to application integration

SOA CERTIFIED JAVA DEVELOPER (7 Days)

SOA REFERENCE ARCHITECTURE

Technical Track Session Service-Oriented Architecture

Service-oriented architecture in e-commerce applications

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Enterprise Service Bus Defined. Wikipedia says (07/19/06)

SOA and Cloud in practice - An Example Case Study

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

The Service Revolution software engineering without programming languages

Enterprise Application Designs In Relation to ERP and SOA

How To Understand A Services-Oriented Architecture

Service Oriented Architecture

BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use

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

Government's Adoption of SOA and SOA Examples

Service-Oriented Computing and Software Agents

Agile Modeling and Design of Service-Oriented Component Architecture

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

SOA GOVERNANCE MODEL

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

Enterprise Service Bus

T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

Enterprise Application Integration based on Service Oriented Architecture

Service Oriented Architecture (SOA) An Introduction

Platform Autonomous Custom Scalable Service using Service Oriented Cloud Computing Architecture

SOA Patterns and Best Practices

Dagstuhl seminar on Service Oriented Computing. Service design and development. Group report by Barbara Pernici, Politecnico di Milano

Introduction into Web Services (WS)

Methods and tools for data and software integration Enterprise Service Bus

ebay : How is it a hit

Cloud Computing & Service Oriented Architecture An Overview

Federal Enterprise Architecture and Service-Oriented Architecture

Increasing IT flexibility with IBM WebSphere ESB software.

SOA Success is Not a Matter of Luck

Oracle Service Bus Examples and Tutorials

Service Oriented Architecture Case: IBM SOA Reference Architecture

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

10 Years of Hype Cycles - Do We Forget Knowledge?

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

ESB as a SOA mediator: Minimizing Communications Complexity

Service Oriented Architecture

Service Oriented Architecture (SOA) Implementation Framework for Satellite Mission Control System Software Design

Service Design Essentials

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

An introduction to SOA and the HP NonStop server environment

Service Oriented Architecture

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

Intelligent Conceptual Message Routing in Enterprise Service Bus (ESB)

5 Service-Oriented Architecture Principles and Technologies

ATHABASCA UNIVERSITY. Enterprise Integration with Messaging

Service-Oriented Computing

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

Transcription:

Architectures Computing & 2009-11-06

Architectures Computing &

SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems of software are built and deployed as network-accessible services Focus is placed on the utility of software components, rather than on mechanisms of software The value of an application is measured by it s ability to integrate into it s environment rather than it s functional capabilities Architectures Computing &

SERVICE-ORIENTED COMPUTING (SOC) Software as a Service A service is a piece of well-defined functionality that is available at some network endpoint accessible via various transport protocols and serialization formats always on (no construction & destruction semantics) Focus is placed on the utility of services Architectures Computing &

SERVICE-ORIENTED COMPUTING (SOC) SOC Software Requirements Technology neutral use widely available, standardized technology Loosely coupled minimize formal knowledge required to use a service Location transparent be publicly discoverable provide QoS regardless of location of service or clients Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) An architectural style used in Computing SOA models service actors and relations & interactions between service actors Well-designed SOAs provide flexibility in design and deployment adaptability and integrability in architecture scalability in implementation and deployment SOAs build complete systems using services as distributed and modularized components without regard to service implementation (Composite) applications are built by discovering, invoking, and composing services rather than developing new modules Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) SOA Actors Service providers provide service implementations supply service descriptions provide service support Service registries provide (publicly accessible) service information sources houses service meta-information (service description, service location, service cost metrics, etc) Service clients use service functionality may be individual end-users, organizations, or services Service aggregators aggregate services into new services act as brokers and value-add providers Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) SOA Operations Publication of service description construction of service descriptions publishment of service descriptions in service registry Service selection location of service descriptions selection of a suitable subset of available services Service invocation service invocation semantics establishment (from WSDL) service invocation Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) SOA Operations Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) Services as a Virtualization Technology Services can be used without having to worry about service discovery service selection data exchange formats service implementation details Services can be aggregated similar services can be hidden behind a common (adapter) interface services can act as brokers to other services Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) Service Usage Patterns Service aggregation building applications and logical services by utilizing capabilities offered by services includes creating adapter interfaces to groups of services and service capability brokering Service composition constructing services by combining existing services Service orchestration creating applications by coordinated use of services focuses on message-level interactions and control flows for individual services Service choreography defines workflows for interactions between services describes system-wide collaborations and interactions in terms of message exchanges Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) Service Interfaces & Orchestration Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) Layered SOAs SOA projects are often large, involving multiple, disparate organizations and heterogeneous system views SOA deployments will often involve physical and virtual resources owned by multiple parties, and incorporation of various legacy systems To modularize designs and address these issues, SOA systems are often segmented into layers, where working groups collaborate to create limited functionality sets Layered designs work by principle of abstraction, hiding complex functionality and providing customized interfaces in higher layers Applications are typically integrated at high (interface) level rather than a low (implementation) level Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) Layered SOAs Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) Quality of Service (QoS) QoS refers to the ability of the Web Service to respond to expected invocations and to perform them at the level commensurate with the mutual expectations of both it s provider and it s customers. Delivering QoS on the Internet is a critical and significant challenge because of it s dynamical and unpredictable nature. Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) Service-Level QoS Availability Accessability Conformance to standards Integrity Performance Reliability Scalability Security Transactionality Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) Service-Level Agreements (SLA) An SLA is a formal agreement (contract) between provider and client, formalizing the details of a service (e.g., content, price, delivery, quality, etc, usually in measurable terms) in a way that meets mutual understandings and expectations of all parties involved. SLAs can be static or dynamic, where the latter adapts to current service provisioning Architectures Computing &

SERVICE-ORIENTED ARCHITECTURES (SOA) Service-Level Agreements (SLA) Purpose Parties Validity Scope Restrictions Service-level objectives Penalties Optional services Exclusion terms Administrations Architectures Computing &

WEB SERVICES Service Interface vs Implementation Service interface describes the service operation semantics (the only part) visible to clients should be language, platform, and technology neutral may be designed and standardized by external parties Service implementation realizes a concrete instantiation of a service may be realized using any technology as long as it adheres to the interface specification may be implemented by other organizations than the interface designers Architectures Computing &

WEB SERVICES Service vs Web Service Service: A software component accessed over a network that provides functionality to a service requester Web Service: A service which publishes a service interface in WSDL and uses a message-driven transport protocol (usually via SOAP / REST over HTTP) are built using a host of XML-based technologies XML (data exchanged) XML Schema (validation of data exchanged) SOAP (XML-serialized transfer protocol) WSDL (Web Service interface description, XML Schema) Uses a deployment descriptor to configure service (XML-based configuration file for the service container) Architectures Computing &

WEB SERVICES Web Service Characteristics Platform-independent Service implementations realized using any platform Interfaces and data expressed in XML Loosely coupled Service implementations hidden behind interfaces Services explicitly self-describing and discoverable Self-contained Service dependencies abstracted by other services Self-describing Interface description provides invocation data - " - and service registries provide semantic metadata Use wide-spread and reliable technology base XML, SOAP, WSDL, HTTP Designed to provide a universal IPC mechanism Architectures Computing &

WEB SERVICES Types of Simple services aka informational services provide service interfaces to software modules tend to provide complete fine-grained operations tend to be stateless tend to communicate using request-response patterns Complex services aka business processes aggregate, compose, or invoke other services tend to provide coarse-grained, multi-step service operations (e.g., event / notification-based state updates) tend to be stateful tend to communicate using delegation & publish-subscribe patterns Architectures Computing &

WEB SERVICES Simple vs Complex Architectures Computing &

WEB SERVICES Service Properties Functional service properties details service operational characteristics e.g., message syntax e.g., service location e.g., service invocation protocol Non-Functional service properties details service quality attributes e.g., service performance metrics e.g., security models supported e.g., service scalability meta-information Architectures Computing &

WEB SERVICES Loose Coupling Coupling is a measure of the degree of dependencies Tightly coupled systems require knowledge of how peers behave requires agreement and shared contexts for interoperation ties interfaces into other system interfaces makes maintenance and development complex small changes likely to affect other modules Loosely coupled systems minimizes knowledge required for interoperation focuses on autonomicity of software modules provides agility and ability to survive evolutionary changes tend to use asynchronous communication models (loose coupling in time) tend to have coarse-grained communication patterns (document style interaction) Architectures Computing &

WEB SERVICES Tight vs Loose Coupling Tight coupling Loose coupling Interaction pattern Synchronous Asynchronous Message style RPC style Document style Message path Hard coded Routed Underlying platform Homogeneous Heterogeneous Binding protocol Static Dynamic (late binding) Objective Reuse Flexibility, applicability Architectures Computing &

WEB SERVICES vs Component Models Components Granularity fine-grained coarse-grained Communication synchronous synchronous / asynchrono Endpoint coupling tight, API-based loose, interface-based Infrastructure homogeneous heterogeneous Interface object level wire format level Invocation explicit naming capability listing Request brokering static static / dynamic Architectures Computing &

WEB SERVICES Web Service Technology Stack Architectures Computing &

NEXT XML Technologies Architectures Computing &