Извините, у меня нет дорожной карты для проверки.Однако я могу дать вам несколько советов, на которые стоит обратить внимание:
Для структуры приложения: изоляция между компонентами и абстракция являются основной проблемой.Достаточно ли развязано приложение, чтобы разрешить вставку новых DAO или BO:
Если вы отделили объект (ы) доступа от других, объекты, которыми манипулирует ваше приложение, могут исходить из системы SAP, веб-службы илибаза данных.С достаточной абстракцией (и если субъект позволяет это), вы можете получить объекты из различных источников.(Real life exemple : getting objects from a SAP system and a web service at the same time, and completing these objects by calling a database. no component except the acces component knew where the objects "came" from).
Если ваше приложение делает что-либо, кроме отображения объектов пользователю, это становится немного сложнее, так как вы должны спросить себя, будет ли манипуляция выполняться вашим приложением или вСама система SAP или любая другая система.Еще раз вернемся к абстрагированию ваших операций, чтобы убедиться, что вы можете получить любую реализацию, какую пожелаете.
Наконец, убедитесь, что ваш объект совместим с версией SAP.Моделируемые классы должны как минимум содержать идентификатор объекта SAP в качестве члена.
Проверка того, что ваше приложение может вызывать sap, ничем не отличается от уверенности, что он может вызывать другие источники данных / внешний процессор.1013 * Другие вещи, которые входят в игру, - это авторизация: все ли пользователи равны в том, что они могут делать (операции), или в том, чем они могут манипулировать (данные)?Применяет ли sap эти ограничения?
- Если пользователи равны, вы можете использовать только одного пользователя с пулом соединений и поместить информацию о соединении в файл свойств.
- В противном случае у вас есть (снова) несколько возможностей.Одним из решений является сопоставление между вашими пользователями и их логином / паролем для SAP (если несколько пользователей равны, вы все равно можете использовать для них пул соединений), при этом SAP выполняет контроль для данных (стандартные авторизации).Если функция, которую вы вызываете, не является стандартной и / или может быть изменена, тогда вы можете добавить информацию о пользователе и самостоятельно выполнить управление в функции.
Real life exemple : the function called whas getting the employee Id, and returned the team working with this employee depending on the enterprise structure. in this case, SAP could not do the limitation, so a single connection was prefered)
С уважением,
Гийом