Показаны сообщения с ярлыком Intalio. Показать все сообщения
Показаны сообщения с ярлыком Intalio. Показать все сообщения

среда, 9 июня 2010 г.

Удаление задач (PA - People Activity) после завершения процесса

Если вы еще не сталкивались со сложностью удаления активных форм (People Activity), то у Вас все еще впереди. По-умолчанию, если Ваш процесс завершается, то существующие активные формы не завершаются, а остаяются "висеть". Для операции удаления "подвисших" задач требуются некоторые пляски с бубном, которые я и собираюсь описать в данной статье.

Для удаления задач на понадобятся следующие сервисы (расположены в порядке использования):

1. TaskManagementService.wsdl

В данном сервисе нам понадобиться операция GetAvailableTasks. На самом деле очен интересная операция, если бы не www.github.com то я бы долго искал нужные параметры к этой операции.

Теперь подробнее о самой операции, а точне о ее параметрах:
- participantToken - идентификатор пользователя, из под которого мы будем запускать search задач, соответственно нужно, чтобы у этого пользователя был доступ к удаляемой форме.
- taskType - для нашего случа нужно использовать "PATask" - это People Activity task. Можно еще использовать PIPATask или Tasks. Но тогда буду другими и запросы, т.к. данные на выходе будут отличаться.
- subQuery - "T._state = TaskState.READY and T._instanceId='" в instanceId подставляем PID ($ode:pid) процесса из которого удаляем задачи. Т.е. строка будет выглядеть примерно так: "T._state = TaskState.READY and T._instanceId='3321'", где 3321 - PID процесса с задачами, которые надо удалить
- first - первая выводимая задача начальная задача
- max - максимальное выводимое число задач

2. InstanceManagement.wsdl
Операция delete:
- filter - "iid=3321", где 3321 - PID процесса с задачами, которые надо удалить

Операцией delete мы удаляем запущенный Instance процесса из ODE

3. CompleteTask.wsdl
Операция SkipTask:
- taskId - id задачи, берем из массива возвращенного операцией GetAvailableTasks. (Например: $tnsGetAvailableTasksResponseMsg.GetAvailableTasksResponse->task[*]->taskId
- participantToken - идентификатор пользователя

Операцие SkipTask мы "пропускаем" задачу и тем самым удаляем ее из Tempo

Через пару дней ыложу проект с примером.

Эту статью Вы можете прочитать на новом блоге

среда, 21 апреля 2010 г.

Использование сервисов и форм на загружаемых пулах.


Так выглядит загружаемый пул с пользовательской формой инициирующей процесс и сервисом, который получает данный от LDAP

Для тех, кто занимался моделирование процессов в Intalio|Designer до выхода 6-ой версии зачастую сталкивались с тем что в определенный момент из за большого количества сообщений от сервисов и форм делали диаграмму сложно читаемой. Начиная с 6-ой версии это неудобство было решено, теперь использовать загружаемый (executable) пул использовать для работы с формами и операциями сервисов. Таким образом можно больше не пользоваться незагружаемыми пулами (ну или почти неиспользовать).

Эту статью Вы можете прочитать на новом блоге 

среда, 10 февраля 2010 г.

Рекомендации

По-большому счету все перечисленные рекомендации имеют смысл для достаточно объемных процессов. Следовательно для процессов, которые могут разместиться на одном экране не обязательна градация по цветам, но я бы на Вашем месте взял бы правило распределение объектов по-различным папкам.

1. Папки
Старайтесь в проекте создавать отдельный папки различных объектов, например:
Diagrams - для диаграмм
Shemas - для схем данных
SQL - для SQL запросов
Forms - для форм
Services - для сервисов
и т.д.

Поверьте, в один прекрасный момент, когда ваша диаграмма станет достаточно объемной, а Вы не использовали папки поиск нужного объекта станет затруднителен.

2. Цветовая градация задач
На диаграмме старайтесь выделять цветом однотипные задачи. Т.е. например: задачи связанны с SQL-запросами выделяем зеленым цветом, задачи форм - синим и т.д.

Эту статью Вы можете прочитать на новом блоге 

вторник, 9 февраля 2010 г.

Шаг 1. Простой сервис

Для начала рассмотрим самый простой пример процесса. В нем не будет форм, а вызываться он будет из bpms-console, т.е. фактически это будет сервис. Данный пример будет рассмотрен очень подробно, дабы не повторяться во всех последующих.

Для использования примера, приложенного к данной статье Вам потребуется: Intalio|Server, Intalio|Designer и желательно установить MySQL Server и Apache LDAP. Как все это устанавливается описано у меня в блоге. В дальнейшем нам будет гораздо удобнее использовать все это вместе. Также если появятся вопросы, то я всегда буду рад ответить (если конечно же смогу :))

1. Создаем новый проект:
File->New->Intalio|Designer Busines Process Project2. Заполнение параметров процесса:
Project Name - Имя проекта
Server URL - http://localhost:8080/ode - если сервер установлен на локальной машине
http://serverName:8080/ode - если в качестве хоста используется отдыльный сервер

3. Создаем диаграмму
После того, как создан новый проект, требуется создать диаграмму, на которой будем "рисовать" наш процесс.
Правая клавиша мыши на папке в нашем проекте, куда хотим поместить нашу диаграмму, затем New->Busines Process Diagramm.
4. Рисуем процесс.
В результате у нас появится Диаграмма с одной задачей. На данной диаграмме и будем рисовать наш первый процесс.
После создания диаграммы у нас есть: один пул, в котором содержится одна задача. Этого недостаточно, т.к. данный процесс не имеет ни одного старта.

Запуск процесса требуется осуществить из другого пула, причем он должен быть неисполняемым. На следующем рисунке показано как создать пул (для того чтобы появилось меню, в котором создаем новый пул требуется щелкнуть мышкой по пустому месту на диаграмме и подождать секунду).
На рисунке красным кругом на диаграмме выделен пункт меню, который отвечает за создлание нового пула.

Слева от диаграммы расположена панель с вкладками "Process Explorer" и "Pallete". На вкладке "Palette" расположены все элементы нотации BPMN, каждый элемент несет свою функциональную нагрузку, об этом в следующих примерах.

Итак, новый пул создан, и переименован в "Service". Теперь нам нужно этот пул сделать неимполняемым. На следующей картике показано как это сделать. Для того чтобы появилось меню, требуется щелкнуть правой клавишей мыши на пуле.
В красном овале находтся собственно наша опция, которая сделает пул неисполняемым. после того как наш пул станет неисполняемым - прямоугольник, содержащий название пула станет темным.

