nete4631 soa and cloud computing service models

Post on 04-Jan-2016

44 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 Presentation

TRANSCRIPT

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

top related