Title: NETE4631 SOA and Cloud Computing Service Models
1NETE4631SOA and Cloud Computing Service Models
2Virtualization Technology Recap(1)
- Virtualization is the creation of a virtual
(rather than actual) version of something, such
as a hardware platform, operating system (OS),
storage device, or network resources. (Wikipedia)
3Which technologies make up Cloud? Recap (2)
Grid Computing
Utility Computing
Virtualization Technology
Cloud
4Web Services Recap (3)
- Communication
- HTTP 1.0 and 1.1 (W3C)
- Client
- HTML, DHTML, JavaScript, CSS
- Message Exchanged
- Extensible Markup Language (XML)
- Simple Object Access Protocol (SOAP)
- Representational state transfer (REST)
- JavaScript Object Notation (JSON)
5Lecture Outline
- Service-Oriented Computing (SOC)
- Service-Oriented Architecture (SOA)
- Designing service-based systems and quality
attributes - SOC state-of-the-art and research challenges
- Some of the implementation technologies
- Service and deployment models
6Service-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 or on
various networks
7What is a service?
- A service is an implementation of a well-defined
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.
8Principles 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 system
9EAI -State-of-the-Art
- 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 attributes security and
reliability.
10Service-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 interfaces.
Microsoft
11Service-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
12Architecture of a Web Retail System
Source Grady Boochs site Rozanski, N. and
Woods, E. Software Systems Architecture. Reading,
Massachusetts Addison-Wesley, 2005, p. 96.
13Enterprise 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
14Enterprise 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
15Enterprise Service Bus (ESB)
SourceDodani, M., From Objects to Services A
Journey in Search of Component Reuse Nirvana,
JOT, 3(8), 2004.
16Motivators 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
17Service Provision and Consumption
18Common 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
19Common 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
20Common Design Principles (3)
- Services are composable
- Services may composed of other services. Hence, a
services 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
21Common Design Principles (4)
- Services are stateless
- A service shouldnt 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
22Common 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
23SOC State-of-the-Art and Research Challenges
- Service Foundation
- Dynamically reconfigurable runtime architectures,
End-to-end security solutions, Infrastructure
support for data and process integration,
Semantically enhanced service discovery - Service Composition
- Composability, Dynamic and adaptive process,
QoS-aware service composition, Business-driven
automated compositions - Service Management and Monitoring
- Self-Configuration and adaptation, Self-healing,
Self-optimization, Self-protecting - Service Design and Development
- Engineering service-based systems, Gap analysis
techniques, Service versioning and adaptivity,
Service governance
24Implementation Technologies
- XML Web Services
- Common Object Request Broker Architecture (CORBA)
- Java Remote Method Invocation (RMI)
- .Net Remoting
- Message Orietned Middleware (MOM) IMBs
MQSeries, Microsoft Message Queuing (MSMQ), or
Java Message Service - TCP/IP
25Protocol Stack for SOA
26Service Orchestration or Choreography
27SOA and Cloud
28Service and Deployment Models
29Major 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)
30SaaS 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
31Potential 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
32Potential 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
33Motivating Factors
- Popularity
- Both Software Vendors and Enterprizes Like it
- Each of them has different reasons Why???
- Plenty of SaaS Platform
- Each big software vendor (such as Oracle and
Microsoft) is developing several SaaS platforms - SaaS and SOA
- Popularity of SOA helps migration to SaaS
- SOA provides a design framework for low cost
development with high quality systems - Economic Impact
34Some of the SaaS Providers
- Intuit
- Quikbooks and Quikbook online
- Phone and Blackberry capabilities
- Google
- Google Apps (Standard and Premier Edition)
- Microsoft
- Microsoft Office Live Small Business Office 365
- IBM
- Blue Cloud
35Platform as a Service (PaaS)
- A software environment that provides development
and deployment environment and tools - 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 a
python application written for Googles API
36PaaS 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
37An 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
38PaaS AppBases Architecture
39PaaS Wolf Platform Architecture
40Infrastructure as a Service (IaaS)
- 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, Transaction engine, other types of
servers
41IaaS Pods, Aggregation, Failover
42References
- 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.
43