0% found this document useful (0 votes)
28 views

Unit 3

Service-Oriented Architecture (SOA) defines an architectural approach where applications utilize services available over a network. In SOA, discrete pieces of application functionality are defined as interoperable services that can be reused. Services are published so developers can assemble applications by combining existing services. SOA allows for loose coupling between services and supports reuse, integration, and scalability.

Uploaded by

mmmoneyyyy2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

Unit 3

Service-Oriented Architecture (SOA) defines an architectural approach where applications utilize services available over a network. In SOA, discrete pieces of application functionality are defined as interoperable services that can be reused. Services are published so developers can assemble applications by combining existing services. SOA allows for loose coupling between services and supports reuse, integration, and scalability.

Uploaded by

mmmoneyyyy2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Service-Oriented Architecture (SOA) is a stage in the evolution of application

development and/or integration. It defines a way to make software


components reusable using the interfaces.
Formally, 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 network call over the internet. It
uses common communication standards to speed up and streamline the
service integrations in applications. Each service in SOA is a complete
business function in itself. The services are published in such a way that it
makes it easy for the developers to assemble their apps using those
services. Note that SOA is different from microservice architecture.
 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.
The different characteristics of SOA are as follows :
o Provides interoperability between the services.
o Provides methods for service encapsulation, service discovery, service
composition,
service reusability and service integration.
o Facilitates QoS (Quality of Services) through service contract based on
Service Level
Agreement (SLA).
o Provides loosely couples services.
o Provides location transparency with better scalability and availability.
o Ease of maintenance with reduced cost of application development and
deployment.
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.
Services might aggregate information and data retrieved from other services
or create workflows of services to satisfy the request of a given service
consumer. This practice is known as service orchestration Another important
interaction pattern is service choreography, which is the coordinated
interaction of services without a single point of control.
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.
Advantages of SOA:
 Service reusability: In SOA, applications are made from existing
services. Thus, services can be reused to make many applications.
 Easy maintenance: As services are independent of each other
they can be updated and modified easily without affecting other
services.
 Platform independent: SOA allows making a complex application
by combining services picked from different sources, independent
of the platform.
 Availability: SOA facilities are easily available to anyone on
request.
 Reliability: SOA applications are more reliable because it is easy
to debug small services rather than huge codes
 Scalability: Services can run on different servers within an
environment, this increases scalability
Disadvantages of SOA:
 High overhead: A validation of input parameters of services is
done whenever services interact this decreases performance as it
increases load and response time.
 High investment: A huge initial investment is required for SOA.
 Complex service management: When services interact they
exchange messages to tasks. the number of messages may go in
millions. It becomes a cumbersome task to handle a large number
of messages.
Practical applications of SOA: SOA is used in many ways around us
whether it is mentioned or not.
1. SOA infrastructure is used by many armies and air forces to deploy
situational awareness systems.
2. SOA is used to improve healthcare delivery.
3. Nowadays many apps are games and they use inbuilt functions to
run. For example, an app might need GPS so it uses the inbuilt
GPS functions of the device. This is SOA in mobile solutions.
4. SOA helps maintain museums a virtualized storage pool for their
information and content.
What is Message Oriented Middleware
(MOM)?
 Read
 Discuss
 Courses



The full form of MOM is Message-Oriented Middleware which is an infrastructure
that allows communication and exchanges the data (messages). It involves the passing
of data between applications using a communication channel that carries self-
contained units of information (messages).In a MOM-based communication
environment, messages are sent and received asynchronously.
MOM provides asynchronous communication, and it just sends the message and
performs its asynchronous operations. It consists of inter-application communication
software that relies on asynchronous message passing which would oppose request-
response architecture. So asynchronous system consists of a message queue that
provides a temporary stage so that the destination program becomes busy or might not
be connected. Message Queue helps in storing the message on a MOM platform.
MOM clients can send and receive the message through the queue.
Queues act as a central component for implementing asynchronous interaction within
MOM.
 Middleware is software that acts as a link between two or more objects
 Middleware simplifies complex distributed applications,
 It consists of web servers, application servers, and more, it is integrals to
