24.08.2016, 10:01 | #1 |
Участник
|
Интеграция - использовать стандарт или писать на коленке ?
Vadik - продолжение ветки AX7 - data entities - sales order
Цитата:
Ключевое в вашей истории - "отдавал клиенту и дальше он сам". Если клиент готов сам всё делать и настроен на стандарт по-настоящему - есть смысл в AIF, а если клиент считает деньги, имеет большой опыт работы с бизнес-приложениями (которые сделаны для бизнеса, а не для вендора приложения), а уже потом декларирует "мы внедряем стандарт" - ситуация иная. Давайте в отдельную ветку вынесем, чтобы продолжить в более широком поле.
__________________
Ivanhoe as is.. Последний раз редактировалось Vadik; 24.08.2016 в 11:20. |
|
24.08.2016, 10:08 | #2 |
Moderator
|
Это означает что те самые 85% трудозатрат на трансляцию логики данных выполнялись у клиента где-то за пределами Аксапты и тебе были попросту невидны.
|
|
|
За это сообщение автора поблагодарили: OhMyBrain (1). |
24.08.2016, 10:37 | #3 |
Модератор
|
Цитата:
Цитата:
Ключевое в вашей истории - "отдавал клиенту и дальше он сам"
Цитата:
Также просьба рассказать про стандартные Локализованные сервисы
Цитата:
А мы за полдня делали готовую реализацию
Цитата:
Это означает что те самые 85% трудозатрат на трансляцию логики данных выполнялись у клиента где-то за пределами Аксапты и тебе были попросту невидны
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 24.08.2016 в 10:47. |
|
24.08.2016, 11:19 | #4 |
Moderator
|
Цитата:
Сообщение от Vadik
Мне - видно все . Я с твоей оценкой распределения трудозатрат на согласование бизнес-логики и данных между приложениями вроде не спорил. Но я в упор не понимаю как оно относится к выбору между использованием стандартных фреймфорков (к слову, в семерке готовых "из коробки" entity и потенциально готовых к употреблению сервисов - более 1600) и самопиской. Ты же с завидным упорством приводишь этот аргумент снова и снова. Так мы не договоримся В целом - могу представить что ты где-то в промежуточной системе хранишь мэппинг номенклатур, кодов клиентов и поставщиков и аналитик. Но проблема в том что тебе при импорте надо создать заказ/закупку (или не создавать - может есть уже подходящий), потом разнести накладную (и помнится в AIF такой функции просто нету), потом разнести журнал платежей (для всех дневных платежей чохом) и, наконец, сопоставить каждый из этих самых платежей с входящей или исходящей накладной (скорее всего - разнесенной ранее). Из этого процесса, я только импорт заказов/закупок/журналов с помощью AIF могу представить. Все остальное - как-то не очень. При этом ситуация достаточно типична - это не только исключительно с 1с такая засада, а с любой локальной системой. (Видел ситуацию где сейлы создавали все документы в сильно допиленной MS CRM и надо было их в системе как-то отражать. Включая резервирование товара на ранних стадиях жизни заказа в CRM, и разноску picking list когда сейл отдает складскому задание на отгрузку, потом packing slip, invoice и так далее). |
|
24.08.2016, 11:36 | #5 |
Модератор
|
Цитата:
Сообщение от fed
Но проблема в том что тебе при импорте надо создать заказ/закупку (или не создавать - может есть уже подходящий), потом разнести накладную (и помнится в AIF такой функции просто нету), потом разнести журнал платежей (для всех дневных платежей чохом) и, наконец, сопоставить каждый из этих самых платежей с входящей или исходящей накладной (скорее всего - разнесенной ранее). Из этого процесса, я только импорт заказов/закупок/журналов с помощью AIF могу представить. Все остальное - как-то не очень
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 24.08.2016 в 11:45. |
|
24.08.2016, 11:59 | #6 |
Moderator
|
Цитата:
Сообщение от Vadik
Так, давайте попробуем разделить собственно интеграцию бизнес-документов (заказов) и кастомную бизнес-логику которую хочет клиент помимо собственно интеграции. С первым AIF справлялся на "отлично", второе (естественно) должно кастомизироваться. В AIF кстати для этого AxdBase.updateNow() перекрывается. Как из этого делается вывод о том что создание заказов должно делаться с нуля и на коленке, чем это быстрее, надежнее, дешевле и лучше в конечном итоге чем использование стандартного сервиса - для меня загадка
В том то и дело - что понятия бизнес-документов в одной системе в принципе не меппятся в понятия бизнес-документов в другой. Бизнес-документ в одной системе - это операция в другой или наоборот. |
|
|
За это сообщение автора поблагодарили: ta_and (4), gl00mie (1). |
24.08.2016, 12:20 | #7 |
Участник
|
Fed - люто плюсую. AIF для стандартных операций Аксы - нормальная тема, но мир намного богаче
Про локализацию и MS все просто - "это не планируется". Так же как и локализация OLAP отчетности, портала и т.п. Поддерживать локализацию силами партнера - не вариант.
__________________
Ivanhoe as is.. |
|
24.08.2016, 12:43 | #8 |
Модератор
|
Цитата:
Как гарантируется отсутствие глюков и багов в 100% кастомном интерфейсе ? Цитата:
В том то и дело - что понятия бизнес-документов в одной системе в принципе не меппятся в понятия бизнес-документов в другой. Бизнес-документ в одной системе - это операция в другой или наоборот
Цитата:
но мир намного богаче
__________________
-ТСЯ или -ТЬСЯ ? |
|
24.08.2016, 13:00 | #9 |
Участник
|
"Не верю!" © Именно делали или просто переносили XPO-шку с другого проекта?
Цитата:
- для пользователя, пожалуй, неудобно то, что нельзя из коробки отследить историю обработки интеграции, скажем, по отдельно взятому заказу на продажу + тем же администраторам отслеживать инциденты, на мой взгляд, весьма удобно: для любого, скажем, входящего порта можно увидеть историю исключений и посмотреть, на каком сообщении возникла ошибка, а можно включить отладочные механизмы и видеть вообще все сообщения подряд. - из коробки не видно стека вызовов, но это легко лечится. - довольно трудоемко, к примеру, добавлять новые поля в документы: для этого надо подчас переделать пару Query, View, перегенерить какие-нить AxBC-классы, etc. - не подходит для массовых тупых переливок данных 1-в-1, хотя это не минус, а скорее из области ограничений и допущений - полный трэш, если, скажем, увеличилась длина строкового поля в таблице для уже опубликованного и используемого сервиса документов: нужно руками чистить кэш AXD-схем, которые AIF использует для валидации входящих сообщений. Ну т.е. если об этом знать, то нормально, а если не знать, то полный трэш + меня больше всего радует в AIF defaulting значений полей, а также возможность его повторного использования внутри аксаптовой бизнес-логики, никак не связанной с интеграциями. По-моему, это просто шедевр По-моему, ситуация сильно зависит от ставок: если клиенту озвучат, что нарисуют в Аксапте любую интеграцию по его желанию, но это будет от 100 часов по ставке €120/час (думаю, обычная ставка у буржуйских консалтеров), то он может согласиться и на AIF PoC за полдня |
|
|
За это сообщение автора поблагодарили: alex55 (1). |
24.08.2016, 13:28 | #10 |
Moderator
|
Цитата:
А еще я видел два примера использования AIF для интеграции. В одном случае для текстильной MES, во втором - для универсальной MES. В обоих случаях - модуль интеграции был самым популярной причиной проблем с системой. То есть - вот буквально проблемы на обоих проектах классифицировались как "Проблемы AIF" и "Все остальные проблемы". Причем соотношение колебалось между 40:60 и 60:40 Во вторых - ладно - я AIF как-нить выучу (и выучил в конечном итоге, хотя в 2012ой не довелось попользоваться). Проблема в том что реальные сотрудники клиента на реальных внедрениях не вполне в состоянии изучить все эти тонкие интеграционные технологии и разбираться в том как с проблемами бороться. У них там и так запара и зоопарк систем. Как-то разобраться в X++ они могут, соответственно самопальное решение тупо и влоб написанное, они поддерживать смогут (потому что в нем трассироваться просто и не надо лишние сущности изучать). А необходимость трассировать AIFовские классы даже у меня краткий приступ депрессии вызывает. |
|
24.08.2016, 13:41 | #11 |
Moderator
|
Вообще получается что для реальных интеграционных сценариев (где надо и документы и операции импортировать), AIF просто не пригоден. Пригоден он для прямолинейного переливания справочников 1:1 или каких-нить простейших структур master-detail. Проблема в том что в таких вырожденных ситуациях, время на разработку самописного класса сопоставимо со временем настройки AIF. А поддерживать самописный класс невпример легче...
|
|
24.08.2016, 14:19 | #12 |
Участник
|
Цитата:
1. импорт прайс-листа поставщика на 100К+ позиций - типовая задача у дистрибутора. С созданием номенклатур, если их еще нет, обновлением цен. 2. импорт заказов на продажу с интернет-сайта. С он-лайн проверкой остатков, резервированием и т.п. Как это сделать в AIF? Стандартном. Цитата:
Цитата:
Цитата:
Как же так? Это же коробка время на это входит в полдня на PoC? Цитата:
Цитата:
Цитата:
Сообщение от gl00mie
- полный трэш, если, скажем, увеличилась длина строкового поля в таблице для уже опубликованного и используемого сервиса документов: нужно руками чистить кэш AXD-схем, которые AIF использует для валидации входящих сообщений. Ну т.е. если об этом знать, то нормально, а если не знать, то полный трэш
Цитата:
Есть такое. Плюс архитектора накиньте, технического конса, МП, технического писателя и т.п. Только на русском форуме ожидается по умолчанию обсуждение наших реалий. Я верю и знаю про использование практически стандартных AX на Западе.
__________________
Ivanhoe as is.. |
|
24.08.2016, 14:47 | #13 |
Участник
|
Цитата:
Цитата:
Цитата:
Мне исторически как раз очень много приходилось заниматься поддержкой и развитием уже внедренной Аксапты, а не только запуском импорта прайс-листов поставщика за 4 часа с последующим соскоком на другой проект. Поэтому для меня очень большую ценность приобрели возможности расширять бизнес-логику (тот же defaulting полей), не перелопачивая при этом стопятсот связанных явно и неявно импортов, интеграций, обработок, созданий заказов/журналов из кода и прочей требухи. Согласен, что на внедрениях зачастую приоритеты совсем другие, отсюда типовые импорты вида clear/initValue/понапихили полей абы как/insert - спасибо, если validateWrite вызовут перед этим. А там хоть трава не расти... Последний раз редактировалось gl00mie; 24.08.2016 в 14:55. |
|
24.08.2016, 16:06 | #14 |
Участник
|
Цитата:
Цитата:
Сообщение от gl00mie
Вот как раз импорт заказов на продажу с интернет-сайта с резервированием и т.п. делается в стандартном AIF очень замечательно - при условии, что сайт научится заворачивать свой заказ на продажу в правильный SOAP. Не знаю, правда, что вы подразумеваете под проверкой остатков - отлуп, если заказ нельзя полностью зарезервировать? Но такого в стандартной Аксапте нет, поэтому нет и в AIF.
Fed про то и пишет, что просто втянуть в Акс через AIF - даже не пол беды. А вот все остальное все равно если программировать, то через AIF это делать намного накладнее. Цитата:
Цитата:
Цитата:
Сообщение от gl00mie
Мне исторически как раз очень много приходилось заниматься поддержкой и развитием уже внедренной Аксапты, а не только запуском импорта прайс-листов поставщика за 4 часа с последующим соскоком на другой проект. Поэтому для меня очень большую ценность приобрели возможности расширять бизнес-логику (тот же defaulting полей), не перелопачивая при этом стопятсот связанных явно и неявно импортов, интеграций, обработок, созданий заказов/журналов из кода и прочей требухи. Согласен, что на внедрениях зачастую приоритеты совсем другие, отсюда типовые импорты вида clear/initValue/понапихили полей абы как/insert - спасибо, если validateWrite вызовут перед этим. А там хоть трава не расти...
Баланс должен быть, идеальный баланс - искусство. При этом я понимаю, что ситуации бывают разные и мой опыт - это мой опыт и не более того всем хороших проектов!
__________________
Ivanhoe as is.. |
|
24.08.2016, 16:36 | #15 |
Модератор
|
Цитата:
Цитата:
2. импорт заказов на продажу с интернет-сайта. С он-лайн проверкой остатков, резервированием и т.п.
Цитата:
довольно трудоемко, к примеру, добавлять новые поля в документы: для этого надо подчас переделать пару Query, View, перегенерить какие-нить AxBC-классы, etc
Цитата:
Бизнеса это не касается. Но после такого бизнес начинает считать ИТ лоботрясами, которым изменить длину поля (одного поля, Карл!) занимает часы, а то и дни на продакшене с десятком AOSов
Цитата:
Просьба прислать пример SOAP запроса, который создает заказ из трех строк, просит зарезерировать товар (не всегда авторезервирование, а именно явное требование оного), просит проверить баланс клиента.
Цитата:
AIF должен вернуть статус в виде создан заказ или нет, если нет - то почему, если да - то номер заказа, статус резерва, статус по оплате
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 24.08.2016 в 17:05. |
|
24.08.2016, 16:42 | #16 |
Участник
|
О том и речь, есть кучка кирпичиков в AIF. А есть одна доработка, которая делает типовую задачу. Про импорт номенклатур - каждую неделю производитель присылает прайс-лист. Пользователь нажимает кнопку, указывает файл, получает результат. Опишите, как это сделать с AIF?
Опишите, пожалуйста, ваши типовые примеры интеграции через AIF. Чтобы не с одного проекта, а хотя бы 4-5. Будет для всех больше пищи для ума
__________________
Ivanhoe as is.. |
|
24.08.2016, 17:27 | #17 |
Модератор
|
Цитата:
Цитата:
Опишите, пожалуйста, ваши типовые примеры интеграции через AIF. Чтобы не с одного проекта, а хотя бы 4-5. Будет для всех больше пищи для ума
- Заказы на продажу, простые складские движения типа adjustment, transfer и counting из кастомного приложения - в AX - Разнесенные проводки в payroll - между двумя инстансами AX общими журналами ГК (есть и такой, очень, гхм, оригинальный сетап) - мастер данные, заказы на продажу и накладные с балансом по оплате - между AX и CRM через Dynamics Connector - заказы на продажу, накладные - из AX на сайт (сайт и AX в одной сети) - X12 EDI - там что-то мапится на стандарт, что-то (типа каталога 832) - уже не очень и документы нестандартные P.S. Да, забыл - там где нужен доступ в AX только на чтение и важно время отклика - понемногу используем Dynamic query - они гораздо легче и "отзывчивее" традиционного AIF
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 24.08.2016 в 18:25. |
|
|
За это сообщение автора поблагодарили: trud (1), Zick-Zibn (1). |
24.08.2016, 17:53 | #18 |
Banned
|
В принципе необязательно менять существующий AIF сервис, можно тупо сдублировать все связанные обьекты и потом их расширять в рамках нового сервиса. Я так и делал. Выглядит красиво типа новый AIF сервис.
Но только если возможно то предпочту не использовать AIF, всегда предлагаю тупо и просто secure-ftp сетевые папки для обмена файлами. Самое то для любой интеграции. Когда мне как программисту можно больше сосредоточится на бизнес-логике, а не плясать вокруг движка. AIF смотрится хорошо в резюме и маркетинге, но на проекте это тухлая вещь. ЗЫ: Чаще всего интегрироваться приходится с системами где уже есть экспорт/импорт простых текстовых файлов, а интерфейса веб-служб просто нет и их надо писать и на той стороне. То есть разработка должна быть и на той стороне. И часто бизнес-партнерам или провайдерам услуг это совсем не нужно. Последний раз редактировалось ax_mct; 24.08.2016 в 17:59. Причина: ЗЫ |
|
|
За это сообщение автора поблагодарили: ta_and (4). |
24.08.2016, 18:04 | #19 |
Модератор
|
Цитата:
Цитата:
И часто бизнес-партнерам или провайдерам услуг это совсем не нужно
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 24.08.2016 в 18:20. |
|
24.08.2016, 19:40 | #20 |
Banned
|
Цитата:
Сообщение от Vadik
Ну а мне как человеку которому все и разрабатывать и поддерживать - асинхронные вызовы не айс как-то. На той стороне какую-то дрянь отправили и расслабились, а мне с ней что делать? Отдельные папки для необработанного ? Парсить мегабайты логов ? Нет уж - только хардкор, только синхронные вызовы, и пока мне эти данные в AX не понравятся настолько чтобы я смог их обработать, я своего OK на них не дам
Это неправильным провайдерам услуг не нужно. А вот некоторым правильным типа провайдеров EDI интересно чтобы у нас было относительно стандартное решение для стандартного продукта, чтобы его можно было легко внедрить на другом клиенте и жить на ренту. С такими и файлами пообмениваться не грех А вот насчет синхронности/асинхронности - да, интересный пойнт. Но чаще асинхронность на проектах. И к ней надо стремится если есть выбор. Одно дело популярность AIF у поставщиков решений которые хотят на гламурной волне маркетинга подняться, и совсем другое дело у прагматичных клиентов которые не в информационном вакууме, а так или иначе имеют проектный опыт и оценивают риски. Жить на ренту - это не на основе AIF. Вот как раз файловая система будет надежнее. Или SSIS etc. То есть технологически должно быть тупо и просто. Иначе никакой ренты. P.S. Вообще существует некий воображаемый мир где еще и Biztalk делает всем хорошо. И хде? Последний раз редактировалось ax_mct; 24.08.2016 в 19:48. |
|
Теги |
#msftadvocate, aif, абстракции, закопаем стюардессу, индийская кухня, интеграция, как правильно, холивар |
|
|