Преимущества использования Jython против jacl в сценариях wsadmin (WebSphere Application Server 7+)
перед программированием для клиент сценариев wsadmin Я вижу, что вы можете использовать как jacl в и языка Jython.
У меня одинаковый уровень уверенности с обоими языками.
Мне интересно, есть ли в конкретном программировании wsadmin преимущества использования одного языка над другим; например, надежность, доступность примеров или библиотек для администрирования websphere или что-то подобное, возникшее из ваш опыт в использовании и создании такого рода сценариев.
2 ответов
Jython является языком, чтобы предпочесть:
- Rational Application Developer поддерживает инструменты Jyton (редактор Jython, отладчик, завершение команд и возможность тестирования сценариев на тестовом сервере в среде IDE).
- WebSphere administrative console предоставляет помощь команд консоли; она предоставляет скриптовые эквиваленты операций, выполняемых с помощью административной консоли, в случае необходимости их автоматизации. Эта помощь использует Jython как язык.
- даже если бы Jacl был языком по умолчанию для wsadmin, IBM продвигает Jython for future и даже предоставила инструмент для преобразования сценариев Jacl в Jython. Цитирование из описания этого инструмента по данной ссылке;
при выборе языка сценариев Jython является стратегическим направлением как язык сценариев администрирования для WebSphere Application Сервер, поскольку будущие усовершенствования языка сценариев сосредоточенный на использовании языка Jython.
Я не пытаюсь подвергать сомнению какие-либо предыдущие ответы, просто добавьте некоторые факты.
хотя Jython является "стратегическим" направлением, Jacl был там с тех пор, как был v4. Был v8.5 это по-прежнему значение по умолчанию (и устарело!).
административный API был написан с учетом Jacl. С Jython one вы должны делать такие трюки, как этот, Чтобы получить список серверов как list:
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). Jacl не активно поддерживается сообществом. API является jacl-дружественным, не был переписан для Jython. Многие клиентские решения основаны на трюках, которые вы должны сделать в Jython, есть много решений на основе Jacl. Даже IBM внутренне имеет множество зависимости от этого наследия. Это может быть причиной того, что Jacl устарел, так как был v5.1 и по-прежнему по умолчанию.
короче:
- если вы собираетесь написать небольшой скрипт для конкретной задачи, Jacl может быть более удобным для вас (так как вы упомянули, что вам комфортно как с Python, так и с Tcl)
- если вы, однако, заинтересованы в разработке более широкой структуры для управления вашей инфраструктурой WAS, то Jython с его объектной ориентацией возможно, это лучший вариант. Но не ожидайте слишком многого от этой версии Jython - это довольно багги, и вы не сможете использовать слишком много библиотек Python просто потому, что они упали Python2.1 Поддержка loooong время назад.
вывод: это не такой простой ответ (что означает, что вы задали хороший вопрос).