Программное обеспечение, в котором я работаю, предлагает преобразование данных как услугу для новых клиентов, которые ранее использовали другое подобное программное обеспечение. Я написал приложение VB.NET для автоматизации общих операций преобразования и имеет отдельную логику между известными поставщиками. Конкретный макет файла стал довольно распространенным, но из-за характера того, как приложение этого конкретного конкурента хранит информацию, определенные поля означают одно для одного клиента, а другое для другого клиента.Автоматизация сценариев в приложении VB.NET
Некоторые элементы в формате этого поставщика изменяются каждый раз, поэтому я написал приложение для учетной записи для этого. Поскольку некоторые поля данных означают разные вещи для разных поставщиков, я должен каждый раз менять свой код сопоставления. Это не было проблемой, когда у меня был один из них каждые шесть месяцев или около того, но они становятся все более распространенными, и я бы скорее нашел способ продолжить автоматизацию этого процесса.
Я думал о внедрении простого интерпретируемого языка сценариев, который позволил бы мне сохранить настройки преобразования для клиента в текстовом файле, поэтому мне не нужно кормить настройки в моем приложении каждый раз, когда я его запускаю. Моя цель состоит в том, чтобы потратить время на реализацию этой выплаты в более быстрых конверсиях в долгосрочной перспективе.
Это пример, который я имел в моей голове:
# this is a comment
RECORD INCLUDE(source[Class] != 'I' && source[Category] != 99);
FIELDMAP
destination[name] == source[name];
desintation[address] == source[mailingaddress1];
...
END FIELDMAP
BEGIN
# logic goes here
END
Я не хочу, чтобы сделать это более сложным, чем это должно быть. Я признаю, что я даже не заглядывал в сценарии, и я не знаю, с чего начать, или какие другие соображения нужно сделать.
Есть ли уже библиотеки сценариев для .NET, которые будут делать большую часть того, что я хочу? Является ли сценарий неправильным способом? Я действительно не хочу изобретать велосипед, если есть лучший способ.
Благодарим за помощь. :)
Я никогда раньше не работал с Python, но IronPython выглядит многообещающим. Я сделаю это. Благодаря! –