Моя компания разрабатывает приложение, которое получает данные от другой компании через сокеты TCP и сообщения xml. Это доставляется одному приложению-шлюзу, которое затем передает его нескольким копиям одного и того же внутреннего приложения на разных компьютерах в нашей организации.
WCF был выбран в качестве технологии для обработки внутренних коммуникаций (внутренне двунаправленная). Разработчики рассмотрели два метода.
Индивидуальные методы, предоставляемые
WCF сервис для каждого отдельного
сообщение получено шлюзом
приложение. Шлюз
приложение будет анализировать входящие
внешнее сообщение и позвоните
соответствующий метод обслуживания WCF.
входящий XML будет переведен
в DataContract DTO и поставляются
в качестве аргумента для соответствующего WCF
способ.
Внутреннее приложение
выставил сервис WCF с одним
метод «ProcessMessage», который
принял текстовое сообщение XML как
аргумент. Внутреннее приложение будет
разобрать и десериализовать полученный
xml и обработайте его соответственно.
Ведущий разработчик подумал, что второй вариант - лучший вариант, так как «легче» сериализовать / десериализовать xml. Я думал, что аргумент не имеет смысла, потому что DataContracts сериализуются и десериализуются WCF, и с помощью WCF нам удалось лучше типизировать наши данные. В варианте 2 кто-то может вызвать службу WCF и передать любую строку. Я полагаю, что вариант 1 представляет более удобный интерфейс и делает приложение более легким в обслуживании и использовании.
Обе опции по-прежнему требуют анализа и проверки исходной строки XML в какой-то момент, поэтому может возникнуть вопрос, где рекомендовано место для выполнения этой проверки.
Мне было интересно, каковы нынешние мысли о передаче такого рода информации и мнения людей об обеих альтернативах.