Одной из основных целей стратегии 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