Unit - 5
Unit - 5
Unit - 5
CLOUD COMPUTING
ENTERPRISE ARCHITECTURE
Enterprise architecture (EA) is the practice of analyzing, designing, planning and implementing
enterprise analysis to successfully execute on business strategies. EA helps businesses structure IT
projects and policies to achieve desired business results and to stay on top of industry trends and
disruptions using architecture principles and practices, a process also known as enterprise
architectural planning (EAP).
The first step in EA is identifying and naming each process, and identifying business events that mark its
start and end. Deeper analysis includes identifying intermediate business events and human decisions
made during the process, participants in the process, exceptional conditions and how these are resolved.
Also documented are non-functional aspects of a process, such as how often it changes, and its expected
time of completion.
Enterprise processes can often be classified as ‘vertical’ or ‘horizontal’. Vertical processes typically
operate within a single organizational function, such as sales or accounting, manage a cohesive
information set pertaining to that function, and are typically supported by software packages or systems
dedicated to that department. ‘Prospect to order’, for example, is a vertical process limited to the sales
function. Horizontal processes, on the other hand, cut across functional units; ‘order to cash’ is a
horizontal process since it spans sales, production and finance.
ENTERPRISE COMPONENTS
The term ‘component’ has traditionally been taken to mean to a ‘software sub-system that has well-
defined interfaces which can be used independently of its internal implementation’
Service-Oriented Architecture (SOA) is an approach for application development. SOA is not a tool or
framework one can purchase but it is a flexible and modular approach for delivering computing
applications.
As the enterprise grows, the complexity of new integrations and number of dependencies increase
exponentially. This gets worse as the pace of change grows, rapid in the current business world and
functional requirements change over time too. SOA is the answer to this challenge. Application
development approach based on SOA paradigm allows dynamic construction and rapid customization.
THE ARCHITECTURE
A model of the service-oriented architecture has been represented in Figure 12.2. With SOA approach, the
applications are built through a collection of services. A service is an independent entity executing some
functionality. The services communicate via message passing. Messages have the ‘schema’ defining their
formats like a contract is set to define the interchanges and a policy define how it should be exchanged.
This makes the communication among the services effortless. Messages can be sent from one service to
another without considering how the other service, handling those messages, could be implemented.
Service-oriented architecture retains the benefits of component-based development (CBD) model, but
there is a shift in paradigm. While component-based model remotely invokes the methods on objects,
SOA passes messages between the services.
In SOA, service providers and service consumers generally do not interact directly with each other (
although it is possible); instead a software module is employed to play the role of broker who eases the
interaction in between. A client service can consume a provider service only if the interface of the
provider service is known. Broker does this act of assembling of all of the published interfaces (of
provider services) at one place referred as service registry (also called as service directory or service
catalog). Message exchange interaction of services happens through published interfaces of services
available at broker’s end. In SOA model, there can be enormous number of services available built by
different service providers. It becomes difficult for a client to gain knowledge about where to find for a
required service. For this purpose, a service registry is maintained where different service providers
register all of their services. A client can then query the service directory for any service and can also
explore service capabilities there
Interaction among services in SOA paradigm works in following manners:
1. A service provider registers its services in the service registry managed by the broker.
4. Service consumer binds itself to the service provider and uses the service.
BENEFITS OF SOA
SOA provides numerous benefits over traditional application-oriented architectural models. The benefits
of service-oriented architecture can be counted from two different viewpoints like architectural and
business.
Architectural Benefits
Flexibility: System functionalities often need to go through changes for betterment. In monolithic
application architecture, it is difficult to incorporate changes to meet new requirements. Changes can be
easily implemented in service-oriented application architecture which provides greater system flexibility.
Reusability: Services are reusable. It is not only in the sense that ‘write once integrate anywhere and
anytime’. Moreover, one cannot throw anything away when different functionality is needed as those
existing functionalities can be reused later.
Simpler integration: System integration is inevitable as multiple different solutions together may work in
a system. Service-oriented approach reduces the complexity of system integration as connectivity, data
exchange and process integration techniques are more simplified here. The adherence to the published
contracts of services also makes it easier for future applications to connect effortlessly with existing
standard-based services.
Maintainability: Service maintenance becomes easier when it can be done in isolation with help of smaller
teams. Thus the maintenance of independent services in SOA becomes less complicated and incurs less
cost.
Business Benefits
Agility: Service-orientated architecture is based on the assumption that system changes over time. Hence,
a well-designed SOA-based development protects a system from the impact of this evolution. The
flexibility of SOA enables a system to respond quickly to new requirements.
Cost reduction: Services once developed can be reused by disparate systems for different kind of purposes
. Integration of services in a system is also easy. Therefore, the reuse of already existing assets (services)
makes it cheaper as reusability means lower development and testing cost.
Increase in quality: Reuse of a service by multiple consumers make a service well tested and flawless. Its
quality improves and thus SOA provides high performance and delivers good return-on-investment (ROI).
Quicker release to market: Service-oriented approach takes lesser time for system development or even
for a system up-gradation. It thus makes the launch of a system quicker to market by diminishing the
development time.
Standardization: Services in SOA are generally developed following open standards. This standardization
makes services more vendor-independent and any kind of system can use a service as long as it uses the
proper (standard) service interface.
A VERY ALL THE BEST