Presentation is loading. Please wait.

Presentation is loading. Please wait.

Overview of Pegasus An Open-Source WBEM implementation 17 July 2001 Karl Version 1.0.

Similar presentations


Presentation on theme: "Overview of Pegasus An Open-Source WBEM implementation 17 July 2001 Karl Version 1.0."— Presentation transcript:

1 Overview of Pegasus An Open-Source WBEM 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 Pegasus Open Source Portable Efficient And Lightweight Standards Based Continuity Modular And Extensible Production Quality MIT License DMTF WBEM C++ Code Base C++ and portable Libraries

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 WBEM Architectures Transport Encoding Transport Encoding HTTP Access Data Description Discovery  DMI 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 Meta Model CIM Specification V2 Extension Schema System Network Device Apps Core Users CIM Schema v2.5 (800+ classes) DMTF WBEM Components

19 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-xml Transport CIM Object Manager Resource Providers CMIP Objects CMI P SNMP MIBs SNMP DMI MIFs RPC CIM Objects Inter net Schema CIM Server CIM Client

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 Client CIM Server CIM Server Managed Resources

22 Managed Object Format (MOF)

23 2. The Pegasus Environment

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

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

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 CIM Object Manager CIM Repository Client CIM Clients Client CIM Providers

28 Component Location  A component may be located 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 CIM Server Repository Client CIM Clients 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 CIM Object Manager Repository Client CIM Clients CIM Clients Client CIM Providers CIM Providers Class Operations Routed to the Repository

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

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

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

38 Key Characteristics  Open source  Available Today  Portable  Designed to build and run on wide variety of platforms  C++ core  C++ CIM Objects  C++ Operation/Provider/Service/Repository interfaces  Modular and extensible  Modular components to extend the core  Manageability service extensions to extend functionality  Light weight

39 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

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

41 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

42 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 CIM Object Manager Interface Adapter Providers Interface Adapter Interface Adapter Providers

43 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

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

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

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

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

48 Programming Language Support  The Pegasus core is implemented in C++ and hence client and provider interface are provided for C++.  An integrated JVM is planned to allow providers to be developed in Java.  Of course it is possible to use existing Java clients to interact with the Pegasus CIMOM.

49 CIM Objects in C++  CIMClass  CIMInstance  CIMProperty  CIMMethod  CIMParameter  CIMQualifierDecl  CIMQualifier

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

51 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”));

52 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); }

53 4. The Pegasus Implementation TodayAndTomorrow

54 Status Today  Phase 1 complete  Phase 1  CIMOM including HTTP Server and CIM-xml Protocol Provider interfaces and dispatch Repository with Instances, Classes, Associations C++ CIM Object Model representation Admin and support functions  MOF Compiler  Client Interface and test clients  Test providers and beginning of some real providers  Integrated unit and client server tests (regression)  Beta level code quality  Needs More testing

55 The Components Today Pegasus CIM Object Manager Pegasus CIM Object Manager Compiler Instance Repository Instance Repository Class Repository Class Repository C++ Interface Adapter C++ Interface Adapter C++ Providers C++ Providers C Interface Adapter C Interface Adapter Browsing Client Browsing Client Test Clients Test Clients

56 CIM Functionality Missing From Phase 1  Events  Security  WQL and Query

57 Important Tasks Phase 1  Testing  Pegasus  Interoperability  More Providers for testing and Demos  Better Clients  Documentation  Binary Release

58 Planned Extensions  CIMOM Functions  Security  Indications  Threading  Async CIM Operations APIs  More Modularity  Enhance Service Configuration  Expanding Provider Characteristics  Out-of-Process Providers  WBEM Functions  Discovery  CIMOM Object Manager Characteristics  Provider Registration and Operations  Clients  Object Browser  Test Clients  Protocol Adapters  Add protocol Adapters  Providers  Test  Sample Implementations  Java Module Interface  Platforms  Easier portability  More platforms

