Professional Documents
Culture Documents
Prof. R. Mall
Introduction
Few important developments that have occurred over the last decade or so:
Desktops have become more powerful and at the same time more affordable. Internet has become widely accepted. Mobile computing. Outsourcing has become prevalent.
Background
Background
cont
generic or one-off.
Time required = T2
Change in the IT solution supporting the business process
B requires:
Process should efficiently capture requirements of the business and then efficiently convert it to code. Implementation should be such that business process changes can be easily accommodated in the software solution.
6
Businesses are getting tired of software cost, late deliveries, poor quality, risk,
Hardware and software cost differentials are becoming more and more glaring.
7
Software sizes are further increasing. How software is to be effectively developed in following contexts is not clear:
Distributed
cont
development (SOA)
Service-Oriented Software
as a Service (SaaS)
9
Client-Server Technology
Both clients and servers are pieces of software. Concepts of Clients and Servers are nothing new --- have existed for ages:
Flexibility:
Servers are expensive computers tucked away in some AC rooms. To use a software you not need not buy expensive server hardware and software.
11
The following two factors are possibly the most relevant: Component-based software development:
To develop a hardware solution an electronic engineer does not solder transistors and resistors on a PCB --- uses off-the-shelf ICs. Why not do the same for software.
Handhelds can only be clients due to low processing and memory capabilities.
12
Component Architectures
Internet
Client 1 Client n
Analogy:
14
Server m
Internet
Client n
15
Middleware Standards
COM/DCOM:
Being
CORBA Architecture
Server 1
Skeleton DSI
Skeleton DSI
Server m
ORB
Stub
Client 1
Client n
17
CORBA Architecture
Skeleton:
The servers register themselves with the object-adapter. The ORB delivers the client request to the server. The Skeleton marshalls the server response. DII/DSI for dynamic service invocation.
18
But
no executable statements.
set-time(int hh, int mm, int ss); get-time(int hh, int mm, int ss);
Interface clock{
}
19
Define
using IDL.
CORBA Implementations
21
COM/DCOM
Though terminologies are different. Proxy on client side. More usable than CORBA.
22
CORBA on server side. Java Beans an attempt to bridge this gap. If your application is to run only on Microsoft operating systems, better use COM/DCOM. If your application needs to run on heterogeneous platforms, better use CORBA. 23
24
SOA: Introduction
Service-orientation principles have their roots in the object-oriented designing. Many claim that service-orientation will replace object-orientation:
Others
What is SOA?
Examples of services:
Filling out an online application Viewing an online bank-statement Placing an online booking
26
27
i.e., non-investigable through its interfaces A unit of independent deployment and versioning Loose coupling
28
cont
SOA's
They use defined protocols which describe how services can talk to each other.
Links and sequences services, in a process known as orchestration, to meet a new business requirement.
30
cont
SOA targets fairly large chunks of functionality to be strung together to form new services:
The fewer the interfacings required; Faster development; However, very large chunks may not prove easy to reuse.
31
cont
of
offer, discover, interact with and use capabilities to achieve desired results.
33
cont
SOA involves statically and dynamically plugging-in services to build software. BEA Aqua logic, Oracle Web services manager, HP Systinet Registry, MS .Net, IBM Web Sphere, Iona Artrix, Java composite application suite.
34
SOA players:
cont
Leverages the Internet and emerging standardization on it for interoperability Hopes that a market place for different predefined services can emerge:
Not tied to any specific vendor And building the missing ones.
35
Services:
Abstract
logic Composable Autonomous Share a formal contract Loosely coupled Stateless Discoverable
36
SOA Entities
Service Consumer
Contract
Registry
Service Provider
37
SOA Implementation
Web services can implement a service-oriented architecture. Web services make functional building blocks
Accessible
38
Service Orchestration
Requires metadata in sufficient detail to describe: The services are typically described by WSDL. Communications protocols by SOAP. Data and meta data by XML
39
The characteristics of the services, Also the data that drives them.
SOA Vision
To build an application:
all of the software services required already exists. orchestration required to produce a new application.
41
Only
SOA Challenges
Building services and infrastructure Composing services formal theory and algebra, languages, semantics Testing and verification Trust Non Functional properties Changes Business level modeling and translation Developing the marketplace
42
43
Challenge Faced
Background
Do you install system to pump water from river directly to your home? Do you install a thermal or hydro electric generator? You do not need to have all the water pipes open all the time. Unnecessarily expensive proposition.
45
Background
cont
you use it only 10 hours every month One hour of usage costs Rs. 100/ Also frees use from maintenance and data storage costs --- Given that maintenance is usually a severe overhead.
46
SaaS
price reflecting market place supply and demand. of outsourcing and service provisioning
47
SaaS includes:
Elements Application
SaaS
owner provides maintenance, daily technical operation, and support for the software. Services are provided to the clients on amount of usage basis.
48
is a vendor who hosts the software and lets the users execute on-demand charges per usage units.
49
Key Characteristics
Network-based access and management of commercially available (not custom) software. Activities managed from central location and not at customer site,
Business Model
53
54
SaaS Architecture
Client 1 Meta-Model
Application Instance
Client 2
Play/Edit Player
Designer
55
Some of the basic assumptions of software are changing This is leading to some different paradigms for software delivery. Component-based development:
Summary
Expected to reduce development time, cost and at the same time improve quality.
SOA conceives a component based assembly model with independent component vendors.56