This glossary is intended to elucidate acronyms and concepts that may not be completely understood by all readers. It does not include terms explained elsewhere in the book; it does include those terms with which I assume that the reader is familiar. To learn more about a specific topic which is covered in the main text, the index may be a better starting point.
Read the description of OSPF in this glossary and then return here. BGP ”Border Gateway Protocol ”is also a protocol by which routers exchange information about hosts they can reach. Unlike OSPF, however, it is normally used between routers belonging to different administrations .
Common Gateway Interface. You can think of a CGI program (sometimes called a script) as a dynamically created Web page. When I direct my browser to a particular URL, http://www.slashdot.org for example, my request arrives at a Web server which has to decide what to do with it. Often there is a preformatted HTML page available and the Web server simply picks this up and returns it to the browser for display. Otherwise, it is possible to direct the Web server, not to an HTML page but to a program, a CGI program. This program is then responsible for creating HTML and returning it to the Web server which sends it to the browser for display. In the WBEM/CIM context, Figure 13.3 on page 255 illustrates a Web browser talking to a Web server which invokes the WBEM client which is acting as a CGI program. The WBEM client is then responsible for communicating with the WBEM server and returning an HTML page for display.
CGI is therefore not a computer language ”CGI programs can be written in C, C++, Python, Perl, Fortran, or any other language able to manipulate data and return an HTML "page."
Common Information Model. This term covers the language and methodology used to define an implementation-independent management models ( mof ) in the context of the core and common models developed and published by the DMTF.
Command Line Interface. I use this term to describe an operator interface which involves typing a command into some form of terminal or computer and getting textual information back. This contrasts, for example, with a Graphical User Interface (GUI) where the same command might be entered by selecting it from a pull-down menu and the response displayed graphically.
CORBA is a confusing term to use in a book about interfaces between management clients and servers since it is itself a management interface. I do not use it in that way in this book, rather as a sophisticated form of remote procedure call. CORBA stands for "Common Object Request Broker Architecture" and is standardised by the Object Management Group (OMG). By introducing an Object Request Broker (ORB) into a system a client is able to invoke a possibly remote server transparently , irrespective of the programming languages, processor types (Endianness) or operating systems of the client and server.
In much the same way that a WBEM server allows a WBEM client to invoke an extrinsic function on a provider, so does the ORB allow a general client to invoke a general server.
Distributed Management Task Force (previously Desktop Management Task Force ). This is the organisation which is responsible for the WBEM and CIM standards. These standards include:
The protocols operating between clients and servers, between servers and providers and between servers and listeners.
The core and common models.
The DMTF's Web site is at http://www.dmtf.org . 
Internet Engineering Task Force. This is the body which co-ordinates the work of a community of network designers, operators, vendors , and researchers concerned with the evolution of the Internet architecture and the smooth operation of the Internet. It is open to any interested individual. The standards and discussion papers which emerge from the IETF are known as Requests for Comment (normally abbreviated to RFCs rather than the more correct RsFC).
Managed Object Format ”the formal language in which CIM models are written. I describe this language starting on page 64.
When packets are sent across a network using the Internet Protocol (IP) there is no specific route that they will follow ”packets flowing from the same source to the same destination may follow different routes. This is sometimes awkward because it does not allow the network to be correctly dimensioned for the anticipated traffic, some links possibly lying idle while others are overloaded. MPLS (Multi-Protocol Label Switching) is a protocol which allows "tunnels" with particular characteristics (bandwidth, delay, etc.) to be created through a network. Packets are then sent through the tunnels and all packets comprising one flow follow the same route, on which resources have been reserved.
Routers in an IP network know about the devices (hosts) connected directly to themselves but initially have no knowledge about hosts elsewhere in the network. When a router detects a neighbouring router, it sends its local knowledge to it, receiving the other router's local knowledge in return. This allows each router to augment its table of known hosts and send a copy of the augmented table to its other neighbours. In this manner, the location of the various hosts in the network spreads like a plague throughout the network. Between the routers owned by one operator, the protocol typically used to exchange this information is OSPF ”open shortest path first.
- Opaque property
An opaque property is one with no structure that can be relied upon. The property (typically a string) must be treated as is and the user must make no attempt to understand its structure. Within CIM, there is a move towards opaque keys: see page 195 regarding CreationClassName and InstanceId.
Many of the standards quoted in this book have numbers like RFC3060. These are standards from the Internet Engineering Task Force (IETF) and RFC is the acronym for "Request for Comment." This is a somewhat misleading name but it has a long and honourable history. RFCs can be obtained from a number of sources, the easiest access point probably being http://www.faqs.org/rfcs/ .
- Semantic and syntactical information
At various points in this book I contrast semantic and syntactical knowledge, particularly as it relates to a model expressed in CIM.
"Syntax" is easy to understand, for example: property examMark is an integer between 0 and 100 inclusive. This can be expressed easily in most formal programming-style languages, including mof.
When you are asked for Joe's mark in the latest examination, the fact that it is property examMark in Joe's instance of the Student class that you need to access would be an example of semantic knowledge. It relates not to the format of the property but to its meaning.
For more information about this topic as it relates to the WBEM client, see page 248.
The Simple Network Management Protocol is the dominant management protocol for data devices (IP routers, switches, etc.) within enterprises . I give a very brief introduction to its history and a comparison with WBEM/CIM starting on page 22.
Unicode has its own home page on the Web, http://www.unicode.org , and the following description is extracted from that site.
Unicode is a universal character-encoding standard for all of the characters used in written, natural languages. The Unicode standard (and ISO/IEC 10646) supports three encoding forms that use a common repertoire of characters but which allow for the encoding of a million characters . This is sufficient for all known character-encoding requirements, including full coverage of all historic scripts of the world.
Currently the Unicode Standard defines codes for characters used today in the major written languages. Scripts include the European alphabetic scripts, Middle Eastern right-to-left scripts, and many scripts of Asia. It also includes punctuation marks, diacritics, mathematical symbols, technical symbols, arrows, dingbats, etc.
Altogether, version 3.2 of the Unicode Standard provides codes for 95,221 characters from the world's alphabets, ideograph sets and symbol collections.
The letters stand for "Extensible Mark-up Language" and describe a textual (ASCII) language which can specify content independent of its form. Such mark-up languages have existed for a long time; this book, for example, is being written in
which is a markup language dating back 20 years or more.
In the days of print, documents appeared in one form ”the form in which they were printed. Today, documents appear in many forms: as Web pages, as printed pages, as projected images, as e-mail content, etc. The same form may not be appropriate for all of these. A chapter heading, for example, may want to be centred in blue and displayed in a 24-point font on a projected slide, whereas in a book it may be more appropriate to have it left-justified in an 18-point black font.
The author should not need to be aware of all of these conventions; he or she should simply be able to specify that a particular piece of text is a title and leave the interpretation to the software using it. XML (and
) achieve this. In XML it should be sufficient to write:
<CHAPTERHEADING> The Client/Server Interface </CHAPTERHEADING>
and expect the publisher's software to present this in a manner which fits the house style.
If you look at a larger piece of XML, Figure 7.3 on page 128 for example, you will see the same basic structure. There is a message contained between MESSAGE tags:
<MESSAGE .....> ....contents of the message </MESSAGE>
Within the message there are subelements, for example an IPARAMVALUE contained between its tags.
Because of its ASCII text nature and its tag structure, XML is not a compact language (compare, for example, the mof of Figure 12.1 and the equivalent XML of Figure 12.2) but it is extensible (you can add any tags with which you and the recipient of your message agree) and can be easily parsed by a computer program.