SlideShare a Scribd company logo
1 of 27
Decoupling Service Oriented
Backend Systems
Michael Willers
Senior Software Architect
Daniel Fisher(lennybacon)
Software Architect
Objectives
 You at least heared of that SOA thing ;-)
Questions
 Decoupling
 What is it good for?
 What can/should be decoupled? And why?
 How can it be achived?
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…
• Risk Assessment
• Rate Calculations
• Claims Handling
• Sales Support
• Accounting
• Archiving
• Marketing
• Mail Handling
• …
Departments
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
Processes
Clerk knows
what’s next
Decisions
influence next
step and
destination
Steps triggered
by input, yield
outputDept A
Dept Q
Dept T
Formalized Communication
• Efficient communication flow
requires formalization
• Information easier to find
• Information easier to supply
• Safer from legal perspective
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
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
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
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
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
What does it mean?
• Avoid Coupling / Autonomy
– Services control their own contract.
– Services can evolve independent of others.
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
Service
Orientation
Resource
Orientation
Service Orientation vs. Resource Orientation
BlueBooks
• Service Oriented Example Application
• Architectural blueprint for service oriented
backend systems
• Implements "yet another" online bookstore 
• Implementation based on Windows
Communication Foundation
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
A Service Unit
Trust Boundary
Edge
Job Queue
Database
NT
Service Implementation
Event Log
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
2006 - DDD4: Decoupling service oriented backend systems

More Related Content

Viewers also liked

Brafa en castellano
Brafa en castellanoBrafa en castellano
Brafa en castellanoopusdeicat
 
Laura ad agenci
Laura ad agenciLaura ad agenci
Laura ad agenciQuecobqod
 
Miten erotut sähköpostimarkkinoinaja - käytönnön esimerkkejä sekä tuloksia
Miten erotut sähköpostimarkkinoinaja - käytönnön esimerkkejä sekä tuloksiaMiten erotut sähköpostimarkkinoinaja - käytönnön esimerkkejä sekä tuloksia
Miten erotut sähköpostimarkkinoinaja - käytönnön esimerkkejä sekä tuloksiaTuro Siipo
 
Architecture Portfolio
Architecture PortfolioArchitecture Portfolio
Architecture PortfolioSergio De Lara
 
Medios de transmision
Medios de transmisionMedios de transmision
Medios de transmisionnayelikaren
 
Niedrigzins, Hochfrequenzhandel und Finanzsystem in der Vertrauenskrise: Stra...
Niedrigzins, Hochfrequenzhandel und Finanzsystem in der Vertrauenskrise: Stra...Niedrigzins, Hochfrequenzhandel und Finanzsystem in der Vertrauenskrise: Stra...
Niedrigzins, Hochfrequenzhandel und Finanzsystem in der Vertrauenskrise: Stra...Alexis Eisenhofer
 

Viewers also liked (7)

Brafa en castellano
Brafa en castellanoBrafa en castellano
Brafa en castellano
 
Laura ad agenci
Laura ad agenciLaura ad agenci
Laura ad agenci
 
Miten erotut sähköpostimarkkinoinaja - käytönnön esimerkkejä sekä tuloksia
Miten erotut sähköpostimarkkinoinaja - käytönnön esimerkkejä sekä tuloksiaMiten erotut sähköpostimarkkinoinaja - käytönnön esimerkkejä sekä tuloksia
Miten erotut sähköpostimarkkinoinaja - käytönnön esimerkkejä sekä tuloksia
 
Architecture Portfolio
Architecture PortfolioArchitecture Portfolio
Architecture Portfolio
 
Medios de transmision
Medios de transmisionMedios de transmision
Medios de transmision
 
Sistema financiero
Sistema financieroSistema financiero
Sistema financiero
 
