Версия 1.14.1
Авторские права © 2020, 2021, 2022, 2023, 2024 ООО "Открытые библиотечные системы"
В данном документе приведены общие сведения о компонентах серверной части AБИС "Руслан-Нео" . Описаны назначение, условия применения, решаемые задачи, входные и выходные данные.
Серверная часть "Руслан-Нео" предназначена для обеспечения доступа удалённых пользователей к ресурсам АБИС "Руслан-Нео". Удалёнными пользователями могут являться любые пользователи сервера приложений WildFly , на базе которого функционирует АБИС. Ресурсами АБИС "Руслан-Нео" являются коллекции записей (БД) и собственно записи, поддерживаемые сервером "Руслан-Нео". Доступ к ресурсам заключается в выполнении над ними следующих операций:
Программы серверной части могут функционировать на любых технических средствах под управлением сервера приложений WildFly версии 10.*.
Обязательными требованиями для выполнения программ серверной части являются:
наличие установленного статического модуля WildFly PicketLink версии 2.7.0.Final
наличие установленного статического модуля WildFly ModeShape версии 5.4.0.Final
Подсистема пакетных заданий АБИС "Руслан-Нео" реализуется на базе подсистемы пакетных заданий сервера приложений WildFly и соотетствует требованиям спецификации JSR-352: Batch Applications for the Java Platform.
Запуск пакетных заданий осуществляется следующими способами:
Контроль выполнения пакетных заданий может быть осуществлён при помощи Автоматизированного рабочего места администратора и журналов сервера приложений WildFly.
В таблице 3-1 представлены пакетные задания, их назначение, параметры (символом *
отмечены обязательные параметры) и примеры их значений.
Таблица 3-1. Пакетные задания АБИС "Руслан-Нео"
CopyRecords | |
Назначение | Копирование записей из одной БД в другую |
Параметры |
|
Пример параметров |
database=BOOKS dst=TEMP query=dc.title any "физика" |
DeleteAllRecordsFromDatabase | |
Назначение | Удаление всех записей из БД |
Параметры | |
Пример параметров |
database=BOOKS |
DeleteDatabase | |
Назначение | Удаление БД |
Параметры | |
Пример параметров |
database=BOOKS |
DeleteRecords | |
Назначение | Удаление записей из БД |
Параметры | |
Пример параметров |
database=BOOKS query=dc.title any "физика" |
ExportRecordsISO2709 | |
Назначение | Экспорт записей из БД в формате ISO 2709 |
Параметры |
|
Пример параметров |
database=BOOKS query=dc.title any "физика" url=ftp://user:password@host/path/to/file.iso |
ExportRecordsNative | |
Назначение | Экспорт записей из БД в формате хранения (XML) |
Параметры |
|
Пример параметров |
database=BOOKS query=dc.title any "физика" url=http://user:password@host/path/to/file.xml |
GenerateVisitRecords | |
Назначение | Создание записей на интервалы посещения отделов библиотеки |
Параметры |
|
Пример параметров |
database=VISITS url=file:///usr/share/rneo/visits.xml depth=7 |
ImportRecordsISO2709 | |
Назначение | Импорт записей в БД в формате ISO 2709 |
Параметры |
|
Пример параметров |
database=BOOKS syntax=1.2.840.10003.5.28.1 url=file:///path/to/file.iso |
ImportRecordsNative | |
Назначение | Импорт записей в БД в формате хранения (XML) |
Параметры |
|
Пример параметров |
database=BOOKS url=file:///path/to/file.xml |
ImportRecordsSystemView | |
Назначение | Импорт записей в БД в формате системного представления JCR |
Параметры | |
Пример параметров |
database=CIRC url=file:///path/to/file.xml |
IndexDatabase | |
Назначение | Индексирование записей БД |
Параметры |
|
Пример параметров |
database=BOOKS delay=1000 reindex=false |
JCRReindex | |
Назначение | Переиндексирование записей на уровне JCR |
Параметры | |
Пример параметров |
database=BOOKS |
MapACLPrincipal | |
Назначение | Замена идентификаторов субъектов в списках управления доступом (ACL) к БД в соответствии с таблицей отображения |
Параметры |
|
Пример параметров |
database=BOOKS map=file:///path/to/principalMap.properties |
Migrate | |
Назначение | Миграция и индексирование данных из АБИС "Руслан" |
Параметры |
|
Пример параметров |
source=java:jboss/datasources/19013582/lib |
MigrateACLs | |
Назначение | Миграция списков управления доступом БД АБИС "Руслан" |
Параметры |
|
Пример параметров |
source=java:jboss/datasources/19013582/mgr |
MigrateBibRecords | |
Назначение | Миграция данных из библиографических БД АБИС "Руслан" |
Параметры |
|
Пример параметров |
source=java:jboss/datasources/19013582/lib database=BOOKS maxVersions=2 |
MigrateDatabases | |
Назначение | Миграция структуры БД АБИС "Руслан" |
Параметры |
|
Пример параметров |
source=java:jboss/datasources/19013582/lib |
MigrateServiceRecords | |
Назначение | Миграция данных из служебных БД АБИС "Руслан" |
Параметры |
|
Пример параметров |
source=java:jboss/datasources/19013582/lib database=BILLS |
MigrateUsers | |
Назначение | Миграция пользователей и групп прав доступа АБИС "Руслан". Группы прав доступа АБИС "Руслан" отображаются в роли АБИС "Руслан-Нео". |
Параметры |
|
Пример параметров |
source=java:jboss/datasources/19013582/mgr addRoles=foo,bar,baz |
MoveRecords | |
Назначение | Перемещение записей из одной БД в другую |
Параметры |
|
Пример параметров |
database=BOOKS dst=TEMP query=dc.title any "физика" |
ReindexDatabase | |
Назначение | Переиндексирование записей в БД |
Параметры |
|
Пример параметров |
database=BOOKS query=dc.title any "физика" |
ReindexReferencedRecords | |
Назначение | Переиндексирование записей, на которые ссылаются другие записи |
Параметры |
|
Пример параметров |
database=CIRC dst=BOOKS.HOLDINGS query=rec.id>abcd |
ReindexReferencingRecords | |
Назначение | Переиндексирование записей, ссылающихся на другие записи |
Параметры |
|
Пример параметров |
database=BOOKS.HOLDINGS delay=2000 query=ruslan.circulationStatus=lost |
RemoveACEForPrincipal | |
Назначение | Удаление субъекта из списка управления доступом |
Параметры |
|
Пример параметров |
database=BOOKS principal=ruslan-user |
RemoveJCRProperty | |
Назначение | Удаление JCR-свойства из записи |
Параметры |
|
Пример параметров |
database=EBOOKS property=jcr:uuid query=rec.id=RU\\SPSTU\\edoc\\53043 |
RemoveVersions | |
Назначение | Удаление версий записей в соответствии с политикой хранения, определяемой бизнес-правилами модуля ruslan-retention-versions.drl |
Параметры |
|
RestoreVersions | |
Назначение | Восстановление содержимого записи до версии, созданной до определённого момента времени. Другими словами - откат изменений (удаление всех версий), сделанных после опредёлённого момента времени |
Параметры |
|
Пример параметров |
database=EBOOKS afterDate=2019-09-08T12:05:03Z query=rec.id=RU\\SPSTU\\edoc\\53043 |
UpdateLinkedRecords | |
Назначение | Обновление связанных библиографических и авторитетных записей |
Параметры |
|
Пример параметров |
origin=jcr:SUBSCR/ru\spstu\subscr4957 xslt=vfs:/content/rneo.ear/lib/rneo-util.jar/ UpdateLinkedRecords.xsl query=dc.relation="ru\\spstu\\subscr4957" |
UpdateOverdues | |
Назначение | Обновление сведений о количестве документов, срок возврата которых истёк, в записях на читателей |
Параметры | |
Пример параметров |
database=LUSR |
XSLTransformRecords | |
Назначение | Трансформация записей |
Параметры |
|
Пример параметров |
database=SERIAL.HOLDINGS query=ruslan.relatedBibliographic= "SERIAL/RU\\SPSTU\\books\\20083133" xslt=file:///usr/share/rneo/RelinkHoldings.xsl |
Миграция данных из АБИС "Руслан" осуществляется посредством выполнения следующих пакетных заданий:
Соответственно миграция может осуществляться по двум сценариям:
При объёме БД более 100000 записей рекомендуется осуществлять миграцию по второму сценарию, обеспечивающему большую управляемость процесса миграции. Кроме того, второй сценарий позволяет осуществлять одновременную миграцию библиографических и служебных БД (при одновременном выполнении заданий MigrateBibrecords и MigrateServiceRecords). Также следует заранее позаботиться о выделении серверу приложений WildFly достаточного количества оперативной памяти (не менее 8 ГБ при объёме БД более 400000 записей).
Ход процесса миграции можно контролировать при помощи Автоматизированного рабочего места администратора и журнала сервера приложений WildFly. По окончании процесса миграции данных следует проиндексировать БД. При аварийном завершении или ручной остановке задания его можно перезапустить и оно возобновится с того места, на котором было остановлено.
Миграцию нескольких БД одного типа (при указании параметра database
)
можно осуществлять только последовательно. Это означает, что одновременно можно запускать не более одного задания
MigrateBibrecords и не более одного задания MigrateServiceRecords.
Форматом хранения записей в АБИС "Руслан-Нео" является XML. Ниже приведёно DTD соответствующих документов XML.
<!ELEMENT record ((leader, field+) | (bibliographicRecord?, holdingsData?) | (tag+))> <!ATTLIST record syntax CDATA #REQUIRED> <!ELEMENT leader (length, status, type, leader07, leader08, leader09, indicatorCount, identifierLength, dataBaseAddress, leader17, leader18, leader19, entryMap)> <!ELEMENT length (#PCDATA)> <!ELEMENT status (#PCDATA)> <!ELEMENT type (#PCDATA)> <!ELEMENT leader07 (#PCDATA)> <!ELEMENT leader08 (#PCDATA)> <!ELEMENT leader09 (#PCDATA)> <!ELEMENT indicatorCount (#PCDATA)> <!ELEMENT identifierLength (#PCDATA)> <!ELEMENT dataBaseAddress (#PCDATA)> <!ELEMENT leader17 (#PCDATA)> <!ELEMENT leader18 (#PCDATA)> <!ELEMENT entryMap (#PCDATA)> <!ELEMENT field (#PCDATA | indicator | subfield)*> <!ATTLIST field id CDATA #REQUIRED> <!ELEMENT indicator (#PCDATA)> <!ATTLIST indicator id CDATA #REQUIRED> <!ELEMENT subfield (#PCDATA | field)*> <!ATTLIST subfield id CDATA #REQUIRED> <!ELEMENT tag (#PCDATA | tag)*> <!ATTLIST tag tagType CDATA #IMPLIED tagOccurrence CDATA #IMPLIED tagValue CDATA #REQUIRED>
Используются следующие идентификаторы форматов (атрибут syntax
):
1.2.840.10003.5.28.1
- RUSMARC библиографический;
1.2.840.10003.5.28.2
- RUSMARC авторитетный;
1.2.840.10003.5.105
- служебный.
Используются следующие идентификаторы схем служебных записей (элемент tag
c атрибутами tagType="1"
и tagValue="1"
):
1.2.840.10003.13.1000.148.1
- генератор;
1.2.840.10003.13.1000.148.2
- справочник;
1.2.840.10003.13.1000.148.3
- экземпляр документа;
1.2.840.10003.13.1000.148.4
- событие книговыдачи;
1.2.840.10003.13.1000.148.5
- акт списания;
1.2.840.10003.13.1000.148.6
- счёт поступлления;
1.2.840.10003.13.1000.148.7
- читатель;
1.2.840.10003.13.1000.148.8
- подписка;
1.2.840.10003.13.1000.148.9
- заказ на комплектование;
1.2.840.10003.13.1000.148.10
- список экземпляров;
1.2.840.10003.13.1000.148.11
- время и место посещения.
Логический набор классов, предназначенный для загрузки классов и управления зависимостями в сервере приложений WildFly .
См. также Module .
Модуль
WildFly
, установленный в каталоге
modules
сервера приложений
WildFly
.
Access Control List
Contextual Query Language
Document Type Definition
Java Content Repository
JavaScript Object Notation
National Information Standards Organization
Uniform Resource Locator
The Extensible Markup Language
Extensible Stylesheet Language Transformations
Автоматизированная библиотечно-информационная система
База данных
Система управления базами данных