Please enable JavaScript.
Coggle requires JavaScript to display documents.
SOA (service oriented architecture) - Coggle Diagram
SOA (service oriented architecture)
Communication Modes
Sync
Required an Always-Avaible server
the client stays waiting for the response of the server
Async
the interaction between actors is made by an mediator
no inmediate response is expected
not requires an always-avaible server
Middleware Frameworks
Client-Server
An application is distributed into two different programs, the client and the server, that communicate with each other using the network
This usually works in a synchronous mode
The server centralizes the application logic. This is considered to be tightly coupled for clientsare highly dependent on the server.
Multi-Tired
Can be distributed in several tiers at the client side and the server side (presentation, bussiness and enterprise information system e.g), better distributtion on the server side, allow better scalability, flexibility and performance. This implmentation exhibit similar tight coupling limits of the server-client model.
An architectural paradigm for defining how people, organizations, and systems provide and use services in an agile, scalable, and interoperable world.
Communication Middleware
RPC
(Remote Procedure Calls)
its synchronous - blocks the client until the server replies to a request
stubs: pack and unpack call and response including parameters and results
Middleware that allows an application to execute a remote operation by hiding all the details of the required networking mechanisim.
ORB
Allows the communication with remote objects by implementing interoperable object reference.
Distributed Object Communication Middleware - (Object Request Broker)
In charge of remote construction, location, invocation, serialization - deserializarion and destrucction of objects.
Follows a proxi design pattern
RMI - Remote Metod Invocation - Java
COM -DCOM and NetRemotinh - .Net Platforms
Pyro4 - Python Remote Objects - Python
CORBA - Multiple platforms and languages
MOMs
MOMs use messages (that include network routing information and the payload) and stores them on queues allowing to communicate even when remote parts are not available.
Allows synchronous communication between distributed applications.
(Message oriented middleware)
Goals
Hide distribution (to developers)
Hide distribution (to developers)
Hiding heterogeneity (services are not platform specific)
Providing uniform-standard interfaces
Making services reusable.
Participans
Service Consumer
Entity consuming the service offered by a service provider
Service Producer
Entity offering a specific service or functionality
Services
Contract:
Formal or informal specification of the service including the purpose, functionalities, constraints and usage
Interface
Specifies how the service can be accessed, including data format and operations
Implementation
The physical implementation of the service providing the required capability or business logic.
Repository
facilities to discover and use services.
Details about the services that can be invoked and how to invoke them
bus:
Provides the required connectivity between the service participants
Binding
Development-time binding
The developer is responsible for locating all required information from the service repository in order to program the service consumer to access the service
Runtime binding
The service is dynamically bound based on its name
Runtime name-based binding
The service name and interface is known
Runtime properties-based bindin
One or several services interfaces are known at
development time and the adequate service is discovered at runtime based on its properties.
Runtime properties-based bindin
The service interface is not known at development time
and the consumer needs to dynamically interpret the semantics of the service.
Application Server based (AS)
An AS is classified as a middleware mediator as it provides services containers performing as runtime environments for hosting and running software components