Теперь добавим на неисполняемый пул Задачу. Сделать это можно перетащив с панели Palette объект Task на наш пул.

Эту статью Вы можете прочитать на новом блоге

понедельник, 8 февраля 2010 г.

Intalio: Шаг за шагом. Введение.

Как ранее упоминалось в анонсе блога ИТ блокнот /Николай Войнов/ начинаю писать цикл статей "Intalio: Шаг за Шагом". Думаю, что это будет достаточно полезно для практиков, а также для тех, кто еще в поиске системы автоматизации базнес-процессов.

В данных статьях будут рассматриваться примеры процессов. Также буду выложены сами процессы, которые Вы сможете запустить у себя локально. К процессам будет полное описание форм, маппинга. Также будут рассмотрены: использование сервиса LDAP, работа с MySQL, Интеграция с другими системами.

Для того, чтобы можно было использовать примеры выложенные у меня в блоге должны быть установлены:

  • Intalio|Server
  • Intalio|Designer
Желательно также установить:
  • Apache Directory (LDAP)
  • Mysql Server
Если не установить последние 2 пункта, то авторизация будет браться из XML-ника по-умолчанию, а в качестве СУБД будет использоваться Derby.
Ну что же - начало положено, теперь ждем в свет сами статьи.


Эту статью Вы можете прочитать на новом блоге

вторник, 22 декабря 2009 г.

Системные сервисы

http://localhost:8080/axis2/services/TokenService?wsdl (TokenService) -

http://localhost:8080/axis2/services/TaskManagementServices?wsdl (TaskManagementServices)

http://localhost:8080/ode/processes/TMP?wsdl (TMPService)

http://localhost:8080/ode/processes/completeTask?wsdl - (UIFWService) Работа сервиса аналогична нажатию кнопки "Complete"

http://localhost:8080/ode/processes/workflow/ib4p?wsdl (UserBusinessProcessService)

http://localhost:8080/axis2/services/RBACQueryService?wsdl - сервис работы с LDAP

http://localhost:8080/ode/processes/ProcessManagement?wsdl - работа с процессами, получение служебных данных

http://localhost:8080/ode/processes/InstanceManagement?wsdl - позволяет работать с Instances процессов (останов, удаление, ошибка...)


Запуск внешнего сервиса (созданного и задеплоинного с помощью Intalio)


Запуск отдеплоинного процесса через wsdl из другого процесса:
Отдеплоинные процессы находятся по адресу: http://localhost:8080/ode/axis2-admin/listService
чтобы скачать wsdl требуется выбрать нужный процесс, например EXTERNALSERVICE/external/ProcService/User/UserAndProcServiceForPortTypeProcessPlk и щелкнуть по нему левой клавишей мыши, в следствии этого мы переходим на wsdl процесса, затем правая калвиша мыши->исходный текст, затем сохраняем к себе на диск, затем импортируем (drag-and-drop), к себе в проект, и открывает его с помощью wsdl editor, затем правим пути, например вот так:
было:
EXTERNALSERVICE/external/ProcService/User/UserAndProcServiceForPortTypeProcessPlk
стало:
UserAndProcServiceForPortTypeProcessPlk
после этого берем *.xsd которые требуются для проекта, они указаны в нашем wsdl вот так:
EXTERNALSERVICE/external/ProcService/User/UserAndProcServiceForPortTypeProcessPlk?xsd=xsd0, на самом деле *.xsd находится по адресу:
http://localhost:8080/ode/processes/EXTERNALSERVICE/external/ProcService/User/UserAndProcServiceForPortTypeProcessPlk?xsd=xsd0, переходим по этой ссылке и открываем исходный текст, затем сохраняем рядом с нашим wsdl (чтобы не потерять ;)), так делаем везде где имеются ссылки на *.xsd. После выполнения этой процедуры копируем к себе в проект эти файлы (*.xsd). Теперь надо поменять пути *.xsd на имена наших файлов *.xsd, которые мы скопировали в проект. Теперь можно работать с этим wsdl.

Cleanup или чистка базы


Cleanup в Intalio предлагается только в Entrprise Edition. Причем дастаточно просто поставить галочки какие данные стоит чистить, а какие нет.
В Community Edition эта функция тоже присутствет, только «включать» ее надо в ручную. Для включения опций Cleaup требуется внести изменения в файле Имя_Проекта/build/Diagramm/имя_процесса.deploy.

Пример deploy-файла с различными опциями Cleanup'а (выделено красным):
<?xml version='1.0' encoding='utf-8'?>
<dd:process xmlns:dd="http://www.apache.org/ode/schemas/dd/2007/03" xmlns:diag="http://example.com/Diagramm/Workers" xmlns:SmenaSrokovManager="http://example.com/Forms/SmenaSrokovManager/xform" xmlns:tns="http://www.example.org/SmenaSrokovManag" xmlns:PoolManager="http://example.com/Diagramm/Workers/PoolManager" xmlns:ProjectManagerManager="http://example.com/Diagramm/Workers/ProjectManagerManager" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:this="http://example.com/Diagramm/Workers/PoolSmenaSrokovManagers" xmlns:SmenaSrokovManager1="http://example.com/Forms/SmenaSrokovManager/xform/attachments" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="this:PoolSmenaSrokovManagers" fileName="Diagramm/Workers-PoolSmenaSrokovManagers.bpel">
<dd:property name="PATH">Diagramm/Workers
<dd:property name="SVG">Diagramm/Workers.svg
<dd:provide partnerLink="wFmagic_uFoG2GCtEd6u85fNa6AV5gPlkVar">
<dd:service name="this:WFmagic_uFoG2GCtEd6u85fNa6AV5gService" port="PoolSmenaSrokovManagers_for_ProjectManagerManagerForThePortTypeProcessPort"></dd:service>
</dd:provide>
<dd:invoke partnerLink="wFmagic_uFoG2GCtEd6u85fNa6AV5gPlkVar">
<dd:service name="SmenaSrokovManager:WorkflowSoapService" port="xformPort"/>
</dd:invoke>
<dd:provide partnerLink="poolSmenaSrokovManagersAndPoolManagerPlkVar">
<dd:service name="this:CanonicServiceForPoolManager" port="canonicPort"></dd:service>
</dd:provide>
<dd:invoke partnerLink="poolSmenaSrokovManagersAndPoolManagerPlkVar">
<dd:service name="PoolManager:CanonicServiceForPoolSmenaSrokovManagers" port="canonicPort"/>
1. Очистка по выполнению========================================================
<dd:cleanup on="success">
<dd:category>events (очистка таблицы событий)
<dd:category>messages (очистка сообщений)
<dd:category>instance (очистка Instance процессов)
<dd:category>variables (Очистка переменных процесса)
<dd:category>correlations (Очистка корреляций)
<dd:category>all (Очистка всех данных процесса)
</dd:cleanup>
2. Очистка по ошибке============================================================
<dd:cleanup on="failure">
<dd:category>events (очистка таблицы событий)
<dd:category>messages (очистка сообщений)
<dd:category>instance (очистка Instance процессов)
<dd:category>variables (Очистка переменных процесса)
<dd:category>correlations (Очистка корреляций)
<dd:category>all (Очистка всех данных процесса)
</dd:cleanup>
3. Очистка всегда===============================================================
<dd:cleanup on="always" />
</dd:process>

