Skip to main content

Service Architecture

Service-Oriented Architecture

Service-Oriented Architecture (SOA) is an architectural approach in which applications make use of services available in the network. In this architecture, services are provided to form applications, through a communication call over the internet.

  • SOA allows users to combine a large number of facilities from existing services to form applications.
  • SOA encompasses a set of design principles that structure system development and provide means for integrating components into a coherent and decentralized system.
  • SOA based computing packages functionalities into a set of interoperable services, which can be integrated into different software systems belonging to separate business domains.
There are two major roles within Service-oriented Architecture:
  1. Service provider: The service provider is the maintainer of the service and the organization that makes available one or more services for others to use. To advertise services, the provider can publish them in a registry, together with a service contract that specifies the nature of the service, how to use it, the requirements for the service, and the fees charged.
  2. Service consumer: The service consumer can locate the service metadata in the registry and develop the required client components to bind and use the service.




Components of SOA:

Guiding Principles of SOA:
  1. Standardized service contract: Specified through one or more service description documents.
  2. Loose coupling: Services are designed as self-contained components, maintain relationships that minimize dependencies on other services.
  3. Abstraction: A service is completely defined by service contracts and description documents. They hide their logic, which is encapsulated within their implementation.
  4. Reusability: Designed as components, services can be reused more effectively, thus reducing development time and the associated costs.
  5. Autonomy: Services have control over the logic they encapsulate and, from a service consumer point of view, there is no need to know about their implementation.
  6. Discoverability: Services are defined by description documents that constitute supplemental metadata through which they can be effectively discovered. Service discovery provides an effective means for utilizing third-party resources.
  7. Composability: Using services as building blocks, sophisticated and complex operations can be implemented. Service orchestration and choreography provide a solid support for composing services and achieving business goals

Comments

Popular posts from this blog

Types of MAC

Bridge,Router and Gateways

Bridge – A bridge operates at data link layer. A bridge is a repeater, with add on the functionality of filtering content by reading the MAC addresses of source and destination. It is also used for interconnecting two LANs working on the same protocol. It has a single input and single output port, thus making it a 2 port device. Types of Bridges Transparent Bridges:- These are the bridge in which the stations are completely unaware of the bridge’s existence i.e. whether or not a bridge is added or deleted from the network, reconfiguration of the stations is unnecessary. These bridges make use of two processes i.e. bridge forwarding and bridge learning. Source Routing Bridges:- In these bridges, routing operation is performed by source station and the frame specifies which route to follow. The hot can discover frame by sending a special frame called discovery frame, which spreads through the entire network using all possible paths to destination.   Routers – A...

BellmanAlgorithm

How Bellman Ford's algorithm works Bellman Ford algorithm works by overestimating the length of the path from the starting vertex to all other vertices. Then it iteratively relaxes those estimates by finding new paths that are shorter than the previously overestimated paths Steps 1) This step initializes distances from source to all vertices as infinite and distance to source itself as 0. Create an array dist[] of size |V| with all values as infinite except dist[src] where src is source vertex. 2) This step calculates shortest distances. Do following |V|-1 times where |V| is the number of vertices in given graph. ….. a) Do following for each edge u-v ………………If dist[v] > dist[u] + weight of edge uv, then update dist[v] ………………….dist[v] = dist[u] + weight of edge uv 3) This step reports if there is a negative weight cycle in graph. Do following for each edge u-v ……If dist[v] > dist[u] + weight of edge uv, then “Graph contains negative weight cyc...