Back to Microsoft Dynamics Ax 2009
В гонке, за новыми версиями, гигабайтами ОЗУ и невероятными объемами СХД, умными LLM можно сделать небольшую паузу и открыть Microsoft Dynamics Ax 2009, еще открыть Microsoft Visual Studio и соединить день вчерашний и текущие реалии.
Задача состоит в том, чтобы из Microsoft Dynamics Ax 2009 сохранить файл в хранилище S3. И затем его прочитать, иначе зачем это все делать?
В начале работы над задачей хотелось ограничиваться Axapta и не открывать Visual Studio, но возможностей хватило сделать только очень простой макет, и сразу стала ясна архитектура:
Microsoft Dynamics Ax <-> Proxy в виде DLL реализованная с использованием C# и .NET <-> AWS S3 API
Открыл Microsoft Visual Studio, стряхнул пыль c .NET Framework 3.5 и быстро получил альфа версию DLL с использованием .NET, которая подключалась к экземпляру AWS S3 API. Так же несложно было сделать подключение из Microsoft Dynamics Ax к DLL. Но дальше лежали грабли: при подключении к AWS S3 API нужен особенным образом подготовленный заголовок авторизации в запросе. Конечно .NET Framework 3.5 ничего об этом не знал, а современные фреймворки делали это с легкостью, вызовом одной функции, но современные фреймворки ничего не знают о старой версии Axapta. Некоторое количество времени и сил было потрачено, чтобы изменить современную версию реализации к .NET Framework 3.5.
Дальше: - несколько итераций отладки; - добавления проверок, что переданный файл из MS Dynamics Ax существует; - что доступ к AWS S3 API имеется; - формирование имени объекта, который сохраняется в S3; - добавление json файла с настройками; … и вот уже готов релиз в Продакшен!
Вот так успешно побывал в 2009 году