Download presentation
Presentation is loading. Please wait.
Published byPaul Griffith Modified over 6 years ago
1
Overview of Pegasus An Open-Source WBEM implementation
17 July 2001 Karl 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
</xml/CIM> Transport Encoding
WBEM Architectures </xml/CIM> 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 4
18
CIM Schema v2.5 (800+ classes)
DMTF WBEM Components Extension Schema System Network Device Apps Core Users CIM Schema v2.5 (800+ classes) CIM Specification V2 Meta Model
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 Client cim-xml Transport CIM Object Manager Schema CIM Server Resource Providers CMIP Objects CMIP SNMP MIBs SNMP DMI MIFs RPC CIM Objects Internet
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 HTTP Transport CIM Client
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 CIM-XML Client Many Clients Client
Management Applications 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 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 Client CIM Clients Repository CIM Server
Providers
33
Operations Routing Class Operations Instance 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 Class Operations Client Routed to the Repository
CIM Clients Repository CIM Object Manager Client Client CIM Providers
35
Operation Routing Instance Operations Routng Client 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
Request Lifecycle Incoming Request Outgoing Response Channel Channel
1. Receive TCP Message Channel Channel 8. Transmit TCP Message 2. Process HTTP Request Protocol Protocol 7. Form HTTP Response 3. Decode XML Encodings Encodings 6. Encode to XML 4. Dispatch Request Dispatcher Repository Aggregator 5. Aggregate Results Providers
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
Building A Modular Manageability Environmnent
Connector CIM Client XML-CIM CIM Client CIM Client Service Extension Service Extension Module Core Object Manager Repository Repository Repository Provider Connector Undefined Connector . . . Provider Resources
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
Manageability Service Extensions
Super Providers Access to the Core Broker Examples Indication Management service. Query engine service. Class repository service. Instance repository service.
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
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 AIC Provider Apps Providers Remote Provider Interface For Spec Resource
47
CIM Objects in C++ CIMClass CIMInstance CIMProperty CIMMethod
CIMParameter CIMQualifierDecl CIMQualifier
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: 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); }
51
4. The Pegasus Implementation
Today And Tomorrow
52
Status Today Phase 1 complete Phase 1 Beta level code quality
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
53
The Components Today Browsing Client Test Clients Compiler Instance
Repository Pegasus CIM Object Manager Class Repository C++ Interface Adapter C Interface Adapter C++ Providers
54
CIM Functionality Missing From Phase 1
Events Security WQL and Query
55
Important Tasks Phase 1 Testing More Providers for testing and Demos
Pegasus Interoperability More Providers for testing and Demos Better Clients Documentation Binary Release
56
Planned Extensions Clients Object Browser Test Clients
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
57
Phase 2 Priority tasks Threaded Model Basic Indications Support
CIM Object Manager Capabilities Reporting Discovery Demonstration Additional Modularization
58
5. The Pegasus Project
59
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
60
Pegasus Status Today Phase 1 of 3+ Phases Source Code available today
Version 1.0 Available Source Code available today Preliminary documentation available Multiple users evaluating today Tested on the platforms defined
61
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)
62
Participants BMC Software Compaq Computer Focal Point Hermes Softlab
Hewlett Packard IBM SIAC The Open Group Research Institute Management Forum Tivoli
63
Project Contributors Moving from core development to adding functionality Major Contributors BMC Compaq Hewlett Packard IBM
64
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
65
Pegasus will go where the contributors want it to go
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
66
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)
67
6. A Challenge for all of us
68
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
69
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
70
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
71
The Challenge!!! Can we create a common WBEM infrastructure? OR
do we all go our own way?
72
Making WBEM Ubiquitous
We are all involved. Suppliers Software/application suppliers End User organizations We will only get what we really demand
73
Where to Get More Information
Pegasus is public and Open Source Pegasus WEB Site Source Code Builds on Linux and Windows Snapshots and CVS Binary Release Documentation Pegasus Working Group This presentation is on the Pegasus Site Contributors and Users of the Code are Welcome
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.