Проект

Общее

Профиль

Руководство системного программиста » История » Редакция 23

Редакция 22 (Rustam Usmanov, 16.02.2016 13:03) → Редакция 23/58 (Rustam Usmanov, 16.02.2016 14:20)

h1. Руководство системного програмиста 

 {{toc}} 

 h2. Аннотация 

 В данном документе приведены общие сведения о программе "Web-сервисы Руслан", ее структура. Описаны порядок настройки и проверки программы, дополнительные возможности. 

 h2. Общие сведения о программе 

 Программа "Web-сервисы Руслан" предназначена для обеспечения простого и удобного доступа удалённых пользователей к ресурсам АБИС "Руслан". Удалёнными пользователями могут являться любые пользователи сервера приложений "WildFly":http://wildfly.org, на базе которого функционирует программа. Ресурсами АБИС "Руслан" являются БД, поддерживаемые сервером "Руслан" и записи, содержащиеся в этих базах данных. Доступ к ресурсам заключается в выполнении над ними следующих операций: 
 * Поиск (по протоколу "SRU 2.0":http://www.loc.gov/standards/sru/sru-2-0.html) 
 * Извлечение, модификация, создание, удаление (по протоколу "WebDAV":http://tools.ietf.org/html/rfc4918) 
 * Заказ услуги (бронирование, копия) по найденному библиографическому описанию (по протоколу "NCIP v. 2.0.2":http://www.ncip.info/) 

 Операции, связанные с чтением данных с ограниченным доступом и записью данных, требуют наличия соответствующих прав у пользователя, а следовательно и идентификации пользователя. Идентификация пользователя осуществляется при помощи провайдера идентификации по протоколу SAML 2.0. 

 Взаимодействие с сервером "Руслан" осуществляется по протоколу Z39.50. 

 Ресурсы представляются в двух форматах: XML и JSON, в зависимости от предпочтений пользователя. 

 Программа может функционировать на любых технических средствах под управлением сервера приложений *WildFly 8.**. Обязательным требованием для выполнения программы является возможность сетевого взаимодействия с сервером "Руслан" и с сервером *Oracle*, используемым АБИС "Руслан". 

 h2. Структура программы 

 Программа "Web-сервисы Руслан" состоит из следующих компонентов: 

 # @jrzs-ear*.ear@ - Z39.50-клиент, реализованный в виде EJB. 
 # @ridp*.war@ - провайдер идентификации. 
 # @rrs-web*.war@ - Web-интерфейс ресурсов АБИС "Руслан" 

 h2. Настройка программы 

 h3. Установка программы 

 Установка программы заключается в "развёртывании компонентов программы на сервере приложений WildFly":https://docs.jboss.org/author/display/WFLY8/Application+deployment. 

 h3. Настройка программы 

 h4. Настройка сервера приложений WildFly 

 

 h5. Настройка источников данных 

 Все источники данных Oracle, используемые сервером Руслан, должны быть "включены в конфигурацию сервера приложений WildFly":https://docs.jboss.org/author/display/WFLY8/DataSource+configuration. Следует обратить внимание на то, что настройка источников данных предусматривает "установку":https://docs.jboss.org/author/display/WFLY8/Application+deployment "JDBC драйвера Oracle":http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html. Пример результата настройки источников данных, отражённого в конфигурационном файле сервера приложений WildFly, приведён в [[#Источники данных|Приложении 1]]. 

 

 h2. Перечень сокращений 

 table{border:none}. 
 |EJB|Enterprise JavaBeans| 
 |JSON|JavaScript Object Notation| 
 |NISO|National Information Standards Organization| 
 |NCIP|NISO Circulation Interchange Protocol| 
 |XML|The Extensible Markup Language| 
 |АБИС|Автоматизированная библиотечно-информационная система| 
 |БД|База данных| 

 h2. Приложение 1. Конфигурационный файл сервера приложений WildFly 

 h3. Источники данных 
 <pre><code class="xml"> 
 <subsystem xmlns="urn:jboss:domain:datasources:2.0"> 
   <datasources> 
     <datasource jta="false" jndi-name="java:jboss/datasources/ruslan" pool-name="ruslan" enabled="true" use-ccm="false"> 
       <connection-url>jdbc:oracle:thin:@oracle.test.org:1521/ORA11</connection-url> 
       <driver-class>oracle.jdbc.OracleDriver</driver-class> 
       <driver>ojdbc6.jar</driver> 
       <security> 
         <user-name>libmgr</user-name> 
         <password>libmgr_pwd</password> 
       </security> 
       <validation> 
         <validate-on-match>false</validate-on-match> 
         <background-validation>false</background-validation> 
       </validation> 
       <statement> 
         <share-prepared-statements>false</share-prepared-statements> 
       </statement> 
     </datasource> 
     <datasource jta="false" jndi-name="java:jboss/datasources/lib1" pool-name="lib1" enabled="true" use-ccm="false"> 
       <connection-url>jdbc:oracle:thin:@oracle.test.org:1521/ORA11</connection-url> 
       <driver-class>oracle.jdbc.OracleDriver</driver-class> 
       <driver>ojdbc6.jar</driver> 
       <security> 
         <user-name>lib1</user-name> 
         <password>lib1_pwd</password> 
       </security> 
       <validation> 
         <validate-on-match>false</validate-on-match> 
         <background-validation>false</background-validation> 
       </validation> 
       <statement> 
         <share-prepared-statements>false</share-prepared-statements> 
       </statement> 
     </datasource> 
   </datasources> 
 </subsystem> 
 </code></pre>