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

Unit-I SOA Part1 20july2014

The document discusses the evolution of computer systems from standalone to distributed systems and introduces Service Oriented Architecture (SOA). It defines SOA and describes its basic concepts including what a service is, the roles of service providers and consumers. It also discusses advantages of distributed systems and examples of services and applications.

Uploaded by

adityabpatel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Unit-I SOA Part1 20july2014

The document discusses the evolution of computer systems from standalone to distributed systems and introduces Service Oriented Architecture (SOA). It defines SOA and describes its basic concepts including what a service is, the roles of service providers and consumers. It also discusses advantages of distributed systems and examples of services and applications.

Uploaded by

adityabpatel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Unit-I, SOA Basics Page 1 of 14

UNIT-I INTRODUCTION TO SERVICE ORIENTED ARCHITECTURE (SOA)

EVOLUTION OF COMPUTER/SOFTWARE SYSTEMS

• Standalone: Upto 1970’s – COBOL, C, FOXPRO, PASCAL


• Client-Server: 1980’s – invention of Networks/LAN’s, Centralized
database shared by multiple desktop applications
E.g. Vb.NET and Oracle database – client/server systems.
• Web-Based/Internet Applications (1990’s): internet based applications
accessible to everyone in the world using browser (thin client),
everything on server
• Enterprise and Distributed Applications: (2000 onwards) Need for more
computing and storage power, complex apps, highly concurrent apps
Compute/Data Clusters - Google search engine, Gmail, Google Drive
• Increasing need for inter-operability between different departments,
suppliers, customers, legacy applications and cross platform applications
• Software productivity and re-usability of code

⇒ Birth of SOA
• SOA is a continuum of Distributed Computing
• Simple monolithic software design into a state of highly collaborative and distributed
software design.

WHAT IS A DISTRIBUTED SYSTEM

• Collection of multiple autonomous independent computers that


communicate through a computer network.
• To achieve a common goal or to solve a task/problem.
• Andrew Tannenbaum defines it as “Distributed system is a collection
of independent computers that appear to its users as a single coherent
system.”
Unit-I, SOA Basics Page 2 of 14

What is a Distributed Application/Program?

• A computer program that runs in a distributed system


• In distributed computing, problem is divided into many tasks, each task
is assigned and solved by 1 or more computers.

Features or Properties of Distributed System:

• “Implementation detail” of building a powerful system out of many


simpler systems is entirely hidden from the user.
• Problem is divided into many tasks, each of which is assigned by one or
more computers.
• Independent computational entities, each of which has its own local
memory & processor.
• The entities communicate with each other by message passing.
• System has to tolerate failures in individual computers
• Each computer has only a limited, incomplete view of the system. Each
node knows only one part of the input/task assigned.

Question – Examples of Distributed System


• E.g. Collection of computers on the Internet that implement the Domain
Name Service (DNS),
• Google Search Engine, Google Drive, All Google Apps
• Facebook, Yahoo mail, Amazon shopping, Amazon Cloud
• Web Server Clusters
• Oracle 10g data grid
Unit-I, SOA Basics Page 3 of 14

• ATM system of bank and bank transactions involving different accounts


in different banks.

Question: Your web-site is having large no. of concurrent users from different places.
So it is become slow/slower response time. What will you DO?

• load balancer that splits up incoming requests between the two Apache nodes.
Unit-I, SOA Basics Page 4 of 14

Load balanced High-Availability Apache Cluster

Can you think of Advantages of Distributed Systems ?


Unit-I, SOA Basics Page 5 of 14

Advantages of Distributed Systems or Strengths?

⇒ Alternative to distributed system - huge centralized system, such as a


Mainframe/Super computer.
⇒ Economic and technical reasons that make distributed systems much
more attractive than their centralized counterparts.

• Scalability: Resources such as processing and storage capacity can be


increased incrementally.
• Reliability: Redundancy - impact of hardware and software faults on
users can be reduced.
• Cost: Better price/performance as long as commodity hardware is used
for the component computers.
• Computational Intensive Problems: E.g. large no. of
transactions/second, high concurrency, scientific problems, complex data
processing and analytics etc.
• Data intensive problems: large amount of data is required to be stored
and managed
• E.g Oracle 10g data grid, Hadoop Cluster and HDFS
• Performance:
o Combined processing and storage capacity of many nodes,
o Higher performance levels can be reached beyond the capacity
of centralized/individual machines.
• Inherent distribution: Some applications, such as ATM, Banking,
email and the Web (where users are geographically dispersed-whole
world)

All Google Apps using Google Distributed Infrastructure (called Google


Cluster)

• Google's Web search application lets different queries run on different processors
• Clusters of more than 25,000 commodity class PCs with fault-tolerant software.
• Search Queries sent to least loaded web server

Google Load Balancing Servers for Google Search Engine:


Different servers for different purposes:
• Web server
• Index server
• Spelling server (Google suggestions)
• Advertisement Server for retrieving advertisements
Unit-I, SOA Basics Page 6 of 14

SERVICE-ORIENTED ARCHITECTURE (SOA)

• Designing and developing software in the form of REUSABLE,

