Двоичный дистрибутив поставляется в двух видах:
\verb|gzip -d CASL-<описание платформы>-<версия>-install.sh.gz|
\verb|sh CASL-<описание платформы>-<версия>-install.sh|
<prefix>, то:
<prefix>/bin/
<prefix>/lib/
<prefix>/include/GradSoft/
gzip -d CASL-<platform>-<version>.cpio.gz
cat CASL-<platform>-<version>.cpio | (cd $prefix; cpio -p )
./configure <configure-options>
gmake
gmake install
В своих программных комплексах вы можете либо использовать контейнер компонент CASL, либо использовать CASL API в своих программах.
Более подробно об этом можно прочитать в "CASL: Руководство Программиста", с точки зрения администрирования важно знать:
/usr/local/bin 1
libCASL.so или libCASL.dll для Windows находится в /usr/local/lib 2
/usr/local/lib/CASL 3
--log-to-file <argument> записывать журнал в файл <argument> --log-to-stderr дублировать вывод сообщений на консоль. --no-syslog не использовать syslog для вывода сообщений. --services-config <argument> читать конфигурацию сервисов из файла <argument> --daemonize после инициализации перейти в режим демона. --help показать список опций командной строки. --config <argument> читать опции командной строки из файла <argument>
Собственно все, что делает CASL определяется файлом конфигурации сервисов. Это XML файл, в котором :
CASL, у которого может быть один
необязательный атрибут: 'LibraryPath'. Значение этого атрибута - путь к
директории библиотеки сервиса.
Service,
Атрибуты Service:
Service, в свою очередь должен включать
последовательность елементов parameter, которые, в свою очередь,
должны включать в себя последовательность элементов <name> и
<value> в точности, как в конфигурации J2EE Сервисов.
CASL загружает все сервисы, указанные в конфигурационном файле и запускает их.
Пример файла конфигурации:
<CASL>
<Service Name="PIInclude1" Library="libPIInclude1">
<parameter>
<name> InputFile </name>
<value> input.xml </value>
</parameter>
<parameter>
<name> OutputFile </name>
<value> output.xml </value>
</parameter>
</Service>
<Service Name="CORBA" Library="libCASL_CORBA_TAO">
<parameter>
<name> ORBargs </name>
<value>
-ORBInitRef NameService=corbaloc::localhost:1234/NameService
</value>
</parameter>
</Service>
<Service Name="MyThirdService" Library="libMy3" >
<parameter>
<name> n1 </name> <value> v1 </value>
</parameter>
<parameter>
<name> n2 </name> <value> v2 </value>
</parameter>
</Service>
</CASL>
Для любителей формальных описаний приведем XML DTD:
<!ELEMENT CASL (Service+ )>
<!ATTLIST CASL LibraryPath CDATA #IMPLIED >
<!ELEMENT Service (parameter*)>
<!ATTLIST Service Name CDATA #REQUIRED
Library CDATA #REQUIRED >
<!ELEMENT parameter ((name, value)* )>
<!ELEMENT name (#PCDATA) >
<!ELEMENT value (#PCDATA) >
/usr/local/bin1
/usr/local/lib2
/usr/local/lib/CASL3