Download presentation
Presentation is loading. Please wait.
1
Software Architecture in Practice
Micro Services
2
Henrik Bærbak Christensen
Software Reuse If only we could build software from reusable components A big struggle throughout the history of computing Henrik Bærbak Christensen
3
Software Reuse Vendor Lock-in
During the early 90’ies the Lego bricks metaphor was often used for object/component reuse However, the golden future of a world wide component market place sort of deflated Vendor Lock-in If the kids want to build a large model, adding non-lego bricks does not help! It is basically a vendor lock-in! Clemens Szyperski (2002). Component Software: Beyond Object-Oriented Programming.
4
Henrik Bærbak Christensen
SideBar Szyperski predicted a large market Companies eager to buy reusable components Suppliers building high-quality reusable components We never saw it… Or did we??? Mvnrepository.com is a nice example of component reuse; however it is an open source trading place! Henrik Bærbak Christensen
5
Henrik Bærbak Christensen
Software Reuse In the 00’ the web exploded and allowed a different deployment model Component based reuse: A static / module viewpoint - get a DLL/jar file “libraries” in [Lewis et al. 2014] Linked in, and called by in-memory function calls Service oriented architecture: A dynamic / C&C viewpoint - connect to a service “services” in [Lewis et al. 2014] Out-of-process, communicate using RPC or web service Henrik Bærbak Christensen
6
Henrik Bærbak Christensen
Software Reuse Big difference from the business perspective Example: A Danish-English dictionary Consider Intellectual property rights? ‘Who has the dictionary’? Updating with new words? Revenue model? What are pros/cons of each model: static/dynamic? Henrik Bærbak Christensen
7
Henrik Bærbak Christensen
SOA Wikipedia A service-oriented architecture (SOA) is an architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network. The principles of service-orientation are independent of any vendor, product or technology. MacKenzie et al., 2006 is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations Henrik Bærbak Christensen
8
Web Services A software system designed to support interoperable machine-to-machine interaction over a network It has an interface described in a machine-processable format (specifically WSDL) Other systems interact with the Web service in a manner prescribed by its description using SOAP messages These are typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards [W3C, 2004]
9
Key Elements SOAP (Simple Object Access Protocol)
Communication protocol for web services Typically over HTTP or SMTP WSDL (Web Service Description Language) An XML-based language for describing network services An Interface Description Language for Web services UDDI (Universal Description, Discovery, and Integration) Provides a registration and lookup mechanism for clients and servers to find each other Uses SOAP for communication
10
Henrik Bærbak Christensen
Micro Services The next step? A successful step? Henrik Bærbak Christensen
11
Henrik Bærbak Christensen
Overview Henrik Bærbak Christensen
12
Henrik Bærbak Christensen
Key Properties Henrik Bærbak Christensen
13
Henrik Bærbak Christensen
Component = Service I.e. the unit of reuse is “services” in [Lewis et al. 2014] Out-of-process, communicate using RPC or web service Henrik Bærbak Christensen
14
Organizational Principle
Classic versus DevOps Products, not projects Smart endpoints and dumb pipes REST, not enterprise service bus Decentralized governance DevOps Henrik Bærbak Christensen
15
Henrik Bærbak Christensen
Data Management Is decentralized Each service has its own storage Henrik Bærbak Christensen
16
Infrastructure Automation
Docker is an excellent example Infrastructure-as-code Henrik Bærbak Christensen
17
… And Design for Failure!
Circuit Breakers Timeouts Bulkhead Henrik Bærbak Christensen
18
Henrik Bærbak Christensen
Evolutionary Design Build replacable and upgradeable units MVP: Minimal Viable Prototype Henrik Bærbak Christensen
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.