b71f47b2a2bc111c5220e250f6ff95bd.ppt
- Количество слайдов: 49
Università degli Studi di Bari – Corso di Laurea Specialistica in Informatica “Tecnologia dei Servizi “Grid e cloud computing” A. A. 2009/2010 Giorgio Pietro Maggi giorgio. maggi@ba. infn. it, http: //www. ba. infn. it/~maggi Lezione 3 a - 20 ottobre 2009 Il materiale didattico usato in questo corso è stato mutuato da quello utilizzato da Paolo Veronesi per il corso di Griglie Computazionali per la Laurea Specialistica in Informatica tenuto nell’anno accademico 2008/09 presso l’Università degli Studi di Ferrara. Paolo Veronesi paolo. veronesi@cnaf. infn. it, pveronesi@unife. it http: //www. cnaf. infn. it/~pveronesi/unife/ Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 0
Outline The Grid (riassunto delle puntate precedenti) p Service Oriented Architecture (SOA) p Richiami di HTTP p Richiami di XML p n XML Namespaces, XML Schema Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 1
The Grid Metaphor Mobile Access G R I D Workstation M I D D L E W A R E Supercomputer, PC-Cluster Data-storage, Sensors, Experiments Visualising Internet, networks Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 2
1. Grid computing: characteristics (2/4) p The three fundamental properties of Grid computing: 1. Large-scale coordinated management of resources belonging to different administrative domains (multi-domain vs single domain) Grid computing involves multiple management systems 2. Standard, open, multi-purpose protocols and interfaces that provide a range of services (standard vs proprietary) 3. Grid computing supports heterogeneous user applications Delivery of complex Quality of Service (Qo. S): Grid computing allows its constituent resources to be used in a coordinated fashion to deliver various types of Qo. S, such as response time, throughput, availability, reliability, security, etc. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 3
Elements of the Problem p Resource sharing: sharing issues today are not adequately addressed by existing technologies. n n p Complex requirements: “run program X at site Y subject to community policy P, providing access to data at Z according to policy Q” High performance: unique demands of advanced & highperformance systems Heterogeneous resources: computers, storage, sensors, networks, … Sharing always conditional: issues of trust, policy, negotiation, payment, … Coordinated problem solving n It extends the simple client-server: distributed data analysis and computation Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 4
The three main capabilities of a Grid middleware p Virtualization of users and resources l Mapping virtual resources to physical resources l Mapping virtual users to physical users Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a Grid system 5 Site A Site B 5
Layered Grid Architecture (by Analogy to the Internet Architecture) Grid Internet Architecture “Coordinating multiple resources”: ubiquitous infrastructure services, app-specific distributed services “Sharing single resources”: negotiating access, controlling use “Talking to Grid elements”: communication (Internet protocols) & security “Controlling elements locally”: Access to, & control of, resources Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a Collective Application Resource Connectivity Transport Internet Fabric Link 6 Internet Protocol Architecture Application
Who Defines Standard for Grid p OGF: Open Grid Forum n n p OASIS: Organization for the Advancement of Structured Information Standards n n p http: //www. oasis-open. org not-for-profit consortium that drives the development, convergence and adoption of open standards for the global information society DMTF: Distributed Management Task Force n n p http: //ogf. org community of users, developers, and vendors leading the global standardization effort for Grid computing http: //www. dmtf. org industry organization leading the development, adoption and promotion of interoperable management standards and initiatives W 3 C: World Wide Web n n http: //www. w 3. org develops interoperable technologies (specifications, guidelines, software, and tools) to lead the Web to its full potential Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 7
OGSA Capabilities Execution Management • Job description & submission • Scheduling • Resource provisioning Data Services • Common access facilities • Efficient & reliable transport • Replication services Resource Management Self-Management • Discovery • Monitoring • Control • Self-configuration • Self-optimization • Self-healing OGSA Information Services Security • Registry • Notification • Logging/auditing • Cross-organizational users • Trust nobody • Authorized access only OGSA “profiles” Web services foundation Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 8
Service Oriented Architecture (SOA) Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 9
Before to enter the game… p We introduce the concept maps n A simple convention for brainstorming concepts during the development of software systems and/or architecture n Concepts maps are a two dimensional format composed of concepts (objects) and associations (relationships). Associations may be named to provide clarity Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 10
Concept Maps p A line between two concepts represents a relationship p The arrow on a line indicates an asymmetrical relationship, where the concept to which the arrow points can be interpreted as depending in some way on the concept from which the line originates (Concept 1) p Lines can have labels or descriptive text http: //en. wikipedia. org/wiki/Concept_map Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 11
Why we talk about concept maps? p In general, they are used to identify concepts and relationships in a new investigation domain p We use them to sketch the concepts related to the “Service Oriented” world by defining a Reference Model Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 12
What is SOA; what is a reference model for SOA p Why is a reference model needed p The OASIS SOA RM p Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 13
Defining SOA p Definition of Architecture: n “Architecture: A software architecture for a system is the structure or structures of the system, which consist of elements and their externally visible properties, and the relationships among them. ” If Service Oriented Architecture is Architecture, as the name implies, it should be definable as architecture. p This should not be done by referencing specific implementations. p Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 14
Closer look: “Service Oriented” p Is a paradigm (model) for software architecture. n Focus herein is “software & systems architecture” “Services” are the central concept; other concepts are present. p SOA not currently defined other than a “common law” or “defacto” perception of what it is. p Perceptions for definition of SOA are vastly disparate. p Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 15
What is a SOA Reference Model? p p p Is a model for developing a range of Service Oriented Architectures and analysis/comparison thereof. Is not architecture for a single implementation. This is very important to understand since things you may see in other architecture might not be present in the Reference Model. Is a framework for understanding significant relationships among the elements of a SOA environment. Is based on concepts present in all SOA’s. A Reference Model defines SOA in an abstract sense. Example: p p Abstract = Service Description Concrete = WSDL Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 16
To develop a Reference Model for SOA p Some questions: What elements are common in all implementations of SOA? (Paraphrased) What are the core things that make SOA service oriented? n How do we describe those as abstract concepts? n What relationships exist amongst those concepts? n How do we represent those concepts without referencing concrete implementations. n Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 17
Draft Conceptual SOA Reference Model Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 18
Base Components p p Service: A behavior, or set of behaviors provided for use by another entity. Service Description: A specification of the information necessary to: n n p allow a potential consumer to determine whether or not this service is applicable, and facilitate invocation. Advertisement: A methodology to convey awareness of (the existence of) a service(s) to all consumers on a fabric. Advertising makes discovery possible. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 19
Base Components and Concepts of SOA p Data Model: The logical expression of a set of information items associated with the consumption of a service or services. p Contract: The syntactic, semantic and logical constraints governing on the use of a service. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 20
SOA Axioms 1. 2. 3. 4. 5. A Service is a set of functionality provided by one entity for the use of others. Services are conceptually autonomous (self sufficient) and opaque (independent of underlying technology) in nature. There is no need to make architectural distinctions between services that are consumed as part of a process vs. ones that are not. There is not always a one to one correlation between “on the wire” requests to invoke a service and service responses being consumed. Each logical Service has exactly one canonical Service Description. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 21
SOA Axioms 6. A Service Description is comprised of three logical parts - - - 7. 8. Data Model - The logical expression of a set of information items associated with the consumption of a service or services; Policy - Assertions and obligations that service consumers and/or providers must adhere to or provide; and Contract (and/or offer thereof) - the syntactic, semantic and logical constraints governing on the use of a service. A security policy is a specialized type of the Service Description policy noted above. Service Policy mandate security requirements to be met, and if they are not, interaction (with the service) may be refused. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 22
SOA Axioms 9. 10. 11. A null security policy is still logically considered a policy. A Service Description is advertised to consumers on a fabric to make it discoverable. Discovery does not constitute authorization to execute against the service. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 23
What is SOA; what is a reference model for SOA p Why is a reference model needed p The OASIS SOA RM TC p Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 24
Existing situation Question: How do I account for my requirements and organize components when building a concrete architecture? Requirements WS-Security Base Standards WSDL SOAP UDDI Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a WS-RM WS-* XML & WS-Trust Schema WS Addressing Reg/Rep 25
Thoughts on developing specific SOA’s Probably not logical to try and develop a “one size, fits all” architecture for SOA or WS. p Not rational to develop multiple architectures in standards bodies for every set of requirements. p Best solution: develop an SOA reference Model. p n n Used by architects to guide development of specific service oriented architectures. Model for a “way of thinking” when architecting. Re-useable by multiple architects writing SOA for multiple domains. Helps architects slot existing standards into their architectures. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 26
SOA RM used for range of architectures SOA-RM Guides developments of Requirements Input for Specific Architectures Uses WS-Security Base Standards WSDL SOAP UDDI Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a WS-RM WS-* XML & WS-Trust Schema WS Addressing Reg/Rep 27
What is SOA; what is a reference model for SOA p Why is a reference model needed p The OASIS SOA RM TC p Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 28
OASIS SOA Reference Model p Chartered February 2005 p Problem to be solved: n n "Service Oriented Architecture" (SOA) as a term is being used in an increasing number of contexts and specific technology implementations, sometimes with differing or conflicting understandings of implicit terminology and components. The proposal to establish a Reference Model is intended to encourage the continued growth of specific and different SOA implementations whilst preserving a common layer that can be shared and understood between those or future implementations. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 29
OASIS SOA Reference Model TC p Purpose: n The SOA-RM TC will deliver a Service Oriented Architecture Reference Model (SOA-RM). n The TC may also create sub-committees, promotional material, liaisons or other promulgation of the TC's work, in order to promote the use of the SOA Reference Model. n May help vertical industries develop SOA for their requirements. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 30
Definition p Reference Model: A reference model is an abstract framework for understanding significant relationships among the entities of some environment, and for the development of consistent standards or specifications supporting that environment. A reference model is based on a small number of unifying concepts. A reference model is not directly tied to any standards, technologies or other concrete implementation details, but it does seek to provide a common semantics that can be used unambiguously across and between different implementations. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 31
The OASIS SOA Reference Model p Centered around the notions of n p “needs” and “capabilities” SOA provides a powerful framework n n for matching needs and capabilities and for combining capabilities to address those needs Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 32
Needs and Capabilities p Entities (people and organizations) create capabilities to solve or support a solution for the problems they face in the course of their business n p Just as one person’s needs may be met by capabilities offered by someone else There is not necessarily a one-to-one correlation between needs and capabilities n n The granularity of needs and capabilities are driven by the business, therefore they vary from fundamental to complex Any given need may require the combining of numerous capabilities, while any single capability may address more than one need Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 33
Five key questions to interact with a Service Application 1 “Service Consumer” 1. 2. Assuming the Consumer has located the Provider, how can the two describe how to connect to each other, in a standard format which can be understood regardless of their IT platforms? 4. Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a Assuming the Consumer knows of the Provider’s existence, how can it locate the Provider? 3. Application 2 “Service Provider” How can the Consumer dynamically discover the existence of a Provider, which can provide the services being requested? Assuming they have described themselves, how can they exchange messages in a common messaging format which is independent of their underlying platforms? 5. Assuming they have agreed upon a common messaging format, what data format can they use to exchange data independent of their underlying database technologies? 34
What is Service Oriented Architecture (SOA)? p An SOA application is a composition of services p A “service” is the atomic unit of an SOA p Services encapsulate a business process p Service Providers Register themselves p Service use involves: Find, Bind, Execute Service Registry Most well-known instance is Web Services p Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a Find Service Consumer Register Service Provider Bind, Execute 35
SOA Actors Service Registry Find p Service Provider n p Bind, Execute Service Provider Provides a stateless, location transparent business service Service Registry n p Service Consumer Register Allows service consumers to locate service providers that meet required criteria Service Consumer n Uses service providers to complete business processes Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 36
SOA Benefits Service Registry Find Business Benefits p Focus on Business Domain solutions p Leverage Existing Infrastructure p Agility Service Consumer Register Bind, Execute Technical Benefits p Loose Coupling p Autonomous Service p Location Transparency p Late Binding Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 37 Service Provider
What is not in the Reference Model? p Service composition n Choreography, orchestration n Process Oriented Architecture p Organizational framework n Who is doing what to whom p Specific technologies n not even specific architectures Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 38
The OASIS SOA reference model – Central concepts p p Service About services n n n p Service description Policies and Contracts Execution context Dynamics of Services n n n Visibility Interacting with services Real World Effect Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 39
The OASIS SOA reference model – Central concepts p p Service About services n n n p Service description Policies and Contracts Execution context Dynamics of Services n n n Visibility Interacting with services Real World Effect Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 40
Service p A mechanism to enable access to one or more capabilities n n p using a prescribed interface consistent with constraints and policies as specified by the service description A service is opaque in that its implementation is typically hidden from the service consumer n except for p p the information and behavior models exposed through the service interface the information required by service consumers to determine whether a given service is appropriate for their needs Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 41
Visibility p Visibility is the relationship between service participants that is satisfied when they are able to interact with each other n Awareness p p n Willingness p n Service description Discovery Policy & contract Reachability p Communication Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 42
Service Description p The service description represents the information needed in order to use, manage or provide a service p Service reachability Service functionality Service policies Service interface p p p Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 43
Anatomy of a Service Interface Transformation Layer Service Implementation New Service Consumer Wrapped Legacy Interface Proxy Composite Service Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 44
OO vs. SO Object Orientation Service Orientation When typically used Use Within enterprise Between enterprises Program language dependencies Tied to a set of programming languages Program language independent Coupling Tightly-coupled Loosely-coupled Communication paradigm Procedural Message-driven Communication protocol Usually bound to a particular transport Easily bound to different transports Efficiency Efficient processing (space/time) Relatively not efficient processing Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 45
Why is it different? p SOA reflects the reality of ownership boundaries n n p CORBA, RMI, COM, DCOM, etc. all try to implement transparent distributed systems Ownership is of the essence in SOA is task oriented n Services are organized by function p p Getting something done SOA is inspired by human organizations n It worked for us, it should work for machines Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 46
A Service-Oriented Grid Brokering Service CPU Resource Compute Service Data Service Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a Application Service Printer Service 47 Notify Virtualized resources Registry Service Advertise Grid middleware services Job-Submit Service
OGSA: focus on Web Services foundation Execution Management • Job description & submission • Scheduling • Resource provisioning Data Services • Common access facilities • Efficient & reliable transport • Replication services Resource Management Self-Management • Discovery • Monitoring • Control • Self-configuration • Self-optimization • Self-healing OGSA Information Services Security • Registry • Notification • Logging/auditing • Cross-organizational users • Trust nobody • Authorized access only OGSA “profiles” Web services foundation Tecnologia dei Servizi “Grid e cloud computing” - Lezione 003 a 48
b71f47b2a2bc111c5220e250f6ff95bd.ppt