Beruflich Dokumente
Kultur Dokumente
An Introduction
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
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 expressed in several levels of abstraction (depending on the project's size).
Quality Attributes
How Architecture
Stakeholders Quality Attributes
Constraints
Architect
Architecture
Technology
Produce Is an input
HMM..
A facility supplying some public demand the work performed by one that serves HELP, USE, BENEFIT
Merriam-Webster
In economics and marketing, a service is the nonmaterial 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
A Windows Service?
Software Service?
Business Service?
The Ultimate answer to reuse A New name for EAI A New way to do RPC
Big SOA
Analyze the business
ASB BLT AFT TGI
FRY
ECP SWG
HDL DRW
MFP
WCP QYD WIU XOI ZIS CUI WHR ASB RMO HCO JIA GEX WKD DLY DLY
SKD
XPS KYF
BST
VUH
KFC
AJT
FQA
DKE
Big SOA
Identify Business Areas
ASB BLT AFT TGI
FRY
ECP SWG
Navigation
HDL DRW QYD WIU XOI ZIS CUI DLY
Alerts
SKD
MFP
WCP DLY
XPS KYF
WKD WHR
ASB
COP
RMO BST VUH
HCO
Protectors
JIA AJT
FQA
GEX
KFC
DKE
Big SOA
Map to software
Alerts
Little SOA
Adheres to
Policy
governed by
Binds to
Exposes
Service Consumer
Understands
Contracts
implements
Service
describes
Key Component
Sends/Receives
Messages
Sends/Receives
Relation
service is a program you interact with via message exchanges system is a set of deployed services cooperating in a given task
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.
Bandwidth is infinite
service Customer
service Proposals
1.5
Waiting on external resources do we really know how long will it take? Not to mention that getting the information only when needed makes Service interaction very RPC-like (but that's another problem)
service Customer
service Proposals
1.3
2.0 ProduceProforma note that now we are getting all the dicount rates in one call (less messages) to generate even less traffic the contracts can be made to include only changes from timestamp supplied in the request
2.1
Policies
Policy Illustrated
Organization A
Policy
Organization B
1. Supports X.509 Cert or Kerberos ST for AuthN Runtime contract Buyer Service Supports UTF-8, UTF-16, SOAPSeller Service 2. 1.2, 1.1
Design time Contract
Policy
Local Service
Local Service 1. Use X.509 Cert for AuthN 2. Use UTF-8, SOAP 1.2
Adopted from Clemens Vasters
Endpoint
Is he Idempotent?
Idempotence
As Long as the Request Is Processed at Least Once, the Correct Stuff Occurs
Not Idempotent Withdrawing $1 Billion Not Idempotent Baking a Cake Starting from Ingredients
Naturally Idempotent Sweeping the Floor Idempotent If Havent Yet Done Withdrawal #XYZ for $1 Billion, Then Withdraw $1 Billion and Label as #XYZ
Idempotent Baking a Cake Starting from the Shopping List (If Money Doesnt Matter)
Request/Reply
VS
Request/Reaction
Service Contract
Whats next
SOA Structural Patterns SOA Interaction Patterns UI Interaction Patterns Service Composition Patterns Contract Anti-patterns Service Anti-patterns SOA Performance Anti-Patterns