Если требуется очищать все данные, то следует оставить только All. Остальные параметры можно варьировать. Оставлять по завершению процесса (в случае хранения данных непосредственно в переменных процесса) желательно только Instances и Variables. Остальные требуется чистить, чтобы избежать разрастания базы данных.

Ограничение записи событий в базу Intalio


Для снижения записи событий требуется в файл Имя_Проекта/build/Diagramm/имя_процесса.deploy добавить следующие строки (выделены красным):

<?xml version='1.0' encoding='utf-8'?>
<dd:process xmlns:dd="http://www.apache.org/ode/schemas/dd/2007/03" xmlns:diag="http://example.com/Diagramm/Workers" xmlns:SmenaSrokovManager="http://example.com/Forms/SmenaSrokovManager/xform" xmlns:tns="http://www.example.org/SmenaSrokovManag" xmlns:PoolManager="http://example.com/Diagramm/Workers/PoolManager" xmlns:ProjectManagerManager="http://example.com/Diagramm/Workers/ProjectManagerManager" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:this="http://example.com/Diagramm/Workers/PoolSmenaSrokovManagers" xmlns:SmenaSrokovManager1="http://example.com/Forms/SmenaSrokovManager/xform/attachments" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="this:PoolSmenaSrokovManagers" fileName="Diagramm/Workers-PoolSmenaSrokovManagers.bpel">
<dd:property name="PATH">Diagramm/Workers
<dd:property name="SVG">Diagramm/Workers.svg
<dd:provide partnerLink="wFmagic_uFoG2GCtEd6u85fNa6AV5gPlkVar">
<dd:service name="this:WFmagic_uFoG2GCtEd6u85fNa6AV5gService" port="PoolSmenaSrokovManagers_for_ProjectManagerManagerForThePortTypeProcessPort"></dd:service>
</dd:provide>
<dd:invoke partnerLink="wFmagic_uFoG2GCtEd6u85fNa6AV5gPlkVar">
<dd:service name="SmenaSrokovManager:WorkflowSoapService" port="xformPort"/>
</dd:invoke>
<dd:provide partnerLink="poolSmenaSrokovManagersAndPoolManagerPlkVar">
<dd:service name="this:CanonicServiceForPoolManager" port="canonicPort"></dd:service>
</dd:provide>
<dd:invoke partnerLink="poolSmenaSrokovManagersAndPoolManagerPlkVar">
<dd:service name="PoolManager:CanonicServiceForPoolSmenaSrokovManagers" port="canonicPort"/>
</dd:invoke>
1.Избирательная запись собыий ==================================================
<dd:process-events>
//Данные по состоянию процесса (чтобы можно ло отледить в какой стадии сейчас нах-ся процесс)
<dd:enable-event>activityLifecycle
//событийные данные по изменению данных процесса (не нужно, оставил только первое)
<dd:enable-event>dataHandling
</dd:process-events>
2.Запись всех событий ==========================================================
//Писать все события
&lt;dd:process-events generate="all"/>
3.Отключить запись всех событый=========================================================================
//Не писать события вообще
<dd:process-events generate="none"/>
================================================================================
</dd:process>
Выше приведен пример deploy-файла с 3-я видами настроек (на практике требуется оставить только один) для записи событий.

Deadlock в базе движка Intalio (MySql)

Из за интенсивной записи в базу MySql происходили Deadlock'и. Данную проблему получилось решить с помощью обновления MySql до версии 5.1.38-community.

Также пришлось подправить настройки MySql (my.cnf):
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer_size = 256M
max_allowed_packet = 150M
table_cache = 8192
sort_buffer_size = 32M
read_buffer_size = 32M
join_buffer_size = 32M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 64M
query_cache_limit=8M
tmp_table_size=512M
thread_concurrency = 8
table_cache = 8192
default-character-set=utf8
server-id = 1

innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:2000M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_buffer_pool_size = 1300M
innodb_additional_mem_pool_size = 64M
innodb_log_files_in_group = 3
innodb_log_file_size = 125M
innodb_thread_concurrency=8
innodb_log_buffer_size = 32M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
#Lock mode (самый быстрый режим блокировок)
innodb_autoinc_lock_mode = 2

[mysql]
default-character-set=utf8
no-auto-rehash

[mysqlhotcopy]
interactive-timeout

Красным цветом выделена именно та настройка, которая позволяет избавиться от блокировок, вызванных AUTO-INC

Эту статью Вы можете прочитать на новом блоге

вторник, 1 сентября 2009 г.

Настройка Intalio|Server 5 CE на MySql

Пример настройки Intalio|Server 5 CE на MySql:
1. Для выбора базы данных необходимо изменить файл geronimo-ds.xml находящийся в папке [Intalio server]/databases/MySQL следующим образом:

<config-property-setting name="Driver">com.mysql.jdbc.Driver</config-property-setting>
<config-property-setting name="UserName">UserName</config-property-setting>
<config-property-setting name="Password">Password</config-property-setting>
<config-property-setting name="ConnectionURL">jdbc:mysql://localhost:3306/intalio</config-property-setting>

2. Требуется создать БД например с именем Intalio, и выполнить следующий скрипт:
mysql -u User -p Password <>
Скрипт bpms.sql находится тут: [IntalioServer]/databases/MySQL-5
После выполнения скрипта - в БД Intalio будут созданы таблицы.


3. Затем выполнить команду:
% ./deploy.sh --offline redeploy ../repository/org/tranql/tranql-connector-ra/1.3/tranql-connector-ra-1.3.rar ../databases/MySQL/geronimo-ds.xml

