Кальцит для ВСАМ
Я пытаюсь предоставить файлы Mainframe для более динамичного использования как из программ на COBOL, так и из внешних программ на Java.
Мое чтение показывает, что я могу настроить COBOL для использования соединения JDBC. Это может быть просто конфигурация в JCL, но я предполагаю, что это скорее предварительный процесс.
Я также обнаружил, что библиотеки JzOS предоставят доступ к самим хранилищам данных VSAM из JAVA.
Технически я думаю, что это возможно, но не смог найти ни одного поста. Я знаю, что это становится крайним случаем, но мне нравится идея, что Calcite представит их как стандартный объект JDBC.
Мысли? Вопросы? Касается?
2 ответа
Пожалуйста, поймите, есть большая разница между...
- что технически возможно
- что разрешено в вашем магазине
- что может обеспечить надежное и поддерживаемое решение с учетом ваших требований
Это три очень разные вещи. У некоторых из нас есть жизненный опыт, который заставляет нас не спешить с ответами на вопросы относительно того, что технически возможно, при отсутствии каких-либо упоминаний о том, что разрешено в вашем магазине, или о том, какие фактические деловые требования решаются.
Мэйнфреймы существуют уже более полувека, и многие магазины имеют стандартные решения технических проблем. Иногда решение таково: "Не делай этого, а вот что мы делаем вместо этого". Работа против рекомендаций вашего технического персонала или стандартов вашего магазина ограничивает карьеру.
Хорошо, шаблон с дороги.
ВСАМ не является СУБД. Она имеет некоторые характеристики СУБД, но сама по себе она не является.
Требования к совместному использованию могут вызвать головную боль. Файлы VSAM определяются параметром SHAREOPTIONS, указывающим, сколько процессов могут одновременно читать и записывать. Имейте в виду, что их общее определение означает, что каждое приложение должно контролировать сериализацию записей, и все приложения несут коллективную ответственность за целостность данных.
Учтите, что приложения будут написаны вне вашего контроля и знаний людьми, которые не понимают, что существуют другие приложения, считывающие / записывающие данные из / в эти наборы данных VSAM.
Я бы подошел к этому, предоставив доступ через веб-сервис. Не простой CRUD, а бизнес-специфические функции в стиле SOA. CICS твой друг.
Подумайте об использовании СУБД на мейнфрейме вместо файлов VSAM.
Пожалуйста, постарайтесь избежать эффекта внутренней платформы.
Также этот Q&A может представлять интерес.
В Rocket Software есть продукт для виртуализации данных, который предоставляет доступ к плоским файлам, VSAM, базам данных IMS через JDBC. IIRC, вы также можете получить доступ к источникам данных мэйнфреймов, используя проводной протокол MongoDB. Я думаю, что вы можете использовать его бесплатно и платить за поддержку, но это может быть только при использовании его с Apache Spark в z/OS.