ページ1に含まれる内容の要旨
Dumpleton
Software
Consulting
Pty Limited
OSE
Version 7.0pl5
Python Manual
19 January 2003
Copyright 2001-2003 Dumpleton Software Consulting Pty Limited
http://www.dscpl.com.au
ページ2に含まれる内容の要旨
2
ページ3に含まれる内容の要旨
Table of Contents Unique Identifiers............................ 22 Table of Contents........................... 3 Process Identity ............................... 23 Manual Overview ..........................7 Event Framework......................... 25 Python Modules ............................. 9 Scheduling a Job ............................. 25 Module Descriptions .......................10 Real Time Events ............................ 28 Installation and Setup...................... 10 Destr
ページ4に含まれる内容の要旨
Table of Contents Service Lookup ...............................44 Handling Structured Types..............85 Service Reports.............................47 Servlet Framework .......................87 Publishing Reports ..........................48 Framework Overview......................87 Monitoring Reports .........................48 The HTTP Daemon .........................88 Lifetime of Reports .........................50 The File Server ................................89 Identity of Subscri
ページ5に含まれる内容の要旨
Managing User Sessions ............... 116 The SOAP Gateway ...................... 121 The XML-RPC Gateway...............118 Using Multiple Gateways.............. 123 5
ページ6に含まれる内容の要旨
Table of Contents 6
ページ7に含まれる内容の要旨
Manual Overview This manual covers the Python wrappers around the OSE C++ class library. The wrappers make avail- able functionality related to the logging system, the real time events system, the service agent frame- work for creating distributed applications, the HTTP servlet framework and the RPC over HTTP interfaces. Python Modules Lists the available Python modules and their pur- pose. Includes brief details regarding installation and setup of the users environment. Logging Facility Describ
ページ8に含まれる内容の要旨
Manual Overview Service Agents Describes how to create service agents, add them to groups, subscribe to announcements regarding specific services or membership of specific serv- ice groups. Service Reports Describes how to subscribe to reports published by specific services. Ie., describes the publish/ subscribe functionality provided by the service agent framework. Service Requests Describes how to send requests to remote or local service agents and how to handle any response or error which res
ページ9に含まれる内容の要旨
Python Modules OSE includes a number of Python modules. The main module is a wrapper around functionality pro- vided in the OSE C++ class library. Those parts of the OSE C++ class library for which a Python wrap- per are provided are the logging system, the real time events system, the service agent framework for creating distributed applications and the HTTP servlet framework. Additional modules provide access to the OSE service agent framework using an RPC over HTTP pro- tocol called NET-RPC a
ページ10に含まれる内容の要旨
Python Modules Module Descriptions The Python modules, their names and their purpose are described below. Module Purpose netsvc This is the main module and provides wrappers around the functionality of the OSE C++ class library. It includes all that is required for building distributed applications using the service agent framework. netrpc This module provides a client implementation of the RPC over HTTP protocol implemented by OSE called NET-RPC. netsvc.xmlrpc This module includes the XML-RPC g
ページ11に含まれる内容の要旨
Additional Information An OSE installation supports libraries for different architectures. In order that the shared libraries for your specific platform can be found by the Python module, you should ensure that theOSE_HOST var- iable is set to the same value it was set to when OSE was installed. For example: OSE_HOST=X86_LINUX If you want to be able to run the "spyon" debugger, yourPATH environment variable should include the OSE bin directory. For OSE 7.0, if installed into its standard locatio
ページ12に含まれる内容の要旨
Python Modules 12
ページ13に含まれる内容の要旨
Logging Facility The logging facility provides you with a mechanism for generating and capturing messages generated by your application. These can be automatically saved to a log file, or intercepted and dealt with in some other way. The majority of functionality for this feature is provided by theOTC_Logger class in the OSE C++ class library. Some of the features of the logging facility are optional and controlled via environment variables. You should consult the manual page for theOTC_Logger c
ページ14に含まれる内容の要旨
Logging Facility Level Usage LOG_NOTICE Conditions that are not error conditions, but that may require special handling. LOG_INFO Informational messages. LOG_DEBUG Message that contain information normally of use only when debugging a program. To log a message, a handle to an instance of theLogger class is acquired and the "notify()"mem- ber function is called. import netsvc logger = netsvc.Logger() logger.notify(netsvc.LOG_DEBUG,"message") The format of a message when displayed will be: DEBUG:
ページ15に含まれる内容の要旨
Specifying a Log File The string used to specify the name of a log file may incorporate the following special tags. Tag Purpose %h Will encode the hostname of the machine into the name of the log file. %p Will encode the process ID into the name of the log file. %Y Will encode the current year as 4 digits into the name of the log file. %y Will encode the current year as 2 digits into the name of the log file. %m Will encode the current month of the year as a zero padded 2 digit number into the n
ページ16に含まれる内容の要旨
Logging Facility Specifying a Log Channel When logging a message, a log channel may also be specified. If the name of a log channel starts with a character other than an alphanumeric character, the message will not be displayed on the standard error output or appear in the log file. If it is displayed or captured in the log file, the name of the log channel does not appear anywhere in the message. The intent of the log channel is to allow one part of an application to capture specific messages p
ページ17に含まれる内容の要旨
Exceptions in a Callback try: function() except SystemExit: raise except: netsvc.logException() sys.exit() The details of the exception are logged with level "LOG_ERROR" and a specific log channel is not specified. If you wanted to log the details of the exception to a specific log channel, or vary the level, you can use the "exceptionDetails()" function of the "netsvc" module to obtain the same in- formation that would be logged by the "logException()" function and then call the "notify()" memb
ページ18に含まれる内容の要旨
Logging Facility 18
ページ19に含まれる内容の要旨
Program Setup As Python is an interpreted language, configuration of an application can be carried out by editing the actual scripts. In some circumstances however, it is still easier or more practical to rely upon a config- uration database or environment variables. When using OSE this is especially the case, as an applica- tion can be a mix of C++ and Python code and configuration data may need to be accessible from code written in both languages. To support this the Python wrappers provide an
ページ20に含まれる内容の要旨
Program Setup import netsvc import os netsvc.loadConfig("database.cfg") netsvc.mergeConfig("PWD",os.getcwd()) print netsvc.lookupConfig("PWD") A single configuration item can be removed from the database using the "removeConfig()" func- tion. The configuration database can be completely emptied using the function "removeAllCon- fig()". The contents of the configuration database can be saved to a file using the "saveConfig()" function. netsvc.removeConfig("PWD") netsvc.saveConfig("database.cfg")