4. После вышеприведенных действий требуется удалить все файлы *.deployed и презагрузить Intalio|Server, а затем запустить Intalio|Server. Intalio|Server автоматически после удаления передеплоит ваши процесы.

Файлы *.deployed находятся в следующих папках:
[Intalio|Server]/var/processes
[Intalio|Server]/var/deploy

После данных действий Ваш Intalio|Server начнет использовать MySql базу.
сылка на сайт:
http://bpms.intalio.com/reference-guides/intalio-bpms-server-installing-with-mysql-5.0-version-5.0.html

Эту статью Вы можете прочитать на новом блоге

среда, 19 августа 2009 г.

Свершилось!!! Запуск процесса Intalio.

Наконец-то, после долгого проектирования состоялся запуск процесса, отвечающего за одну из наиболее масштабных и частых задач. Позднее чуть более подробно распишу про сам процесс и про про то как реализовано.
Процесс отвечает за работу:
- заказчиков
- руководителей заказчиков
- проджект менеджера
- исполнителей задания

Эту статью Вы можете прочитать на новом блоге 

понедельник, 17 августа 2009 г.

Intalio - как отправить e-mail

Ниже приведен пример настройки сервера для использования почтового сервиса. Данная настройка позволит отправляь почту, но в нем нет возможности отправлять вложенные файлы. Немного позже выложу инфу о том, как отправлять файлы с вложениями.

Для того, чтобы загрузить сервис EmailHTMLService.aar необходимо его скачать:

Загрузка “EmailHTMLServiceWS.aar” в Axis2:
1. Убедиться что Intalio-bpms Server уже запущен.
2. Открыть веб-браузер и перейти по ссылке http://[Intalio|Server]:8080/axis2/.
3. Щелкнуть по Administration
4. Ввести имя и пароль:
Login: admin
Password: axis2
5. Нажать Upload Service
6. Щелкнуть Available Services и убедиться что сервис EmailHTMLServiceWS в списке присутствует
7. Щелкаем по сервису EmailHTMLServiceWS и загружаем его, после чего сохраняем (с расширением *.wsdl) в дальнейшем его можно будет использовать в различных проектах.

Требования для работы e-mail сервиса:
1. Скачать с официального сайта «Sun Microsystems» - http://java.sun.com/products/javamail/downloads/index.html архивы «jaf-1_1_1.zip» и «javamail-1_4_1.zip».
2. Из архивов «jaf-1_1_1.zip» и «javamail-1_4_1.zip» взять java архивы:
activation.jar ( jaf-1_1_1.zip)
mail.jar (javamail-1_4_1.zip)
dsn.jar (javamail-1_4_1.zip)
imap.jar (javamail-1_4_1.zip)
mailapi.jar (javamail-1_4_1.zip)
pop3.jar (javamail-1_4_1.zip)
smtp.jar (javamail-1_4_1.zip)
скопировать их в папку: Java\Jdk1.6.0_07[текущая версия уставленного Jdk в системе]\jre\lib\ext
3. Скопировать MailConfig.inf server_bpms\bin\
Содержание MailConfig.inf:
from=epopov@lavtech.ru (адрес с которого будет отправляться почта)
host=localhost (хост)
user=epopov (имя пользователя)
password=
4. В файл /usr/share/intalio-bpms-5.2.0.050/var/config/config-substitutions.properties добавить:
SMTPPort=25
5. Если в usr/share/intalio-bpms-5.2.0.050/var/config/config.xml были изменены строки на:

<module load="false" name="org.apache.geronimo.configs/javamail/2.0.1/car">
<gbean name="SMTPTransport">
<attribute name="host">servername</attribute>
<attribute name="port">25</attribute>
</gbean>
</module>

Тогда изменить на:

<module load="false" name="org.apache.geronimo.configs/javamail/2.0.1/car">
<gbean name="SMTPTransport">
<attribute name="host">localhost</attribute>
<attribute name="port">25</attribute>
</gbean>
</module>
5. Перезагрузить сервер.

PS: SENDEMAIL_OK — папка с файлами для проекта и правленными config.xml, MailConfig.inf, config-substitutions.properties.

12. Для отправки почты на русском языке надо прописать в Mapper'e "plain; charset=utf-8" к полю wsdl SendEmail Type.

Эту статью Вы можете прочитать на новом блоге

суббота, 15 августа 2009 г.

Проблемы с русским языков в Apache LDAP

Проблема русского языка в Apache LDAP:
В Apache Directory имеется присутствует проблема при использовании русского языка в полях. это выглядит следующим образом: Аутентификация проходит, но при попытке стартануть таск, Intalio выдает ошибку Error Send Request. Проблема решена с помощью использования только больших русских букв.

Эту статью Вы можете прочитать на новом блоге

четверг, 13 августа 2009 г.

Создание Directtory для Intalio с помощью Apache Directory Studio

Для того, чтобы создать подключение к серверу, нужно создать connection, приведен пример на след рисунке: Далее приведен пример настройки подключения:
Connection name: имя подключения
Hostname: имя хоста, на котором находится сервер LDAP ApacheDS
Port: Номер порта, по которому располагаться LDAP сервер
Затем, проверяем правильность параметров — Check Network Parameter, если все настроено правильно появиться следующее сообщение:
После того как настроены Network Parameters надо настроить Аутентификацию (Authentication):
Authentication Method: Simple Authentication
Bind DN or user: uid=admin, ou=system
Bind password: secret
Для того, чтобы проверить корректность настройки следует нажать Check Authentication, если после нажатия появиться следующее сообщение, то настройка выполнена верно, и далее можно продолжать работать с сервером (создавать пользователей, роли, права и т.д.)
Добавление домена в Root Directory (там будем заводить пользователей и роли):

Для того, чтобы добавить домен, следует нажать правую клавишу мыши на Root DSE, в открывшемся меню затем надо выбрать «New context entry», затем ставим флажок «Create Entry from scratch» и нажимаем кнопку «Next». Затем в окне «Available object classes» находим «domain», выбираем его и нажимаем на кноку «Add» и жмем опять кнопку «Next». В следующем заполняем окне заполняем «Please enter the DN of the context entry», где ставим параметр «dc=idirectory». В результате этих операций у нас появляется домен «dc=idirectory».
Следующим этапом идет создание ролей и пользвателей. Пользователи и роли создаются в dc=idirectory (dc — domain controller), а именно в ou=Users — Пользователи, а в ou=Roles — роли (ou — organization unit) (Users и Roles названы так, потому что они прописаны в ldap.properties, их можно изменить на другие значения в случае необходимости).

