0% found this document useful (0 votes)
19 views21 pages

Unit-I SOA Part2 03aug2014

The document provides an introduction to Service Oriented Architecture (SOA). It discusses the motivation for moving to an SOA approach, including the need for different software systems within companies to be interoperable. It then describes some key aspects of SOA like how it structures a business using shared capabilities as services, and how this is different from a traditional 3-tier architecture. The document also provides examples of using SOA at a university and in financial services to aggregate data from different systems and enable new cross-system functionality.

Uploaded by

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

Unit-I SOA Part2 03aug2014

The document provides an introduction to Service Oriented Architecture (SOA). It discusses the motivation for moving to an SOA approach, including the need for different software systems within companies to be interoperable. It then describes some key aspects of SOA like how it structures a business using shared capabilities as services, and how this is different from a traditional 3-tier architecture. The document also provides examples of using SOA at a university and in financial services to aggregate data from different systems and enable new cross-system functionality.

Uploaded by

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

Unit-I, SOA Basics Page 1 of 21

UNIT-I INTRODUCTION TO SERVICE ORIENTED ARCHITECTURE (SOA)

MOTIVATION FOR SOA


• Current state of affairs in many companies - different software
developed for different purposes, different technologies, different
departments – ALL SCATTERED, NOT INTER-OPERABLE,
UNIFIED)
• Need to move from Software Application Centric Service
Centric Approach
Figure of Application Centric
Business scope

Finance

Supply

Manufacturing Distribution

Business functionality is
duplicated in each
application that requires it.

Business scope
Multiple Service Consumers
Multiple Business Processes
Finance
Service

Service
Supply Service Architecture
Service
Service

Manufacturing Distribution

Multiple Discrete Resources


Multiple Service Providers

Service virtualizes how that capability is


performed, and where and by whom the
SOA structures the business and its systems resources are provided, enabling multiple
as a set of capabilities that are offered providers and consumers to participate
as Services, organized into a Service together in shared business activities.
Architecture
Unit-I, SOA Basics Page 2 of 21

SOA is evolution of Modern Day Architecture (from 3-tier architecture)

Difference between 3-Tier and SOA Architecture

3-Tier SOA Architecture

1. UI, BL and DB will be in 1. No layers - reusable


3 layers autonomous/interoperable
remotely called Services
2. 3 layers mostly run of 3 2. No necessarily so
different machines servers
3. Each layer has dependency on 3. No dependency/each service is
other layers E.g. UI and BL autonomous
4. Not so 4. Services are re-usable across
different applns/organizations
Unit-I, SOA Basics Page 3 of 21

SOA Case Study at SCS

Different software/ applications have been developed at SCS different

times, with different technologies with different data formats/databases.

Whole Academic IT infrastructure – as Application Silos – rather than

Services - redundancy of data – no interoperability

Problems:

• Some legacy systems like Online exam, Theory paper generator, still
required VB thick client (installed on computer)/no browser based.
• New College website – to dynamic CMS enabled College Portal
under development

• For student attendance/session plan, separate .NET based system.


• For examination data, separate system.
• For sending SMS/Email to students/parents, there is separate
system.
• Both are not able to communicate with other.
• Manually generate list of students from Attendance, and manually
send the SMS’s to parents using this system.
Need

• If want to develop a rule, that when the Student’s attendance falls

below 70%, the Attendance system should use the SMS service, to

send SMS to parents.

Solution
Unit-I, SOA Basics Page 4 of 21

The SMS sending Program should be designed as a service.

Problem:

• For library book issue/withdraw, separate VB (Client/server) system


If students want to check the books issued by him, on his Students
mobile app, not possible.
Solution:
Books issued by Students – should be developed as a Service
Exam results of Students – should be developed as a Service.

High level view of SOA based Software system Architecture in a

Enterprise

• Clean separation between service interface and implementation

• Service interfaces hides the complexity/diversity of service

implementations
Unit-I, SOA Basics Page 5 of 21

SOA Infrastructure

• Set of technologies - providing middleware/run-time environment E.g.

Java EE server

• Use to deploy services, provides service discovery

• Binds service-consumers to services

• Different ways/implementations like Web Services, Message Oriented

Middleware (MOM), publish/subscribe, Component Object Request

Broker Architecture (CORBA) etc.

ENTERPRISE SERVICE BUS (ESB)

• It is important part of SOA Infrastructure/Middleware

• It is a middleware – connects & mediates – all interaction between

