По договоренности
Необходиомо разработать интеграционный сервис для коммерческой организации, где в результате выполнения хозяйственных операций формируются различные платежи.
Задача интеграц. сервиса: выбрать платежи с определённым типом счёта ПЛАТЕЛЬЩИКА, запросить размер комиссии по номеру счёта ПОЛУЧАТЕЛЯ, добавить комиссию к исходной сумме платежа и сохранить платёж в БД.
Задача д.б. реализована в виде 2-х J2EE приложений: интеграционное приложение и приложение Web-сервис.
Приложение Web-сервис должно по номеру счёта ПОЛУЧАТЕЛЯ возвращать размер комиссии в процентах.
Например, для счетов, где первые пять цифр лежат в диапазоне 43000- 44000 комиссия составляет 1% от суммы, для диапазона 44000-45000 2 % от суммы и так далее (задать несколько для примера). Указанные настройки по размерам комиссий должны храниться в таблице в БД Oracle и быть настраевыми.
Интеграционное приложение должно обеспечивать следующий функционал:
1. подписывается на определённый JMS-topic для получения сообщений о платежах в XML-формате (xsd схема и примеры xml-сообщений будут предоставлены).
Структура сообщения о платежах:
1) Номер счет плательщика (в формате 40817810606140009586).
2) Номер счета получателя (в том же формате).
3) Сумма платежа.
4) Валюта платежа (3-х символный код).
2. Отфильтровывает те сообщения, где счет ПЛАТЕЛЬЩИКА является клиентским, то есть у него первые 5 цифр должны находиться в диапазоне 40000-43000, т.к. только для этих плательщиков взимается комиссия.
3. Вызывает приложение Web-сервис по HTTP протоколу, передавая счет получателя и получает в ответе данные о размере комиссии.
4. После этого приложение добавляет сумму комиссии к исходной сумме в платеже и сохраняет сообщение о платеже в XML-виде в CLOB-поле БД Oracle.
Реализация должна представлять собой 2 простейших J2EE приложения, чтобы их можно было установить на каком-либо распространённом сервере приложений.