Перейти к тексту

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

Вся введенная информация защищена.

  • Закрыть [x]

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

Вся введенная информация защищена.

  • Закрыть [x]

Комментарии Дональда Вайнса и Энди Хойта: Как инструмент миграции приложений облегчает переход на WebSphere Application Server

Дональд Вайнс, исполнительный IT-архитектор, IBM
Дональд Вайнс (Donald Vines) - исполнительный IT-архитектор IBM, ответственный за разработку рекомендаций по миграции приложений WebSphere для стран Северной Америки. Сейчас он работает с наиболее важными клиентами IBM в области проектирования архитектурных решений и обучения разработчиков использованию SOA и правилам модернизации промышленных проектов. Также он является техническим экспертом в Object Management Group (OMG), одном из крупнейших центров создания отраслевых стандартов. Дональд был одним из исследователей-разработчиков протокола IIOP (Internet Inter-ORB Protocol), поддерживающего в том числе и взаимодействие программных объектов через интернет-каналы. Кроме того, он имеет сертификаты Sun Certified Enterprise Architect, Sun Certified Java Programmer и OMG Certified UML2 Professional.
Энди Хойт, менеджер отдела разработки WebSphere, IBM
Энди Хойт (Andy Hoyt) - фотография
Энди Хойт (Andy Hoyt) – менеджер отдела разработки в IBM. Отвечает за инструмент миграции приложений для WebSphere.

Описание:  Инструментальный пакет IBM® WebSphere® Application Server Migration Toolkit содержит инструмент миграции приложений, который можно использовать для облечения перевода приложений с исходного сервера приложений на сервер IBM WebSphere Application Server V7.0. В данной статье рассматриваются возможности этого нового инструмента и представляются ресурсы, помогающие приступить к его использованию. Из журнала IBM WebSphere Developer Technical Journal. Из журнала IBM WebSphere Developer Technical Journal.

Дата:  07.02.2012
Уровень сложности:  простой PDF:  A4 and Letter (197 КБ | 8 страница)Загрузить Adobe® Reader®
Активность:  1655 просмотров
Комментарии:  


Облегчение анализа и миграции приложений

Инструмент миграции приложений в IBM WebSphere Application Server Migration Toolkit облегчает перевод приложений с исходного сервера приложений на сервер WebSphere Application Server V7.0. В настоящее время поддерживаемыми исходными серверами приложений являются WebLogic Server 8.1 и WebLogic Server 9.2. Плагин миграции приложений работает с импортированным EAR-файлом. Инструмент сканирует JSP-страницы, исходный код на Java™ и дескрипторы развертывания, выявляет возможные проблемы с переносом и выводит отчет об этих проблемах в окне Problems среды Eclipse IDE. Инструмент идентифицирует большинство проблем переноса, с которыми вы можете столкнуться, и во многих случаях предлагает их решение.

Если вы не знакомы с возможностями инструмента миграции приложений, ниже приводится их краткий обзор с несколькими ссылками на файлы для загрузки, а также другие материалы для начала работы.


Что представляет собой инструмент

Инструмент миграции приложений является результатом работы по реализации в IBM Rational® Software Analyzer V7.1 функциональности помощника по миграции приложений с поддерживаемого исходного сервера приложений на WebSphere Application Server. Rational Software Analyzer представляет собой простое и мощное средство для автоматизации анализа программного обеспечения и повышения его качества. Для выполнения этой работы Rational Software Analyzer использует обширный набор правил, а также позволяет создавать специализированные правила под специальные среды и цели.

При разработке инструмента миграции были созданы специализированные правила обнаружения проблем миграции кода и реализованы исправления для решения многих из них. Все эти специализированные правила упакованы в плагин Eclipse 3.4.2, который можно загрузить бесплатно (и без дополнительных лицензий).

Плагин работает с импортируемым EAR-файлом. Он выполняет синтаксический анализ исходного кода на Java, JSP-страниц и дескрипторов развертывания в рабочей области Eclipse и выдает отчеты о проблемах миграции в окне Problems. Поскольку инструмент работает с исходным кодом, а не с файлами классов, нет необходимости полной компиляции приложения на WebSphere Application Server перед запуском программы.

