This document discusses decoupling backend systems using a service-oriented architecture (SOA). It explains that service orientation is about creating autonomous computing units that are loosely coupled through explicit boundaries and contracts. This enables independent evolution and scalability. The document also uses a historical example of an office workflow to illustrate how decoupling processes and formalizing communication can organize an enterprise system.
10. Isn’t it amazing?
• No computers
• No workflow engine
• No spreadsheets
• No spell check
• No email
• No databases
• No document store
• No phone at every desk
• And yet, it worked…
12. The Mail Boys
• Formal communication is
relayed “by foot”
• Files are picked up and
delivered by a small army of
mail boys
• Central dispatching from mail
office or direct
• Routing via notes on folders or
files
The Mail Office
14. Formalized Communication
• Efficient communication flow
requires formalization
• Information easier to find
• Information easier to supply
• Safer from legal perspective
15. Department = Service
• Offers specialized expertise and renders a set
of well-known, well-defined services to the
organization
• Publishes or otherwise advertises the concrete
services offered
• Formalizes communication for how
information must be supplied for services to
be carried out
16. Department Function = Operation
• A specific task rendered by a department
• “Write invoice reminder” offered by accounts
receivables
• Requires existing invoice as input
• May be triggered from within department
(receivables management) or form outside
17. Employee = Service Instance
• Employee is an instance of a service
– Plays one or more roles in a workflow
• Might maintains “session” for context
– Notes, file about customer, activities
• “Employees” may be people or “digital”
– Deterministic work is a good candidate for digital
employee work
18. Letters & Files = Messages
• Routed through organization
• Drive the workflow
• Each employee knows where to route to
based on workflow instruction and decision
made
Dept A
Dept Q
Dept T
19. Consequences
• Process drives the organization
• Everything and everybody acts as service
• Everything and everybody consumes and
yields messages
• To the process it doesn’t matter whether a
service is implemented by software or people
20. What does it mean?
• Avoid Coupling / Autonomy
– Services control their own contract.
– Services can evolve independent of others.
21. Confused Already?
• “Service Oriented”
– Policy
– Explicit Boundaries
– Avoid Coupling
– Contract and Schema
• “SOA” Service
– Policy
– Explicit Boundaries
– Autonomy
– Contract and Schema
Even in software architecture, there are two concepts floating for SO/SOA:
Implication:
Interoperability and loose coupling
Implication:
Interoperability and loose coupling
plus autonomous computing!
This is what was meant when the tenets
were defined
This is what was written when the tenets
were defined
23. BlueBooks
• Service Oriented Example Application
• Architectural blueprint for service oriented
backend systems
• Implements "yet another" online bookstore
• Implementation based on Windows
Communication Foundation
24. A Service Unit
• Egde
– Separates protocol and transport details from the
business logic
– Acts as the security boundary
• Host
– Provides the execution environment for the agent
• Agent
– Forwards calls to the core implementation
– Performs additional activities
(e.g. Logical message delivery)
• Core
– The business logic
25. A Service Unit
Trust Boundary
Edge
Job Queue
Database
NT
Service Implementation
Event Log
26. Summary
• This project is a architectural blueprint for
service oriented backend systems
• Service Orientation is really about
autonomous computing
• Autonomous computing is about decoupling
• Decoupling enables asyncronicity and
scalability