Проблемный домен:
Я работаю над новой версией Java-приложения, которое подключается через SSH к проприетарному интерфейсу командной строки (CLI) на платформе Linux. Все на платформе, что я хотел бы сделать или знать, доступно только через команды CLI и стандартный вывод.
Одна из доступных команд извлекает информацию из внутренней базы данных (без использования SQL) со следующими аргументами команды: запрос, подзапрос, формат результата и предпочтение сортировки.
Рассматриваемое решение:
Я хотел бы представить API, который инкапсулирует низкоуровневые подробности поведения SSH / CLI и достичь следующего:
- Устранить текущий подверженный ошибкам метод встроенных строк запроса (в настоящее время очень подверженный опечаткам).
- Сделайте API интуитивно понятным, поскольку текущие форматы запросов и команд не совсем понятны.
- Предоставить непротиворечивую ошибку и результат ответов.
Я рассматриваю возможность создания построителя запросов и классов ответов на самом низком уровне, которые реализуют поведение SSH / CLI; затем создаем слой выше этого уровня, чтобы разрешить поиск атрибутов с платформы по категориям атрибутов (по сравнению с таблицами базы данных).
Вопрос:
Я копался в своей книге «Банды четырех» и других ресурсах, чтобы найти какие-либо разумные подходы, которые могли бы стать отправной точкой; также просматривает информацию о синтаксических деревьях.
Прежде чем я обнаружу, что внедряю «SQL для проприетарной платформы», я хотел узнать, есть ли у кого-нибудь какие-либо советы, аналогичный опыт, ресурсы или другие материалы для решения этой проблемы. Будем благодарны за любые мысли о реализации, доступных платформах, обработке CLI или других ресурсах.