Niedrigzins, Hochfrequenzhandel und Finanzsystem in der Vertrauenskrise: Stra...
Niedrigzins, Hochfrequenzhandel und Finanzsystem in der Vertrauenskrise: Stra...Niedrigzins, Hochfrequenzhandel und Finanzsystem in der Vertrauenskrise: Stra...
Niedrigzins, Hochfrequenzhandel und Finanzsystem in der Vertrauenskrise: Stra...
 

Similar to 2006 - DDD4: Decoupling service oriented backend systems

Andrew Shepherd - Rethink the service desk role to change its image forever
Andrew Shepherd - Rethink the service desk role to change its image foreverAndrew Shepherd - Rethink the service desk role to change its image forever
Andrew Shepherd - Rethink the service desk role to change its image foreveritSMF UK
 
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31TechSoup
 
About Enabling Technologies
About Enabling TechnologiesAbout Enabling Technologies
About Enabling TechnologiesChris Stegh
 
Effectively Capturing Paper and Digital Documents in your Existing Applicatio...
Effectively Capturing Paper and Digital Documents in your Existing Applicatio...Effectively Capturing Paper and Digital Documents in your Existing Applicatio...
Effectively Capturing Paper and Digital Documents in your Existing Applicatio...J. Kevin Parker, CIP
 
Ephesoft & Linux Webinar: Smart Capture™ is Now Even Smarter!
Ephesoft & Linux Webinar: Smart Capture™ is Now Even Smarter!Ephesoft & Linux Webinar: Smart Capture™ is Now Even Smarter!
Ephesoft & Linux Webinar: Smart Capture™ is Now Even Smarter!Zia Consulting
 
The Changing Role of IT Staff
The Changing Role of IT StaffThe Changing Role of IT Staff
The Changing Role of IT StaffBVU
 
CRMready Webinar Series - Part 2 - Planning Ahead for CRM at Your Nonprofit
CRMready Webinar Series - Part 2 - Planning Ahead for CRM at Your NonprofitCRMready Webinar Series - Part 2 - Planning Ahead for CRM at Your Nonprofit
CRMready Webinar Series - Part 2 - Planning Ahead for CRM at Your NonprofitTheConnectedCause
 
How Judson ISD Implemented and Tracks IT Metrics & Key Performance Indicators
How Judson ISD Implemented and Tracks IT Metrics & Key Performance IndicatorsHow Judson ISD Implemented and Tracks IT Metrics & Key Performance Indicators
How Judson ISD Implemented and Tracks IT Metrics & Key Performance IndicatorsSteve Young
 
TechClimb_Webinar_PPT_working_1014
TechClimb_Webinar_PPT_working_1014TechClimb_Webinar_PPT_working_1014
TechClimb_Webinar_PPT_working_1014Laura J. Wilcox
 
The Analysis Part of Integration Projects
The Analysis Part of Integration ProjectsThe Analysis Part of Integration Projects
The Analysis Part of Integration ProjectsBizTalk360
 
Engineering Teams and Systems for Velocity
Engineering Teams and Systems for VelocityEngineering Teams and Systems for Velocity
Engineering Teams and Systems for VelocityJean Barmash
 
Case Study: Turning a Big Ship–Transforming IT Silos into IT Services at the ...
Case Study: Turning a Big Ship–Transforming IT Silos into IT Services at the ...Case Study: Turning a Big Ship–Transforming IT Silos into IT Services at the ...
Case Study: Turning a Big Ship–Transforming IT Silos into IT Services at the ...Cherwell Software
 
Digital transformation roadmap 16th july 2018 v1.1
Digital transformation roadmap 16th july 2018 v1.1Digital transformation roadmap 16th july 2018 v1.1
Digital transformation roadmap 16th july 2018 v1.1Chandresh Adhiya
 
Choosing a Database
Choosing a DatabaseChoosing a Database
Choosing a Database501 Commons
 
Digital Operations Service Design
Digital Operations Service DesignDigital Operations Service Design
Digital Operations Service DesignNVISIA
 
