nete4631 soa and cloud computing service models

43
1 NETE4631 SOA and Cloud Computing Service Models Lecture Notes #3

Upload: laasya

Post on 04-Jan-2016

44 views

Category:

Documents


0 download

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

Page 1: NETE4631 SOA and Cloud Computing Service Models

1

NETE4631SOA and Cloud Computing Service

Models

Lecture Notes #3

Page 2: NETE4631 SOA and Cloud Computing Service Models

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

Page 3: NETE4631 SOA and Cloud Computing Service Models

Which technologies make up Cloud? Recap (2)

3

Grid Computing

Utility Computing+

Virtualization Technology

Cloud

Page 4: NETE4631 SOA and Cloud Computing Service Models

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

Page 5: NETE4631 SOA and Cloud Computing Service Models

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

Page 6: NETE4631 SOA and Cloud Computing Service Models

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

Page 7: NETE4631 SOA and Cloud Computing Service Models

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

Page 8: NETE4631 SOA and Cloud Computing Service Models

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

Page 9: NETE4631 SOA and Cloud Computing Service Models

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

Page 10: NETE4631 SOA and Cloud Computing Service Models

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

Page 11: NETE4631 SOA and Cloud Computing Service Models

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

Page 12: NETE4631 SOA and Cloud Computing Service Models

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.

Page 13: NETE4631 SOA and Cloud Computing Service Models

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

Page 14: NETE4631 SOA and Cloud Computing Service Models

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

Page 15: NETE4631 SOA and Cloud Computing Service Models

Enterprise Service Bus (ESB)

15Source:Dodani, M., From Objects to Services: A Journey in Search of Component Reuse Nirvana, JOT, 3(8), 2004.

Page 16: NETE4631 SOA and Cloud Computing Service Models

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

Page 17: NETE4631 SOA and Cloud Computing Service Models

Service Provision and Consumption

17

Page 18: NETE4631 SOA and Cloud Computing Service Models

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

Page 19: NETE4631 SOA and Cloud Computing Service Models

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

Page 20: NETE4631 SOA and Cloud Computing Service Models

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

Page 21: NETE4631 SOA and Cloud Computing Service Models

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

Page 22: NETE4631 SOA and Cloud Computing Service Models

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

Page 23: NETE4631 SOA and Cloud Computing Service Models

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

Page 24: NETE4631 SOA and Cloud Computing Service Models

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

Page 25: NETE4631 SOA and Cloud Computing Service Models

Protocol Stack for SOA

25

Page 26: NETE4631 SOA and Cloud Computing Service Models

Service Orchestration or Choreography

26

Page 27: NETE4631 SOA and Cloud Computing Service Models

SOA and Cloud

27

Page 28: NETE4631 SOA and Cloud Computing Service Models

Service and Deployment Models

28

Page 29: NETE4631 SOA and Cloud Computing Service Models

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

Page 30: NETE4631 SOA and Cloud Computing Service Models

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

Page 31: NETE4631 SOA and Cloud Computing Service Models

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

Page 32: NETE4631 SOA and Cloud Computing Service Models

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

Page 33: NETE4631 SOA and Cloud Computing Service Models

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

Page 34: NETE4631 SOA and Cloud Computing Service Models

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

Page 35: NETE4631 SOA and Cloud Computing Service Models

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

Page 36: NETE4631 SOA and Cloud Computing Service Models

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

Page 37: NETE4631 SOA and Cloud Computing Service Models

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

Page 38: NETE4631 SOA and Cloud Computing Service Models

PaaS: AppBase’s Architecture

38

Page 39: NETE4631 SOA and Cloud Computing Service Models

PaaS: Wolf Platform Architecture

39

Page 40: NETE4631 SOA and Cloud Computing Service Models

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

Page 41: NETE4631 SOA and Cloud Computing Service Models

IaaS: Pods, Aggregation, & Failover

41

Page 42: NETE4631 SOA and Cloud Computing Service Models

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

Page 43: NETE4631 SOA and Cloud Computing Service Models

THANK YOU!!!!!

43