Создание ou=Users
Для того чтобы создать ou=Users, требуется выполнить следующее:
1.устанавливаем курсор на dc=idirectory
2.нажимаем правую клавишу мыши и выбираем «New entry»
3.Выбираем object class — organizationalUnit, нажимаем «Add», затем нажимаем «Next»
4.Следующее окно запоняется в соответствии со следующим рисунком:
После заполнения нажимаем кнопку «Next».
1.В следующем окне нажимаем «Finish», т.к. других объектов нам добавлять не требуется.
На этом заканчивает создание ou=Users

Создание ou=Roles
Роли создаются аналогично ou=Users

Создание пользователя (cn=Anna)
cn — Common Name
1. Нажимаем правой клавишей мыши на ou=Users, затем в появившемся меню выбираем «New entry»
2. Выбираем «Create entry from scratch», нажимаем «Next»
3. В следующем окне выбираем Object Class — organizationalPerson, нажимаем «Add», затем «Next»
4. Следующее окно запоняется в соответствии со следующим рисунком:
После заполнения нажимаем кнопку «Next».
5. В появившемся окне требуется добавить новый аттрибут — такой как userPassword, в него следует ввести пароль пользователя. Атрибуты cn, sn = Anna (Anna - \то пример в данном случае, имя пользователя).
6. После завершения всех операций нажимаем «Finish».
Таким образом пользователь создан.

Создание роли (cn=BI)
1. Нажимаем правой клавишей мыши на ou=Users, затем в появившемся меню выбираем «New entry»
2. Выбираем «Create entry from scratch», нажимаем «Next»
3. В следующем окне выбираем Object Class — groupOfUniqueNames, нажимаем «Add», затем «Next»
4. Следующее окно запоняется в соответствии со следующим рисунком:

После заполнения нажимаем кнопку «Next».
5. В атрибуте uniquemember пишем слудующее: «cn=Anna,ou=Users,dc=idirectory». Если требуется одной роли назначить несколько uniquemember, то следует добавить этот аттрибут неоходимое количество раз.
6. Затем нажимаем «Finish».

Теперь можно логинится в Intalio UI-FW и пользоваться аутентификацией через LDAP Apache Directory.
Эту статью Вы можете прочитать на новом блоге 

Настройка аутентификациии Intalio. LDAP.

Настройка Intalio на LDAP Apache Directory.
В Community Edition есть одна особенность при подключении к LDAP - нет возможности подключится к Active Directory. Весьма странно т.к. используется протокол LDAP. Подключение к Active Directory присутствует в Enterprise Edition.

Настройка Intalio|Server на Apache LDAP
1. Требуется скачать ApacheDS (Apache Directory Server) с http://directory.apache.org, затем его установить на Linux сервере.
2. Для удобного использования всех "прелестей" Apache LDAP качаем с http://directory.apache.org клиента Apache Directory Studio.
3. После установки Apache LDAP надо запустить сервер LDAP (Пример: >sudo /etc/rc.d/init.d/apacheds-1.5.4-company start). Останов сервера LDAP - >sudo /etc/rc.d/init.d/apacheds-1.5.4-company stop.
4. Затем после установки и старта сервера LDAP требуется настроить Intalio|Server на LDAP. Делается это следующим образом:
в файле [Intalio Server]/var/config/securityConfig.xml следует раскоментировать часть кода, которая выделена зеленым цветом (настройка аутентификации через LDAP), а ту часть, которая выделена красным цветом (это настройки аутентификации которые используют security.xml в качесте хранилища данных аутентификации) следует закоментировать.

[Intalio Server]/var/config/securityConfig.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!--
Copyright (c) 2005-2006 Intalio inc.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html

Contributors:
Intalio inc. - initial API and implementation
-->
<beans>

<bean id="realms" class="org.intalio.tempo.security.impl.Realms">
<property name="defaultRealm" value="intalio"/>
<property name="securityProviders">
<list>
<ref bean="securityProvider"/>
</list>
</property>
</bean>

<!-- <bean id="securityProvider" class="org.intalio.tempo.security.simple.SimpleSecurityProvider" init-method="init">
<property name="configFile">
<value>${org.intalio.tempo.configDirectory}/security.xml</value>
</property>
</bean>-->

<!-- Uncomment this section (and comment the above SimpleSecurityProvider) to enable LDAP support -->
<bean id="securityProvider" class="org.intalio.tempo.security.ldap.LDAPSecurityProvider">
<property name="propertiesFile">
<value>${org.intalio.tempo.configDirectory}/ldap.properties</value>
</property>
</bean>

<bean id="tokenHandler" class="org.intalio.tempo.security.impl.TokenHandler">
<property name="secret"><value>mySecret</value></property>
</bean>

<bean id="tokenService" class="org.intalio.tempo.security.impl.TokenServiceImpl">
<property name="realms"><ref bean="realms"/></property>
<property name="tokenHandler"><ref bean="tokenHandler"/></property>
</bean>

</beans>

5. Теперь нужно произвести настройки в файле [Intalio Server]/var/config/LDAP.properties. В нем требуется прописать настройки нашего LDAP сервера:

[Intalio Server]/var/config/LDAP.properties:
(Зеленым выделены места изменения настроек)
#
# Configuration for Apache Directory Server
#

#
# The ULR for the LDAP Server
# The default is 'ldap=://localhost:389/'.
#URL Ldap сервера
java.naming.provider.url=ldap://localhost:10389

#
# The user of the LDAP Server connection
# For example: 'cn=Directory Manager'.
#Пользователь, который используется для подключения к LDAP
#изменять его не требуется
java.naming.security.principal=uid=admin,ou=system

#
# The credentials or password of the connection
# For example: 'password'.
#Пароль для вышеприведенного пользователя
java.naming.security.credentials=secret

#
# Authetication method to connect to the LDAP Server
# The default is 'simple'.
#
java.naming.security.authentication=simple

#
# The supported realm(s) for the directory. The properties
# list name of the realm, and the base DN separated by a
# colon (':')
# For example: 'airrus:dc=airrus,dc=com'.
#контроллер домена idirectory можно создать в apach directory studio
security.ldap.realm.0=intalio:dc=idirectory

#
# The ldap factory for the directory service
# The default is 'com.sun.jndi.ldap.LdapCtxFactory'.
# (without quotes, same below)
#
java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory

#
# The user's sub-context
# For example: 'ou=People', if people belongs to
# 'ou=People'
#Место где будут находится наши пользователи (создаем в Apache Directory Studio)
security.ldap.user.base=ou=Users

