Обратите внимание, что есть много способов сделать это - возможно, самый простой - это заставить Java коснуться файла где-то, за чем отслеживает ваш рабочий процесс, а затем заставить рабочий процесс поместить результат в базу данных или файл, который может увидеть Java.
Однако более формальным подходом является использование веб-служб.
Узнайте, может ли ваш администратор Informatica включить Концентратор веб-служб , а затем ознакомьтесь с ним в документации PowerCenter.Я предоставил здесь наилучшую информацию из документа, который написал несколько лет назад.
Возможно, есть лучшие способы сделать это, но Informatica не сильно изменилась за эти годы, и WSH был способомвернитесь на несколько лет назад, если вы хотите запустить рабочий процесс удаленно из Java или любого другого языка и следить за его ходом.
Как только администратор включит WSH, вы сможете перейти к консоли (вероятно, в / wsh), котораяпоказывает различные действия, которые могут быть выполнены, и различные объекты.
Вот краткий пример запуска рабочего процесса с использованием веб-служб из консоли WSH:
- Открыть Концентратор веб-служб и перейдите к Пакетный веб-сервис и Интеграция Веб-сервис
- Нажмите кнопку Try-It (WSDL для интеграциивеб-сервис также доступен здесь)
- Выберите операцию login слева
- Заполните Домен , Репозиторий , Имя пользователя и Пароль и нажмите Отправить
- Получите идентификатор сеанса в ответе SOAP
- Выберите startWorkflow слева
- Укажите значение SessionId , полученное из логина
- Укажите Имя папки , WorkflowName , RequestMode , DomainName , ServiceName
- Нажмите Отправить
На данный момент вы должны получить успешный ответ.Веб-служба не ожидает завершения рабочего процесса.
Как только вы можете использовать веб-службы для управления рабочими процессами, вы можете использовать среду веб-службы Java, такую как Axis, для генерации клиентских классов веб-службы для общей пакетной обработки.,Этот подход хорошо описан в документации Informatica
К сожалению, это довольно трудоемкий процесс, но он работает.Веб-службы могут быть вызваны из Java следующим образом:
- Создайте новый локатор службы интеграции данных и используйте его для получения интерфейса интеграции данных.Это используется для выполнения всех вызовов Informatica WS.Это основано на расположении службы, встроенном в WSDL.
- Войдите в Informatica и получите идентификатор сеанса для соединения
- Создайте заголовок сеанса, содержащий идентификатор сеанса, и поместите вИнтерфейс интеграции данных.
- Создание объекта Service Info, который идентифицирует доменное имя и имя службы Informatica.
- Создание объекта для хранения рабочего процесса, папки, режима выполнения и объекта Service Info
- Запуск рабочего процесса с использованием startWorkflowEx для возврата идентификатора выполнения
- Создание объекта WorkflowRequest со всей той же информацией рабочего процесса для ожидания завершения
- Вызов waitTillWorkflowComplete для блокировки дорабочий процесс Informatica завершается
Доступны другие функции, поэтому вы должны иметь возможность проверять коды возврата и тому подобное.