Presentation is loading. Please wait.

Presentation is loading. Please wait.

Service Oriented Architecture An Introduction Arnon Rotem-Gal-Oz Biometrics Line Development Manager.

Similar presentations


Presentation on theme: "Service Oriented Architecture An Introduction Arnon Rotem-Gal-Oz Biometrics Line Development Manager."— Presentation transcript:

1 Service Oriented Architecture An Introduction Arnon Rotem-Gal-Oz Biometrics Line Development Manager

2 What is Software Architecture

3 What is Architecture Formal Definition IEEE 1471-2000 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 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

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

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

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

7 Quality Attributes

8 How Architecture Architecture QualityAttributes Technology Patterns & Anti-patterns Principles CommunityexperienceCommunityexperience StakeholdersStakeholders ArchitectArchitect people A deliverable ProduceKey Is an input Constraints

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

10 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. 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. 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

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

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

13 ASB BLT HDL AFTTGI FRY DRW SWG QYDDLY BST WIU ASB ZISXOICUI RMO DLY XPS KYF KFC WHR JIA GEX FQAVUH HCO WKD ECP SKD MFP WCP DKEAJT Big SOA Analyze the business

14 ASB BLT HDL AFTTGI FRY DRW SWG QYDDLY BST WIU ASB ZISXOICUI RMO DLY XPS KYF KFC WHR JIA GEX FQAVUH HCO WKD ECP SKD MFP WCP DKEAJT Big SOA Identify Business Areas COP Navigation Protectors Alerts

15 Big SOA Map to software "Network" COPCOP Nav.Nav. AlertsAlerts Prot.Prot.

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

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

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

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.

20 Fallacies of distributed Computing The Network is reliable Latency is zero Bandwidth is infinite The Network is Secure Topology doesnt change There is one administrator Transport cost is zero The Network is homogenous

21 Services are Autonomous

22 X

23

24 The fact that I can, doesnt mean I will. Policies

25 Organization A Organization B PolicyPolicy Policy Illustrated Buyer Service Local Service 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. Youll send a PO 2. Ill send a confirmation …

26 Endpoint

27 Its all about the Message, baby!

28 Messages travel in no mans land!

29 Is he Idempotent? MessagesGetRetransmittedMessagesArrive More than once

30 Idempotence Idempotent Means Its OK to Arrive Multiple Times Idempotent Means Its OK to Arrive Multiple Times As Long as the Request Is Processed at Least Once, the Correct Stuff Occurs As Long as the Request Is Processed at Least Once, the Correct Stuff Occurs In Todays Internet, You Must Design Your Requests to Be Idempotent In Todays Internet, You Must Design Your Requests to Be Idempotent Not Idempotent Baking a Cake Starting from Ingredients Naturally Idempotent Sweeping the Floor Naturally Idempotent Read Record X Idempotent If Havent Yet Done Withdrawal #XYZ for $1 Billion, Then Withdraw $1 Billion and Label as #XYZ Not Idempotent Withdrawing $1 Billion Idempotent Baking a Cake Starting from the Shopping List (If Money Doesnt Matter) Pat Helland

31 Message Exchange Patterns

32 Request/Reply Request/Reaction VS

33 Decoupled Invocation Pattern

34 ServiceContract

35 Keep Data and state private

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

37 Whats next SOA Structural Patterns SOA Structural Patterns SOA Interaction Patterns SOA Interaction Patterns UI Interaction Patterns UI Interaction Patterns Service Composition Patterns Service Composition Patterns Contract Anti-patterns Contract Anti-patterns Service Anti-patterns Service Anti-patterns SOA Performance Anti-Patterns SOA Performance Anti-Patterns


Download ppt "Service Oriented Architecture An Introduction Arnon Rotem-Gal-Oz Biometrics Line Development Manager."

Similar presentations


Ads by Google