Self-Contained Systems

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Websydian Anne-Marie Arnvig Manager, Websydian Communications & Relations.
Websydian products.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Spring, Hibernate and Web Services 13 th September 2014.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
UNIT-e Research & Development Microsoft Technology Day Stephen Cain (System Architect)
ECHO: NASA’s E os C learing HO use Integrating Access to Data Services Michael Burnett Blueprint Technologies, 7799 Leesburg.
Technical Architectures
IACT 901 Module 9 Establishing Technology Strategy - Scope & Purpose.
N-Tier Architecture.
UNIT-V The MVC architecture and Struts Framework.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Valma Technical Aspects
DCS Overview MCS/DCS Technical Interchange Meeting August, 2000.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
TECHONOLOGY experts INDUSTRY Some of our clients Link Translation’s extensive experience includes translation for some of the world's largest and leading.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Independent Insight for Service Oriented Practice Summary: Service Reference Architecture and Planning David Sprott.
RESTful Microservices In Java With Jersey Jakub Podlešák Software Engineer Oracle, Application Server Group September 29, 2014 Copyright © 2014, Oracle.
ATLAS Database Access Library Local Area LCG3D Meeting Fermilab, Batavia, USA October 21, 2004 Alexandre Vaniachine (ANL)
IT323 - Software Engineering 2 1 Tutorial 4.  List the main benefits of software reuse 2.
44222: Information Systems Development
Extinction of Dinosaurs -> Rise of Microservices.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Structured Container Delivery Oscar Renalias Accenture Container Lead (NOTE: PASTE IN PORTRAIT AND SEND BEHIND FOREGROUND GRAPHIC FOR CROP)
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Facade Pattern Jim Fawcett CSE776 – Design Patterns Summer 2010
Chapter 1 The Systems Development Environment
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
Software Risk Management
Chapter 1 The Systems Development Environment
OpenLegacy Training Day Four Introduction to Microservices
N-Tier Architecture.
Architecting Web Services
The Open Grid Service Architecture (OGSA) Standard for Grid Computing
SOA (Service Oriented Architecture)
Chapter 1 The Systems Development Environment
Architecting Web Services
Chapter 1 The Systems Development Environment
CHAPTER 3 Architectures for Distributed Systems
Objectives of DBMS Ashima Wadhwa
Facade Pattern Jim Fawcett CSE776 – Design Patterns Summer 2010
7. Service-oriented Architecture (SOA)
Cloud Computing.
Monitoring of the infrastructure from the VO perspective
RAIN Live Oak Data Provenance API
2016 Maintenance Innovation Challenge ENTERPRISE SERVICE BUS
Model-View-Controller Patterns and Frameworks
Chapter 2: System Structures
MARMIND’s New Service Delivers a Single Centralized Marketing Plan That Connects Teams, Campaigns and Outcomes by Using the Power of the Azure Platform.
Introduction to Databases Transparencies
Independent Systems Architecture: ISA
SISAI STATISTICAL INFORMATION SYSTEMS ARCHITECTURE AND INTEGRATION
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
Software Design Lecture : 8
Web Application Architectures
e-Invoicing – e-Ordering 20/11/2008
Chapter # 8 Quality Management Standards
AIMS Equipment & Automation monitoring solution
REST på Microsoft-stacken
Information Hidding Dr. Veton Kepuska.
NIEM Tool Strategy Next Steps for Movement
Chapter 1 The Systems Development Environment
Web Application Architectures
Chapter 6: Architectural Design
ONAP Architecture Principle Review
Presentation transcript:

Self-Contained Systems Infodeck

A monolith contains numerous things inside of a single system …

Various Domains

User interface Business logic Persistence

… as well as a lot of modules, components, frameworks and libraries.

With all these layers in one place, a monolith tends to grow.

If you cut a monolithic system along its very domains …

… and wrap every domain in a separate, replaceable web application …

… then that application can be referred to as a self-contained system (SCS).

On its outside, an SCS is a decentralized unit that is communicating with other systems via RESTful HTTP or lightweight messaging.

Therefore self- contained systems can be individually developed for different platforms.

An SCS contains its own user interface, specific business logic and separate data storage

The user interface consists of web technologies that are composed according to ROCA principles.

Besides a web interface a self-contained system can provide an optional API.

The business logic part only solves problems that arise in its core domain. This logic is only shared with other systems over a well defined interface.

The business logic can consist of microservices to solve domain specific problems.

Every SCS brings its own data storage and with it redundant data depending on the context and domain.

These redundancies are tolerable as long as the sovereignty of data by its owning system is not undermined.

This enables polyglot persistence, which means a database can be chosen to solve a domain specific problem rather than to fulfill a technical urge. CouchDB Neo4J Oracle

Inside of a self-contained system a bunch of technical decisions can be made independently from other systems, such as programming language, frameworks, tooling or workflow.

Team 2 Team 3 The manageable domain specific scope enables the development, operation and maintenance of an SCS by a single team. Team 1

Self-contained Systems should be integrated over their web interfaces to minimize coupling to other systems.

Therefore simple hyperlinks can be used to navigate between systems.

System 1 System 2 A redirection can be used to ensure navigation works in both directions.

System 1 System 2 Hyperlinks can also support the dynamic inclusion of content that is served by another application into the web interface of a self-contained system.

To further minimize coupling to other systems, synchronous remote calls inside the business logic should be avoided.

Instead remote API calls should be handled asynchronously to reduce dependencies and prevent error cascades.

This implies that – depending on the desired rate of updates – the data model’s consistency guarantees are relaxed.

An integrated system of systems like this has many benefits.

Overall resilience is improved through loosely coupled, replaceable systems.

Some systems can be individually scaled to serve varying demands.

Version 2 Version 1 It is not necessary to perform a risky big bang release to migrate an outdated, monolithic system into a system of systems.

Instead a migration can happen in small, manageable steps which minimize the risk of failure and lead to an evolutionary modernization of big and complex systems.

In reality a system of systems consists of individually developed software and standard products.

A product that fits well in a system of systems can be chosen by the following aspects: It has to solve a defined set of tasks and provide the same integration mechanisms that a self-contained system offers.

This ensures that products can be replaced safely by other products once their lifetime has ended.

If a product with such integration mechanisms can not be found, it should at least be possible to extend that product with uniform interfaces that integrate well with the rest of the system.

You can find more interesting content about self-contained systems, microservices, monoliths, REST or ROCA in our timeline https://www.innoq.com/en/timeline/ If you have questions or feedback please do not hesitate to contact us info@innoq.com