Лучший способ хранить пары ключ-значение в BizTalk
У нас есть требования, где нам нужно хранить данные типа пары ключ-значение для быстрого поиска в BizTalk Map.
Есть ли лучшая практика, с помощью которой мы можем хранить ее. Сохраняемые данные должны быть простыми в обслуживании и иметь механизм кэширования для удобного поиска, поскольку число сохраняемых пар ключ-значение может быть большим в диапазоне от 1 до 100 или более.
Нам не нужно хранить конфиденциальную информацию, поэтому я не предпочитаю SSO. но все же это предпочтительный метод?
Нам нужно использовать его на карте BizTalk, и поиск данных может происходить для каждой строки данных, поэтому также наблюдается снижение производительности.
2 ответа
У вас есть xRef Functoids, но их несколько сложно поддерживать и использовать сверх их первоначальных требований к дизайну.
Что я сделал для аналогичной ситуации, так это предварительно выбрал справочные таблицы как типы таблиц SQL в оркестровке, а затем использовал карту с несколькими входами, передавая бизнес-сообщение и справочные таблицы. Таким образом, все поиски являются внутренними для преобразования.
Извлечение всей справочной таблицы за один раз во многих случаях менее затратно, чем выполнение многих поисков.
Для этого я бы использовал функции XRef Get Common Value и Get Application Value functoids. Это дает вам возможность иметь пары ключ-значение (с дополнительным элементом, чтобы вы могли использовать его для каждого приложения), и они также выполняют кэширование.
Я написал в блоге об этом шаблон BizTalk: перевод справочных данных на карту с помощью Xref