consumers and service providers (based on SOA Standards)

• More useful in large-heterogeneous environments

3 BASIC OPERATIONS ENABLED BY SOA INFRASTRUCTURE

(A)SERVICE DISCOVERY

• service registry, query capability by consumers

• Fully dynamic binding – service consumers discover services at

RUNTIME select the “best” and invoke the service.


Unit-I, SOA Basics Page 6 of 21

(B) SERVICE COMPOSITION

• is the mechanism by which services are combined to fulfill business

process like Invoice generation or high level business logic like online

shopping or Student Registration/Admission in MCA Programme.

• Supported by SOA infrastructure – Business Process Modeling

(BPM) component,

• BPM enables service consumer to COMBINE multiple services (in

the registry), and then automatically generate CODE for

orchestration.

• What is BPM – BPM GUI tool available to describe the business

process/workflow and compose the services – to provide high-level

business functionality
Unit-I, SOA Basics Page 7 of 21

(C)SERVICE INVOCATION

• 2 types: Point-to-Point - Service consumers DIRECTLY invoke a

service over a network.

• Used for Small no. of consumers/services/homogenous environment

• MEDIATED – Service consumers invoke services using the

MIDDLEWARE component such as Enterprise Service Bus (ESB)

• Used in large environments, large no. of services and

consumers/heterogeneous/diverse technology environment


Unit-I, SOA Basics Page 8 of 21

RELATION BETWEEN SOA & Web Services

• Web Services is one popular way of implementing SOA (Web

Services is part of SOA)

• Web Services have been commonly implemented as WS* stack

(WSDL/SOAP) – Stateful –

o Services are described using WSDL and data is transmitted

using SOAP over HTTP

• Recently, REpresentational State Transfer (REST) based Services

have became popular (Stateless)

• REST - consumers communicate with services using HTTP operations

– GET, POST, DELETE

SOA Analysis Steps:

1. Identify the business needs/requirements

2. Identify & describe the services to fulfill Step 1 – business needs

3. Define the Interfaces/operations in each service

4. Identify the how the Individual services will interact (composition) to

fulfill business process/work.


Unit-I, SOA Basics Page 9 of 21

SOA CASE STUDIES

SOA in Amazon Cloud (Amazon Web Services-AWS)

• AWS is world’s leading IaaS service provider to millions of

companies/customers

• It provides various IaaS (Compute, Storage, Network)

services on a pay-as-you-use model over the Internet.

• All services are offered using SOA based API – to

dynamically provision those services

• Services can be consumed by any Client application using

this Service API.

Infosys Project Case Study