После завершения анализа можно щелкнуть правой кнопкой мыши на конкретном результате в окне Problems и увидеть варианты решения проблемы:

  • View Result (просмотр результата): открывает редактор с файлом, который активизировал правило. Строка, в которой возникла проблема, выделяется, и возле нее появляется пиктограмма "нарушение правила" (violation icon).
  • Quick Fix (быстрое исправление): выполняет миграцию с модификацией соответствующего Java-кода, JSP-страницы или дескриптора развертывания. Исправление может изменить файл непосредственно или представить ряд необходимых для этого шагов.
  • Quick Fix Preview (просмотр быстрого исправления): позволяет построчно сравнить первоначальный код с предлагаемым измененным кодом до выполнения реальных изменений.
  • Ignore Result (игнорирование результата): удалит правило из списка без какого-либо изменения файла.
  • Quick Fix All (быстрое исправление всегда): решает все проблемы для данного правила.

Вы можете в каждом случае решать, применять ли быстрое исправление или выполнить исправление самостоятельно. Имеется также возможность согласиться со всеми изменениями, если вы предпочитаете не просматривать их по одному. После завершения просмотра изменений можно экспортировать EAR-файл из Eclipse и развернуть его на WebSphere Application Server.

Этот плагин для миграции учитывает большой объем накопленных разработчиками знаний. В результате разработчики, не имеющие большого опыта работы с исходным сервером приложений или сервером WebSphere Application Server, могут выполнять успешные миграции.


Как работает программа

Если переносимое приложение еще не загружено в Eclipse, необходимо импортировать EAR-файл в Eclipse до выполнения миграции. Если исходные файлы на Java и код JSP-страниц недоступны в EAR-файле, программа будет проверять правила только для миграции файлов дескрипторов развертывания. Если исходные коды присутствуют в EAR-файле, программа будет проверять правила миграции:

  • исходных файлов на Java;
  • исходных файлов JSP-страниц;
  • файлов дескрипторов развертывания;
  • просмотр class path.

Плагин включает в себя синтаксический анализатор исходных файлов на Java, исходных файлов JSP-страниц и файлов дескрипторов развертывания плюс набор правил, обнаруживающих использование проприетарных классов, API, констант и всех несоответствий спецификации Java EE. Эти правила эффективно обнаруживают основные источники проблем переносимости в таких файлах.

В следующем разделе перечислены некоторые правила и быстрые исправления для типов файлов, указанных выше. Ссылки на подробную информацию приведены в разделе Ресурсы.

Исходные файлы на Java

Плагин обнаруживает исходные файлы на Java по расширению .java. К ним относятся сервлеты, EJB-компоненты и Java-классы. Программа анализирует все Java-файлы в рабочей области, проверяет на соответствие правилам для обнаружения каких-либо проблем переносимости и отображает их вместе с краткой информацией по их исправлению.


Таблица 1. Исходные файлы на Java
ПравилоИсправление
Do not use WebLogic RMI API calls (не использовать вызовы WebLogic RMI API).
Обнаруживает ссылки на проприетарные RMI-классы и API WebLogic.
Изменяет код для использования стандартных RMI-классов и API Java.
Do not use WebLogic specific JNDI names (не использовать специфичные для WebLogic JNDI-имена).
Сканирует Java-файлы для обнаружения использования значений проприетарных JNDI-имен WebLogic:
  • java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory
  • java.naming.provider.url = t3://localhost:7001
Изменяет код для использования JNDI-имен WebSphere Application Server или для использования переносимого преобразования JNDI:
  • java.naming.factory.initial = com.ibm.websphere.naming.WsnInitialContextFactory
  • java.naming.provider.url = corbaloc:iiop:localhost:2809
