12. Cargo cargoId origin destination Routing service Origin Destination Populate Cargo DB table:cargo_booking Cargo_Id,Transport,Load,Unload
13. Routing Service A Route Specification An Itinerary satisfyting the Route specification
14.
15.
16.
17. Layering User Interface (Presentation Layer) Responsible for presenting information to the user and interpreting user commands. Application Layer This is a thin layer which coordinates the application activity. It does not contain business logic. It does not hold the state of the business objects, but it can hold the state of an application task progress. Domain Layer This layer contains information about the domain. This is the heart of the business software. The state of business objects is held here. Persistence of the business objects and possibly their state is delegated to the infrastructure layer. Infrastructure Layer This layer acts as a supporting library for all the other layers. It provides communication between layers, implements persistence for business objects, contains supporting libraries for the user interface layer, etc.
18.
19.
20. Defines an application's boundary with a layer of services that establishes a set of available operations and coordinates the application's response in each operation. A service typically implements a business rule, generally something that software must do. Infrastructure and domain logic services A Service Layer defines an application's boundary [Cockburn PloP] and its set of available operations from the perspective of interfacing client layers. It encapsulates the application's business logic, controlling transactions and coor-dinating responses in the implementation of its operations.
21.
22. Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects. A Repository encapsulates the set of objects persisted in a data store and the operations performed over them, providing a more object-oriented view of the persistence layer. Repository also supports the objective of achieving a clean separation and one-way dependency between the domain and data mapping layers.
23.
24.
25. Creates and manage complex objects. Abstract Factory Provides an interface for creating families of related or dependent projects without specifying their concrete classes.
35. Resolve the problem of paradigm mismatch!!! Data Mapper A layer of Mappers (473) that moves data between objects and a database while keeping them independent of each other and the mapper itself.