1 / 73

Overview of Pegasus An Open-Source WBEM implementation

Overview of Pegasus An Open-Source WBEM implementation. 17 July 2001 Karl Schopmeyer(k.schopmeyer@opengroup.org). Version 1.0. Agenda. Overview -What (and why)is Pegasus? The Pegasus Environment The Pegasus Software Architecture Pegasus Status Today Plans The Pegasus Project

jesse
Télécharger la présentation

Overview of Pegasus An Open-Source WBEM implementation

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. Overview ofPegasusAn Open-SourceWBEM implementation 17 July 2001 Karl Schopmeyer(k.schopmeyer@opengroup.org) Version 1.0

  2. Agenda • Overview -What (and why)is Pegasus? • The Pegasus Environment • The Pegasus Software Architecture • Pegasus Status Today • Plans • The Pegasus Project • A Challenge for the Future

  3. 1. Overview

  4. What is Pegasus? • Pegasus is an open-source reference implementation of the DMTF WBEM specifications • Pegasus is a work project of the TOG Enterprise Management Forum • Pegasus is a platform for building application management • Pegasus is a function-rich, production-quality open-source implementation designed to be used in high volume server implementations.

  5. Why Produce Pegasus? • Demonstrate manageability concepts. • Provide additional standards for WBEM • Provide a working implementation of WBEM technologies • Provide an effective modular implementation • Support other TOG manageability standards • Base Platform for Open Group Application management Projects

  6. Origins of Pegasus • Pegasus was initiated in 2000 by the Open Group in collaboration with: • BMC Software • IBM • Tivoli Systems

  7. Key Pegasus Objectives MIT License Open Source Standards Based DMTF WBEM Pegasus Continuity Portable C++ and portable Libraries Modular And Extensible Efficient And Lightweight Production Quality C++ Code Base

  8. Pegasus Working Group Philosophy • Manageability not management • The working group’s objective is not to manage systems but to make them manageable by promoting a standard instrumentation environment • The actual management of systems is left to systems management vendors • No standards without implementation • The process of implementation provides a rigorous process for testing the validity of standards • Therefore all standards must be validated by implementation

  9. Pegasus is Open Source • Code and documentation freely available • Open Group and Source Forge • MIT source license • Open to contributions • No commitment to Open Group to use code

  10. Pegasus is Portable • Designed for multi-platform, multi-OS, multi-compiler implementation • Platforms ported today • UNIX (AIX, HPUX, Compaq Tru64, Solaris) • Linux • Windows Platforms (NT, 2000, 9x) • Compaq Himalaya (Tandem)

  11. Efficient and Lightweight • Core written in C++ • Designed for execution efficiency • Designed to be production-quality solution

  12. Pegasus is Standards Based • Based on DMTF CIM and CIM-XML specifications • Open Group is active partner in DMTF • Growth through participation in specification growth • Commitment to continue DMTF compliance

  13. Pegasus is Modular and Extensible • Minimize core object broker. • Maximize extensibility through plug-in components • Component types • Providers • Provider interfaces • Clients • Repositories (additional repository handlers) • Manageability service extensions • Protocol Adapters • Modules (extend and modify core functions) Modularity is key to doing parallel development and allowto extensibility

  14. Project for Continued Development • WBEM will continue to develop functionality and standards • Open Group will develop application management partly around Pegasus • Pegasus Development will continue beyond current versions • Integrate contributions • Add basic new functionality • Etc.

  15. 2. WBEM and CIM Techlologies

  16. Data Description • DMI Discovery </xml/CIM>Transport Encoding HTTPAccess WBEM Architectures WBEM

  17. What it is CIM? • CIM is an implementation neutral schema for describing overall management information • CIM facilitates the common understanding of management data across different management systems • CIM facilitates the integration of management information from different sources • CIM today is a data model not an implementation • MOF syntax supports sharing information across management systems • CIM provides models for both instrumentation and management

  18. CIM Schema v2.5 (800+ classes) Extension Schema Meta Model System Apps Core Users Network Device DMTF WBEM Components CIM Specification V2

  19. CMIP SNMP RPC Internet CMIP Objects SNMP MIBs DMI MIFs CIM Objects Web-based Enterprise Management (WBEM) • Information Model • CIM Schema (Core, System,…) • Communication Model • CIM Operations over HTTP • Transport Encoding • Cim-xml – CIM/XML mapping • Event Model • CIM indications (new in 2.5) • CIM Object Manager (CIMOM) • Operation Routing • Result Aggregation • Repository • Class and Instance Persistence • Resource Providers • Instrumentation subagents Management Applications CIM Client cim-xml Transport CIM Object Manager Schema CIM Server Resource Providers

  20. Common Information Model • Defines the Schema used to represent real-world objects being managed • Object oriented paradigm • CIM Specification • Meta model, high level concepts, and definition language (MOF) • CIM Schema • Core and Common Model

  21. Interoperability • XML encoding • Definition for each operation • HTTP Transport • HTTP 1.0 and 1.1 • Common Operations Semantics • Data • Meta data • Queries • Methods CIM Client CIM Server Managed Resources Managed Resources Managed Resources Managed Resources Managed Resources Managed Resources

  22. Managed Object Format (MOF)

  23. 2. The Pegasus Environment

  24. Major Components Client Many Clients Management Applications Client CIM Clients CIM-XML Repository CIM Object Manager Client Client Many Providers per CIMOM CIM Providers

  25. Key Interoperability Interfaces Management System Enterprise Management Console • Manageability to Manager • Multiple management systems • Common open manageability CIM Object Manager • Object Manager / Providers • Multiple Providers • Encourage common providers CIM Providers • Provider / Resource Interface • Protect Applications • Make application management easy Application Application Application Application

  26. CIMOM Capabilities • Respond to Operations defined in “CIM Operations” spec. • Create, Modify, Delete operations on • Class,Instance, Property, Qualifier • Handle Provider Registration • Forward Requests to Providers, repositories, etc. • Read/Write access to Management Information • Maintain Class/Instance Information • Traversal of Associations • Use of WBEM Query Language • Syntax/Semantic checking (with Qualifiers) • Available Implementations • Microsoft (in Windows2000), Sun WBEM SDK, SNIA, Open Group Pegasus, …

  27. Pathways of Communication Client Client CIM Clients CIM Repository CIM Object Manager Client Client CIM Providers

  28. Component Location • A component may belocated in one of three places with respect to the CIM Server. • In-process. • Local out-of-process (on the same machine). • Remote out-of-process (on another machine). • For example, a provider may be in-process, local, or remote.

  29. Component Location in Pegasus Today

  30. Possible Communication Mechanisms • Components could potentially communicate with the CIM Server using the following mechanisms: • CIM/HTTP (remote). • Proprietary TCP-based protocol (remote). • Direct call (in process). • Shared memory (local). • Named pipes (local).

  31. Communication Mechanisms in Pegasus

  32. The Pegasus CIMOM Client Client CIM Clients Repository CIM Server Client Client CIM Providers

  33. Operations Routing • Class Operations • Routed to the Class Repository • Instance Operations • To Provider if Provider Qualifier exists • To Instance repository if no Provider • Instance routing at Class Level Today • Issues – Routing at instance level

  34. Operation Routing Client • Class Operations • Routed to the Repository Client CIM Clients Repository CIM Object Manager Client Client CIM Providers

  35. Operation Routing Client • Instance Operations Routng • Routing By Class • To Provider if Qualifier Defined • Default is to Instnace Repository Client CIM Clients Repository CIM Object Manager Client Client CIM Providers

  36. Indication Routing Client Client • Indication routing Client Client CIM Listener CIM Clients Subscriptons Handler Handler Handler Repository CIM Object Manager Indications Client Client CIM Providers

  37. Providers Providers Providers Request Lifecycle Outgoing Response Incoming Request 1. Receive TCP Message Channel Channel 8. Transmit TCP Message Protocol 2. Process HTTP Request 7. Form HTTP Response Protocol Encodings Encodings 3. Decode XML 6. Encode to XML 4. Dispatch Request Dispatcher Repository Aggregator 5. Aggregate Results

  38. Modularity and Extensibility • Providers • Grow with DMTF provider concepts • Provider Interfaces • Protocol Adapters (connectors) • Client - xml-cim today (Soap, etc. in future) • Provider, service, repository, etc. • Modules • Modularize core so it can be extended and modified through attachable modules • Manageability Service Extensions • Think super providers

  39. CIM Client Connector XML-CIM CIM Client CIM Client Connector Service Extension Service Extension Module Service Extension Service Extension Service Extension Service Extension Module Service Extension Service Extension Module Module Repository Repository Repository Repository Repository Repository Undefined Provider Resources Resources Resources Building A Modular Manageability Environmnent Core Object Manager Connector Connector . . . Provider

  40. Provider Interoperability • In the classical architecture, interoperability is only supported between the client and server. • In addition, the Pegasus architecture aims to support provider/server interoperability. • Goal • Write a provider once and run it under any CIM server implementation. • Provider/Server Interoperability: • Participating in efforts to standardize the Provider/Server protocol. • Proposing provider API standards. • Writing adapters enabling Pegasus providers to run under other CIM servers. • Adapters enabling other providers to run under Pegasus

  41. Flexible Provider Interfaces • SUN WBEM Provider Interface • Java based • Classes, etc. “similar” to Pegasus • C Provider Interface • Many Providers written in C • We will support multiple provider interfaces and language bindings. • Perl, Scripting, etc. CIM Object Manager Interface Adapter Interface Adapter Interface Adapter Providers Providers Providers Providers Providers Providers Providers

  42. In-Process and Out-of-process Providers • Today Pegasus based on shared Library Providers • Extend to • Internal Providers • IPC based Providers • Providers in Remotes systems • Objectives: • Write Provider once and compile/link for different environments • Technique • Use connectors as basis for provider/CIMOM communication • Issues • Security, discovery

  43. Modules • The core server functions are organized into loadable modules. • Standard APIs are defined for each module. • Alternative implementations can be provided later without recompiling the Pegasus server.

  44. Super Providers Access to the Core Broker Examples Indication Management service. Query engine service. Class repository service. Instance repository service. Manageability Service Extensions

  45. Connectors (Protocol Adapters) • Functions • Adapt to different protocols • Characteristics • Protocol • Encoding • Security • Discovery • Examples • Xml-CIM • Local Protocols • Soap • WMI • Corba environment interface Xml-cim Client Soap Client External Corba Environment Xml-cim Connector Soap Connector Pegasus Core Corba Connector Pegasus Provider Connector Remote Provider

  46. AIC Provider Apps Pegasus Manageability Environment Object Browser Editor Client SDK Service extensions Consumers Gateways Apps XML/CIM Connector Security • CIM Object Broker Broker) • Provider Registration • Service Registration • Request Routing Broker Queuing Class Repository Events Security MOF Compiler Instance Repository Provider SDK ARM Provider Provider SDK . . . Providers Remote Provider Interface For Spec Resource

  47. CIMClass CIMInstance CIMProperty CIMMethod CIMParameter CIMQualifierDecl CIMQualifier CIM Objects in C++

  48. Class Declaration Example (Part 1) • Consider the following MOF class declaration: class Alarm { [key] uint64 id; string message = “none”; };

  49. Class Declaration Example (Part 2) • This class is defined in C++ as follows: CIMClass alarmClass(“Alarm”); CIMProperty id(“id”, Uint32(0)); id.addQualifier(CIMQualifier(“key”, true)); CIMProperty message(“message”, “none”); alarmClass.addProperty(id); alarmClass.addProperty(message); • Or more succinctly like this: CIMClass alarmClass(“Alarm”); alarmClass .addProperty(CIMProperty(“id”, Uint32(0)) .addQualifier(CIMQualifier(“key”, true))) .addProperty(CIMProperty(“message”, “none”));

  50. Property Iteration Example: • The properties of a class may be iterated like this: CIMClass c; … for (Uint32 i = 0, n = c.getPropertyCount(); i < n; i++) { CIMProperty p = c.getProperty(i); }

More Related