Статьи

Масштабирование до сервера WebLogic 12c из GlassFish 3.x

Одной из основных целей стратегии Oracle для сервера GlassFish была «интеграция с Fusion Middleware и продуктами» (источник: Community Roadmap, май 2010 г. ). Еще в этом году вы слышали много страхов и слухов о том, что два сервера станут одним. Видя, как оба продукта продвигаются вперед с точки зрения функций и выпусков, становится яснее, какой может быть эта стратегия. Начиная с поддержки GlassFish для ограниченного набора weblogicДля определенных дескрипторов развертывания Oracle также перешла на WebLogic, чтобы сделать то же самое. Начиная с 10.3.6, в WebLogic Server добавлена ​​поддержка чтения и использования дескрипторов веб-развертывания GlassFish. Это GlassFish-Web.xml и Sun-Web.xml. Это полезно для предоставления определенных поведенческих настроек GlassFish и сопоставлений для ресурсов и безопасности для WebLogic Server. Очевидно, что цель этого состоит в том, чтобы упростить развертывание приложения GlassFish на сервере WebLogic и наоборот.

Что WebLogic знает о GlassFish

WebLogic Server обнаруживает присутствие дескрипторов веб-развертывания GlassFish в файлах WAR и анализирует их. Известные записи анализируются в настройках сервера WebLogic и применяются во время выполнения через WebLogic MBeans (weblogic.j2ee.descriptor.wl.WeblogicWebAppBean).

WebLogic всегда будет использовать существующий файл weblogic.xml вместо дескрипторов развертывания GlassFish, если он присутствует, и WebLogic применяет настройки во время выполнения, что означает, что weblogic.xml фактически не генерируется.

glassfish-web.xml Имя элемента Поддержка Weblogic (weblogic.xml)
Контекст-корень Контекст-корень
безопасность-сопоставление
ролей имя-
принципа-имя-
группы-имени
security-роль-присваивание
роль-имя
принцип-имя
принцип-имя
сеанс конфигурация
сеанс менеджер: менеджер-свойства: reapIntervalSeconds
сеанса менеджер: менеджер-свойства: maxSessions
сеанса менеджер: менеджер-свойства: каталог
сеанс менеджер: менеджер-свойства: timeoutSeconds
сеанса описатель
недействительность интервал секундной
макс-в-память-сессий
persistentOstoreOdir
тайм — аут-ИКС
ejb-ref
ejb-ref-name
jndi-имя
ejb-ref-description
ejb-ref-name
jndi-name
ресурс-реф-
рес-реф-имя
jndi-имя
ресурс-описание
res-ref-name
jndi-имя
resource-env-ref
resource-env-ref-name
jndi-имя
ресурс-env-описание
ресурс-env-ref-name
jndi-имя

делегат загрузчика классов
контейнер-дескрипторкурс
-web-inf-классы
jsp-config
checkInterval
сохранить
сгенерированный scratchdir
jsp-дескриптор
page-check-seconds
keepgenerated
working-dir

Если вы развернете веб-приложение GlassFish в WebLogic, вы получите несколько сообщений журнала с уровнем INFO и сможете следить за происходящим:

<Info> <HTTP> <BEA-101392>...
<Glassfish Descriptor element <glassfish-web-app> is not supported>
<Glassfish Descriptor element <context-root> was successfully parsed and applied>
<Glassfish Descriptor element <idempotent-url-pattern> is not supported>
<Glassfish Descriptor element <property> is not supported>
<Glassfish Descriptor element <reapIntervalSeconds> was successfully parsed and applied>
<Glassfish Descriptor element <res-ref-name> was successfully parsed and applied>
<Glassfish Descriptor element <jndi-name> was successfully parsed and applied>
<Glassfish Descriptor element <delegate> was successfully parsed and applied>
<Glassfish Descriptor element <keepgenerated> was successfully parsed and applied>

По сравнению с тем, что GlassFish знает о WebLogic, это все еще очень ограниченный набор параметров. Но это покрывает самые необходимые. И мы по-прежнему с нетерпением ждем еще меньшей конфигурации XML с новыми версиями Java EE. Но давайте посмотрим на другую сторону.

Что GlassFish знает о WebLogic

Сервер GlassFish предлагает ограниченную поддержку файлов дескрипторов развертывания weblogic-application.xml, weblogic.xml и weblogic-webservices.xml. Единственный элемент в weblogic-application.xml, который поддерживает GlassFish Server, — это безопасность. Эквивалентным элементом в файле glassfish-application.xml является сопоставление ролей безопасности.