#
# The role or group's sub-context
# For example: 'ou=Roles', if roles belongs to
# 'ou=Roles'.
#Роли наших пользователей
security.ldap.role.base=ou=Roles

#
# An LDAP attribute name that identifies an user
# For example: 'uid'.
#Аттрибут для индентификации пользователей
security.ldap.user.id=cn

#
# The LDAP attribute name that identifies a role
# For example: 'cn'.
#
#Аттрибут для индентификации ролей пользователей
security.ldap.role.id=cn

#
# The LDAP attribute name that references a role's ascendants
# If this attribute is specified, leave 'security.ldap.role.descen' out
# For example, if standard Role is used for access control, specify
# 'nsRoleDN' or a corresponding attribute of the particular server,
# and leave out security.ldap.role.descen properties.
#
#security.ldap.role.ascen=nsRoleDN

#
# The LDAP attribute name that references a role's descendants or members.
# If this attribute is specified, leave security.ldap.role.ascen out.
# For example, if Group is used for access control, specify 'member'
# or a corresponding attribute of the particular server, and leave out
# security.ldap.role.ascen
#
#security.ldap.role.descen=uniquemember

#
# The LDAP attribute name of an user object that references the user's roles
# For example, 'nsRoleDN'.
#
#security.ldap.user.roles=nsRoleDN

#
# The LDAP attribute name of a role (or group) that references the role's
# users.
# For example, 'uniquemember'.
#Аттрибут для пользователей роли
security.ldap.role.users=uniquemember

#
# The attribute name of an user's calculated effective roles.
# If Role is used, specify 'nsRole' or a corresponding attribute
# of the particular server. For Group with Active Directory,
# specify 'memberOf'. If unsure, leaves it out
#
#security.ldap.user.allroles=nsRole

#
# The permissions' sub-context
# For example, 'ou=Permission'.
#
security.ldap.perm.base=ou=Permission

#
# The LDAP attribute name of a role that references permission objects
# For example: 'permissions'.
#
security.ldap.role.perms=permission

#
# The LDAP attribute of permission object that reference the permission's
# roles or groups
# For example: 'nsRoleDN'.
#
#security.ldap.perm.roles=nsRoleDN

#
# The LDAP attribute of permission object that references the permission's
# protected resources.
# For example: 'resource'.
#
security.ldap.perm.objects=resource

#
# The LDAP attribute name that identifies a permission object
# For example, 'cn'.
#
security.ldap.perm.id=cn

#
# The LDAP attributes names of an user's credentials or passwords
# of the user.
# Format: 'ldap property:alias'
# For example, 'userPassword:password'.
#
security.ldap.user.credential.0=userPassword:password
#security.ldap.user.credential.1=userCertificate

#
# The LDAP attribute names of an user
# Format: 'ldap property:alias'
#
security.ldap.user.prop.0=cn
security.ldap.user.prop.1=ou
security.ldap.user.prop.2=objectclass:objectclass
security.ldap.user.prop.3=sn
security.ldap.user.prop.4=givenname:givenname
security.ldap.user.prop.5=mail:email
security.ldap.user.prop.6=:uid
security.ldap.user.prop.7=l:streetaddress
security.ldap.user.prop.8=roomNumber:roomnumber
security.ldap.user.prop.9=nsrole:nsrole
security.ldap.user.prop.10=nsroledn:nsroledn
security.ldap.user.prop.11=telephoneNumber:phone
#Красным выделены аттрибуты, которые были созданы вручную
security.ldap.user.prop.12=myMail

security.ldap.user.prop.13=bossMail
security.ldap.user.prop.14=zFIO
security.ldap.user.prop.15=TopManMail
security.ldap.user.prop.16=MarketingMail
security.ldap.user.prop.17=ProjectManagerMail

#
# The LDAP atrribute names of a role or group
# Format: 'ldap property:alias'
#
security.ldap.role.prop.0=cn:cn
security.ldap.role.prop.1=ou:ou
security.ldap.role.prop.2=ObjectClass:objectclass
security.ldap.role.prop.3=uniquemember:member

Таким образом, меняем на свои значения только те значения, коорые выделены зеленым цветом. Красным выделены аттрибуты, созданные вручную в Apache LDAP, в поставке Intalio|Server в данном файле их нет - они добавляются вручную по мере необходимости.

6. Продолжаем настройку LDAP сервера.
Путь к настройкам LDAP сервера:
/etc/rc.d/init.d/apacheds-1.5.4-company в этом файле находится путь по которому находятся настройки

INSTANCE_HOME="/var/lib/apacheds-1.5.4"
APACHEDS_HOME="/opt/apacheds-1.5.4"
INSTANCE="company"

INSTANCE_HOME/INSTANCE ― ПУТЬ к настройкам

/opt/apacheds-1.5.4/conf/apacheds.conf — файл с путем по нижней строчке точно также можно определить путь
wrapper.app.parameter.3=%INSTANCE_HOME%/%INSTANCE%/conf/server.xml

Продолжаем настройку LDAP сервера:
Для окончательной настройки LDAP сервера необходимо произвести небольшие изменения в файле настроек /var/lib/apacheds-1.5.4/company/conf/server.xml

Изменения выделены зеленым цветом:
<!-- Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->


<spring:beans xmlns:spring="http://xbean.apache.org/schemas/spring/1.0"
xmlns:s="http://www.springframework.org/schema/beans"
xmlns="http://apacheds.org/config/1.0">

<defaultDirectoryService id="directoryService" instanceId="default"
<!-- рабочая директория, т.е. то место где будут располагаться данные Directory-->
workingDirectory="idirectory"

allowAnonymousAccess="true"
accessControlEnabled="false"
denormalizeOpAttrsEnabled="false">
<systemPartition>
<!-- use the following partitionConfiguration to override defaults for -->
<!-- the system partition -->
<jdbmPartition id="system" cacheSize="100" suffix="ou=system" optimizerEnabled="true" syncOnWrite="true">
<indexedAttributes>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.1" cacheSize="100"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.2" cacheSize="100"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.3" cacheSize="100"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.4" cacheSize="100"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.5" cacheSize="10"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.6" cacheSize="10"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.7" cacheSize="10"/>
<jdbmIndex attributeId="ou" cacheSize="100"/>
<jdbmIndex attributeId="uid" cacheSize="100"/>
<jdbmIndex attributeId="objectClass" cacheSize="100"/>
</indexedAttributes>
</jdbmPartition>
</systemPartition>

