1 / 35

Service Oriented Architecture An Introduction

Explore the basics of software architecture & SOA, from IEEE definitions to key components, quality attributes, stakeholders, and more. Discover the importance of services, patterns, and aligning technology with business needs.

soniagibson
Download Presentation

Service Oriented Architecture An Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. What is Software Architecture

  3. What is Architecture Formal Definition • IEEE 1471-2000 • Software architecture is the fundamentalorganization 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. What is Software Architecture • 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

  5. Quality Attributes

  6. How Architecture Stakeholders Quality Attributes Constraints Principles Community experience Architect Architecture Patterns & Anti-patterns Technology Key people A “deliverable” Produce Is an input

  7. HMM.. What is a Service (1) • A facility supplying some public demand • the work performed by one that servesHELP, USE, BENEFIT Merriam-Webster

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

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

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

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

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

  13. COP Nav. Alerts Prot. Big SOAMap to software "Network"

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

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

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

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

  18. Services are Autonomous

  19. X

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

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

  22. Endpoint

  23. It’s all about the Message, baby!

  24. Messages travel in no man’s land!

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

  26. 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 Naturally Idempotent Sweeping the Floor Idempotent Baking a Cake Starting fromthe ShoppingList (If MoneyDoesn’t Matter) Not Idempotent Withdrawing$1 Billion Idempotent If Haven’t Yet Done Withdrawal #XYZfor $1 Billion,Then Withdraw$1 Billion andLabel as #XYZ Not Idempotent Baking a CakeStarting fromIngredients Naturally Idempotent Read Record “X” Pat Helland

  27. Message Exchange Patterns

  28. Request/Reply VS Request/Reaction

  29. Decoupled Invocation Pattern

  30. Service Contract

  31. Keep Data and state private

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

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

More Related