Ситуация следующая:
Есть бизнес-приложение (БПМ если быть точнее) написанное на .NET и использующее WCF. (тип сериализации выбран DataContract и не может быть изменен)
Необходимо обеспечить интеграцию этого бизнес-приложения с любыми Web-сервисами, которые могут быть написаны на абослютно любых языка и использовать различные средства для выставления служб.
Сгенерировать DataContract'ы по wsdl/xsd выставленных служб не представляется возможным, потому что сторонние системы не соблюдают ряд ограничений, которые Microsoft наложила на wsdl/xsd.
Так же не исключено, что некоторые сторонние службы могут быть вообще REST'овскими.
После довольно продолжительного изучения вопроса стало ясно, что есть два варианта решения вопроса интеграции:
1. Заставить сторонние системы предоставить корректные wsdl/xsd
2. Реализовать самим или же использовать готовую ESB (Enterprise Service Bus)
Первый вариант не подходит, потому что нет влияния на другие системы, поэтому как основной я рассматриваю именно второй вариант.
Требования к ESB следующие:
1. Реализация на .NET
2. Быстрое и простое выставление/генерация контрактов служб и написание адаптеров (хочется избежать полностью ручного определениями классов и маппинга туда/обратно)
Уверен, что я не первый задаюсь этим вопросом и уже наверняка есть готовые варианты.
Можете подсказать в сторону какой ESB или чего-то еще следует копать?