Designing with Intent - Camden website redesign project
Designing with Intent - Camden website redesign projectDesigning with Intent - Camden website redesign project
Designing with Intent - Camden website redesign projectcityunihcid
 
Simple & Secure Human Resources: Document Automation & Easy ECM
Simple & Secure Human Resources: Document Automation & Easy ECMSimple & Secure Human Resources: Document Automation & Easy ECM
Simple & Secure Human Resources: Document Automation & Easy ECMZia Consulting
 

Similar to 2006 - DDD4: Decoupling service oriented backend systems (20)

Andrew Shepherd - Rethink the service desk role to change its image forever
Andrew Shepherd - Rethink the service desk role to change its image foreverAndrew Shepherd - Rethink the service desk role to change its image forever
Andrew Shepherd - Rethink the service desk role to change its image forever
 
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
 
About Enabling Technologies
About Enabling TechnologiesAbout Enabling Technologies
About Enabling Technologies
 
Effectively Capturing Paper and Digital Documents in your Existing Applicatio...
Effectively Capturing Paper and Digital Documents in your Existing Applicatio...Effectively Capturing Paper and Digital Documents in your Existing Applicatio...
Effectively Capturing Paper and Digital Documents in your Existing Applicatio...
 
Ephesoft & Linux Webinar: Smart Capture™ is Now Even Smarter!
Ephesoft & Linux Webinar: Smart Capture™ is Now Even Smarter!Ephesoft & Linux Webinar: Smart Capture™ is Now Even Smarter!
Ephesoft & Linux Webinar: Smart Capture™ is Now Even Smarter!
 
The Changing Role of IT Staff
The Changing Role of IT StaffThe Changing Role of IT Staff
The Changing Role of IT Staff
 
CRMready Webinar Series - Part 2 - Planning Ahead for CRM at Your Nonprofit
CRMready Webinar Series - Part 2 - Planning Ahead for CRM at Your NonprofitCRMready Webinar Series - Part 2 - Planning Ahead for CRM at Your Nonprofit
CRMready Webinar Series - Part 2 - Planning Ahead for CRM at Your Nonprofit
 
How Judson ISD Implemented and Tracks IT Metrics & Key Performance Indicators
How Judson ISD Implemented and Tracks IT Metrics & Key Performance IndicatorsHow Judson ISD Implemented and Tracks IT Metrics & Key Performance Indicators
How Judson ISD Implemented and Tracks IT Metrics & Key Performance Indicators
 
Arpit Srivastava
Arpit SrivastavaArpit Srivastava
Arpit Srivastava
 
TechClimb_Webinar_PPT_working_1014
TechClimb_Webinar_PPT_working_1014TechClimb_Webinar_PPT_working_1014
TechClimb_Webinar_PPT_working_1014
 
The Analysis Part of Integration Projects
The Analysis Part of Integration ProjectsThe Analysis Part of Integration Projects
The Analysis Part of Integration Projects
 
Welcome to the Cloud
Welcome to the CloudWelcome to the Cloud
Welcome to the Cloud
 
Engineering Teams and Systems for Velocity
Engineering Teams and Systems for VelocityEngineering Teams and Systems for Velocity
Engineering Teams and Systems for Velocity
 
Case Study: Turning a Big Ship–Transforming IT Silos into IT Services at the ...
Case Study: Turning a Big Ship–Transforming IT Silos into IT Services at the ...Case Study: Turning a Big Ship–Transforming IT Silos into IT Services at the ...
Case Study: Turning a Big Ship–Transforming IT Silos into IT Services at the ...
 
Digital transformation roadmap 16th july 2018 v1.1
Digital transformation roadmap 16th july 2018 v1.1Digital transformation roadmap 16th july 2018 v1.1
Digital transformation roadmap 16th july 2018 v1.1
 
Nintex Webinar
Nintex WebinarNintex Webinar
Nintex Webinar
 
