CERN -> IPT Group -> FrameMaker at CERN
Information Service User's Guide

Preface


T his document is the user's guide for the Information Service (IS) component of the ATLAS TDAQ Online Software system [1]. The Information Service is used to share information between applications in a distributed environment. This document gives an overview of the IS, describes the functionality it is providing, and gives instructions for how to use the C++ IS Application Program Interface (API).

The Java API is not discussed in this document, but it is very similar to the C++ one and is based on the same principals. The full IS Java API reference manual is available as part of the Online Software release in the <online software release directory>/share/doc/is/javadoc/is directory. This directory contains files generated by the javadoc utility. The main entry point to the documentation is the index.html file. The same information is also available online from the Information Service home page [2].

This document has been prepared by Serguei Kolos (Serguei.Kolos@cern.ch) and is based on the IS implementation developed in the context of the ATLAS TDAQ project [3].

Outline


Preface
Outline
Contents
Chapter 1
Introduction
Chapter 2
Basic functionality
Chapter 3
Error Handling
Chapter 4
User-defined information types
Chapter 5
Type of IS information
Chapter 6
Subscribing to the IS repository
Chapter 7
Browsing the IS repository
Chapter 8
Streaming information from IS repository
Chapter 9
Reading information with unknown structure
Chapter 10
Reading and publishing information with unknown structure
Chapter 11
Sending and Receiving commands
Chapter 12
Reading information type description
Chapter 13
Building and running IS applications
Chapter 14
IS Utilities
Chapter 15
C++ API: Class Reference
Rules for the IS information declaration
C++ information classes based on the ISInfo
C++ information classes based on the ISNamedInfo
Mapping between OKS and IS types
 
Bibliography
 
Index

 

Contents


Outline

Contents


Chapter 1

Introduction

1.1.1 Architecture
1.1.2 Implementation


Chapter 2

Basic functionality

2.2 Publishing and updating information
2.2.1 Adding new information to the IS
2.2.2 Replace the last information value
2.2.3 Update information using history mode
2.2.4 Update information using specific tags
2.2.5 Atomic combination of the insert and update functions
2.3 Reading information
2.3.1 Getting the last value of the information
2.3.2 Reading specific value of the objects history
2.3.3 Retrieving information history


Chapter 3

Error Handling

3.2 IS Exceptions hierarchy


Chapter 4

User-defined information types

4.2 Defining new information type
4.3 Generating programming language declarations
4.4 Two types of the IS information classes
4.5 Using custom information types
4.5.1 Using classes based on the ISInfo
4.5.2 Using classes based on the ISNamedInfo


Chapter 5

Type of IS information

5.2 Getting information object type
5.3 Reading Object types from IS repository
5.4 Information type operations


Chapter 6

Subscribing to the IS repository

6.2 Subscribe for a single information
6.3 Subscribe using criteria
6.3.1 How to define criteria
6.3.2 How to subscribe using criteria
6.4 Subscription modes


Chapter 7

Browsing the IS repository

7.2 Using the IS server iterator
7.3 Using the IS information iterator
7.4 Using extended criteria for information iterator


Chapter 8

Streaming information from IS repository

8.2 Simple usage of the IS information stream
8.3 Advanced parameters of the stream constructor


Chapter 9

Reading information with unknown structure

9.2 Using ISInfoAny class to print out information
9.3 Parsing content of the ISInfoAny object


Chapter 10

Reading and publishing information with unknown structure

10.2 Using ISInfoDynAny class to read information
10.3 Reading content of the ISInfoDynAny object
10.4 Publishing objects using ISInfoDynAny


Chapter 11

Sending and Receiving commands

11.2 Implementing IS command listener
11.3 Sending commands to information providers


Chapter 12

Reading information type description

12.2 Setting up the IS meta-information repository
12.3 Reading the IS type description
12.4 Reading all available IS types descriptions


Chapter 13

Building and running IS applications

13.1.1 Information Provider example application
13.1.2 IS reader example application
13.1.3 Makefiles
13.1.4 Compiling examples
13.2 Running IS examples
13.3 Troubleshooting Tips
13.3.1 IS server errors
13.3.2 Information Provider errors
13.3.3 Information reader errors


Chapter 14

IS Utilities

14.1.1 Information listing application (is_ls)
14.1.2 Commander application (is_cmd)
14.1.3 Information removing application (is_rm)
14.2 Graphical utility


Chapter 15

C++ API: Class Reference

15.1 ISCallbackEvent
15.2 ISCallbackInfo
15.3 ISCommandListener
15.4 ISCriteria
15.5 ISInfo
15.6 ISInfoAny
15.7 ISInfoDictionary
15.8 ISInfoDocument
15.9 ISInfoDocument::Attribute
15.10 ISInfoDocument::Iterator
15.11 ISInfoDynAny
15.12 ISInfoIterator
15.13 ISInfoProvider
15.14 ISInfoReceiver
15.15 ISInfoStream
15.16 ISInfoT<T>
15.17 ISNamedInfo
15.18 ISServerIterator
15.19 ISType
15.20 ISistream
15.21 ISostream

Rules for the IS information declaration

A.1.1 Example
A.1.2 Explanation
A.2 IS Information in Java
A.2.1 Example
A.2.2 Explanation

C++ information classes based on the ISInfo

B.1 Person class
B.2 Employee class

C++ information classes based on the ISNamedInfo

C.1 PersonNamed class
C.2 EmployeeNamed class

Mapping between OKS and IS types


Bibliography


Index

Chapter 1

Chapter 2

Chapter 3

Chapter 4

Chapter 5

Chapter 6

Chapter 7

Chapter 8

Chapter 9

Chapter 10

Chapter 11

Chapter 12

Chapter 13

Chapter 14

Chapter 15

Appendix A

Appendix B

Appendix C

Appendix D

 

 


2 July 1998 - WebMaster
Copyright © CERN 1998