|
Все алгоритмы в системе являются corba-объектами, реализующими всего один общий idl-интерфейс (см страницу документации). Использованию технологии corba даёт два мощных преимущества, при этом не требуя дополнительных усилий от программистов:
Работа с алгоритмом осуществляется предельно просто: в него загружаются xml-строки с графом и дополнительными параметрами, после чего вызывается метод "выполнить", который возвращает результат обработки (также в виде xml-строки). Вся входная и выходная информация для алгоритмов передается в виде xml-строк. Набор форматов графа/параметров/результата будет различным для различных типов алгоритмов. Все алгоритмы классифицируются по типам (т.е. назначению, действиям которые они выполняют), а для каждого типа уже указывается набор форматов строк граф/параметр/результат. Таким образом, различные алгоритмы могут получать и возвращать данные в совершенно разных форматах, и при этом оставаться в рамках единого интерфейса; также разные реализации одного типа алгоритма абсолютно совеместимы и взаимозаменяемы - для клиента нет никакой разницы, какую из них использовать. Единственное (и самое серьёзное) препятствие при наприсании такого алгоритма - это наличие инструментов, позволяющих легко загружать xml-граф в структуру, пригодную для использования в программе. На данный момент такие инструменты есть для C++ и Java, с другими языками программирования сложнее. |