weblogic.xml Имя элемента Поддержка сервера GlassFish
имя-роли в разделе назначения безопасности-роли имя-роли в эквиваленте security-role-mapping glassfish-web.xml
имя субъекта в соответствии с назначением роли безопасности имя-субъекта в соответствии с сопоставлением ролей безопасности glassfish-web.xml
ресурсосберегающих описание ресурс-ref glassfish-web.xml эквивалентен, но ссылка на ресурс не поддерживается
ресурсы окр-описание эквивалент ресурса resource-env-ref glassfish-web.xml, но ссылка на ресурс не поддерживается
EJB-ссылки описание ejb-ref glassfish-web.xml эквивалент
сервис-ссылки описание эквивалентный service-ref glassfish-web.xml
тайм-аут в секундах под дескриптором сессии свойство timeoutSeconds сессионных свойств glassfish-web.xml эквивалент
Недопустимый интервал-секунды в дескрипторе сеанса Свойство reapIntervalSeconds для свойств manager-эквивалента glassfish-web.xml
максимальное количество сессий в памяти под дескриптором сессии Свойство maxSessions свойств manager-эквивалента glassfish-web.xml
persistent-store-dir под дескриптором сессии каталог свойства store-properties эквивалент glassfish-web.xml
предпочтение-web-inf-классы под контейнер-дескриптор атрибут делегата эквивалентного загрузчика класса glassfish-web.xml
Контекст-корень эквивалент контекстного корня glassfish-web.xml
файлы cookie включены в дескрипторе сессии Сервлет 3.0
имя cookie под дескриптором сессии Сервлет 3.0
путь cookie под дескриптором сессии Сервлет 3.0
cookie-домен под дескриптором сессии Сервлет 3.0
cookie-комментарий под дескриптором сессии Сервлет 3.0
cookie-безопасный под дескриптором сессии Сервлет 3.0
cookie-max-age-secs под дескриптором сессии Сервлет 3.0
cookie-http-only под дескриптором сессии Сервлет 3.0
переопределение URL включено в дескриптор сессии Сервлет 3.0
постоянное хранилище-cookie-имя под дескриптором сессии Постоянство на основе файлов cookie поддерживается
генерируется под JSP-дескриптором сохранить сгенерированный параметр инициализации JspServlet
рабочий каталог под jsp-дескриптором scratchdir инициализации параметр JSPServlet
Сжатие html-шаблона под дескриптором jsp Параметр инициализации trimSpaces в JspServlet
index-directory-enabled под контейнером-дескриптором параметр init списков DefaultServlet
index-directory-sort-by под контейнером-дескриптором sortedBy параметр init DefaultServlet
сохранение-сессий включено в дескриптор контейнера То же, что asadmin redeploy —keepstate = true или keep-state в glassfish-web.xml
run-as-принципал-имя под дескриптором сервлета имя принципала в эквиваленте сервлета glassfish-web.xml
weblogic-webservices.xml Имя элемента Поддержка сервера GlassFish
вебсервис типа Возможные значения: JAXRPC или JAXWS. GlassFish Server не поддерживает веб-сервисы JAX-RPC с аннотациями JSR 181. Использование этого элемента ограничено, поскольку контейнер может выяснить, является ли тип JAX-WS или JAX-RPC, на основании наличия аннотаций JSR 181.
WSDL-файл-опубликовывать То же, что wsdl-publish-location в glassfish-web.xml
сервис-конечная точка-адрес Аналогичен endpoint-address-uri в glassfish-web.xml, за исключением того, что webservice-contextpath и webservice-serviceuri указываются отдельно
j2ee: Логин-конфигурации То же, что и login-config в glassfish-web.xml
j2ee: транспортно-гарантия То же, что транспортная гарантия в glassfish-web.xml
выставлен под wsdl Принимает true или false, по умолчанию true. Управляет публикацией WSDL для клиентов.
Стрит-вложение Принимает true или false, по умолчанию true. Только для веб-сервисов JAX-WS. Настраивает среду выполнения JAX-WS для отправки вложений потоковым способом.
Validate-запрос Принимает истину или ложь, по умолчанию ложь. Только для веб-сервисов JAX-WS. Настраивает среду выполнения JAX-WS для проверки того, что сообщения запроса соответствуют определениям WSDL.
HTTP-ответ-BufferSize Свойство конфигурации ReliabilityMessagingFeature, похожее на ReliableMessagingFeature.setDestinationBufferQuota ()
надежность-конфигурации Частично поддерживается. Субэлементы отображаются в Metro’s ReliabilityMessagingFeature.
Тайм-аут неактивности при настройке надежности Карты для ReliableMessagingFeature. getSequenceInactivityTimeout ()
базовый интервал повторной передачи в конфигурации с надежностью Карты для ReliableMessagingFeature. getMessageRetransmissionInterval ()
retransmission-exponential-backoff при надежности-конфигурации Карты для ReliableMessagingFeature. getRetransmissionBackoffAlgorithm (). Возвращает значения перечисления, одно из которых является экспоненциальным.
интервал подтверждения в параметрах надежности-конфигурации Карты для ReliableMessagingFeature. getAcknowledgementTransmissionInterval ()
истечение срока действия последовательности при настройке надежности Карты для ReliableMessagingFeature. getSequenceInactivityTimeout (). В WebLogic Server это значение применяется независимо от активности. В метро это касается только неактивных последовательностей.
подсчет повторных попыток в буфере при конфигурации надежности Карты для ReliableMessagingFeature. getMaxMessageRetransmissionCount ()
задержка повтора буфера в конфигурации с надежностью Карты для ReliableMessagingFeature. getMessageRetransmissionInterval ()

Но для чего все это хорошо?

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

1) GlassFish можно позиционировать как сертифицированную, облегченную платформу разработки для стека FMW от Oracle на основе сервера WebLogic. Если бы это было главной целью, я бы не ожидал, что WebLogic поймет какой-либо из DD GF, но GF знает обо всех настройках и настройках WLS.

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

3) Обе команды пытаются заполучить концепции и переключатели другой стороны. Дорожные карты GF из прошлого выделяют «Общую серверную платформу» для WLS и GF. Поэтому знание друг друга может быть простым и очевидным первым шагом для команд.

Как всегда, немного всего может быть правдой. Так что на данный момент не осталось ничего, кроме того, чтобы просто радоваться и наблюдать, как оба превосходных сервера сближаются и открываются для будущих возможностей.

 

От http://blog.eisele.net/2011/12/scaling-up-to-weblogic-12c-server-from.html