1 / 43

NETE4631 SOA and Cloud Computing Service Models

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

laasya
Télécharger la présentation

NETE4631 SOA and Cloud Computing Service Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NETE4631SOA and Cloud Computing Service Models Lecture Notes #3

  2. 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)

  3. Which technologies make up Cloud? Recap (2) Grid Computing Utility Computing + Virtualization Technology Cloud

  4. 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)

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

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

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

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

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

  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

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

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

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

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

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

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

  17. Service Provision and Consumption

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

  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

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

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

  25. Protocol Stack for SOA

  26. Service Orchestration or Choreography

  27. SOA and Cloud

  28. Service and Deployment Models

  29. 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)

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

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

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

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

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

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

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

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

  38. PaaS: AppBase’s Architecture

  39. PaaS: Wolf Platform Architecture

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

  41. IaaS: Pods, Aggregation, & Failover

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

  43. THANK YOU!!!!!

More Related