59 Phase 2 Priority tasks  Threaded Model  Basic Indications Support  CIM Object Manager Capabilities Reporting  Discovery Demonstration  Additional Modularization

60 5. The Pegasus Project

61 Overview of the Project  Active project of Enterprise Management Forum of the Open Group  Producing  Pegasus open-source Implementation  Core, clients, providers, repositories  SDKs (Provider and Client)  Documentation for use and development  Specifications for major Interfaces  Continue support and growth of Pegasus  Portability  New functions  New Standards requirements  New Providers  Tools Pegasus Is a continuing project, not a one-shot development

62 Pegasus Status Today  Phase 1 of 3+ Phases  Version 1.0 Available  Source Code available today  Preliminary documentation available  Multiple users evaluating today  Tested on the platforms defined

63 Pegasus Project Phases  Phase 1 (July 2001)  Goals  Model Validation  Client and Provider development  Basic Environment  Core model  Cim-xml Operations  Class and instance repositories  Providers  Phase 2 (September)  Goals  Production Environment  Additions  Threading  Configuration  Security  Service Extensions  Indications  Phase 3  Remote Providers  Discovery  Other extensions including other Language Interfaces (ex. Java connector)

64 Participants  BMC Software  Compaq Computer  Focal Point  Hermes Softlab  Hewlett Packard  IBM  SIAC  The Open Group  Research Institute  Management Forum  Tivoli

65 Project Contributors  Moving from core development to adding functionality  Major Contributors  BMC  Compaq  Hewlett Packard  IBM

66 Working Together  Open Source but coordinated  Executive Committee directs strategy  Single Architect  Work from Proposals  Agree to objectives before doing the work  Regular, Stable Releases  Developers style guides  Project scheduling and planning

67 Immediate Activities  CIMOM  Security  Indications  Threading  Providers  Finalize interfaces  Create Provider SDK  Remote providers  Growth of functionality with DMTF  Discovery  Provider standardization (registration, interfaces)  Next generation interoperability Pegasus will go where the contributors want it to go

68 Pegasus and Other Manageability Projects  AIC – Application and Control  AIC as a Pegasus Provider  ARM – Applications Response Measurement  ARM and DMTF DAP Information as Pegasus Provider  Other possible Providers  JMX (Java)  SNMP (mapping already defined)  DMI (mapping already defined)

69 6. A Challenge for all of us

70 CIMOMs - Basic Concepts  Tool to create Management Interoperability  Infrastructure for manageability  Manageability interoperability  Xml-cim today, ??? Tomorrow  Instrumentation Interoperability  Many providers, few CIMOMs  Lots of applications – limited numbers of providers

71 However  We do not make money off of infrastructure  If we don’t have common interfaces we will not have interoperability.  WBEM will be useful only when it becomes ubiquitous  CIM is not Easy. Creating complete and Correct CIM environments is not easy  There is a lot of work to do with a common environment and much more with many different environments

72 Creating an interoperable environment  Creating a common interoperability environment  Management – Manageability – xml-cim  Providers – APIs and protocols  Provider building – Common object implementations  The choice  Build a common structure with contributions  Everybody does their own thing. (Many incompatible and incomplete WBEM Implentations

73 The Challenge!!!  Can we create a common WBEM infrastructure?  OR  do we all go our own way?

74 Making WBEM Ubiquitous  We are all involved.  Suppliers  Software/application suppliers  End User organizations  We will only get what we really demand

75 Where to Get More Information  Pegasus is public and Open Source  www.opengroup.org/pegasus  Pegasus WEB Site  Source Code  Builds on Linux and Windows  Snapshots and CVS  Binary Release  Documentation  Pegasus Working Group Contributors and Users of the Code are Welcome This presentation is on the Pegasus Site


Download ppt "Overview of Pegasus An Open-Source WBEM implementation 17 July 2001 Karl Version 1.0."

Similar presentations


Ads by Google