User Tools

Site Tools


devops:software_architecture

This is an old revision of the document!


Software Architecture

CORBA Common Object Reqeust Broker Architecture. Standard, which defines communication between software, written in different languages. Uses object oriented approach.

Builds

Incremental Build after each commit
Nightly Build every night
Baseline Build, according to a cadence / milestone. Will probably be released.

Summary

- Design Patterns aus GOF

- MVC

- API: HAL, HATEOAS, REST

  1. HATEOAS -
  1. architecture pattern

Hypermedia As The Engine Of The Aookication State

	
- REST
	GET - safe, idempotent
	PUT 
	POST - Idempotent
	DELETE - Idempotent
	PATCH
	
	

See https://stackify.com/soap-vs-rest/

- Java RMI

  1. RMI you can have references to remote objects and invoke their methods

RMI stands out when the need to develop something more complex than a pure client-server architecture arises

- Java RPC

  1. With RPC you can just call remote functions exported into a server,

In Java, when you talk about RPC, you are talking about SOAP and Web Services.

Lost its popularity, REST is the solution of choice.
  1. SOAP

Simple Object Access Protocol

  1. If you need ACID-compliant transactions, SOAP is the way to go.
  1. CORBA
  2. Common Object Request Broker Architecture

- REST

Representational state transfer 
The general consensus among experts these days is that REST is the typically preferred protocol unless there’s a compelling reason to use SOAP
	- REST allows a greater variety of data formats, whereas SOAP only allows XML.
	- SImple
	- uses HTTP layer

- Architectures on AWS

- Swagger vs. OPenAPI

  1. OpenAPI = Specification
  2. Swagger = Tools for implementing the specification

- structure data

- SaaS application

- architecture principles

  1. SOLID
    1. Single-responsibiity Principle
    2. Open-Cosed
    3. Liskov substitution principles
    4. Interface segregation principle
      1. client should NOT implement interfaces / methods they dont use
    5. Dependency Inversion principle

- IoT protocols

  1. MQTT
  2. Public / Subscribe

- DONE Terraform

  1. NOT provider agnositc. The syntaxis is different for all providers.
  2. INtrastructure management
  3. Configuration management

- interface strategy and support build up of the partner integrations

- business needs into technical requirements

- Make sure that the solutions meet the requirements in regard to security and availability

- DevOps culture and infrastructure

devops/software_architecture.1523009871.txt.gz · Last modified: (external edit)