В предыдущей части мы коротко рассмотрели способ описания источника данных при помощи DDL. Но что делать, если источник использует специфический протокол? Если прямого отображения данных недостаточно? Если мы хотим добавить предобработку данных или встроенную процедуру? Выход есть: написать транслятор.
В общем случае транслятор состоит из 4 частей (классов). Это — наследник класса ExecutionFactory
и реализации интерфейсов ResultSetExecution
, ProcedureExecution
и UpdateExecution
; кроме этого, штатные трансляторы Teiid для удобства выделяют в отдельный класс обработчик метаданных (metadata processor), хотя он никакого интерфейса не реализует и ни от чего не наследуется. Рассмотрим всё по порядку.Читать полностью »