Что умеет и имеет Sun Java System Portal 7.1
Это статья является переводом — компиляцией нескольких доков по порталу. Я добавил сравнение в самым крутым портальным сервером — IBM WebSphere Portal
Литература:
Sun Java SystemPortal Server 7.1 Technical overview.pdf
Single Sign-On Authentication (SSO)
При помощи SSO пользователь может обращаться к ресурсам портала, пройдя аутентификацию один раз. Не требуется повторного ввода идентификационных данных пользователя.
AccessManager (Менеджер доступа)
В Java Enterprise System, компонент менеджер доступа управляет SSO. Сервер портала, это один из компонентов системы, в котором работает SSO.
SSO Adapter service
– Для того, чтобы получать данные от серверов сторонних производителей, сервера которых не интегрированы в AccessManager, Сервер портала использует SSO Adapter service. Сервисы, доступ к которым предоставляется через SSO Adapter, могут предоставлять услуги почты, календарного планирования, адресных книг и т.д.Portal Server Desktop
Сервер портала агрегирует и выводит информацию пользователю. То, что пользователь видит в браузере, называется Standard Desktop (стандартный десктоп).
Помимо стандартного десктопа есть Mobile Desktop (мобильный десктоп) и Voice Desktop (голосовой десктоп).
Стандартный десктоп представляет собой веб-страницу, содержимое которой расположено в строках и столбцах. Сервер портала использует два способа отправки контента на десктоп:
Channels
(каналы) – специальная область для контента, которая представляет собой небольшое окно на веб-странице. Канал состоит из:• Provider object (провайдер)
• Configuration files (конфигурационные файлы)
• Data files (файлы с данными): XML, HTML шаблоны, которые могут быть обработаны каналом
Например:
News channel (Новостной канал) – выводит ссылки на новости
Mail channel (Почтовый канал)- выводит письма, отправленные пользователям
Container channels
(Контейнер каналов) – агрегирует каналы. Сервер портала поддерживает AJAXTableContainerProvider, который дает возможность асинхронной загрузки контента каналов, предоставляет drag’n’drop функционал.Например:
Table container (Контейнер таблиц)- Расставляет каналы по строкам и столбцам.
Tab container (контейнер вкладок)- Распределяет каналы (чаще всего контейнеры таблиц) по вкладкам
Поддерживаемые типы каналов:
Сервер портала поддеживает следующие типы каналов:
Standard Java portlets (Стандартные Джава портлеты), которые используют стандарт Portlet 1.0 определенный в JSR 168.
Провайдеры, которые используют проприетарные интерфейсы:
• JSP providers для компиляции и выполнения JSP станиц
• XML providers для транслирования XML файлов
• Remote portlets (Удаленные портлеты), которые используют Web Services for Remote Portlets (Веб-сервисы для удаленных портлетов) WSRP 1.0 стандарт, это специальный протокол для веб-служб, используемый для интеграции портлетов (спец. JSR 168), находящихся на удаленных ресурсах.
Portal Server Community Roles
(Роли пользователей сервисов сообщества, работающего на сервере портала)
Существует три вида ролей:
Owner (Владелец сообщества), Member (Член сообщества), Visitor (Посетитель).
Владелец сообщества может создавать и удалять сообщество, раздавать членство, а так же лишать пользователей прав доступа к сообществу. Может проводить любые операции с контентом (создание статей, загрузка файлов, удаление и т.д.).
Член сообщества может принимать участие в деятельности сообщества (опросы, обсуждения), создавать контент, видеть других членов сообщества, общую информацию о сообществе.
Посетитель лишен всех основных прав, может просматривать контент, созданный в сообществе
Сервисы для пользователей сообщества:
Wiki
– контейнер Wiki и соответствующие портлеты позволяют сообществу работать с интерактивным сайтом, на котором размещается контент сообщества. Члены сообщества могут создавать новый и изменять существующий контент (страницы, файлы).• Discussions (обсуждения) – Обсуждения в сообществе, это механизм обмена информацией внутри сообщества. Существует механизм подписки, поиска информации.
• Blogs (Блоги) — Блог-портлет дает возможность членам сообществе вести веб-блог.
• Surveys and Polls (Анкеты и опросы)- Члены сообщества могут принимать участие в анкетировании и опросах. Формат вопросов: да/нет, ответы по выбору, свободная форма.
• Searches (Поиск)- Члены сообщества могут производить поиск по сообществам, портала.
• Events and Tasks (События и задачи) – Члены сообществ могут использовать календарное планирование, реализованное на базе SunTM Calendar Server software, для того чтобы создавать, редактировать, реагировать на события и задачи проектов сообщества.
• File Sharing (Обмен файлами)- Члены сообществ8566а могут обмениваться файлами: создавать папки, закачивать и скачивать документы, любой другой вид информации.
Portal Server Search Server Robot
(поисковый робот сервера портала)
Поисковый робот ищет, конвертирует и упорядочивает ресурсы, доступные пользователям портала.
Функционал поискового робота:
Вычленение ссылок на ресурсы и переход по ним ( запись в реестр)
Формализованное описание найденных ресурсов
Запись описаний ресурсов в БД (индексация)
Возможна настройка поведения поискового робота с помощью следующих действий:
Установка расписания работы
Определение мета поиска ресурсов
Настройка глубины поиска ресурсов
Указание типов ресурсов, которые ищет робот.
AJAXTableContainerProvider
Литература:
Java SystemPortal Server 7.1 Update 1 AJAX Table Container.pdf
Провайдер интегрирует возможности Asynchronous JavaScript and XML (AJAX) в фреймворк портала. Контейнер предоставляет возможность асинхронной загрузки отдельных каналов и портлетов на странице портала. Допустим, на странице размещены три быстрых канала и один медленный. Контейнер загрузит первых три канала, и пользователь сможет начать работу, не дожидаясь полной загрузки содержимого веб-страницы.
Возможности контейнера
• Позиционирование каналов и отдельных портлетов перетаскиванием
• Асинхронное взаимодействие по событиям: сворачивание и разворачивание канала, удаление канала со страницы пользователя.
• Независимое обновление отдельных каналов, портлетов без перезагрузки всей страницы.
• Редактирование портлетов без перезагрузки всей страницы.
• Быстрое и легкое добавление и удаление каналов.
• Настраиваемый внешний вид страницы портала.
Ограничения AJAXTableContainerProvider
• В браузерах пользователей должна быть включена поддержка JavaScript.
• Контейнер не добавляет автоматически функционал AJAX составляющей. Разработчик должен сам написать соответствующий код, чтобы использовать возможности AJAX-контейнера.
• По умолчанию, режим редактирования каналов и портлетов скрыт от пользователя. Дело в том, что в AJAX-контейнере ширина окна в режиме редактирования меньше, в аналогичном режиме
• В другом контейнере.
• На странице портала можно разместить только один AJAX-контейнер.
Заключение:
И так, наконец-то портал 7.1 существенно приблизился к существующему эталону портала всех времен и народов, к порталу ВебСферы.
Хочу напомнить, что IBM является крайне консервативной компанией. Сейчас идет активная миграция с порталов 5.0 на порталы 5.1 На 5.0 порталах работает Java 1.3, на порталах 5.1 — Java 1.4, и только на портале 6.1 появилась Java 1.5
А на портале Сана можно писать под 1.6.
В 6.1 версии ВебСферы есть аналог AJAXTableContainerProvider, когда портлеты у нас перегружаются и реагируют на события независмо друг от друга, при этом перезагрузки страницы не требуется.
К сожалению, 7.1 работает только с JSR-168, а порталы IBM помимо своей спецификации, поддерживают спецификацию JSR-168.
В настоящее время доступен Сановский портал 7.2, который держит и 168ую и 286 спецификацию. Между прочим, IBM одобрила спецификацию 286, так что стоит ожидать, что порталы компании так же будут работать с родной Сановской спецификацией.
Вместе с порталом IBM можно поставить WCM- Web Content Manager, это своеобразная CMS в трактовке IBM. Если интересно, я могу рассказать в чем заключается её своеобразность. Когда мне пришлось работать с WCM, я был крайне удивлён её архитектурой, ничего подобного я раньше не встречал. На портале 5.0 сидел WCM 2.0, а на портале 5.1 присел WCM 5.1
Ребята решили синхронизировать версии портала и контент-менеджера. Помимо версий, в WCM произошли более существенные изменения, но об этом как-нибудь в другой раз.
помимо CMS'ок для порталов, у IBM есть точно такая же технология SSO. Кстати, из-за неё на портале 5.0 (WebSphere Portal Server)и сервере приложений 5.0(WebSphere Application Server) происходили интересные глюки:
Допустим, вы заходите под одним и тем же пользователем из одного бразуера на портал, а затем на админконсоль сервера приложений. При отладке приложения такая потребность часто возникает.
После захода на админконсоль, ваша сессия на портале принудительно убивается. Вы делаете изменения на сервере приложений (например, перестартовываете веб-сервис, к которому ходит ваш портлет), переключаетесь в браузере на вкладку с порталом и обнаруживаете, что ваша сессия больше не валидна.
Вы заново авторизуетесь на портале, тестируете свой портлет, переходите обратно к вкладке браузера с админконсолью и обнаруживаете, что сессия на админконсоли сдохла. Авторизовавшись на админконсоли, вы внось убиваете сессию на портале.
Вот такой странный косяк с общей сессией пользователя на портале и сервере приложений этого портала.
В общем и целом, портал 7.1 не сильно уступает порталам IBM. Главное, чтобы JSR-286 получила поддержку, стала жить, тогда у IBM в области портальных технологий может появиться серьезный конкурент.