Руководство ПО РАЗВЕРТЫВАНИЮ
ПРОГРАММНОГО ПРОДУКТА
SITEX Модуль интерации
СОДЕРЖАНИЕ
1Общие сведения 3
2Разворачивание системы 4
2.1.Необходимые программы и компоненты 4
2.2.Последовательность установки 4
2.3.Состав дистрибутива 4
2.4.Установка и настройка общесистемного ПО 4
2.4.1.Назначение прав для пользователя, под которым будет проводится установка и настройка ПО 4
2.4.2.Установка и настройка Java 4
2.4.3.Установка и настройка сервера приложений Tomcat 5
2.4.4.Установка и настройка сервера баз данных Postgre SQL 6
2.5.Установка и настройка решения 7
2.5.1.Необходимые библиотеки 7
2.5.2.Необходимые модули 8
2.5.3.Генерация стабов клиентской части веб-сервиса БПМС 8
2.5.4.Конфигурация модуля интеграции 8
2.5.4.1Основной конфигурационный файл 8
2.5.4.2Конфигурация модуля интеграции параметрами контекста 9
2.5.4.3Конфигурация на основе системных переменных 9
1Общие сведения
SiTex Модуль интеграции – программное обеспечение, предназначенное для обеспечения обмена электронными сообщениями на основе сведений, полученных из файлов конфигурации, протоколирование произведенных операций, разграничение прав доступа систем, участвующих в обмене электронными сообщениями, создания гибкой архитектуры, формирование подписи ЭП-ОВ (электронная подпись органа власти).
SiTex Модуль интеграции применяется, как транслирующий элемент между различными частями СМЭВ и предназначен для ведения журналирования, разграничения прав доступа систем, создания гибкой архитектуры СМЭВ.
На рисунке показан путь запроса от потребителя к поставщику и его ответа через «сервер интеграции».
Рисунок 1. Путь запроса от потребителя к поставщику
2Разворачивание системы
2.1.Необходимые программы и компоненты
Для успешной установки и запуска решения необходимо наличие:
Операционная система семейства Linux;
Сервер баз данных Postgre SQL;
Веб сервер ApacheTomcat;
Java Development Kit.
2.2.Последовательность установки
Назначение прав для пользователя, под которым будет проводится установка и настройка;
Установка и настройка Java;
Установка и настройка сервера приложений Apache Tomcat;
Установка и настройка сервера баз данных Postgre SQL;
Установка и настройка решения.
2.3.Состав дистрибутива
База данных.
Файлы скриптов для базы данных.
Дистрибутив Системы.
2.4.Установка и настройка общесистемного ПО
2.4.1.Назначение прав для пользователя, под которым будет проводится установка и настройка ПО
Для назначения прав для пользователя, под которым будет проводится настройка, необходимо отредактировать файл
В файл /etc/sudoers добавить строку: user ALL=(ALL) ALL
Далее необходимо перезайти в систему под пользователем, который будет использоваться для установки и настройки
2.4.2.Установка и настройка Java
Необходимо скачать дистрибутив JDK с официального сайта разработчика http://www.oracle.com/technetwork/java/javase/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR
Выберите версию пакета Java-разработчика (Java Development Kit (JDK)) не версии 6 и сохраните файл на диск (для скачивания необходимо иметь учетную запись на сайте www.oracle.com).
Например, для версии Linux x64 можно выбрать файл для скачивания http://download.oracle.com/otn/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin
Запустите мастер установки с следуя его инструкциям проведите установку системы, установку необходимо проводить следуя инструкциям разработчика соответствующего программного обеспечения.
Пример установки:
Ставим java в /var
В файл /home/user/.bash_profile добавляем строки
export JAVA_HOME=/var/jdk1.6.0_45/
export JRE_HOME=/var/jdk1.6.0_45/jre
export PATH=$PATH:/var/jdk1.6.0_45/bin:/var/jdk1.6.0_45/jre/bin
Проверяем работоспособность командой java -version
2.4.3.Установка и настройка сервера приложений Tomcat
Необходимо скачать дистрибутив Tomcat версии 7 с официального сайта разработчика http://tomcat.apache.org/download-70.cgi
Для примера, скачиваем файл дистрибутива http://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-7/v7.0.67/bin/apache-tomcat-7.0.67.zip
Распаковываем его содержимое в /var
В файл /home/user/.bash_profile добавляем строку:
export CATALINA_HOME=/var/apache-tomcat-7.0.67
Даем права на запуск для файлов *.sh в папке /var/apache-tomcat-7.0.67/bin
Меняем владельца папки /var/apache-tomcat-7.0.67
chown -R user:user ./apache-tomcat-7.0.67
При необходимости, если на порту 8080 что-либо запущено, в файле \conf\server.xml меняем параметр сonnector port="8080" например на 8090
Запускаем tomcat с помощью командного файла /var/apache-tomcat-7.0.67/bin startup.sh
Для проверки корректного функционирования Apache Tomcat необходимо используя любой интернет браузер перейти на адрес: http://localhost:8080 , где 8080 порт, указанный при установке Tomcat.
В случае корректной работы веб сервера в окне браузера будет доступна домашняя страница Tomcat.
2.4.4.Установка и настройка сервера баз данных Postgre SQL
Установка и настройка сервера баз данных Postgre SQL будет показана на примере ОС AltLinux 7.
Для установки Postgre SQL в консоли необходимо ввести следуюшие команды:
sudo apt-get install postgresql9.5
sudo apt-get install postgresql9.5-server
sudo apt-get install postgresql9.5-contrib
Для инициализации первоначальных баз данных необходимо выполнить команду:
sudo /etc/init.d/postgresql initdb
Для запуска сервиса необходимо выполнить команду:
sudo service postgresql start
Далее необходимо войти в консоль postgresql и создать пользователя tomcat.
Для входа в консоль необходимо выполнить команду:
sudo -u postgres psql
Для создания пользователя tomcat необходимо выполнить команду (обратите внимание на обязательный символ “;” в конце команды):
CREATE USER tomcat WITH password '12345678';
В случае удачного выполнения вышеуказанной команды в консоли появится сообщение - CREATE ROLE.
Для выхода из консоли необходимо набрать \q и нажать клавишу Enter.
2.5.Установка и настройка решения
2.5.1.Необходимые библиотеки
Все библиотеки (автоматически загружаются при maven сборке):
activation-1.1.jar
activemq-all-5.5.1.jar
antlr-2.7.2.jar
cloning-1.7.9.jar
commons-beanutils-1.7.0.jar
commons-chain-1.1.jar
commons-collections-20040616.jar
commons-digester-1.8.jar
commons-io-1.3.2.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
commons-validator-1.3.1.jar
dom4j-1.1.jar
jaxb-api-2.2.1.jar
jaxws-api-1.0.jar
joda-time-1.6.2.jar
json-simple-1.1.1.jar
jstl-1.2.jar
log4j-1.2.16.jar
objenesis-1.2.jar
opensaml-2.5.1-1.jar
openws-1.4.2-1.jar
oro-2.0.8.jar
saaj-api-1.3.4.jar
slf4j-api-1.5.11.jar
slf4j-log4j12-1.5.11.jar
smev-headers-1.0.2.jar
smev-signer-1.2.jar
sslext-1.2-0.jar
standard-1.1.2.jar
stax-api-1.0-2.jar
struts-core-1.3.8.jar
struts-taglib-1.3.8.jar
struts-tiles-1.3.8.jar
velocity-1.7.jar
velocity-tools-2.0.jar
wsdl4j-1.6.2.jar
wss4j-1.6.4.jar
xml-apis-1.0.b2.jar
xml-security-impl-1.0.jar
xml-writer-0.2.jar
xmlsec-1.4.6.jar
xmltooling-1.3.2-1.jar
2.5.2.Необходимые модули
smev-headers
smev-signer
2.5.3.Генерация стабов клиентской части веб-сервиса БПМС
В репозитарии хранится сценарий bpmsStubGenerator.bat, с помощью которого, перед сборкой проекта, необходимо создать необходимые классы клиентской части веб-сервиса БПМС
Вот его содержимое:
wsimport.exe -Xnocompile -d src -p sx.smev.standalone.modules.ws.stubs.bpms http://venus:8080/smev_bpms///sxservices/bpms.jws?wsdl
|
Утилита wsimport входит в стандартную поставку jdk 1.6. В параметрах заданы правила создания исходных кодов клиентской части, указан пакет назначения и адрес веб-сервиса БПМС.
2.5.4.Конфигурация модуля интеграции
2.5.4.1Основной конфигурационный файл
#BPMS service location
bpms.wsdl=${bpmsWsdl}
#BPMS service namespace
bpms.namespace=${bpmsNamespace}
#Timeout preference for connections in milliseconds
module.connectionTimeout=60000
#Read timeout for connections
module.readTimeout=60000
#Thread count for service loaders
module.service.load.thread.count=1
#Original store directory for wsdl
module.wsdl.original.dir=/wsdl-ext/original
#Processed store directory for wsdl
module.wsdl.processed.dir=/wsdl-ext/processed
#Wsdl and xsd-schema address context
module.mapping.wsdl=/wsdl/
#Endpoint mapping context
module.mapping.service=/service/
#Fsmev endpoint mapping context
module.mapping.service.fsmev=/fsmev/
#Fsmev templates path
module.fsmev.service.templates=/fsmev
#Fsmev templates patameters
module.fsmev.service.templates.param.1.name=extOrderNumber
module.fsmev.service.templates.param.1.expression=//*[(substring(local-name(), (string-length(local-name()) - string-length('Response')) + 1) = 'Response')]/*/*[local-name() = 'guid']
#UidHeader namespace
module.uidh.namespace=http://sys.smev.ru/xsd/uidh
#Fsmev UidHeader comsumer value
module.fsmev.uidh.consumer=rtk
#Web service security header parameters
module.fsmev.wss.user=${moduleFsmevWssUser}
#smev-ppu
module.fsmev.wss.password=${moduleFsmevWssPassword}
#module.fsmev.wss.password=JtBwWrBuk8jdXLyfCGHJ+t0JeCqsAgLBoDnzHMQOWamLIA511Va0tRK+/SbOJoR2CDbrdh6N/+xQkM02tbQV5StyGzW6QC5Se5v0+VfowjRZlVj/XO3UZAaBTOeqqml1RUpDXYqkrlv6dAooNcbm3GAysMDOWbHlZBT3UYa6glQ=
#smev-rkt
#module.fsmev.wss.password=LGRGs8ab+hDU9r7D1/3ZX4JzmAfG0nofxDu0FvtglPlJmgt1owaB4kO5jxulQCSCNMJqS/ i+9Yd1IHZQBOY0QvWtUQxZm+MGYuN4RFsqLbzrdWyTyd6heRT0kZuLjci/aGHfrxLpvsMm AP5bw9RIy71RGWTNuYl9MKRs07Anq08=
#Node code. Using for node journalling in BPMS
module.code=${moduleCode}
# Technical sign store params
module.crypto.alias=${moduleCryptoAlias}
module.crypto.password=${moduleCryptoPassword}
module.crypto.store=HDImageStore
# JMS Parameters for lounraling messages to BPMS
jms.logging.enabled=true
jms.initial.context.factory=org.apache.activemq.jndi.ActiveMQInitialContextFactory
jms.provider.url=${jmsProviderUrl}
jms.topic.nodelog=node.log
jms.connection.factory.names=topicConnectionFactory
|
2.5.4.2Конфигурация модуля интеграции параметрами контекста
Может быть прописан в server.xml или в отдельном файле $CATALINA_HOME\conf\Catalina\localhost\context_name.xml
2.5.4.3Конфигурация на основе системных переменных
Имеется возможность не хранить все параметры в конфигурационном файле модуля интеграции. Это удобно при поддержке его актуальности. В этом случае в конфигурационном файле модуля интеграции значение параметра записывается в виде: parameter.name=${parameter.name.value}
Далее есть два варианта:
Прописать значение параметра parameter.name.value в System.property. В этом случае при загрузке ноды этот параметр подставится автоматически.
Прописать значение параметра в контексте ноды в server.xml Tomcat. Аналогично тому, как прописан сам конфигурационный файл ноды