<partitions>
<!-- NOTE: when specifying new partitions you need not include those -->
<!-- attributes below with OID's which are the system indices, if left -->
<!-- out they will be automatically configured for you with defaults. -->
<!--(DC=IDIRECTORY ― доменное имя - верхний уровень directory)-->
<jdbmPartition id="idirectory" cacheSize="100" suffix="dc=idirectory" optimizerEnabled="true"
syncOnWrite="true">
<indexedAttributes>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.1" cacheSize="100"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.2" cacheSize="100"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.3" cacheSize="100"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.4" cacheSize="100"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.5" cacheSize="10"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.6" cacheSize="10"/>
<jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.7" cacheSize="10"/>
<jdbmIndex attributeId="dc" cacheSize="100"/>
<jdbmIndex attributeId="ou" cacheSize="100"/>
<jdbmIndex attributeId="krb5PrincipalName" cacheSize="100"/>
<jdbmIndex attributeId="uid" cacheSize="100"/>
<jdbmIndex attributeId="objectClass" cacheSize="100"/>
</indexedAttributes>
</jdbmPartition>
</partitions>

<interceptors>
<normalizationInterceptor/>
<authenticationInterceptor/>
<aciAuthorizationInterceptor/>
<defaultAuthorizationInterceptor/>
<exceptionInterceptor/>
<operationalAttributeInterceptor/>

<!-- Uncomment to enable the password policy interceptor
<passwordPolicyInterceptor/>
<keyDerivationInterceptor/>
-->

<schemaInterceptor/>
<subentryInterceptor/>
<collectiveAttributeInterceptor/>
<eventInterceptor/>
<triggerInterceptor/>

<!-- Uncomment to enable replication interceptor
<replicationInterceptor>
<configuration>
<replicationConfiguration serverPort="10390" peerReplicas="instance_b@localhost:10392">
<replicaId>
<replicaId id="instance_a"/>
</replicaId>
</replicationConfiguration>
</configuration>
</replicationInterceptor>
-->
</interceptors>
</defaultDirectoryService>

<standardThreadPool id="standardThreadPool" maxThreads="8"/>
<datagramAcceptor id="datagramAcceptor" logicExecutor="#standardThreadPool"/>
<socketAcceptor id="socketAcceptor" logicExecutor="#standardThreadPool"/>

<!-- missing atou=users,dc=example,dc=com
<changePasswordServer ipPort="60464">
<directoryService>#directoryService</directoryService>
<datagramAcceptor>#datagramAcceptor</datagramAcceptor>
<socketAcceptor>#socketAcceptor</socketAcceptor>
</changePasswordServer>
-->
<!-- missing atou=users,dc=example,dc=com
<kdcServer ipPort="60088">
<directoryService>#directoryService</directoryService>
<datagramAcceptor>#datagramAcceptor</datagramAcceptor>
<socketAcceptor>#socketAcceptor</socketAcceptor>
</kdcServer>
-->
<ntpServer ipPort="60123">
<datagramAcceptor>#datagramAcceptor</datagramAcceptor>
<socketAcceptor>#socketAcceptor</socketAcceptor>
</ntpServer>
<!-- missing atou=users,dc=example,dc=com
<dnsServer ipPort="8053">
<directoryService>#directoryService</directoryService>
<datagramAcceptor>#datagramAcceptor</datagramAcceptor>
<socketAcceptor>#socketAcceptor</socketAcceptor>
</dnsServer>
-->

<ldapService id="ldapsService"
enabled="true"
ipPort="10636"
enableLdaps="true">
<directoryService>#directoryService</directoryService>
<socketAcceptor>#socketAcceptor</socketAcceptor>
</ldapService>


<ldapService id="ldapService"
<!--(порт на котором будет работать LDAPserver)-->
ipPort="10389"
<!--(Анонимный дотуп отключен)-->
allowAnonymousAccess="false"
<!--(Пока понятия не имею что это ― но должно быть так - разобраться!!!)-->
saslHost="ldap.idirectory"
saslPrincipal="ldap/ldap.idirectory@IDIRECTORY <mailto:ldap/ldap.idirectory@IDIRECTORY>"
(место поиска как понял пользователя LDAP Server)-->
searchBaseDn="ou=users,ou=system"

maxTimeLimit="15000"
maxSizeLimit="1000">

<directoryService>#directoryService</directoryService>
<socketAcceptor>#socketAcceptor</socketAcceptor>

<!-- The list of supported authentication mechanisms. -->
<saslMechanismHandlers>
<simpleMechanismHandler mech-name="SIMPLE"/>
<cramMd5MechanismHandler mech-name="CRAM-MD5" />
<digestMd5MechanismHandler mech-name="DIGEST-MD5" />
<gssapiMechanismHandler mech-name="GSSAPI" />
<ntlmMechanismHandler mech-name="NTLM" ntlmProviderFqcn="com.foo.Bar"/>
<ntlmMechanismHandler mech-name="GSS-SPNEGO" ntlmProviderFqcn="com.foo.Bar"/>
</saslMechanismHandlers>

<!-- The desired quality-of-protection, used by DIGEST-MD5 and GSSAPI. -->
<saslQop>
<s:value>auth</s:value>
<s:value>auth-int</s:value>
<s:value>auth-conf</s:value>
</saslQop>

<!-- The realms serviced by this SASL host, used by DIGEST-MD5 and GSSAPI. -->
<saslRealms>
<s:value>idirectory</s:value>
<s:value>apache.org</s:value>
</saslRealms>

<!-- the collection of extended operation handlers to install -->
<extendedOperationHandlers>
<startTlsHandler/>
<gracefulShutdownHandler/>
<launchDiagnosticUiHandler/>
<!-- The Stored Procedure Extended Operation is not stable yet and it may cause security risks.-->
<!--storedProcedureExtendedOperationHandler/-->
</extendedOperationHandlers>
</ldapService>


<apacheDS id="apacheDS"
synchPeriodMillis="15000"
allowAnonymousAccess="false">

<directoryService>#directoryService</directoryService>
<ldapService>#ldapService</ldapService>
<ldapsService>#ldapsService</ldapsService>
</apacheDS>

<!-- another bean I didn't convert -->
<spring:bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<spring:property name="customEditors">
<spring:map>
<spring:entry key="javax.naming.directory.Attributes">
<spring:bean class="org.apache.directory.server.core.configuration.AttributesPropertyEditor"/>
</spring:entry>
</spring:map>
</spring:property>
</spring:bean>
</spring:beans>

Все настройка LDAP + Intalio|Server завершена!!! Далее следует перейти к созданию пользователей.
Эту статью Вы можете прочитать на новом блоге 

