SOA - An introduction

Views:
 
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Service Oriented ArchitectureAn Introduction : 

Service Oriented ArchitectureAn Introduction Arnon Rotem-Gal-Oz Biometrics Line Development Manager

Slide 2: 

What is Software Architecture

What is Architecture Formal Definition : 

What is Architecture Formal Definition IEEE 1471-2000 Software architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution IEEE 1471-2000

Slide 4: 

collection of the fundamental decisions about a software product/solution designed to meet the project‘s quality attributes Includes the main components, their main attributes, and their collaboration expressed in several levels of abstraction (depending on the project's size).   Architecture is communicated from multiple viewpoints What is Software Architecture

Architecture is Early : 

Architecture is Early Architecture represents the set of earliest design decisions Hardest to change Most critical to get right Architecture is the first design artifact where a system’s quality attributes are addressed

Why Architecture? : 

Why Architecture? Architecture serves as the blueprint for the system but also the project: Team structure Documentation organization Work breakdown structure Scheduling, planning, budgeting Unit testing, integration Architecture establishes the communication and coordination mechanisms among components

Quality Attributes : 

Quality Attributes

How Architecture : 

How Architecture Architecture Quality Attributes Technology Patterns & Anti-patterns Principles Community experience Stakeholders Architect Constraints

What is a Service (1) : 

What is a Service (1) Merriam-Webster A facility supplying some public demand the work performed by one that serves HELP, USE, BENEFIT

What is a Service (2) : 

What is a Service (2) In economics and marketing, a service is the non-material equivalent of a good. Service provision has been defined as an economic activity that does not result in ownership, and this is what differentiates it from providing physical goods. It is claimed to be a process that creates benefits by facilitating either a change in customers, a change in their physical possessions, or a change in their intangible assets. en.wikipedia.org/wiki/Service

What is a service (3) : 

What is a service (3) A Windows Service? RPC Locator, EventLog, DHCP Client, Software Service? Distribution Service, Alert Service Security Service, Log Service Business Service? Common Operational Picture, Navigation Accounts Receivable, Customers

SOA isn’t a solution to world hunger : 

SOA isn’t a solution to world hunger Nor is it: A specific Technology The Ultimate answer to reuse A New name for EAI A New way to do RPC

Big SOAAnalyze the business : 

ASB BLT HDL AFT TGI FRY DRW SWG QYD DLY BST WIU ASB ZIS XOI CUI RMO DLY XPS KYF KFC WHR JIA GEX FQA VUH HCO WKD ECP SKD MFP WCP DKE AJT Big SOAAnalyze the business

Big SOA Identify Business Areas : 

ASB BLT HDL AFT TGI FRY DRW SWG QYD DLY BST WIU ASB ZIS XOI CUI RMO DLY XPS KYF KFC WHR JIA GEX FQA VUH HCO WKD ECP SKD MFP WCP DKE AJT Big SOA Identify Business Areas COP Navigation Protectors Alerts

Big SOAMap to software : 

Big SOAMap to software "Network"

Little SOA : 

Little SOA Architectural Style For building distributed systems Loosely coupled components Our focus from here onward…

Slide 17: 

Service describes End Point Exposes Messages Sends/Receives Contracts Binds to Service Consumer implements Policy governed by Sends/Receives Adheres to Component Relation Key Understands Serves

Services and Systems : 

Services and Systems A service is a program you interact with via message exchanges A system is a set of deployed services cooperating in a given task

Slide 19: 

A Service edge is a natural boundary Warning: Remoting and other RPCs trick us into thinking that there is no substantial difference between a local and a remote object. In fact, they hide the presence of the network.

Slide 21: 

Services are Autonomous

Slide 22: 

X

Slide 24: 

The fact that I can, doesn’t mean I will. Policies

Policy Illustrated : 

Policy Illustrated Seller Service Runtime contract Runtime Contract 1. Use X.509 Cert for AuthN 2. Use UTF-8, SOAP 1.2 … Policy 1. Supports X.509 Cert or Kerberos ST for AuthN 2. Supports UTF-8, UTF-16, SOAP 1.2, 1.1 … Adopted from Clemens Vasters Design time Contract 1. You’ll send a PO 2. I’ll send a confirmation …

Slide 26: 

Endpoint

Slide 27: 

It’s all about the Message, baby!

Slide 28: 

Messages travel in no man’s land!

Slide 29: 

Is he Idempotent? Messages Get Retransmitted Messages Arrive More than once

Idempotence : 

Idempotence Idempotent Means It’s OK to Arrive Multiple Times As Long as the Request Is Processed at Least Once, the Correct Stuff Occurs In Today’s Internet, You Must Design Your Requests to Be Idempotent Not Idempotent Baking a CakeStarting fromIngredients Naturally Idempotent Sweeping the Floor Naturally Idempotent Read Record “X” Idempotent If Haven’t Yet Done Withdrawal #XYZfor $1 Billion,Then Withdraw$1 Billion andLabel as #XYZ Not Idempotent Withdrawing$1 Billion Idempotent Baking a Cake Starting fromthe ShoppingList (If MoneyDoesn’t Matter) Pat Helland

Message Exchange Patterns : 

Message Exchange Patterns

Slide 32: 

Request/Reply Request/Reaction VS

Decoupled Invocation Pattern : 

Decoupled Invocation Pattern

Slide 34: 

Service Contract

Slide 35: 

Keep Data and state private

Slide 36: 

Big SOA is about business alignment Little SOA is an Architectural Style Autonomous Coarse Grained Components Message based Interactions Run-Time configuration

What’s next : 

What’s next SOA Structural Patterns SOA Interaction Patterns UI Interaction Patterns Service Composition Patterns Contract Anti-patterns Service Anti-patterns SOA Performance Anti-Patterns

authorStream Live Help