Граждане, которые реально работают с Java на zOS. Неужели Java работает уже не так раздражающе медленно, как года 3-4 назад? На ней можно написать нечто конкурентноспособное написанному на родных языках типа PL/1 и Cobol? Народ интересуется, я тоже очень заинтригован.
Смотря что делать Мы еще на R14 в OS/390 2.10 на JDK-1.3 писали парсинг текстовых сообщений (jFLEX+jCUP) с раскладкой в DB2. Сообщения (MQ) дублировались в Legacy-систему обработки, писанную на ASM, и в этот парсер. Сообщения в лог системы о завершении обработки обе системы писали практически одновременно. Памяти конечно Java кушала поболее, а вот по процессору особой разницы не было. Также одно время крутили Apache Tomcat 5.5 в z/OS, тоже вполне "съедобно". В DB2 for z/OS V8 эксплуатировали и эксплуатируем хранимые на Java (бизнес-логика). От аналогов на SQL(компилируемый) не отстают, а чаще обгоняют, т.к. описывать расчеты на SQL-языке - это совсем не подарок.
JDK в z/OS достаточно медленно запускался и компилировал классы. А, собственно, исполнение кода вполне себе шустро происходит. Рассматривать же применимость Java нужно индивидуально в каждом случае.
JDK в z/OS достаточно медленно запускался и компилировал классы. А, собственно, исполнение кода вполне себе шустро происходит. Рассматривать же применимость Java нужно индивидуально в каждом случае.
А можно класс сгенерить на персоналке, а потом его толкнуть эффективно на zOS?
А вот WebSphere Application Server на z/OS с мой точки зрения раздражающе неповоротлив. Только что отконфигурировал инстанс (ND с одним узлом) для версии 7.0. (z9 BC S07). На LPAR выделен один проц.
Запуск компонент последовательный. Определение готовности - по сообщению "open for e-business" Deployment Manager - 10 минут. NodeAgent - 5 минут. AppServer - 20 минут. Сервак пустой, семплы на нем не ставились. При запуске "кушает" весь CPU. Другой нагрузки в этот момент нет. Машина : z9 BC S07. Для LPAR выделен один процессор (целиком) и 2.5 ГБ ОЗУ.
Может конечно я где не прав, сейчас еще буду глядеть, но совсем некомфортно.
А можно класс сгенерить на персоналке, а потом его толкнуть эффективно на zOS?
Собственно так обычно и делаем. Исходник на java транслируется в класс (байт-код) на персоналке.
Но, уже во время исполнения, при загрузке класса в память, происходит компиляция байт-кода в исполнимый код машины. Все это скрыто внутри java, но этот процесс обязательный и занимает далеко ненулевое время и ресурсы. После того как все используемые приложением классы уже таким образом откомпилированы, дальше код исполняется очень даже щустро. Следующей проблемой может стать порождение объектов и сборка мусора - но тут уже многое будет на совести разработчика приложения.
Поэтому если например писать shell-скрипт или таймерное задание, которое будет порождать java-машину, выполнять короткий код и завершаться - это будет неэффективно. Если же порождать длительно/постоянно работающую java-машину (тот же томкат например), то оно вполне имеет право на жизнь. DB2 например запускает Java-машины для хранимых через WLM. И в созданном экземпляре будет исполнено достаточно большое кол-во кода (вызовов хранимых), перед ее уничтожением.
IMHO: жаба чрезвычайно прожорлива и очень медлительна. кроме того, несмотря на многочисленные декларации, жабы периодически отказываются жить в чужом болоте (хваленая платформонезависимость байтового кода)
MHO: жаба чрезвычайно прожорлива и очень медлительна. кроме того, несмотря на многочисленные декларации, жабы периодически отказываются жить в чужом болоте (хваленая платформонезависимость байтового кода) cry
Смотря что и как на ней делать. Переносимость Java-кода конечно же не 100%, однако этот показатель сильно выше практически всех других языков программирования. Это единственная среда (из опробованных мной). в которой один раз скомпилированный код работал на Windows, Linux fo x86, Linux for z, OS/390, z/OS, позволяя при этом взаимодействовать с DB2, Websphere MQ, Oracle и MSSQL. Написание и сборка под нужные платформы того-же кода на С/С++/Perl превращалось в весьма экзотическое действо.
Мой личный опыт эксплуатации Java на OS/390 и z/OS большей частью положительный. Но, применение Java нужно обосновывать и помнить о ее особенностях.
Но, уже во время исполнения, при загрузке класса в память, происходит компиляция байт-кода в исполнимый код машины. Все это скрыто внутри java, но этот процесс обязательный и занимает далеко ненулевое время и ресурсы.
Ага, значит все-таки есть дополнительная байт-интерпретация дополнительная. В общем, понятно, что такой этап нужен, вопрос, насколько он затратный.
Quote (EHabarov)
Также одно время крутили Apache Tomcat 5.5 в z/OS, тоже вполне "съедобно".
Quote (EHabarov) Также одно время крутили Apache Tomcat 5.5 в z/OS, тоже вполне "съедобно".
А это где-то взяли? За деньги, или без денег?
Бесплатно конечно Apache Tomcat стал нормально запускаться в z/OS благодаря усилиям товарищей из компании Dovetailed Technologies Они написали доп. модули для нормального запуска Java в batch режиме (JZOS), плюс это позволило хранить файлы конфигурации в ACSII-конфигурации (как на других платформах) и выдавать выходные сообщения в очереди JES2. Т.е. запуск томката на z/OS из приключения превратился в элементарную операцию: а) Распаковать бинарный дистрибутив Apache Tomcat. б) настроить пакетное задание. Позднее IBM купил эту технологию и включил ее в состав Java SDK. Так что теперь набор утилит JZOS входит в состав JDK всех версий, начиная с 1.4. Естественно что оно там появилось начиная с определенного PTF. Пакет очень удобный, рекомендую к применению.
PS: На сайте компании Dovetailed Technologies есть и другие интересные утилиты, рекомендую посмотреть и почитать описания.
Бесплатно конечно Apache Tomcat стал нормально запускаться в z/OS благодаря усилиям товарищей из компании Dovetailed Technologies Они написали доп. модули для нормального запуска Java в batch режиме (JZOS), плюс это позволило хранить файлы конфигурации в ACSII-конфигурации (как на других платформах) и выдавать выходные сообщения в очереди JES2.
Божежтымой!!!! Я все пропустил. А как мы мучались!! Вот оно как. Теперь жизнь стала еще интереснее. Может, даже что-то потестирую.
Божежтымой!!!! Я все пропустил. А как мы мучались!! Вот оно как. Теперь жизнь стала еще интереснее. Может, даже что-то потестирую.
Будут вопросы или проблемы - с удовольствием подскажу.
Добавлено (18.02.2011, 13:12) --------------------------------------------- Ради интереса на той-же самой системе запустил Apache Tomcat 7.0.8 Последовательность: 1. Распаковал двоичный архив. jar -xf apache-tomcat-7.0.8.zip 2. Допилил задание запуска (во вложении) 3. Настроил файл tomcat-users.xml 3. Выполнил submit задания. С момента старта задания до первого сообщения томката затрачено 25 секунд. Томкат выполнил старт за 39 секунд. (Server startup in 39263 ms) Итого : 1 минута 4 секунды. Повторные запуски идут еще быстрее, порядка 30 секунд в общей сложности.
PS: Если кто будет пробовать задание, учитывайте что нумерация в редакторе должна быть выключена, т.е. в столбцах 72-80 должно быть пусто!
Добавлено (18.02.2011, 13:14) --------------------------------------------- PPS: Хм, не могу прикрепить текстовый файл, выскакивает окно про недопустимый формат сообщения.
PS: В тему "неповоротливости" JVM, нашел вот такую замечательную вещь: http://quercus.caucho.com/ Это веб-приложение (J2EE), которое является движком PHP, переписанным на Java. По утверждениям разработчиков оно свободно от многих уязвимостей, присущих PHP, и показывает прилично лучшую производительность по сравнению со стандартным mod_php. Будет время - я эту штуку обязательно попробую, потом отчитаюсь.
По ADABAS-у не грамотен, а вот это не поможет? JDBC Driver for Adabas D
Это реляционная СУБД, к нормальному ADABASу отношения не имеет (кроме торговой марки). Не заморачивайтесь, я знаю уже кого спросить. Уже обещали помощь.
Quote (EHabarov)
Это веб-приложение (J2EE), которое является движком PHP, переписанным на Java. По утверждениям разработчиков оно свободно от многих уязвимостей, присущих PHP, и показывает прилично лучшую производительность по сравнению со стандартным mod_php.
Надо ли понимать, что это приложение снимает необходимость иметь установленный PHP под z? И я смогу применять всякие свои PHP-движки и решения без всякой адаптации? Если ответ ДА, то это грандиозно.