Choosing a Database
Choosing a DatabaseChoosing a Database
Choosing a Database
 
Digital Operations Service Design
Digital Operations Service DesignDigital Operations Service Design
Digital Operations Service Design
 
Designing with Intent - Camden website redesign project
Designing with Intent - Camden website redesign projectDesigning with Intent - Camden website redesign project
Designing with Intent - Camden website redesign project
 
Simple & Secure Human Resources: Document Automation & Easy ECM
Simple & Secure Human Resources: Document Automation & Easy ECMSimple & Secure Human Resources: Document Automation & Easy ECM
Simple & Secure Human Resources: Document Automation & Easy ECM
 

More from Daniel Fisher

MD DevdDays 2016: Defensive programming, resilience patterns & antifragility
MD DevdDays 2016: Defensive programming, resilience patterns & antifragilityMD DevdDays 2016: Defensive programming, resilience patterns & antifragility
MD DevdDays 2016: Defensive programming, resilience patterns & antifragilityDaniel Fisher
 
NRWConf, DE: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragilityNRWConf, DE: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragilityDaniel Fisher
 
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an....NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...Daniel Fisher
 
2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und buildDaniel Fisher
 
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...Daniel Fisher
 
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...Daniel Fisher
 
2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGETDaniel Fisher
 
2011 - DNC: REST Wars
2011 - DNC: REST Wars2011 - DNC: REST Wars
2011 - DNC: REST WarsDaniel Fisher
 
2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC LocalizationDaniel Fisher
 
2011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 52011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 5Daniel Fisher
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAXDaniel Fisher
 
2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#Daniel Fisher
 
2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVCDaniel Fisher
 
2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NETDaniel Fisher
 
2010 - Basta!: REST mit ASP.NET MVC
2010 - Basta!: REST mit ASP.NET MVC2010 - Basta!: REST mit ASP.NET MVC
2010 - Basta!: REST mit ASP.NET MVCDaniel Fisher
 
2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCFDaniel Fisher
 
2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET MembershipDaniel Fisher
 
2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#Daniel Fisher
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als CacheDaniel Fisher
 
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engineDaniel Fisher
 

More from Daniel Fisher (20)

MD DevdDays 2016: Defensive programming, resilience patterns & antifragility
MD DevdDays 2016: Defensive programming, resilience patterns & antifragilityMD DevdDays 2016: Defensive programming, resilience patterns & antifragility
MD DevdDays 2016: Defensive programming, resilience patterns & antifragility
 
NRWConf, DE: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragilityNRWConf, DE: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragility
 
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an....NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
 
2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build
 
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
 
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
 
2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET
 
2011 - DNC: REST Wars
2011 - DNC: REST Wars2011 - DNC: REST Wars
2011 - DNC: REST Wars
 
2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization
 
2011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 52011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 5
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
 
2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#
 
2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC
 
2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET
 
2010 - Basta!: REST mit ASP.NET MVC
2010 - Basta!: REST mit ASP.NET MVC2010 - Basta!: REST mit ASP.NET MVC
2010 - Basta!: REST mit ASP.NET MVC
 
2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF
 
2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership
 
2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache
 
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
 

2006 - DDD4: Decoupling service oriented backend systems

  • 1. Decoupling Service Oriented Backend Systems Michael Willers Senior Software Architect Daniel Fisher(lennybacon) Software Architect
  • 2. Objectives  You at least heared of that SOA thing ;-)
  • 3. Questions  Decoupling  What is it good for?  What can/should be decoupled? And why?  How can it be achived?
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 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…
  • 11. • Risk Assessment • Rate Calculations • Claims Handling • Sales Support • Accounting • Archiving • Marketing • Mail Handling • … Departments
  • 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
  • 13. Processes Clerk knows what’s next Decisions influence next step and destination Steps triggered by input, yield outputDept A Dept Q Dept T
  • 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