Преимущества использования 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 время назад.

вывод: это не такой простой ответ (что означает, что вы задали хороший вопрос).