Большинство функций, доступных в eConnect, можно просматривать через Web Services for Dynamics GP за несколькими исключениями. Например, невозможно явно указать налоги на заказы на продажу с использованием веб-служб GP, в то время как это можно сделать с помощью eConnect. Я бы рекомендовал вам просмотреть документацию по веб-службам GP, чтобы убедиться, что ваши потребности в интеграции покрыты.
GP Web Services добавляет дополнительный слой поверх eConnect. Он использует eConnect в задней части. Он предоставляет отдельный уровень безопасности и обработчики исключений. Это может пригодиться в вашей среде, если у вас есть эти потребности, однако это связано с затратами, поскольку установка и обслуживание GP Web Services не являются тривиальными.
Я несколько раз разрабатывал то, о чем вы просите. Я просто создал службу WCF C#, которая инкапсулировала вызовы eConnect. Установка и обслуживание намного проще, потому что я сам контролирую специфику сервиса. Кроме того, я могу лучше инкапсулировать свою логику и запутать ее из любых других приложений. Конечно, вам нужно будет учитывать логику безопасности и обработки исключений, как и любую другую созданную вами службу.
Например, моя служба WCF может иметь очень простую операцию, как:
string CreateCustomer(name, address);
В логике службы я бы выполнять все вызовы Econnect и вернуть номер клиента, который был создан.
В конечном счете ответ «это зависит». Я бы выбрал GP Web-сервисы, если бы мне требовалась строгая безопасность для сущности по сущности (доступ к заказам на продажу, но не заказы на покупку для пользователя по отдельности), или если я создавал коммерческий продукт, который я хотел установить на нескольких разных установках Dynamics GP. Если веб-службы GP уже установлены и используются в месте расположения клиента, я попытаюсь использовать их, если возможно, для поддержания согласованной среды.
Если у клиента еще нет установленных веб-служб GP, и им нужен простой интерфейс для взаимодействия с Dynamics GP, я могу выбрать собственный WCF для инкапсуляции логики и обеспечения максимально простой интеграции для потребителя услуги.
Еще одна вещь, которую следует учитывать, заключается в том, что в Dynamics GP есть несколько вещей, которые нельзя сделать с помощью eConnect или веб-сервисов GP, таких как полевая служба или производственная интеграция. В этих случаях я часто создаю свой собственный WCF и, когда это возможно, использую eConnect и обновления SQL, где eConnect не распространяется на функциональность.
Обязательно подумайте о своих потребностях в интеграции сегодня и о том, что вам, вероятно, понадобится в будущем, чтобы ваше архитектурное решение сохранилось в долгосрочной перспективе.
Также читайте это отлично article для получения дополнительной информации о выборе между eConnect и веб-службами GP.
Когда я хочу расширить веб-сервис и когда захочу создать новый веб-сервис? Используя ваш пример, скажем, я хотел включить налоги в заказы на продажу. Могу ли я это сделать, расширив веб-сервис или мне нужно будет создать новый веб-сервис? – James