nete4631 soa and cloud computing service models
DESCRIPTION
NETE4631 SOA and Cloud Computing Service Models. Lecture Notes #3. Virtualization 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). - PowerPoint PPT PresentationTRANSCRIPT
1
NETE4631SOA and Cloud Computing Service
Models
Lecture Notes #3
Virtualization 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)
2
Which technologies make up Cloud? Recap (2)
3
Grid Computing
Utility Computing+
Virtualization Technology
Cloud
Web 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)
4
Lecture 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
5
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 or on various networks
6
What 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.
7
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 system
8
EAI -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.
9
10
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 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
11
Architecture of a Web Retail System
12Source: Grady Booch’s site: Rozanski, N. and Woods, E. Software Systems Architecture. Reading, Massachusetts: Addison-Wesley, 2005, p. 96.
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
13
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
14
Enterprise Service Bus (ESB)
15Source:Dodani, M., From Objects to Services: A Journey in Search of Component Reuse Nirvana, JOT, 3(8), 2004.
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
16
Service Provision and Consumption
17
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
18
19
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
20
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
21
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
22
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
SOC: 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
23
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
TCP/IP24
Protocol Stack for SOA
25
Service Orchestration or Choreography
26
SOA and Cloud
27
Service and Deployment Models
28
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)29
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
30
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 business31
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
32
Motivating 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
33
Some 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
34
Platform 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 Google’s API
35
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
36
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
appropriate37
PaaS: AppBase’s Architecture
38
PaaS: Wolf Platform Architecture
39
Infrastructure 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
40
IaaS: Pods, Aggregation, & Failover
41
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.
42
THANK YOU!!!!!
43