modern information technology based on XML, SOAP, service-oriented
architecture.
Block Representation of Middleware:
Middleware

Features and Capabilities


1. Unified messaging
2. Provisioning and monitoring
3. Dynamic scaling
4. Management and control tools
5. Dynamic scaling
6. Flexible service quality
7. Secure communication
8. Integration with other tools
Structure and working of the Message Queue in MOM:

Message Queue in MOM


MOM enables communication between distributed components. Middleware makes
programming easier in a distributed environment. It acts like an Operating System
(OS) for distributed computing architecture and provides transparency for the
applications.
A message-oriented middleware acts as a middleware for different applications for
example:

MOM Deployment

The above diagram is a message-oriented middleware-based distributed system


deployment that offers a service-based approach to inter-process communication. The
messaging of MOM is the same as the postal service.
The Architecture of Message Oriented Middleware:
Architecture of MOM

Types of middleware:
1. Database Middleware
2. Application Server Middleware
3. Messaging middleware
4. Message-oriented Middleware
5. Transaction processing middleware
Roles of message-oriented middleware
1. The message distribution is enabled over complex IT systems.
2. It servers as a connector for two different applications or platforms.
3. MOM helps in implementing the delivery of messages across different IT
organizations.
4. It will create a distributed product that is compatible with the various OS.
5. MOM allows various software components can talk to each other.
6. It is a type of middleware that consists of several lines that are connected to
different applications.
7. It connects different technologies involving message origination and
delivery destination.
8. It links front and back-end systems.
Example:
MQTT(Message Queuing for Telemetry Transport): Most MQ systems and protocols
are aimed at backed and enterprise applications and these types of technologies are not
suited for constrained devices like sensor nodes. Such devices are typically
constrained in terms of memory, bandwidth, and power.
MQTT is a message-oriented protocol aimed at applications like wireless sensor
networks, M2M(mobile 2 mobile) and ultimately the internet of things(a large number
of nodes and applications loosely through a messaging system).
Advantages
1. Loose coupling
2. Scalability
3. Fast
4. Reliability
5. Availability
Disadvantage
1. Requires extra component in the architecture
2. Poor programming abstraction
3. One-to-one communication for queue abstraction
4. Not implemented for some platform
Difference between Cloud Computing and
Grid Computing
 Read
 Discuss
 Courses



Cloud Computing:
Cloud Computing is a Client-server computing architecture. In cloud computing,
resources are used in centralized pattern and cloud computing is a high accessible
service. It is a pay and use business means, in cloud computing, the users pay for the
use

Grid Computing:
Grid Computing is a Distributed computing architecture. In grid computing, resources
are used in collaborative pattern, and also in grid computing, the users do not pay for
use.
Let’s see the difference between cloud and grid computing which are given below:

S.N
Cloud Computing Grid Computing
O

Cloud computing is a
While it is a Distributed computing
1. Client-server computing
architecture.
architecture.

Cloud computing is a While grid computing is a decentralized


2.
centralized executive. executive.

In cloud computing,
While in grid computing, resources are used in
3. resources are used in
collaborative pattern.
centralized pattern.

It is more flexible than grid


4. While it is less flexible than cloud computing.
computing.

In cloud computing, the While in grid computing, the users do not pay
5.
users pay for the use. for use.

Cloud computing is a high While grid computing is a low accessible


6.
accessible service. service.

It is highly scalable as
While grid computing is low scalable in
7. compared to grid
comparison to cloud computing.
computing.
S.N
Cloud Computing Grid Computing
O

It can be accessed through


8. While it is accessible through grid middleware.
standard web protocols.

Cloud computing is based Grid computing is based on application-


9.
on service-oriented. oriented.

Cloud computing uses Grid computing uses service like distributed


10. service like IAAS, PAAS, computing, distributed pervasive, distributed
SAAS. information.

You might also like