Do not use WebLogic proprietary startup or shutdown classes (не использовать проприетарные классы startup или shutdown WebLogic).
Ищет классы, реализующие интерфейсы startup и shutdown WebLogic.
Преобразует эти классы для использования стандартного интерфейса javax.servlet.ServletContextListener и регистрирует их в файле web.xml приложения.
Do not use non-compliant UserTransaction lookup name (не использовать несовместимый поиск по имени UserTransaction).
Находит ссылки на ctx.lookup("javax.transaction.UserTransaction") в сервлетах и bean-компонентах BMT. (WebLogic разрешает такой несовместимый поиск, а WebSphere Application Server – нет.)
Если данная проблема возникает в bean-компоненте BMT, этот компонент преобразуется для использования ctx.getUserTransaction(). Если проблема возникает в коде сервлета или клиента, они преобразуются для использования JNDI-поиска: ctx.lookup("java:comp/UserTransaction").
Do not use mismatching throws clauses (не использовать несогласованные выражения throws).
Находит несоответствия выражений throws в методах EJB-компонентов и интерфейсах home и remote. (WebLogic разрешает такое несоответствие, а WebSphere Application Server – нет.)
Добавляет все отсутствующие исключительные ситуации и удаляет все лишние в EJB-компоненте. Интерфейсы home и remote не меняются.
Do not use WebLogic proprietary Apache packages (не использовать проприетарные Apache-пакеты WebLogic).
Отмечает ссылки на проприетарные Apache-классы и API WebLogic, которые могут отображаться на Apache-классы и API с открытыми исходными кодами.
Изменяет код для использования Apache-классов и API с открытыми исходными кодами. Необходимо будет загрузить соответствующий .jar-файл Apache Xerces и включить его в приложение.

Исходные файлы JSP-страниц

Плагин обнаруживает исходные файлы JSP-страниц по расширению .jsp, анализирует эти файлы в рабочей области, проверяет их на соответствие правилам с целью поиска проблем переносимости и предлагает быстрые исправления. Помните, что исходные файлы JSP-страниц, как и Java-код, могут активизировать непереносимые классы, API и константы. Плагин обнаруживает эти проблемы переносимости и обрабатывает их способом, аналогичным описанному выше.


Таблица 2. Исходные файлы JSP-страниц
ПравилоИсправление
Avoid using a .jsp extension for JSP fragments (избегать использования расширения .jsp для JSP-фрагментов).
Ищет JSP-фрагменты. Файлы фрагментов с расширением .jsp вместо .jspf отмечаются. Согласно спецификации Java EE, все JSP-страницы должны компилироваться, а JSP-фрагменты – нет.
Изменяет имя файла и все ссылки на него, используя диалоговое окно refactor.
Use correct case for tag/attribute names (использовать правильный регистр для имен тегов/атрибутов).
Отмечает все имена тегов/атрибутов в JSP с неверным регистром символов. Согласно спецификации XML имена тегов/атрибутов чувствительны к регистру символов; сервер WebSphere Application Server требует соответствия этому правилу, а WebLogic – нет.
Изменяет регистр символов в исходных файлах JSP-страниц в соответствии с регистром в библиотеке тегов.

Файлы дескрипторов развертывания

Плагин обнаруживает специфичные для поставщиков программного обеспечения файлы дескрипторов развертывания по их имени (например, weblogic.xml, weblogic-ebj-jar.xml, weblogic-webservices.xml и т.д.). Плагин анализирует дескрипторы развертывания, проверяет их на соответствие правилам для обнаружения проблем переносимости и предлагает быстрые исправления.


Таблица 3. Файлы дескрипторов развертывания
ПравилоИсправление
Use standard deployment descriptors for EJB references (использовать стандартные дескрипторы развертывания для EJB-ссылок).
Дескриптор развертывания WebLogic (weblogic.xml) может содержать EJB-ссылки на отображение сессионных bean-компонентов на их JNDI-имя.
Перемещает все EJB-ссылки, определенные в файле weblogic.xml, в стандартный дескриптор развертывания web.xml.
Use standard deployment descriptors for resource reference names (использовать стандартные дескрипторы развертывания для имен ссылок на ресурсы).
Специфичные для WebLogic дескрипторы развертывания (weblogic.xml) могут содержать ссылки на ресурсы, отображающие источники данных в их JNDI-имена.
Перемещает все ссылки на ресурсы, определенные в файлах weblogic.xml, в стандартные дескрипторы развертывания.
Do not use WebLogic Web services deployment descriptor (не использовать дескриптор развертывания Web-сервисов WebLogic).
Ищет дескриптор развертывания Web-сервисов, в частности определяет присутствие:
  • web-services.xml;
  • weblogic-webservices.xml и дескриптора развертывания Java EE (webservices.xml) в этой же папке.
