NETE4631 SOA and Cloud Computing Service Models Lecture Notes #4

Download Report

Transcript NETE4631 SOA and Cloud Computing Service Models Lecture Notes #4

NETE4631
SOA and Cloud Computing Service
Models
Lecture Notes #4
1
Cloud computing - Recap(1)
2
Cloud Enabling Technologies - Recap(2)

HW



SW
+
Virtualization
Utility
Grid Computing
Network (WAN)




(Clusters of) servers in data centers
Web browser – HTTP (HTML, DHTML)
Web service (in this class)
Data
People
3
Lecture Outline






Service-Oriented Architecture (SOA)
Service-Oriented Computing (SOC)
SOC state-of-the-art and research
challenges
Some of the implementation
technologies
SOA VS Cloud
Service and deployment models
4
Architecture of a Web Retail System
Source: Grady Booch’s site: Rozanski, N. and Woods, E. Software Systems
Architecture. Reading, Massachusetts: Addison-Wesley, 2005, p. 96.
5
Service-Oriented Architecture (SOA)


“A service-oriented architecture (SOA) is an
application framework that takes everyday
business applications and breaks them down
into individual business functions and processes,
called services. An SOA lets you build, deploy,
and integrate these services independent of
applications and the computing platforms on
which they run.” –IBM“
Service-Oriented Architecture is an approach to
organizing information technology in which
data, logic, and infrastructure resources are
accessed by routing messages between network
6
interfaces.” –Microsoft
Service-Oriented Architecture (SOA) (2)


An SOA is “a set of components which can be
invoked, and whose interface descriptions can
be published and discovered.” –W3C.
“A paradigm for organizing and utilizing
distributed capabilities that may be under the
control of different ownership domains. It
provides a uniform means to offer, discover,
interact with and use capabilities to produce
desired effects consistent with measurable
preconditions and expectations.” –The OASIS
Group
7
Motivators of SOA





Increasing nature of distributed systems
Heterogeneity of systems and computing
environments
Dynamics of operating environments
Transparency of communication
infrastructure details
Process-orientation requires multiple
services
8
Service-Oriented Computing



Development of rapid, low cost, &
interoperable
systems
that
are
independent of programming languages
and operating systems
Help create compound solutions using
legacy systems and enterprise information
systems exposed as loosely coupled
services residing on remote networks
Organization can programmatically offer
their business processes over the Internet
9
or on various networks
What is a service?

A service is an implementation of a welldefined piece of business functionality, with a
published interface that is discoverable and
can be used by service consumers when
building different applications and business
processes.
10
Principles of Identifying Services

A Service should:




Represent a tangible business concept
Consist of a series of organization-wide
analysis, where a process can decompose
into several small set of processes
Reusable processes -within or outside an
organization, identify possible inputs and
outputs (should be generic) for these
business processes
Identify dependencies among services and
their impact on internal or external to a
11
system
Web Services




They look for suitable services in a
directory, e.g., UDDI
Analyze the specifications of the
potentially relevant services by reading
something like WSDL
Select the most relevant service and get
it do something of value to the service
consumer using something like SOAP
Exploit the standards (e.g., WS-*
standards) for ensuring quality
12
attributes security and reliability.
Service Provision and Consumption
13
Enterprise Service Bus


Provide location transparent routing and
addressing for service communication;
service addressing and naming
administration, support at least one
messaging paradigm and transport
protocol
Support effective service integration
through multiple integration
mechanisms, including connectors, web
services, messaging, and adaptors
14
Enterprise Service Bus (2)

Provides an open service messaging
and interfacing model in order to
isolates implementations from routing
services and transport protocols, and
allows implementations to be
substituted
15
Enterprise Service Bus (ESB)
Source:Dodani, M., From Objects to Services: A Journey in Search of
Component Reuse Nirvana, JOT, 3(8), 2004.
16
Common Design Principles

Services are reusable


Business functionalities exposed as services
are designed with the intention of reuse
whenever and where they are required
Services share a formal contract

Services interact with each other through a
formal contract which is shared to
exchange information and terms of usage
17
Common Design Principles (2)

Services are loosely coupled


Services are designed as loosely coupled
entities able to interact while maintaining
their state of loose coupling.
Services abstract underlying logic

The business logic underpinning a service
is kept hidden from the outside world. Only
the service description and formal contract
are visible for the potential consumers of a
service
18
Common Design Principles (3)

Services are composable


Services may composed of other services.
Hence, a service’s logic should be
represented at different levels of
granularity and promotes reusability and
the creation of abstraction layers.
Services are autonomous

A service should be independent of any
other service
19
Common Design Principles (4)

Services are stateless


A service shouldn’t be required to maintain
state information rather it should be
designed to maximize statelessness
Services are discoverable

A service should be discoverable through
its description, which can be understood by
humans and service users. A service can
be discovered by the use of a directory
provider, or, implementation mechanism or
hard-coded address
20
Common Design Principles (5)

Services have a network-addressable
interface


A service should be invoked from the same
computer or remotely –through a local
interface or Internet
Services are location transparent

