Title: The Role of Industry Standards for the Administration of Global System Landscapes
1The Role of Industry Standards for the
Administration of Global System Landscapes
- Dr. Gregor Karl FreySAP, NW Operations
Infrastructure
2Introduction
The Need for Standards
Process ITIL
Model CIM
Protocol WS-Management
API JMX
Why Standards are not Enough
The NetWeaver Administrator and its Partner
Strategy
3Typical IT-Scenario Service Level Management
- An IT-Service Center, which runs a portal for
Employee Self Services, has contractually agreed
with its customer, that - The portal is available every weekday, from 800
AM to 500 PM - For at least 90 of the time
- With a maximal login time of 5 sec
- For 2000 concurrent users.
- To fulfill such an Service Level Objective (SLO)
- The required hardware and software capacity must
be determined (Capacity Management) - The metrics related to the SLO must be monitored
and recorded (Availability Management) - The configuration of the software must be changed
according to needs (Configuration Management) - The downtime for the application of patches and
upgrades must be planed (Release Management)
4Typical IT-Scenario Root Cause Analysis
- An IT-User reports that the Employee Self Service
System - Responds not fast enough
- Shows an error, when a certain transaction is
executed - Does not log her in
- As a consequence the IT-Service Center
- Verifies the availability of the required
resources - Controls and compares configuration data
- Checks all response-time related monitoring
records - Searches for critical errors in log-files
- Sets up a test system with a higher trace level
to replay the scenario
5Introduction
The Need for Standards
Process ITIL
Model CIM
Protocol WS-Management
API JMX
Why Standards are not Enough
The NetWeaver Administrator and its Partner
Strategy
6Managed Objects
- Storage
- Firewall
- Load Balancer
- Network
- File system
- Database
- Application Server
- Business Application
- Web Service
- Operating System
- User
- Access Control List
- Certificates
- Telecom Devices
- Printer
- Desktop Software
- Licenses
- Middleware
- Chipset
- Appliance
- Network Accelerator
-
7World Wide System Landscape
8Distributed Business Processes
Order Process
- Business Processes depend not only on internal
but additionally on external services - The IT-service center is responsible for the
whole process
9Cascading of Help Desks
Partner
SAP
Customer
Incident
Incident
Incident
AnalysisfromCustomer
AnalysisfromCustomer SAP
10Industry Standards
- Paper Sizes
- Character Encoding
- C, C, C
Standards Boost the Economic Growth !
- Ethernet
- WiFi
- Public Key Cryptography
11Introduction
The Need for Standards
Process ITIL
Model CIM
Protocol WS-Management
API JMX
Why Standards are not Enough
The NetWeaver Administrator and its Partner
Strategy
12What is ITIL?
- ITIL is a reference model for all processes of
the management of IT-services. - The Information Technology Infrastructure Library
(ITIL) is - a customizable framework of best practices for
the IT sector - a comprehensive set of management procedures
with which an organization can manage its IT
operations - creates a common vocabulary, consisting of its
glossary of tightly defined terms - ITIL links the technical implementation and
operations guidelines and the strategic
management, operational management and financial
management of a modern business
13ITIL as a Standard
- ITIL is a De-Facto Standard
- ITIL is a series of books published by the OGC
(Office of Government Commerce), formerly CCTA
(Central Computer and Telecommunications Agency) - ITIL is supported by the British Standards
Institution's standard for IT service Management
(BS15000).
14Advantages of ITIL
- Make quality improvements measurable. ITIL
defines Key Performance Indicators (KPIs) - IT-Processes are intentionally designed. They
become flexible and transparent. - All IT-Processes are aligned and consistent.
- ITIL provides a terminological standard.
- Internal communication as well as the
communication to and from end-users and customers
is integral part of the it-processes. ? Increased
customer satisfaction.
15Caveat!
- Take Care
- Bureaucracy and lack of individuality are general
disadvantages of ITIL principles. - Therefore ITIL principles
- should be adapted to fit within the organization
with its specific requirements and - the application of ITIL principles should be
selective. - No big bang introduction!
16ITIL Sets
- Service Delivery
- Service Support
- Planning to Implement Service Management
- Security Management
- ICT Infrastructure Management
- The Business Perspective
- Application Management
- Software Asset Management
ICT Information Communication Technology
17ITIL Framework
Planning of the Implementation of Service
Management
ICT Infrastructure Management (ICTIM)
Business Perspective
Service Management
Service Support
Technology
Business
Service Delivery
Security
Application Management
18Management Problem Space
SAP Support
Customer
Role
Executes
Service Support (ITIL) (Operational) (Problem/Cha
nge Mgmt)
IT Service Processes
Mgmt Support
Tools
Implemented by
Content
Service Delivery (ITIL) (Tactical) (Service
Level/ Availability Mgmt)
Services
Implemented by
influence
Supported by
Processes
Misc
Application
Business Process
User
Application Management (ITIL)
Managed Elements
Managed Element Tasks
Application Middleware
Technical Process
Batch Job
Monitoring
Runtime Environment
DB, Web- server, etc
Administration
Affect
SW Lifecycle Mgmt
Print Job
OS/System
Optimize
Deploy
Operate
ICT Infrastructure Management (ITIL)
Network
19Service Delivery
- The Service Delivery is concerned with the
pro-active services that the business requires of
its ICT provider in order to provide adequate
support to the business users. - The discipline consists of the following
processes - Service Level Management
- Capacity Management
- IT Service Continuity Management
- Availability Management
- Financial Management
20Service Delivery
Customer
Service Level Management
Availability Management
Requirements Goals Current Status
Security
Capacity Management
Service Continuity Management
CDB (Capacity Data Base)
Alerts Exceptions Changes
Finance Management
Management Tools IT Infrastructure
21Service Level Management
- Service Level Management
- provides for continual identification,
monitoring and review of the levels of IT
services specified in the Service Level
Agreements (SLAs). - relies upon all the other areas of the Service
Delivery process to provide the necessary support
which ensures the agreed services are provided in
a cost effective, secure and efficient manner. - Service Level Agreement (SLA)
- is a formal written agreement made between two
parties the service provider and the service
recipient. - contains clauses that define a specified level
of service, support options, incentive awards for
service levels exceeded and/or penalty provisions
for services not provided.
22Capacity Management
- Capacity Management
- supports the optimal and cost effective
provision of IT services by helping organizations
match their IT resources to the business demands.
- The high level activities are
- Application Sizing
- Workload Management
- Demand Management
- Modeling
- Capacity Planning
- Resource Management
- Performance Management.
23IT Service Continuity Management
- IT Service Continuity Management helps to ensure
the availability and rapid restoration of IT
services in the event of a disaster. - The high level activities are
- Risk Analysis
- Manage Contingency Plan Management
- Contingency Plan Testing
- Risk Management.
24Availability Management
- Availability Management allows organizations to
sustain the IT service availability in order to
support the business at a justifiable cost. - The high level activities are
- Realize Availability Requirements
- Compile Availability Plan
- Monitor Availability
- Monitor Maintenance Obligations.
25Financial Management for IT
- Financial Management for IT services assesses the
Total Cost Of Ownership. - Costs are divided into costing units
- Equipment
- Software
- Organisation
26Service Support
- The service support ensures that the customer has
access to the appropriate services to support the
business functions. - The discipline consists of the following
processes - Service Desk
- Incident Management
- Problem Management
- Change Management
- Release Management
- Configuration Management
27Service Support
User
Updates, Workarounds Communication
Management Tools
Incident Management
Service Desk (Function, no process)
Incidents
Problem Management
Change Management
Release Management
Configuration Management
CMDB (Configuration Management Data Base)
RFCs Change Records
Problems Known Errors
Releases
Config Items (CI) Relationships
Incidents
28Service Desk
- The Service Desk acts as the central point of
contact between service providers and
users/customers. It is a central point for
reporting incidents and for users making service
requests. - The Service Desk functions include
- Receiving calls, first-line customer support
- Recording and tracking incidents and complaints
- Keeping customers informed on request status and
progress - Making an initial assessment of requests,
attempting to resolve them or refer them to
someone who can - Monitoring and escalation procedures relative to
the appropriate SLAs - Identifying problems
- Closing incidents and confirmation with the
customers - Coordinating second-line and third line support
29Incident Management
- ITIL terminology defines an incident as
- Any event which is not part of the standard
operation of a service and which causes, or may
cause, an interruption to, or a reduction in, the
quality of that service - The first goal of the incident management process
is to restore a normal service operation as
quickly as possible and to minimize the impact on
business operations. - The main incident management processes are the
following - Incident detection and recording
- Classification and initial support
- Investigation and diagnosis
- Resolution and recovery
- Incident closure
- Incident ownership, monitoring, tracking and
communication
30Problem Management
- A problem' is an unknown underlying cause of one
or more incidents. - A known error' is a problem that is successfully
diagnosed and for which a work-around has been
identified. - The goal of Problem Management is to minimize the
adverse impact of incidents and problems on
business that are caused by errors within the IT
infrastructure, and to prevent recurrence of
incidents related to these errors. - Problem Management deals with resolving the
underlying cause of one or more Incidents. - Activities are
- Problem identification and recording
- Problem classification
- Problem investigation and diagnosis.
31Change Management
- The goal of the Change Management process is to
ensure that standardized methods and procedures
are used for efficient and prompt handling of all
changes, in order to minimize the impact of
change-related incidents upon service quality,
and consequently improve the day-to-day
operations of the organization. - The Change Management process rules changes in.
- Hardware
- Software
- Documentation
- The decision authority for all changes is the
Change Advisory Board (CAB).
32Release Management
- Release Management is the process of distribution
of software and hardware. It ensures the
availability of licensed, tested, and version
certified software and hardware, which will
function correctly. - Activities
- Design and implement procedures for the
distribution, installation and rollout of
releases - Coordinate release communications, preparations
and training activities - Provide management information about Release
Management quality and operations
33Configuration Management
- Configuration Management is a set of processes
that track all of the individual Configuration
Items (CI) in an IT infrastructure. - Activities
- Planning
- Identification
- Control
- Status Accounting
- Verification and Audit
- Most organizations use a Configuration Management
Database (CMDB) to support the Configuration
Management. - A CMDB is a unified or federated repository of
information related to all the CIs of the
information system.
34Planning To Implement Service Management
- The ITIL discipline Planning To Implement
Service Management attempts to provide
practitioners with a framework for the alignment
of business needs and IT provision requirements.
The guidelines suggest the development of a
Continuous Service Improvement Program (CSIP). - It consists of the following five steps
- create vision
- analyze organization
- set goals
- implement IT service management
- measure progress towards goals using Key
Performance Indicators (KPI)
35ICT Infrastructure Management
- The Information and Communication Technology
(ICT) Infrastructure Management processes
recommend best practice for - requirements analysis
- Planning
- Design
- Deployment
- ongoing operations management
- technical support
- of an ICT Infrastructure.
- The Infrastructure Management processes describe
those processes within ITIL that directly relate
to the ICT equipment and software that is
involved in providing ICT services to customers.
36ICT Infrastructure Management (I)
Business
Application Management
Service Delivery
Service Support
Customers
Users
Strategies, Plans and Requirements
Business Solution
(ICTIM Process) Administration
Design and Planning
Deployment
Operations
Obsolete
Policy
Strategy
Plan
Prove
Deploy
Operate
Technical Support
37ICT Infrastructure Management (II)
Business
Requirements
Solutions
Customers
Users
(ICTIM Process) Administration
Design and Planning
Deployment
Operations
Obsolete
Prove
Policy
Strategy
Plan
Deploy
Operate
Technical Support
38Application Management
- Application Management encompasses a set of best
practices proposed to improve the overall quality
of IT software development and support through
the life-cycle of software development projects. - Application Management consists of the following
processes - Application Development
- Requirements
- Design
- Implementation
- Service Management
- Deploy
- Operate
- Optimize
39Application Management
Service Delivery
Service Support
Assists and enables
Manageability Requirements
Application Development Phases
Service Management Phases
Deploy
Requiremtents
Design
Build
Operate
Optimize
40The Common Information Model (CIM)
- Authors Gregor Frey, Andreas Köppel
41Overview
- Introduction
- Overview
- CIM/WBEM Basics
- Tools
- CIM Schema
- Core Model
- Common Models
42Distributed Management Task Force
- Who is the DMTF ?
- founded in 1992
- industry organization leading the development,
adoption unification of management standards - Their aim
- reduce the expense for the administration of IT
systems - Member companies
- 13 Board Members
- 3Com, BMC, Cisco, (Compaq), Dell, HP, Tivoli
(IBM), Intel, Microsoft, NEC, Novell, Sun,
Symantec - voting members (all work groups), asscociate
members (one work group), academic members (free
membership) - alliance members (The OpenGroup, ItSMF, ...)
- Organized in working groups
43WBEM Goals
- Establish management infrastructure
- Provide a way to combine information from
different hard- software management systems - Standardize information how data is presented
- Process standard how components interact
- Solve problems of collecting end-to-end
management diagnostic data in enterprise
networks
44What is Web Based Management?
- 1 using a Web Browser to look at management data
in management server - 2 using a Web Browser to look at management data
directly - using Internet Technologies for management
Management Server
Management Station
Managed System
Managed System
45The WBEM Standards (WBEM Triangle)
CIM Data Description
HTTPAccess,Presentation
lt/xmlCIMgtTransport Encoding
46What is CIM?
- Implementation neutral schema for the description
of management information - Schemas that represent the real-world objects
being managed - Facilitates the integration of management
information from different sources - Data model not an implementation
- Object-oriented model with relational aspects
(keys)
47CIM Schema Overview
Technology- and Vendor-specific extensions
Extension Models
Metrics
Networks
Physical
Policy
Support
System
User
Interoperability
Database
Application
Device
Events
Common Models
Core Model
CIM Schema
Syntax Rules
Meta-Schema
CIM Specification
48Overview
- Introduction
- Overview
- CIM/WBEM Basics
- Tools
- CIM Schema
- Core Model
- Common Model
49WBEM Implementation - General Architecture
Other CIMOM
Management Application
Client
CIMRepository
WBEM Standard CIMXML/CIM Ops over HTTP Java
API/RMI MS API/(D)COM
Namespace
CIM Object Manager (CIMOM)
static class definitions (model)
Provider
Method
Class
Event
Association
Instance
static instances
Managed Objects
MOF File
via MOF compiler
50WBEM Operation
Management Application
Requests
Indications (Events)
CIM Repository
CIM Object Manager
Event Provider
Other Providers
Managed Objects
51WBEM Query Language (WQL)
- SQL dialect
- SELECT FROM MyClass WHERE ...
- but ASSOCIATORS OF sourceobject
- but REFERENCES OF sourceobject
- but ... where ISA baseclass
- 3 types of queries
- Data query retrieve instances
- Event query event provider and consumer
registration - Schema query retrieve class definitions
- Executed by CIMOM (providers may implement
queries, too) - Not yet standardized but implemented
- New query language (CQL) is under way
52WBEM implementations
- Microsoft WMI (C, VB, C)
- Caldera OpenWBEM (C)
- SNIA DRM-Prototyp (Java)
- OpenGroup Pegasus (C)
- SUN WBEM Services (Java)
- SAP SLD (Java, only partial implementation)
53Meta-Schema
- CIM objects are instances of classes
- CIM objects possess a key (single or multi-valued)
54CIM Data Types
- uint8 Unsigned 8-bit integer
- sint8 Signed 8-bit integer
- uint16 Unsigned 16-bit integer
- sint16 Signed 16-bit integer
- uint32 Unsigned 32-bit integer
- sint32 Signed 32-bit integer
- uint64 Unsigned 64-bit integer
- sint64 Signed 64-bit integer
- string UCS-2 string
- boolean
- real32 IEEE 4-byte floating-point
- real64 IEEE 8-byte floating-point
- datetime A string containing a date-time
- ltclassnamegt ref Strongly typed reference
- char16 16-bit UCS-2 character
- Arrays and constants are possible
55CIM Qualifiers
- Meta Qualifiers
- Association - relationship class
- Indication - event class
- Standard Qualifiers (subset)
- Abstract - abstract class
- Aggregation- aggregation relationship
- Depricated
- Desciption - textual entity description
- Key - property that is object ID
- Min, Max - associaton cardinality
- Maxlen - string length
- Override - property redefinition
- Read, Write - property access modes
- Required - property must have value
- Terminal - class is final
- Valuemap, Values - value domains
- Version - schema version
56Meta Schema Applied
57Schema Representation
- UML
- XML (DTD meta schema)
- MOF (Managed Object Format, IDL-like)
58UML Representation
Association
Inheritence
Aggregation
Methods
59MOF Example
Qualifiers
Version ( "2.8.0" ), Description (
"CIM_J2eeApplication identifies a J2EE
application that resides " "on a J2ee
Server.") class CIM_J2eeApplication
CIM_ApplicationSystem Override ( "Name"
), Description ( "The name of a J2EE
Application. The name MUST be "
"constructed using the form specified in
JSR77.3.1.1.1 in " "order to avoid the
need for manual key propagation."),
MaxLen ( 256 ), MappingStrings
"JSR77.JCPJSR77.3.1.1.1 objectNameV1.0"
string Name Description (
"Contains the original XML deployment descriptor
that was " "created for this
application during the deployment process."),
MappingStrings "JSR77.JCPJSR77.3.5.0.1 "
"deploymentDescriptorV1.0" string
DeploymentDescriptor
Class Name
Properties
60MOF Example (II)
- // ServiceAccessPoint
- Abstract, Description ("CIM_ServiceAccessPoint
represents the " - "ability to utilize or "
- "invoke a Service. Access points represent
that a Service is " - "made available to other entities for use.")
- class CIM_ServiceAccessPoint CIM_LogicalElement
- Propagated ("CIM_System.CreationClassName")
, Key, - MaxLen (256), Description (
- "The scoping System's CreationClassName.")
- string SystemCreationClassName
- Propagated ("CIM_System.Name"), Key,
MaxLen (256), - Description ("The scoping System's Name.")
- string SystemName
- Key, MaxLen (256), Description (
- "CreationClassName indicates the name of
the class or the...") - string CreationClassName
- Override ("Name"), Key, MaxLen (256),
Description ( - "The Name property...")
- string Name
Inheritence
Key
Property
61XML example
- lt?xml version"1.0" ?gtlt!DOCTYPE CIM SYSTEM
"http//WBEM_Host/wbem/cim.dtd"gt ltCIM
CIMVERSION"2.0" DTDVERSION2.0" gt - lt/CIMgt
-
DTD maps CIM meta schema
62Overview
- Introduction
- Overview
- CIM/WBEM Basics
- Tools
- CIM Schema
- Core Model
- Common Model
63Visio
64WMI CIM Studio
Demo
65WBEMTest
- C\winnt\system32\wbem\wbemtest.exe
- Allows full access to WMI
- Always available on all MS OS
- demo
66Microsoft MOF-Editor
- WMI Repository-based
- File-based
67MS MofEditor Visio Generation
68MOF Compiler
- compiled classes and instances of classes are
stored in CIM-repository
69Further Tools
- Intel CIM Compatibility Checker
- checks CIM implementation for conformance with
the DMTF's CIM v2.3 definitions - More tools to come...... ?
70Resources
- DMTF www.dmtf.org
- CIM-related wbemsource.opengroup.org
71Overview
- Introduction
- Overview
- CIM/WBEM Basics
- Tools
- CIM Schema
- Core Model
- Common Model
72CIM - Schema Structure
Technology- and Vendor-specific extensions
Metrics
Networks
Physical
Policy
Support
System
User
Interoperability
Database
Application
Device
Events
Core Model
Extension Model
Common Model
Core Model
73Core Model Base Classes
74Core Model Systems and Services
75Core Model Setting and Configuration
76Core Model Collections
77Core Model Product
- FRU (Field Replacable Unit)
- SupportAccess
- Product
78Core Model Statistical Information
79Example
BIN
BINCIM_System
SysConfigCIM_Configuration
01
02
GlobalProfile CIM_Setting
01CIM_System
02CIM_System
Diag
ProfileCIM_Setting
Profile
DB
DialogServiceCIM_Service
DLGTransactionStats CIM_StatsticalInformation
Profile
TCode ABCD ResponseTime 200
80Overview
- Introduction
- Overview
- CIM/WBEM Basics
- Tools
- CIM Schema
- Core Model
- Common Model
81Application Model
Software Product
Application system
Units by which applications are acquired
A combination of units that fulfill or deliver a
particular business function or process
Software Feature
Units that bundle functionality that a consumer
can decide to use or not
Software Element
Unit that bundles a related set of files or
datasets that an application developer describes
Deployable
Installable
Running
Executable
82Application Model SW Feature/Element
83Application Model Relation to Core Model
84Application Model Actions and Checks
85Event Model Conceptual Model
86Event Model Data Flow Diagram
Publication
Available events are advertised to consumer
Event declaration
Subscription
Consumer specify an interest in particular events
Subscription
Triggering
When this penomenon occurs...
Phenomena occur
Trigger
Filtering
... under these conditions ...
Triggers of interest are propagated
Event
Projection
... add additional data ...
Additional event-related data is added
Projection
Delivery
Data is transmitted to an event consumer
... and send it to me.
Indication
Consumption
Data is received
87Event Model Subscription hierarchy
88Event Model Intrinsic Events
89Event Model Extrinsic Events
90Metrics Schema UnitOfWork
91Metrics Model Metrics
92Discussed Metrics Extensions for V2.7
93J2EE Application Server Model
J2EE_Servlet
Service
J2EE_EJB
System
J2EE_ResourcesOnServer
J2EE_Resource
J2EE_DeployedObject
1
(Abstract)
J2EE_Server
DeploymentDescriptor string
J2EE_DeployedObjectsOnServer
Vendor string
Version string
1
0..1
1
1
J2EE_ModulesOnServer
J2EE_Module
J2EE_ServerProcesses
J2EE_ServiceComponent
1..n
1
J2EE_Application
Process
J2EE_AppsOnServer
94Database Model
- Based on RFC 1697 (RDBMS MIB)
95Other Models
- Policy baseclass Policy (rules, groups of rules,
conditions, actions), for 2.8 SLAs - User persons/users/groups/roles, organizations,
access control, credentials, authentication
services - Interoperability CIMOM capabilities, namespaces
- System Computer systems, file system, processes,
Unix OS - Device baseclass LogicalDevice (printers, system
resources, sensors, modems, storage, logs,
controlers, adapters) - Physical baseclass PhysicalElement, generalized
description of hardware (PhysicalPackage,
PhysicalComponent, PhysicalConnector (Slot)) - Support Problem management (service incidents
(problems), solution exchange) - Network Networks in general (focus on LANs and
IP), IPSec, Multi-protocol bridge, VLAN, QoS
96Inventory Transition from Installation to Runtime
System Landscape Description of topology,
components and dependencies of application
systems
Applications and Tools
Product and Production Management System
Graphical Design Tool
Software Distribution Description
Validation
Registration
Synchronize, XML
MasterComponentRepository
System Landscape Directory
Infrastructure Systems
Component Types
Customer SAP Systems
LandscapePatterns
Update
3rd-PartyComponent Types
PossibleCombinations
SAP
Customer
97Agent Technology
- Delivers system information of installed elements
- Updates SLD-data periodically
- Open for non-SAP products (plug-in technology)
98Installability/Upgradability Dependency Types
same product, different versions
(Products, Features, Components)
different products
constraints
99Application Architecture Views and Elements
Scenario
System
External System
OS
Resource
Processing Elements
Logical
OS/ Host
Software Service
Structure
Code Component
Data Flow
Lifecycle
Time shipping -gt running
Action
Data
Application View
Application Element
100Requirements for a Runtime Model
Application-, Service Level-, Business Process
Management, ...
System Resource Usage, Dataflow, Report Control
State, Exhibit Faults,
Managed Object Support Classes
Management Requirements
Manageability Requirements
Model
Application
Management Objects
Management Abstraction
Managed Objects
Meta Requirements
Architectural Requirements Views Elements
Granularity, Time-Relationship, ...
Managed Object Support Classes
Application Views/ Elements, Diversity,
Complexity, ...
Sub-Model Managed Object Class
101Breaking Down the Model Runtime Sub-Models
102Runtime Overview
Runtime Model
Overview, Monitoring
System
External System
inter- acts with
Configuration
Event
History
Application System
System, Service, Resource, SWF/SWE
Statistics, Summary, Aggre gations
applies
consists of
provides
Perfor-mance metrics
Status Errors
Structure
Function
imple- ments
Setting
Indication
Metrics, Statistics
Application Service
Resource
SWF/ SWE
performs
determines dataflow
Data
Metrics per individual action
UoW (Action)
emits
stores behavior of the past
Analysis
CIM Class Representing a Managed Object
Sub-Model
Principal Management Object Class
Support Object Class
103Schema Resources
- www.dmtf.org/standards
- CIM _at_ DMTF Schema Visios, MOFs and whitepapers
- www.dmtf.org/education
- Tutorials and general CIM-related documents
- http//ency.wdf.sap.corp1080/CIM
- CIM _at_ SAP
- \\dwdf050\ccms\Distributed_Management_Task_Force
- CIM _at_ CCMS
104Java Management Extensions (JMX)
- Authors Gregor Frey, Heiko Kiessling
105What is JMX?
- JMX is an infrastructure specification for
managing business applications, services and
devices written in Java, and is divided into - Instrumentation level
- Agent level
- Distributed services level
- JMX does not specify an object model, such as CIM
- JMX does not include tool specifications
- JMX allows remote access through separately
defined management protocols
106JMX Architecture
Proprietary Management Application
Proprietary Management Application
Web Browser
Distributed Services Level
JMX Manager
Agent Level
Mbean Server
Agent Services
Resource 1 (MBean)
Instrumentation Level
Resource 2 (MBean)
Host 1
Host 2
107MBeans
- Managed Beans (MBeans) are proxies for managed
objects such as business applications, services
and devices - MBeans define
- At least one constructor
- Getter and Setter methods
- Operations
- Notifications
- MBeans are accessible through MBean Servers in a
uniform fashion but can be implemented in four
different ways - Standard MBeans
- Dynamic MBeans
- Open MBeans
- Model MBeans
108Standard MBeans
- Standard Mbeans have static interfaces named
ltClassgtMBean - Getter methods are called getltAttributegt or
isltAttributegt - Setter methods are called setltAttributegt
- Inheritance is taken into account
extends
implements
MBean servers discover interfaces through
introspection
109Dynamic MBeans
- Dynamic Mbeans have a specific interface
DynamicMBean - Info method getMBeanInfo (no introspection
possible) - Getter method getAttribute
- Setter method setAttribute
- Operation call method invoke
- Applications
- Wrappers
- Open MBeans
- Model MBeans
- Issues
- Coherence
- Dynamics
110Open MBeans
- Open MBeans are Dynamic MBeans, and specified to
be discovered and used without prior knowledge of
types - Open MBeans use predetermined types
- Standard Types, such as Boolean, String
- ObjectName
- CompositeData, equivalent to records
- TabularData, rows of CompositeData queried by key
- Derivatives of the above
- Types are revealed through Type info classes
111Model MBeans
- Model MBeans are Dynamic MBeans which are
configurable at runtime through descriptors using
field-value pairs - There is a reference implementation for Model
MBeans javax.management.modelmbean.RequiredModelMB
ean - Model MBeans do automatic attribute caching in
attribute descriptors - Current attribute values are taken from cache
- Attribute values are stale if current time is
past lastUpdateTimeStamp currencyTimeLimit - Model MBeans do automatically send attribute
change notifications - The interface ModelMBeanNotificationBroadcaster
supports listeners interested in single attributes
112Notification Model
- Generic event class Notification open for
inheritance with - Notification type as dynamic notification
namespace, similar to package namespace.Example
jmx.mbean.registered - Time stamp, sequence number, human-readable
message - Interfaces
- NotificationBroadcaster for notification creators
- NotificationListener for objects interested in
notifications - NotificationFilter for preselecting notifications
on behalf of listeners - Special attribute change notification class
- AttributeChangeNotification with name, old and
new values - Special AttributeChangeNotificationFilter with
dynamically customizable attribute preselection
113Agents and the MBean Server
- In each Java VM with managed resources there is
at least one agent - An agent consists of
- An MBean Server
- Agent services, e. g. dynamic loading
- A set of MBeans
- At least either one connector or one protocol
adaptor - An MBean Server is
- An environment for implementing monitoring
policies - A registry for Mbeans
- A single entry point for calling MBeans in a
uniform fashion from management applications in
other Java VMs
114The MBean Server as registry
- MBeans are registered under an object name
- An object name has the formltdomain
namegtltpropertygtltvaluegt (,ltpropertygtltvaluegt) - Object names can contain wildcards , ?.Example
descriptionprinter, typelaser, - MBeans are (instantiated and) registered with
object names which have to be unique within one
MBean Server - MBeans can be queried using
- An object name with wildcards, called the scope
- Additional criteria referring to MBean attributes
115Monitoring Services
- A monitor observes an attribute of an Mbean, the
observed attribute, at intervals given as the
granularity period - From this observation, a value is derived, the
derived gauge - When the derived gauge satifies one of a set of
conditions a notification of the class
MonitorNotification is issued - When a problem occurs, a notification is issued,
e. g. of type jmx.monitor.error.runtime - There are three kinds of monitors
- CounterMonitor
- GaugeMonitor
- StringMonitor
116Counter Monitor
- Observes integer attributes, which are equal to
or larger than zero and increasing - A notification is issued whenever the counter
reaches or exceeds a threshold value - An offset can be specified, an appropriate
multiple of which is added to the threshold after
issueing the notification - Roll over is taken into account using a modulus
value
7
5
Offset 2
3
117Gauge Monitor
- Observes integer or float attributes, which are
arbitrarily increasing and decreasing - A notification can be issued when the gauge
reaches or exceeds a high threshold value after
having reached or exceeded a low threshold value,
and vice versa (hysteresis)
High
Low
118String Monitor
- Observes string attributes with respect to a
reference string, the string-to-compare - If NotifyMatch is true then a notification is
sent when the string matches the
string-to-compare again for the first time - If NotifyDiffer is true then a notification is
sent when the string differs from the
string-to-compare again for the first time
String-to-compare XYZ
NotifyMatch true NotifyDiffer false
XYZ
ABC
GHI
DEF
XYZ
119Timer Service
- A timer is an instance of the class Timer
- A timer triggers notifications of the special
class TimerNotification at specific dates and
times, with the type given when calling the
method addNotification - Notifications can be periodic with an optional
number of occurences - All listeners to a timer receive all
notifications - A timer can be started and stopped, and
accumulated notifications discarded or sent
120Relation Service
- The relation service supports associations among
MBeans with named roles and cardinality
Relation
UML Model
JMX Model
Library
Owner
Book
Owner
Book
1..1
0..n
1..1
0..n
- Consistent cardinality is monitored when
un-registrating MBeans, and inconsistent
relations are discarded - Relations can be queried
- Retrieval of relations where a given MBean takes
a specific role with the method
findReferencingRelations - Retrieval of MBeans associated with a given MBean
with the method findAssociatedMBeans
121J2EE Management
122Overview of relevant JSRs
- JSR 3 JavaTM Management Extensions (JMXTM)
Specification - provides a management architecture, APIs and
services for building Web-based, distributed,
dynamic and modular solutions to manage Java
enabled resources. - JSR 77 J2EETM Management
- provides server vendors and tool vendors with a
standard model for managing the J2EE Platform. - JSR 151 JavaTM 2 Platform, Enterprise Edition
1.4 (J2EE 1.4) Specification - the current release of the Java 2 Platform,
Enterprise Edition. - JSR 160 JavaTM Management Extensions (JMX) 1.5
Specification - provides a standardized API for remote connection
123J2EE-Management
- Support for J2EE-Management as defined by the JSR
77 is required by J2EE 1.4. - The idea of the J2EE management specification is
to define an abstract management model, which can
be easily adapted to any management protocol. - With JSR 77 the following management topics are
covered - discovery and navigation between managed objects,
- notification of events on managed objects,
- management of the running state
- monitoring of performance data
- For the access of this information model an API
is specified. This is the so-called J2EE
Management EJB Component, or MEJB for short.
124JMX and J2EE Management
- JMX and J2EE Management can be seen as
complementary specifications - JSR 77 defines a semantical model
- JSR 3 defines an implemtation technology and API
- There is an overlap between JSR 77 and JSR 160
both define a similar API for accessing a
MBeanServer remotely the MEJB and the
MBeanServerConnection. - With J2SE 1.5 JMX and the remote infrastructure
defined by JSR 160 are available in every
compliant JVM.
125Hierarchy of Managed Objects
126Object Names
- Structure of JMX Object Names
- An JMX Object Name consists of two parts
- A domain name
- An unordered set of one or more key properties
- domainNamepropertyvalue,propertyvalue
- The ObjectName of a J2EEManagedObject contains
predefined, required properties to - identify uniquely each managed object
- Place it within the hierarchy of the J2EE
management domain - j2eeType specifies the subclass of of
J2EEManagedObject - name identifies the instance of the managed
object - parent properties have the form typename where
type is the j2eeType and name the name of the
parent object
127Examples of ObjectNames in JSR77
- Domains are J2EEManagedObjects
- FirstEverBank
- j2eeTypeJ2EEDomain,
- nameFirstEverBank
- J2EEApplication
- FirstEverBank
- j2eeTypeJ2EEApplication,
- nameAccountsController,
- J2EEServerBankServer1
- J2EEModule
- FirstEverBank
- j2eeTypeEJBModule,
- nameBankAccount,
- J2EEApplicationAccountsController,
- J2EEServerBankServer1
128JSR 77 Statistics
- JSR 77 Statistics provide performance data for
Managed Objects. - A Managed Object may provide a list of
performance attributes, according to a
corresponding Stats interface. - The data types for the performance attributes
have to implement one of the Statistic interfaces.
129Example from the Statistic Model
- EJB is a ManagedObject, which is a
StatisticProvider. It returns true on calls to
isStateManageable(). - The call to getStats() returns an EJBStats
object. This Stats objects lists the performance
attributes. These are createCount, and
removeCount. - Both of the listed performance attributes are of
type CountStatistic.
130WS-Management (WS-Man)
- Authors Gregor Frey, Fabrizio Muscarella
131Introduction
Architecture
WS-Transfer
WS-Enumeration
WS-Eventing
Catalog
Security
Examples
132Introduction What is WS-Management?
- WS-Management defines a SOAP-based protocol for
Systems Management - Is a profile a collection of references to
other composable specs WS-Addressing,
WS-Eventing, WS-Transfer and WS-Enumeration - Specifies extensions to and restricts how these
protocols can be used - Designed to scale down to small-devices
- Defined over existing standards HTTP/S, TCP/IP,
TLS, XML, URI, SOAP - Designed to be Information Model-agnostic -
compatible with the CIM Object Model
133WS-Management Requirements
- Constrain Web services protocols and formats to
allow small-footprint implementations in both
hardware and software - Define minimum requirements for compliance
without constraining richer implementations - Ensure composability with other Web services
specifications - Minimize additional mechanism beyond the current
Web services architecture
134Introduction
Architecture
WS-Transfer
WS-Enumeration
WS-Eventing
Catalog
Security
Examples
135WS-Management Architecture
- Expose a common set of operations, central to
all systems management (DISCOVER,GET,PUT,CREATE,RE
NAME,DELETE,ENUMERATE,SUBSCRIBE,EXECUTE). - Contrain WS protocols,to be implemented with a
small footprint. - Define minimum requirement.
- Ensure composability.
- Minimize additional mechanism beyound the WS
architecture.
136WS-Management Architecture (2)
MTOM SOAP Message Transmission Optimization
Mechanism
137WS-Management Operations
- Typical systems management operations
- Discover the presence of manageable resources
- Get, Update and Delete properties of managed
resources - Create references to manageable resources
- Enumerate the contents of containers and
collections such as large tables and logs - Subscribe to events emitted by managed resources
- Execute specific management methods
138Introduction
Architecture
WS-Transfer
WS-Enumeration
WS-Eventing
Catalog
Security
Examples
139WS-Transfer
- Methods defined by WS-Transfer
- Get
- Put
- Create
- Delete
Client
Agent
1
2
140WS-Transfer (2)
- Provides a SOAP-based protocol for managing
resources and their representations - Resource Operations
- Get fetch a one-time snapshot of resource
representation - Put update a resource by providing a
replacement representation - Delete
- Resource Factory Operations
- Create returns Endpoint Reference of created
resource
141Introduction
Architecture
WS-Transfer
WS-Enumeration
WS-Eventing
Catalog
Security
Examples
142WS-Enumeration
- Supports enumeration of data sources that cannot
practically fit into a single SOAP message - State can be maintained by source or consumer
- No commitment on order or completeness
- Operation to get an enumeration context
- Enumerate initiate enumeration, return context
- Operation to fetch items from the enumeration
- Pull gets one or more items contains context,
may contain MaxElements, MaxCharacters - Operation to abandon an enumeration
- Release
- Operation to manage enumeration lifetimes
- Renew, GetStatus, EnumerationEnd
143WS-Enumeration (2) Enumerating Data
- Same as base specification
- WS-man allows using partial results
Enumerate
EnumerateResponse(Context)
Pull(3)
PullResponse
Pull(4)
PullResponse
Release
ReleaseResponse
Item Collection
Client
Agent
144Introduction
Architecture
WS-Transfer
WS-Enumeration
WS-Eventing
Catalog
Security
Examples
145WS-Eventing
- Create, delete and renew event subscriptions
- Features extensible event filtering
- Event delivery mode is extensible
- Event source operations
- Subscribe creates a subscription and returns an
EPR for a service that manages the new
subscription - Subscription manager operations
- Renew to extend a subscription
- Unsubscribe to cancel a subscription
- GetStatus to check whether subscription is still
valid - SubscriptionEnd notifies subscriber of unexpected
cancellation - Push Event Delivery included
146WS-Eventing (2)
- Bookmarks
- Optional capability for Log-backed subscriptions
- Bookmark is included with each event delivery
- Service-defined cursor in the event stream
- Opaque to the client
- Allows a later restart where the subscription
left off
147WS-Eventing (3) Extension
- Event delivery mode
- Batched
- Grouped event delivery
- Pull
- Event polling based on WS-Enumeration
- Trap (Multicast)
- Asynchronous delivery using UDP multicast for
small messages - Expiration expressed in duration (no requirement
for absolute time) - Resume-able subscriptions
- Pick up where I left off
148WS-Eventing (4)
- Defined by WS-Management Extension
- PushWithAck (Ext)
- Batched (Ext)
- Pull (Ext)
- Defined by WS-Eventing
- Subscribe
- Push
Deliver
Get
Server
Management Console
Subscribe
Group Policy
149Introduction
Architecture
WS-Transfer
WS-Enumeration
WS-Eventing
Catalog
Security
Examples
150Catalog Features
- Lists the available ResourceURIs
- Provides searchable metadata (Keywords)
- Provides relationships to external and internal
resources (eg Web URLs) - Describes supported actions for each resource
- Can provide the complete WSDL for a resource
using WS-TransferGet - Can provide the XML Schema for a resource using
WS-TransferGet
151Catalog Resource Discovery
152Introduction
Architecture
WS-Transfer
WS-Enumeration
WS-Eventing
Catalog
Security
Examples
153Security
- WS-Management supports multiple security models
- Transport-level
- small footprint
- well established
- available off-the-shelf components
- examples HTTPS, SSL/TLS, SSH
- Message-based
- flexible
- supports complex security models and technologies
- composed using WS-Security
- Implementations can choose even mix
154Supporting technologies
- CIM Schema Mapping
- Mechanical transform from MOF to XSD
- Conversion of CIM types to XSD types
- Can be performed at design time for embedded
hardware - Can be generated at runtime on large systems
- Discovery Catalog
- A Catalog of references to manageable resources
- References can be Local or Distributed
- Resources can be instances or class types
- Supports Enumeration and Transfer for simple and
filtered enumeration of resources - Provides WBEM CIMOM functionality
155Some benefits of using WS-Management
- Based on the Web Service infrastructure
- Platform independence
- Same toolset for software development and
management - Common management protocol for the entire stack
- Hardware
- OS
- Applications
- Services
156Introduction
Architecture
WS-Transfer
WS-Enumeration
WS-Eventing
Catalog
Security
Examples
157WS-Transfer Get
Get
Get Response
- ltCIM_Processorgt
- ltFamilygt165lt/Familygt
- ltDeviceIDgtCPU0lt/DeviceIDgt
- ltOtherFamilyDescriptorgtIntel Xeon
(TR)lt/OtherFamilyDescriptorgt - ltMaxClockSpeedgt3000lt/MaxClockSpeedgt
- ltCurrentClockSpeedgt3000lt/CurrentClockSpeedgt
- ltDataWithgt32lt/DataWithgt
- ltAddressWithgt32lt/AddressWithgt
- ltLoadPercentagegt2lt/LoadPercentagegt
- ltSteppinggt5lt/Steppinggt
- lt/CIM_Processorgt
- ltEnvelopegt
- ltHeadergt
- ltTogthttp//sap_server/wsmanlt/Togt
- ltResourceURIgtwsman//../Processorlt/Resourc
eURIgt - ltActiongthttp//schemas.xmlsoap.org/ws/2004/0
9/transfer/Getlt/Actiongt - ltSelectorSetgt
- ltSelector NameDeviceIDgtCPU0lt/Selectorgt
- lt/SelectorSetgt
- ltReplyTogthttp//schemas.xmlsoap.org//addres
sing/role/anonymouslt/ReplyTogt - ltMessageIDgtuuid91c167fb-2c3a-4F1A-8d59-01b0
c18a0723lt/MessageIDgt - lt/Headergt
- ltBodygt lt/Bodygt
- lt/Envelopegt
- ltEnvelopegt
- ltHeadergt
- ltTogthttp//schemas.xmlsoap.org/ws/2004/08/ad
dressing/role/anonimouslt/Togt - ltActiongthttp//schemas.xmlsoap.org/ws/2004/0
9/transfer/GetResponselt/Actiongt - ltRelatesTogtuuid91c167fb-2c3a-4F1A-8d59-01b0
c18a0723lt/RelatesTogt - lt/Headergt
- ltBodygt DATAlt/Bodygt
- lt/Envelopegt
158Example Enumeration
ltEnvelopegt ltHeadergt ltTogt
http//134.134.201.169/agent?ResourceURI(wsman
./PhysicalElements) lt/Togt
ltActiongt http//schemas.xmlsoap.org/ws/2004/09/e
numeration/Enumerate lt/Actiongt
ltMessageIdgtuuid1778973d-10e9-477D-ae07-34e424e657
7alt/MessageIdgt ltReplyTogt
http//schemas.xmlsoap.org/ws/2004/08/addressing/r
ole/anonymous lt/ReplyTogt lt/Headergt
ltBodygt ltEnumerategt
ltExpiresgtexpiry timelt/Expiresgt
lt/Enumerategt lt/Bodygt lt/Envelopegt
Enumerate
159Example Enumeration response
ltEnvelopegt ltHeadergt ltTogt
http//schemas.xmlsoap.org/ws/2004/08/addressing/r
ole/anonymous lt/Togt ltActiongt
http//schemas.xmlsoap.org/ws/2004/09/enumeration/
EnumerateResponse lt/Actiongt ltRelatesTogt
uuid1778973d-10e9-477D-ae07-34e424e6577a
lt/RelatesTogt ltMessageIDgt
uuiddc0eeb8f-d025-4A45-a859-2b4ca640a1ff
lt/MessageIDgt lt/Headergt ltBodygt
ltEnumerateResponsegt ltEmumerationContextgtab
cd123flt/EnumerationContextgt
lt/EnumerateResponsegt lt/Bodygt lt/Envelopegt
Slide 160