Настройка аутентификации Intalio. XML.

Аутентификация в Intalio настраивается как с помощью конфигурационнго файла в XML формате, так и с помощью LDAP. В Community Edition есть возможность настройки для LDAP Apache Directory.

Аутентификация на основе XML
Достаточно несложная процедура добавления, изменения или удаления пользователя, но весьма неудобная. Очевидные недостатки хранения даных о логинах и паролях заключаются в том, что что представлены на всеобщее обозрение, и при достаточном количестве прав можно узнать чужие пароли. Ну да ладно, это все лирика.

Файл с паролями, ролями, пользователями находится по адресу: [Intalio Server] \var\config\security.xml. В этот файл можно добавлять пользователей, роли. Есть правда одно но, не стоит "убивать" роли ProcessManager и ProcessAdministrator, т.к. под этими пользователями вы заходите на BPMS-console, также эти роли позволяют совершать различные операции над задеплоинными процесса (причем наверное одна из самы важных - это undeploy процесса, т.к. можно удалить и через базу но весьма неудобная процедура).

Пример security.xml:
<?xml version='1.0' encoding='UTF-8'?>
<!-- Define security realms, users and roles -->
<security>

<defaultRealm>intalio</defaultRealm>

<caseSensitive>false</caseSensitive>

<realm identifier="intalio">
<user identifier="admin">
<name>Admininistrator</name>
<email>admin@example.com</email>
<password>changeit</password>
<assignRole>ProcessAdministrator</assignRole>
<assignRole>examples\manager</assignRole>
<assignRole>examples\employee</assignRole>
</user>

<user identifier="manager">
<name>Manager</name>
<email>manager@example.com</email>
<password>changeit</password>
<assignRole>ProcessManager</assignRole>
<assignRole>examples\manager</assignRole>
<assignRole>examples\employee</assignRole>
</user>

<role identifier="ProcessAdministrator">
<description>Process Administrator</description>
<descendantRole>ProcessManager</descendantRole>
</role>

<role identifier="ProcessManager">
<description>Process Manager</description>
</role>

</realm>

<realm identifier="examples">

<user identifier="msmith">
<name>Michael Smith</name>
<email>msmith@examples.intalio.com</email>
<password>password</password>
<assignRole>employee</assignRole>
</user>

<user identifier="ewilliams">
<name>Emily Williams</name>
<email>ewilliams@examples.intalio.com</email>
<password>password</password>
<assignRole>manager</assignRole>
</user>

<role identifier="manager">
<description>Manager</description>
<descendantRole>employee</descendantRole>
</role>

<role identifier="employee">
<description>Employee</description>
</role>

</realm>

</security>
Рассмотрим например пользователя msmith, он имеет роль employee пароль password, e-mail. Фактически, для того, чтобы зайти в UI-FW пользователь будет ввести
Login: examples\msmith
Password: password
Далее, думаю не сложно будет разобраться в структуре данного файла.

Эту статью Вы можете прочитать на новом блоге

Установка Intalio|Desinger и Intalio|Server

Для установки Intalio|Designer и Intalio|Server их необходимо скачать с официального сайта Intalio и зарегистрироваться у них на сайте.

Установка Intalio|Server
В поставке Community Edition есть 2 варианта установки Intalio|Server, один из них - под Windows, другой - под Linux. Рассмотрим оба варианта установки

Установка под Windows
1. Требуется скачать JDK версии не ниже jdk-6u7-windows-i586-p, а затем установить его.
2. Распаковать архив Intalio|Server.
3. Установить переменные среды: INTALIO_HOME, JAVA_HOME, JRE_HOME
Пример Установки переменных среды:4. Вот в принципе и вся установка, теперь остается только запустить Intalio|Server: [Intalio Server]\bin\startup.bat

Установка под Linux
1. Должен быть установлен JDK версии не ниже: jdk-6u7-windows-i586-p.
2. Распаковываем сервер.
3. Добавляем переменные среды JAVA_HOME, JRE_HOME в файлы [Intalio Server]\bin\startup.sh, [Intalio Server]\bin\shutdown.sh, в версии 6.хх добавляем также в файл [Intalio Server]\bin\catalina.sh
Пример:
export JAVA_HOME=/usr/java/jdk1.6.0_11
export JRE_HOME=/usr/java/jdk1.6.0_11/jre
4. Затем просто стартуем сервер: [Intalio Server]\bin\startup.sh

Останов Application Server (Geronimo или Tomcat):
[Intalio Server]\bin\shutdown.sh
Login: System
Password: Manager
Если Application Server - Tomcat, то пароль с логином не потребуются для остонова сервера.

Установка Intalio|Designer
После того, как скачали достаточно просто запустить инсталяцию Intalio|Designer. Проблем ни каких возникнуть не должно.
При первой загрузке Intalio|Designer запросит логин и пароль, без них он все-таки загрузится но не дасть деплоить процессы. Пароль и логин создаются при регистрации на их оффициальном сайте.

Эту статью Вы можете прочитать на новом блоге 

среда, 12 августа 2009 г.

Немного про Intalio

Intalio - Open Source продукт для моделирования бизнес-процессов. Есть две версии данного продукта - одна Community Edition (бесплатная версия), другая Enterprise Edition (платная, но более полная версия, включающая достаточно мощный функционал).

Состав Intalio|BPM Community Edition:
1. Intalio|Designer - построенный на основе Eclipse BPMN Modeller
2. Intalio|Server - включает в себя движок Apache ODE BPEL

На сегодняшний день стандарты BPMN и BPEL являются наиболее широко используемыми стандартами.

Моделирования Бизнес-процесса (BPMN)
BPMN обеспечивает стандартизированный способ описать бизнес-процесс. Intalio|BPM использует BPMN для моделировани бизнес-процессов в том числе и использования в процессах WEB сервисов и пользовательских форм.

Язык Выполнения Бизнес-процесса (BPEL)
Intalio работает с BPEL, который автоматически генерируется при создании либо изменении бизнес процесса. Также Intalio является Zero-Code продуктом, т.е. не требуется ручного написания кода (небольшое исключение это Mapper в Intalio|Designer, но об этом позже), код генерируетс самостоятельно.

Application Server
Как ни странно, но версия Intalio Commuity Edition 5.хх и более ранниие версии работали на Geronimo, а после выхода 6.хх версии в качестве Application Server используется Tomcat, который в предыдущих версиях был доступен только с Enterprise Edition.

Официальный сайт Intalio: www.intalio.com 

Эту статью Вы можете прочитать на новом блоге