Loosely-Coupled and INTEROPERABLE services and

• Provides a process for integrating these interoperable components

• Principles, methodologies and infrastructure/middleware provided by

SOA

• Software component provided through a network-accessible endpoint.

• Reusable piece of code – Develop once, use any-where (reused in

different Apps). E.g. sending SMS, Email,

• E.g. Consider this realistic Situation/Case:

• Different departments in a company – have Business services written in

different Technologies/Implementation languages;

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

Dept. – Sales forecast, Finance Dept. – budget, releases funds

• In this situation, CONVERTING business services into SOA based

Services

1. Smooth Enterprise level -- Integration, interoperability and synergy

within Company
Unit-I, SOA Basics Page 7 of 14

2. Business External stakeholders/partners like– customers, suppliers,

vendors benefit from well-defined interfaces

DEFINING Service Oriented Architecture (SOA)

• Architecture where independent systems and applications communicate

with each other by exposing and using services.

• High level view of SOA

• Method of design, deployment, and management of applications and

software where:

o All software is organized into Reusable and inter-operable business

services that are

o Network addressable –service interfaces for interoperability.

This is known as SERVICE-ORIENTATION.

It is independent of any vendor, product or technology.


Unit-I, SOA Basics Page 8 of 14

BASIC CONCEPTS OF SOA

WHAT IS A SERVICE?

• From Business Point of View: Repeatable Business task e.g. checking

the balance of Bank Account, withdraw money from ATM/Bank Account

• From IT Point of View: Service is a component providing distinct

functionality - encapsulating high-level business concept

• Services - well-defined business functionalities that are built as software

components

• E.g. Customer Order Processing, Billing service, e-Ticketing service,

Email/SMS Service, Google search service

• Service contains

o Contract (Interface)

o set of operations

o message type def, constraint,

o description (comment)

• Implementation - Logic and data


Unit-I, SOA Basics Page 9 of 14

Service and Re-usability

• Structured/Procedural Program in C – function level re-usability

• Object-oriented Program in Java – Class level (function+data) re-usability

• SOA based application – business functionality/service re-usability

(function+data+public interface)

Examples of a Service

• Creating a Purchase Order

• Requesting and reserving a room in a hotel

• Applying for a loan by filling out a loan request form

• Search books/music based on keywords


Unit-I, SOA Basics Page 10 of 14

SERVICE PROVIDER AND CONSUMER

• In the SOA, at Higher Level, there is exchange of messages.

• In SOA, the system is decomposed into a collection of network-

connected components.

• Producer component – provides services E.g. Railway dept.

• Consumer component – consumes the provider functionality – E.g.

Ticket Agent Client


Unit-I, SOA Basics Page 11 of 14

Different between Service and Application?

• Services and applications are both software programs, but they do tend to
have some differing Characteristics.

Services Java/.NET/PHP Application


• Remotely accessible • Not Always

• Hardware/software/technology • Not so (tied to technology)

independent

• Perform a single or a few specialized • Perform a wide range of

operations. operations

• Mostly accessed by other programs. • Mostly accessed by human

(Machine to machine) end-users. (Machine to

Human)

• Services – combined together to create • Applications often expose

Application. and call services


Unit-I, SOA Basics Page 12 of 14

SOA ARCHITECTURE

Figure: SOA interaction pattern.


Generic life cycle of a service can be summed up as follows:
Publish / Register: A service provider publicizes a service and registers it in
a publicly accessible directory (service repository).
1. Find: A consumer accesses the service repository and inputs a query to
search for a suitable service.
2. Bind: The consumer receives the address required to access the service
and the parameters required to invoke the service.
3. Execute: Consumer accesses the service at the address received. The
service delivers the result parameters.

How does XML contribute in an SOA?

• SOA based on open standards and promoting platform-independent

business integration, XML is at the core of SOA


Unit-I, SOA Basics Page 13 of 14

• XML is foundation - for all web services standards, such as XML

schema, SOAP, Web Services Description Language (WSDL), and

Universal Description, Discovery, and Integration (UDDI).

• Using XML resolves the challenge of working with different data


formats in different applications across multiple platforms.
• XML has the benefit of ease of representation, being text-based, flexible,
and extensible by nature.

Key Characteristics of SOA


• Service provider and consumer
• Standardized service interfaces and specifications: fundamental
requirement - how the service can be used and which data (types) are
required
• Reusability: by other parties or even other applications - factored in at
the development stage.
• Promotes loose coupling throughout the enterprise
• Find ability of service: it must be possible to find a service - managed
via service repositories. Services are cataloged and discoverable.
• Industry standard Protocols are used E.g. XML, SOAP, WSDL, UDDI,
REST, etc.
• Capacity of service for orchestration: process whereby individual
services are combined in functional and technical terms to form larger
Unit-I, SOA Basics Page 14 of 14

units, the business processes. E.g. booking of a travel package involves


many smaller services – air, hotel, car, guide etc.

Service Composition

• Composing a larger service by combining many smaller services.

Performance
• Inter-service communication is much slower than typical inter-
component communication (takes place inside the same address space)
(application / process).
• Decomposing your larger services into too many smaller services may
hurt performance.

You might also like