A service should be discoverable without
the knowledge of its real location. A
requestor can dynamically discover the
location of a service looking up a registry
The core principles are autonomy, loose
coupling, abstraction, formal contract
21
SOC: State-of-the-Art and Research Challenges

Service Foundation


Service Composition


Composability, Dynamic and adaptive process, QoS-aware
service composition, Business-driven automated compositions
Service Management and Monitoring


Dynamically reconfigurable runtime architectures, End-to-end
security solutions, Infrastructure support for data and process
integration, Semantically enhanced service discovery
Self-Configuration and adaptation,
optimization, Self-protecting
Self-healing,
Self-
Service Design and Development

Engineering service-based systems, Gap analysis techniques,
Service versioning and adaptivity, Service governance
22
Implementation Technologies






XML Web Services
Common Object Request Broker
Architecture (CORBA)
Java Remote Method Invocation (RMI)
.Net Remoting
Message Orietned Middleware (MOM) –
IMB’s MQSeries, Microsoft Message
Queuing (MSMQ), or Java Message
Service
23
TCP/IP
Protocol Stack for SOA
24
Service Orchestration or Choreography
25
SOA and Cloud


Do with practicing SOA
Do SOA with leveraging Cloud
26
SOA leveraging Cloud
27
Cloud architecture model
28
Service and Deployment Models
29
Categories of Cloud Services
30
Infrastructure as a Service (IaaS)


Also known as Datacenter as a Service
Hardware virtualized in cloud based on demand





Service vendor owns equipment
A user creates virtual hardware for deploying
applications or platform for developing application
Incredibly disruptive technology for utility
computing
Fundamental unit of virtualized client is workload
A typical eCommerce system will have

Web server, Application server, File server, Database,
31
Transaction engine, & other types of servers
IaaS: Pods, Aggregation, & Failover
32
Platform as a Service (PaaS)




A software environment that provides
development and deployment environment
and tools (e.g., application development,
database development, storage, testing, etc.)
A platform can be specific to a language,
application framework, or other constructs
PaaS system must also support the
development of interfaces with technologies
like HTML, JavaScript
Vendor lock-in is quite considerable –migrating
33
a python application written for Google’s API
PaaS Model Services






A set of technologies and tools
Collaboration –Multiple people can work
together
Data management –Accessing and using data
Instrumentation, performance, and testing
Storage service with the same vendor or a
third party
Transaction management services or
brokerage services for managing transactions
34
An Integrated Lifecycle Platform






Virtual machine and operating system
(IaaS)
Data design and storage
Development environment with relevant
APIs
Middleware
Testing and optimization tools
Other tools and services as appropriate
35
Storage as a Service
36
Database as a Service
37
Information as a Service
38
Process as a Service
39
Software as a Service (SaaS)



Also known as application as a Service
Any application that is delivered over the
platform of the web.
Major Categories of SaaS

Line of Business Services


Business solutions offered to companies based
on subscription fee, e.g., CRM and Supply Chain
Management
Customer-oriented Services


Services offered to general public, most free
Business models are based on advertising
revenue (e.g., You Tube)
40
SaaS Characteristics





Browser based on demand availability,
different kinds of licenses
Responsibilities -Vendors and Users
Cheaper compared with shrink-wrapped
versions, lowering entry barriers
Compatibility among all users’ software
Shared data model for multiple users
through single instance, multi-tenancy
41
Potential Advantages





Faster time to market and improved
productivity with lower cost
Eliminate the need to install and
maintain
Fast upgrades of new features and
patches
Provision of application developed using
very mature processes and practices
Companies can focus on core business
42
Potential Disadvantages






Maturity in designing multi-tenant
applications
Required cultural and organizational
changes
Difficult to translate business models
Some applications not suitable for this
model
Need to comply with the vendors’
constraints
Migration can be problematic
43
Motivating Factors


Popularity
Both Software Vendors and Enterprizes Like it


Plenty of SaaS Platform


Each big software vendor (such as Oracle and
Microsoft) is developing several SaaS platforms
SaaS and SOA



Each of them has different reasons –Why???
Popularity of SOA helps migration to SaaS
SOA provides a design framework for low cost
development with high quality systems
Economic Impact
44
Some of the SaaS Providers

Intuit



Google


Google Apps (Standard and Premier
Edition)
Microsoft


Quikbooks and Quikbook online
Phone and Blackberry capabilities
Microsoft Office Live Small Business &
Office 365
IBM

Blue Cloud
45
Other Services




Integration as a Service
Security as a Service
Governance/ Management as a Service
Testing as a Service
46
Comparing cloud services
Modified from Building the
cloud Virtualized Optical WAN
47
References



Chapter 3,4,7 and 13 of the book by
Sosinsky, B., 2011.
Papazoglou, M., Traverso, P., Dustdar,
S., Leymann, F., 2007, Service-Oriented
Computing: State of the Art and
Research Challenges, IEEE Computer,
40(11), pp. 38-45.
Cloud Computing and SOA Convergence
in your Enterprise, Linthicum, D., S.
48