Создает ANT-сценарий с ANT-заданиями WebSphere Application Server, который генерирует соответствующие артефакты для Web-сервисов на основе информации, собранной из дескрипторов развертывания. Также, если это необходимо для сервиса, генерируется и добавляется в classpath проекта Service Endpoint Interface (SEI). Затем можно запустить ANT-сценарий для миграции Web-сервиса.

Просмотр class path

Проверяется корректность настройки class path.


Таблица 4. Просмотр class path
ПравилоИсправление
Use MANIFEST.MF for application class path (использовать MANIFEST.MF для class path приложения).
Ищет классы и библиотеки в папке APP-INF и EAR-файле. Это WebLogic-расширение EAR-файла неявно добавляет в class path данные классы и библиотеки.
Добавляет запись в class path каждого соответствующего модуля, изменяя элемент class path файла MANIFEST.MF модуля. Это стандартный для отрасли метод добавления классов и библиотек в class path.

Использование инструмента

Подробная информация по использованию инструмента миграции приложений выходит за рамки данной статьи, но для того чтобы помочь вам начать работать с ним, на рисунке 1 показаны некоторые его ключевые функциональные возможности. В следующем разделе Ресурсы приводятся ссылки на необходимую информацию. На рисунке изображен снимок экрана инструмента миграции приложений, выполняющего миграцию класса WebLogic Startup на сервер WebSphere Application Server. На рисунке:

  • В панели Java Source Compare показан пример просмотра быстрого исправления. В левой половине этой панели отображается исходный код с примененным исправлением, а в правой половине – первоначальный код.
  • Вкладка Help в правом столбце содержит объяснение правила и применяемого быстрого исправления.
  • В панели Java Source Compare отображаются доступные варианты миграции кода:
    • Просмотр сканированного файла.
    • Изменение файла с применением быстрого исправления.
    • Просмотр быстрого исправления.
    • Игнорирование результата.
    • Исправление всех случаев срабатывания этого правила.

Рисунок 1. Результаты анализа программой Application Migration
Рисунок 1. Результаты анализа программой Application Migration

Если вы выполняете миграцию приложений на WebSphere Application Server или планируете такую миграцию в будущем, загрузите и попробуйте инструмент миграции приложений Tool. Имеется подробное руководство "Начало работы" (см. раздел Ресурсы): также работает форум, на котором можно поделиться своими проблемами и получить советы по их решению.


Ресурсы

Научиться

Получить продукты и технологии

Об авторах

Дональд Вайнс (Donald Vines) - исполнительный IT-архитектор IBM, ответственный за разработку рекомендаций по миграции приложений WebSphere для стран Северной Америки. Сейчас он работает с наиболее важными клиентами IBM в области проектирования архитектурных решений и обучения разработчиков использованию SOA и правилам модернизации промышленных проектов. Также он является техническим экспертом в Object Management Group (OMG), одном из крупнейших центров создания отраслевых стандартов. Дональд был одним из исследователей-разработчиков протокола IIOP (Internet Inter-ORB Protocol), поддерживающего в том числе и взаимодействие программных объектов через интернет-каналы. Кроме того, он имеет сертификаты Sun Certified Enterprise Architect, Sun Certified Java Programmer и OMG Certified UML2 Professional.

Энди Хойт (Andy Hoyt) - фотография

Энди Хойт (Andy Hoyt) – менеджер отдела разработки в IBM. Отвечает за инструмент миграции приложений для WebSphere.

Помощь по сообщениям о нарушениях

Сообщение о нарушениях

Спасибо. Эта запись была помечена для модератора.


Помощь по сообщениям о нарушениях

Сообщение о нарушениях

Сообщение о нарушении не было отправлено. Попробуйте, пожалуйста, позже.


developerWorks: вход


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

Выберите ваше отображаемое имя

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

(Должно содержать от 3 до 31 символа.)


Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Оценить эту статью

Комментарии

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=WebSphere
ArticleID=791929
ArticleTitle=Комментарии Дональда Вайнса и Энди Хойта: Как инструмент миграции приложений облегчает переход на WebSphere Application Server
publish-date=02072012

Теги

Help
Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Используйте ползунок, чтобы отразить больше или меньше тегов.

КнопкаПопулярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere).

Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).

Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Кнопка Популярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere). Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).