NETE4631 SOA and Cloud Computing Service Models

Slides:



Advertisements
Similar presentations
Distributed Data Processing
Advertisements

Overview of Web Services
WEB SERVICES DAVIDE ZERBINO.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
By Adam Balla & Wachiu Siu
UDDI, Discovery and Web Services Registries. Introduction To facilitate e-commerce, companies needed a way to locate one another and exchange information.
Independent Insight for Service Oriented Practice Communicating SOA.
Distributed components
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Aligning Business Processes to SOA B. Ramamurthy 6/16/2015Page 1.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
M.A.Doman Model for enabling the delivery of computing as a SERVICE.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
Enterprise Resource Planning
SOA, BPM, BPEL, jBPM.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
1 ITEC0724 Modern Related Technology on Mobile D. : Introduction to Cloud Computing Lecture Notes #1.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 Introduction CSIE, Da-Yeh University. 2 History of Software Development Traditional Programming Paradigm  Behind schedule, costly, and unreliable.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
DISTRIBUTED COMPUTING
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
What is Service Oriented Architecture ? CS409 Application Services Even Semester 2007.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Service Oriented Architectures Presentation By: Clifton Sweeney November 3 rd 2008.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
AUTHORS: MIKE P. PAPAZOGLOU WILLEM-JAN VAN DEN HEUVEL PRESENTED BY: MARGARETA VAMOS Service oriented architectures: approaches, technologies and research.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Chapter 8 – Cloud Computing
Advanced Web Technologies Lecture # 5 By: Faraz Ahmed.
Basics of SOA Testing Assurance Services Unit 24 February 2016.
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
Identifying the Building Blocks of Web Services Web Services can convert your application into a Web-application, which can publish its function or message.
Topics on Web Services COMP6017 Dr Nicholas Gibbins –
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
A service Oriented Architecture & Web Service Technology.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Unit 3 Virtualization.
Chapter 6: Securing the Cloud
SuperComputing 2003 “The Great Academia / Industry Grid Debate” ?
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
SOA (Service Oriented Architecture)
Introduction to Cloud Computing
Web Based Application Cloud services, in the form of centralized web-based applications, also appeal to the IT professional. One instance of an application.
Cloud Computing Dr. Sharad Saxena.
Introduction to Web Services and SOA
Inventory of Distributed Computing Concepts
Service Oriented Architecture (SOA)
WEB SERVICES DAVIDE ZERBINO.
Distributed Systems through Web Services
Introduction to SOA and Web Services
Introduction to Web Services and SOA
Distributed System using Web Services
Salesforce.com Salesforce.com is the world leader in on-demand customer relationship management (CRM) services Manages sales, marketing, customer service,
Presentation transcript:

NETE4631 SOA and Cloud Computing Service Models Lecture Notes #4

Cloud computing - Recap(1)

Cloud Enabling Technologies - Recap(2) HW (Clusters of) servers in data centers SW Network (WAN) Web browser – HTTP (HTML, DHTML) Web service (in this class) Data People Virtualization Utility + Grid Computing

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

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.

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

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

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

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.

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

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 attributes security and reliability.

Service Provision and Consumption

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

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

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

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

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

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

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

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

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/IP

Protocol Stack for SOA

Service Orchestration or Choreography

SOA and Cloud Do with practicing SOA Do SOA with leveraging Cloud SOA is more holistic and strategic – deal with the complete enterprice including business drivers. Cloud – more tactical (instance of archtecture) – is a way of solving a problem

SOA leveraging Cloud SOA on demand SOA can learn from cloud in (1) service design from large vendor and (2) service expandability (resouces) to support scallability issue that is not addressed in SOA

Cloud architecture model

Service and Deployment Models

Categories of Cloud Services

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, Transaction engine, & other types of servers

IaaS: Pods, Aggregation, & Failover

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 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

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

Storage as a Service

Database as a Service

Information as a Service

Process as a Service

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) Sw or applications hosted in the internet and available accessed through browser / replacing physical software on the browser SaaS – complete services offering – hardware- software – solution – replaing shring wraped sw deploying in the internet Excepted for the interaction to the software, all other details are abstracted away. Hardly to customize except salesforce and Quicken that provide API such as changing the security models data scema worklow characteristics

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 Reduce distribution and maintenance costs – cheaper that shrink-wrap Upgraded easily All users will have the same version of sw Support multiple users

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

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

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

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

Other Services Integration as a Service Security as a Service Governance/ Management as a Service Testing as a Service

Comparing cloud services Modified from Building the cloud Virtualized Optical WAN

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.