(http://www.infosys.com/consulting/soa-services/case-studies/Documents/healthcare-accelerates-markettime-soa.pdf)
http://www.infosys.com/consulting/soa-services/case-studies/Documents/leveraging-service-oriented-architecture.pdf

http://www.oracle.com/technetwork/articles/soa/jimerson-soa-suite-case-study-239318.html

Pacific Gas & Electric Company: Develop New


Business Services

Business Need:

• Serve 15 million people


• Drive costs out of operations
Unit-I, SOA Basics Page 10 of 21

• Streamline regulatory compliance


• Minimal support for customer self-service
• Customer Service Records (CSRs) lacked 360 view into
customer data
• Limited leverage of IT assets; many silos
• Proprietary technology; slow change

Use Case:

• Enterprise-wide SOA supports billing, customer care,


automated meter reading, customer self-service, CSR
desktop, audit compliance, supply chain integration
• Reach, usage and value of legacy assets (e.g., ERP
system) extended

Results: SOA Value Delivered

• Infrastructure costs cut by millions annually; innovative


services developed rapidly

SOA IN FINANCIAL SERVICES

Business Challenge

A large bank wanted to automate aggregation and pricing of

Foreign Exchange (FX) orders submitted by different sources.

End users are FX traders employed by bank

Requirements

Aggregated view of FX orders submitted for pricing

Ability for manual or benchmark pricing according to

automated benchmark system


Unit-I, SOA Basics Page 11 of 21

Ability to book trades with an external trading system

SOA based SOLUTION:

1. STEP 1: Collect all the orders submitted to bank in the last

fixed interval (10 minutes)

2. STEP 2: Display all the collected orders in the user interface

3. STEP 3: Allow trader to price orders manually OR let

trader make a request to an external pricing system to

collect pricing details

4. STEP 4: Submit aggregated and priced orders for trade to

an external trading system

Investment Bank Broker/Dealer Stock Exchange

Order Submission Systems

SOA

Aggregated Forex Submit For


Pricing
Orders Trading

SOA SOA

Trading Systems

Pricing Information
Systems
Unit-I, SOA Basics Page 12 of 21
Unit-I, SOA Basics Page 13 of 21
Unit-I, SOA Basics Page 14 of 21

ADVANTAGES OF SOA:

• Better alignment between Business and IT/Software

Reusable application-components:
Unit-I, SOA Basics Page 15 of 21

• Some functionality - applications needs very often. So why develop/do

the coding again?

• SOA (web services) offer application-components like: currency

conversion, weather reports, or even language translation as services.

Interoperability:

Between systems of different Companies, B to B – Customer, Suppliers,

Vendors, Channel Partners

Reuse already developed (old) functionality into new software/ Connect

existing software:

• Situation: You are developing finance software for a company on java

and you have old .net software which manages salary of employees.

• Rather than developing new software for employee part, you can use old

software.

Loosely Coupled and re-usable software components:


Unit-I, SOA Basics Page 16 of 21

• What is loose coupling? Each service exists independently of the other

services that make up the application.

• Individual pieces of the Software application to be modified without

impacting un-related areas.

Ease of Integration:

• Data is isolated between applications creating ’silos’. Production

Dept. – Which product/How much to Produce? Marketing Dept. – Sales

forecast, Finance Dept. – budget, releases funds

• SOA acts as glue - enables easier communications within and across

organizational systems.

Dynamic Discovery and Composition

• Applications are composed dynamically from the deployed and available

services in the network.

• These services are dynamically discovered and bound together in a

loosely coupled manner. This dynamic construction allows the system to

quickly respond to new business requirements.

What is Service Orientation?


Unit-I, SOA Basics Page 17 of 21

Service-Orientation incorporates industry best practices

• Reveal interface, hide implementation

• Standards and agreement on protocols and interfaces

• Decouple requestor from provider

• Location independence

• Loose coupling to increase flexibility and

• Lower costs of maintenance

PRINCIPLES OF SOA

Business aligned
• Focus on the business requirements and goals, and then align the
technical implementations to those goals
Coarse-grained (fewer, larger) – opposite of fine-grained
• Start with a TOP-DOWN Analysis of the business needs, not a bottom-
up mapping of implementation components.
• “…services should represent business functions, processes, or
transactions and encapsulate other fine-grained components or services
in them.”
Standardized service contract:
• Services adhere to a communications agreement - defined collectively by
one or more service-description documents (WSDL).
Unit-I, SOA Basics Page 18 of 21

• Services use service contract to


o Express their purpose
o Express their capabilities
• Use formal, standardized service contracts

• Focus on the areas of


o Functional expression
o Data representation
o Policy

Service loose coupling


• Services maintain a relationship that minimizes dependencies
• “Service contracts impose low consumer coupling requirements and are
themselves decoupled from their surrounding environment."

• Constant emphasis on reducing (“loosening”) dependencies between


o Service contract
o Service implementation
Unit-I, SOA Basics Page 19 of 21

o Service consumers

Service Abstraction
Beyond descriptions in the service contract, services hide logic from the
outside world.

“Service contracts only contain essential information - limited to what


is published in service contracts”
Hide maximum underlying details of a service
Enables and preserves the loosely coupled relationships
Service reusability
Business Logic is divided into services with the intention of promoting
reuse.

Reusable services have the following characteristics:


– Defined by an functional context
– Logic is highly generic
– Can be accessed concurrently (by different consumers)

Service autonomy
Unit-I, SOA Basics Page 20 of 21

• Services have control over the logic they encapsulate, from a Design-
time and a Run-time perspective.
• Represents the ability of a service to carry out its logic independently of
outside influences

"Services exercise a high level of control over their underlying


runtime execution environment."

Service statelessness
• Services minimize resource consumption by deferring the management
of state information when necessary
• Goals
• Increase service scalability
• Support design of agnostic logic and improve service reuse

Service discoverability
Unit-I, SOA Basics Page 21 of 21

• Services are supplemented with communicative meta-data by which they


can be effectively discovered and interpreted.
• Service-descriptions stored in Service Registry (Database)

Service Composability
• Ensures services are able to participate in multiple compositions to solve
multiple larger problems
• Small services are combined (composed) to provide large business
functionality.
• Related to Reusability principle

Service granularity

A design consideration to provide optimal scope and right granular level of


the business functionality in a service operation.

You might also like