12
1 Introduction to SOA

1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

  • View
    214

  • Download
    2

Embed Size (px)

Citation preview

Page 1: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

1

Introduction to SOA

Page 2: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

2

The Service-Oriented Enterprise

eXtensible Markup Language (XML) Web services

XML-based technologies for messaging, service description, discovery, and extended features.

Service-oriented architecture (SOA) A methodology for achieving application intero

perability and reuse of IT assets. Business process management (BPM)

Page 3: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

3

Service-Oriented Development

A service is defined by the messages it exchanges with other services.

Benefits of service-oriented development Reuse: services for reuse Efficiency: to quickly and easily create new

services and applications Loose technology coupling: independent to

execution environment Division of responsibility: separation of

concerns between the business analysts and service developers

Page 4: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

4

What is SOA? A style of design that guides all aspects of

creating and using business services A way to define and provision an IT infrastructure

to allow different applications to exchange data and participate in business process

Business services are the key organizing principle Service orientation focuses on the description of

the business problem Cleanly and completely separate, by interpreting

a text file, a service description from its execution environment

Page 5: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

5

Web Services Web services are pervasive,

simple, and platform-neutral.

The provider publishes a WSDL description of its Web service.

The requester accesses the description using a UDDI registry and requests the service by sending a SOAP message.

Registry

Requester ProviderSOAP

UDDI

WSDL

Page 6: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

6

Primary Service Characteristics

Loosely coupled Interface coupling Technology coupling Process coupling

A well-defined interface (or service contract) Define the service’s capabilities and how to

invoke the service Separate the externally accessible interface

from the implementation

Page 7: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

7

Primary Service Characteristics (cont.)

Meaningful to service requesters Capture the essence of the business service

without restricting future reuse Use a business-oriented vocabulary Avoid exposing technical details

Standards-based Services should be based on open

standards as much as possible

Page 8: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

8

Secondary Service Characteristics

Predictable service-level agreements SLA defines response time, throughput,

availability, etc. Dynamic, discoverable, metadata-

driven Services can be discovered and consumed

without intervention of the provider. The interface should use metadata to

define service capabilities and constraints. The interface should be machine-readable

so that they can be dynamically registered and discovered.

Page 9: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

9

Secondary Service Characteristics (cont.)

Design service contracts with related services in mind Design the service-level data model (or the

XML Schema definition of the documents) and all of the related interfaces together

Implementation independent of other services

Consider the need for compensating transactions A compensating transaction can undone a

completed transaction by canceling its results.

Page 10: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

10

Secondary Service Characteristics (cont.)

Design for multiple invocation styles If forced to choose one, choose

asynchronous queuing Stateless Design services with performance in

mind Service invocations should NOT be treated

like local function calls Avoid fine-grained services

Page 11: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

11

Object Reuse vs. Service Reuse

Building objects is easy

Building high-quality, reusable objects is hard

Reusing object libraries and object frameworks is moderately hard

Building Web services is easy

Building high-quality, reusable business services is hard

Reusing business services is relatively easy

Page 12: 1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,

12

Too Much Reuse?

A highly reusable service The interface for the data access service accept

s a SQL query as input and returns an XML structure as the result.

It violates SOA’s loose-coupling principle The service requester needs to know about ho

w the data is stored and the structure of data. Expensive maintenance problem.