Преимущества использования jython против jacl в сценариях wsadmin (WebSphere Application Server 7+)
Перед программированием для wsadmin scripting client я вижу, что вы можете использовать как jacl, так и jython.
У меня одинаковый уровень доверия к обоим языкам.
Мне интересно, есть ли в специфическом программировании wsadmin преимущества использования одного языка над другим, такие как надежность, доступность примеров или библиотек для администрирования websphere, или что-то подобное, возникшее из вашего опыта использования и построение такого рода сценариев.
2 ответа:
Jython-это язык, который следует предпочесть:
- Rational Application Developer поддерживает инструментарий Jyton (редактор Jython, отладчик, завершение команд и возможность тестирования сценариев на тестовом сервере в среде IDE).
- WebSphere administrative console предоставляет поддержку команд консоли; она предоставляет вам скриптовые эквиваленты операций, выполняемых с помощью административной консоли, если вы хотите автоматизировать их. Эта помощь использует Jython как язык.
- Даже если язык Jacl был языком по умолчанию для wsadmin, IBM продвигает Jython для будущего и даже предоставляет инструмент для преобразования сценариев Jacl в Jython. Цитирование из описания этого инструмента по данной ссылке;
При выборе языка сценариев Jython является стратегическим направлением как язык сценариев администрирования для WebSphere Application Сервер, потому что будущие усовершенствования языка сценариев сосредоточены на использовании Языка Jython.
Я не пытаюсь подвергать сомнению какие-либо из предыдущих ответов, просто добавляю некоторые факты.
Хотя Jython является "стратегическим" направлением, Jacl был там с тех пор, как был v4. В WAS v8. 5 он по-прежнему является дефолтным (и устаревшим!).Административный API был написан с учетом Jacl. С Jython one вы должны делать трюки, подобные этому, чтобы получить список серверов в виде списка:
for srv in AdminConfig.list('Server').splitlines(): print srv
Тогда как в Jacl можно просто сделать следующее:
foreach srv [$AdminConfig list Server] { puts $srv }
Очевидно, что многие AdminConfig и AdminControl методы возвращают списки в виде строки, разделенной новой строкой.
IBM действительно загнала себя в угол с помощью Jython и Jacl. Они все еще используют Jython 2.1 (выпущенный в 2002 году, даже в последнем и величайшем был v8. 5). Якл не пользуется активной поддержкой сообщества. API-дружественный к Jacl, не был переписан для Jython. Многие клиентские решения основаны на трюках, которые вы должны делать в Jython, есть много решений на основе Jacl. Даже IBM внутренне имеет множество зависимостей от этого наследия. Этот это может быть причиной того, что Jacl устарел, так как был v5. 1 и все еще по умолчанию.Короче говоря:
Вывод: это не такой простой ответ (что означает, что вы задали хороший вопрос).
- Если вы собираетесь написать небольшой скрипт для конкретной задачи, Jacl может быть более удобным для вас (поскольку вы упомянули, что вам удобно работать как с Python, так и с Tcl)
Если вы, однако, заинтересованы в разработке более широкой структуры для управления вашей инфраструктурой WAS, то Jython с его объектной ориентацией может быть лучшим вариантом. Но не ждите от него слишком многого. эта версия Jython-она довольно глючная, и вы не сможете использовать слишком много библиотек Python просто потому, что они давно отказались от поддержки Python2.1.