Table of content



4.1 Analysis Result


The monolith has been split into 7 microservices. The global data schema consists of 35 relationships. Each of the 7 microservices owns its own local data schema. 24 of the 35 relationships could be kept within the microservice architecture. This is a percentage value of approximately 69. Both entities of these kept relationships can still be retrieved by a local transaction running in only one microservice. The complexity stays the same as it has been in the monolithic architecture. The local transactions still can profit from the ACID feature that most of the standard relational databases support. 31 percent of the relationships have been destroyed by the data schema split. For those broken relationships, there have to be introduced distributed transactions that span over more than one microservice. Please take a look into the subchapters 3.x.x of this cookbook. For each of the 28 entities, there can be found a description how to create a global transaction that span over more than microservice.

Microservice architecture for schema

Microservices

3.1 AirplaneService3.2 AirportService3.3 CargoService3.4 CountryService3.5 EmployeeService3.6 LuggageService
3.7 PassengerBookingService


4.2 System decomposition matrix


0000000000000000000000000000AirlineAirplaneService
1000100000000000000000000000AirplaneAirplaneService
0100010000000000000000000000AirplaneEquipmentAirplaneService
0000000000000000000000000000AirplaneProducerAirplaneService
0001000000000000000000000000AirplaneTypeAirplaneService
0000000000000000000000000000EquipmentTypeAirplaneService
0000000000000000000000000010AirportAirportService
0100000012000000000000000000FlightAirportService
0000002000000000000000000000FlightRouteAirportService
0000000000100000000000000000GateAirportService
0000001000000000000000000000TerminalAirportService
0000000100001100000000000000CargoBookingEmployeeService
0000000000000000000000000000CustomerEmployeeService
1000000000000000000000000000EmployeeEmployeeService
0000000000000101000000000000EmployeeTaskEmployeeService
0000000000000000000000000000TaskEmployeeService
0000000000000000000000000001PassengerPassengerBookingService
0000000100000000101000000000PassengerBookingPassengerBookingService
0100000000000000000100000000SeatPassengerBookingService
0000000000000000000000000000SeatCategoryPassengerBookingService
0000000000000000010000100000LuggageLuggageService
0000000000000100000010000000LuggageCheckLuggageService
0000000000000000000000000000LuggageTypeLuggageService
0000000000010000000000000100CargoCargoService
0000000000000100000000010000CargoCheckCargoService
0000000000000000000000000000CargoTypeCargoService
0000000000000000000000000001CityCountryService
0000000000000000000000000000CountryCountryService


References

NoProperty NameEntityReferences EntityMicroservices
1Airplane . AirlineAirplaneAirlineAirplaneService
2Airplane . AirplaneTypeAirplaneAirplaneTypeAirplaneService
3AirplaneEquipment . AirplaneAirplaneEquipmentAirplaneAirplaneService
4AirplaneEquipment . EquipmentTypeAirplaneEquipmentEquipmentTypeAirplaneService
5AirplaneType . AirplaneProducerAirplaneTypeAirplaneProducerAirplaneService
6Airport . CityAirport City AirportService CountryService
7Flight . AirplaneFlight Airplane AirportService AirplaneService
8Flight . FlightRouteFlightFlightRouteAirportService
9Flight . DepartureGateFlightGateAirportService
10Flight . ArrivalGateFlightGateAirportService
11FlightRoute . DestinationFlightRouteAirportAirportService
12FlightRoute . SourceFlightRouteAirportAirportService
13Gate . TerminalGateTerminalAirportService
14Terminal . AirportTerminalAirportAirportService
15CargoBooking . FlightCargoBooking Flight EmployeeService AirportService
16CargoBooking . CustomerCargoBookingCustomerEmployeeService
17CargoBooking . EmployeeCargoBookingEmployeeEmployeeService
18Employee . AirlineEmployee Airline EmployeeService AirplaneService
19EmployeeTask . EmployeeEmployeeTaskEmployeeEmployeeService
20EmployeeTask . TaskEmployeeTaskTaskEmployeeService
21Passenger . NationalityPassenger Country PassengerBookingService CountryService
22PassengerBooking . FlightPassengerBooking Flight PassengerBookingService AirportService
23PassengerBooking . PassengerPassengerBookingPassengerPassengerBookingService
24PassengerBooking . SeatPassengerBookingSeatPassengerBookingService
25Seat . AirplaneSeat Airplane PassengerBookingService AirplaneService
26Seat . SeatCategorySeatSeatCategoryPassengerBookingService
27Luggage . FlightBookingLuggage PassengerBooking LuggageService PassengerBookingService
28Luggage . LuggageTypeLuggageLuggageTypeLuggageService
29LuggageCheck . CheckerLuggageCheck Employee LuggageService EmployeeService
30LuggageCheck . LuggageLuggageCheckLuggageLuggageService
31Cargo . CargoBookingCargo CargoBooking CargoService EmployeeService
32Cargo . CargoTypeCargoCargoTypeCargoService
33CargoCheck . CheckerCargoCheck Employee CargoService EmployeeService
34CargoCheck . CargoCargoCheckCargoCargoService
35City . CountryCityCountryCountryService


Table of content