350 likes | 359 Views
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.
E N D
Service Oriented ArchitectureAn Introduction Arnon Rotem-Gal-Oz Biometrics Line Development Manager
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
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
How Architecture Stakeholders Quality Attributes Constraints Principles Community experience Architect Architecture Patterns & Anti-patterns Technology Key people A “deliverable” Produce Is an input
HMM.. What is a Service (1) • A facility supplying some public demand • the work performed by one that servesHELP, USE, BENEFIT Merriam-Webster
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) • 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 Nor is it: • A specific Technology • The Ultimate answer to reuse • ANew name for EAI • A New way to do RPC
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
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
COP Nav. Alerts Prot. Big SOAMap to software "Network"
Little SOA • Architectural Style • For building distributed systems • Loosely coupled components • Our focus from here onward…
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
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
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.
Policies The fact that I can, doesn’t mean I will.
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
It’s all about the Message, baby!
Messages travel in no man’s land!
Messages Get Retransmitted Messages Arrive More than once Is he Idempotent?
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
Request/Reply VS Request/Reaction
Service Contract
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 • SOA Structural Patterns • SOA Interaction Patterns • UI Interaction Patterns • Service Composition Patterns • Contract Anti-patterns • Service Anti-patterns • SOA Performance Anti-Patterns