Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

Java: СтатьиАргументы в пользу портлетов

Аргументы в пользу портлетов

Как решить, являются ли портлеты для Вас наилучшим вариантом


Содержание:

Что такое портлеты?

Понятие Web-технологий

Понятие портлетов

Портлеты и Web-службы

Когда имеет смысл использовать портлеты?

В каких случаях следует выбрать другие решения?

С чего начать?

Благодарности

Ресурсы

Об авторах

Энн Мэри Фред (amfred@us.ibm.com), инженер-программист, IBM
Стэн Линдесмит (stanl@us.ibm.com), инженер-программист, IBM


Февраль 2003

Некоторые разработчики программного обеспечения всегда выбирают самую последнюю технологию для реализации своих решений. Другие имеют склонность придерживаться более знакомых, испытанных платформ. В этой статье Стэн и Энн Мэри описывают свой опыт разработки Web-приложений и портлетов, чтобы помочь Вам решить, подходят ли портлеты для вашей задачи. Они также приводят обширный список ресурсов для получения дополнительной информации о темах, которые Вас интересуют.

Что такое портлеты? Порталы? Портальный сервер?

Вы, возможно, спросили себя: Что такое портлеты? Что такое портал? Что такое портальный сервер? Здесь, мы представим Вам краткие ответы на каждый из этих вопросов, и сообщим, где найти дополнительную информацию, если Вам это потребуется. Как только Вы поймете, что такое портлеты, портал, и портальный сервер, Вы будете экипированы, чтобы принять решение на основе этой информации об использовании портлетов для ваших проектов.

Сайт WebSphere Portal Server предоставляет рабочее определение IBM для портала: "Порталы обеспечивают безопасную, единую точку входа для взаимодействия с разнообразной информацией, бизнес-процессами и людьми, персонифицированную к потребностям пользователя и его обязанностям". Есть хорошая аналогия между тем, что порталы добавляют к Web-приложениям, а оконный интерфейс (типа Microsoft Windows) добавляет к операционным системам (типа DOS). И то и другое обеспечивает совместимый и единообразный способ взаимодействия с приложениями.

Портлеты, согласно сайту WebSphere Portal, являются "видимыми активными компонентами, которые пользователи видят на страницах портала... В простейших терминах, портлет - это Java-сервлет, который работает внутри портала". См. рис. 1 с примером страницы портала с двумя видимыми компонентами. Каждый видимый компонент называется портлетом. В этом примере, один портлет позволяет пользователю отправиться по указанному URL; другой предоставляет пользователю текст с напоминанием.

Рис 1. Пример страницы портала с двумя портлетами

Примеры портлетов

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

На сайте WebSphere Portal Server имеется большое количество информации о портлетах, порталах и портальных серверах. Мы рекомендуем начать изучение оттуда, если Вы не знакомы с основными концепциями портлетов и портальных серверов. Также нам нравится WebSphere Portal Zone, технический сайт, ориентированный на разработчиков и администраторов WebSphere Portal Server.

Обратите внимание: Мы - IBM Java-программисты с большим опытом работы с программным обеспечением WebSphere, и небольшим опытом работы с продуктами конкурентов. Мы пишем о том, что мы знаем, поэтому большинство ссылок и примеров в этой статье относятся к сайтам IBM и программным продуктам WebSphere. Однако, большинство из того, о чем мы здесь говорим характерно не только для IBM. Основные концепции и характеристики порталов, портальных серверов, и портлетов очень сходны, в независимости от того, какой портальный сервер использует ваша компания. Мы надеемся, что наша статья будет полезной для всех, интересующихся использованием портлетов.

Понятие Java-сервлетов, JSP, и Microsoft ASP технологий

Java-сервлеты, JavaServer Pages (JSP), и Microsoft Active Server Pages (ASP) технологии - проверенные платформы разработки Web-приложений. Это сформировавшиеся платформы с принятыми стандартами и множеством инструментов для разработки и тестирования.

Сервлеты - по существу, стандартный путь раширения функциональных возможностей Web-браузера. Они были разработаны, чтобы заменить CGI-скрипты (CGI - Common Gateway Interface). Существует стандарт API (Application Programming Interface), который разработчики "заполняют", чтобы реализовать Web-приложения. Среда исполнения сервлетов обеспечивает некоторые полезные и экономящие время возможности, включая преобразование HTTP-запросов из сети в удобный для использования HttpServletRequest объект, обеспечивая выходной поток для программиста, чтобы использовать его для ответа, и преобразование удобного в работе объекта HttpServletResponse в HTTP-ответ, который может быть послан обратно по сети. Среда исполнения сервлетов также обеспечивает удобные возможности управления сессиями, которые позволяют Вам помнить пользователей между запросами, и Вы можете назначать ресурсы (такие как подключения к базе данных), которые могут использоваться для многократных запросов. Подобно портлетам, сервлеты действуют как мост между вашими бизнес-данными и интерфейсом Web-браузера. Сервлеты имеют преимущество максимальной переносимости: они могут работать на большем количестве Web-серверов или серверов Web-приложений и на большем количестве платформ, чем любая другая технология Web-приложений, доступная сегодня. За дополнительной информацией обращайтесь к странице Sun's Java Servlet Technology (см. ссылки в Ресурсах).

ASP и JSP технологии

Хотя и ASP и JSP технологии обеспечивают разработчика удобным способом программирования по принципу Модель-Представление-Управление (Model-View-Controller) (см. Ресурсы для получения дополнительной информации), есть существенные различия между ними.

Вы должны решить, какой Web-сервер и платформу Вы хотите использовать, чтобы развернуть ваш проект. Вы должны продумать, будете ли Вы использовать технологию, которая является чьей-то собственностью или она должна быть основана на открытых стандартах. Вы должны принять во внимание, что вы будете делать в будущем после того, как Вы выйдете за рамки вашего beta-решения: есть ли у Вас потребность в расширяемости и высокой масштабируемости?

Статья "Сравнение JSP и Microsoft ASP технологий" дает анализ каждой из этих двух технологий (и даже больше); Ссылку Вы найдете в Ресурсах.

JSP-страница фактически представляет собой сервлет. Каждая JSP-страница автоматически преобразуется в сервлет за сценой. Точно так же как сервлеты, JSP-страницы предоставляют разработчикам доступ к объектам запросов и ответов, и Вы пишете свои результаты в выходной поток данных. Некоторые разработчики делают ошибку, полностью заменяя сервлеты JSP-страницами, но в идеальном варианте они используются в дополнение друг другу. JSP-страницы обеспечивают удобный синтаксис для генерации вашего кода - смесь Java, специального JSP-синтаксиса, и разметки в браузере (подобно HTML и JavaScript) - в то время как сервлеты, которые являются строгой Java-технологией, обеспечивают более рациональный способ взаимодействия с вашими бизнес-данными. Разработка по принципу Модель-Представление-Управление (Model-View-Controller - MVC), знакомая многим разработчикам, помогает нам использовать сервлеты и JSP-страницы вместе. Модель помогает читать и обновлять ваши бизнес-данные и объекты. Управление - это сервлет, обрабатывающий запросы от пользовательского Web-браузера, исполняющий их с использованием Модели, и аккуратно упаковывающий информацию, которая будет нужна на JSP-странице, в один объект (обычно называемый bean). JSP-страница - это окончательное Представление данных, которое отображает информацию от сервлета в ясном и визуально приятном виде. Любая платформа, которая поддерживает сервлеты, может также поддерживать JSP-страницы. (См. Ресурсы для получения дополнительной информации о JSP-страницах.)

ASP-страницы обеспечивают функциональные возможности подобные сервлетам и JSP-страницам. ASP-страницы используются для того, чтобы создать для пользователя интерактивную Web-страницу. ASP-страницы также позволяют разработчикам использовать MVC, чтобы отделять бизнес-логику от представления с использованием средств управления ActiveX. Они также легко интегрируются с .NET-платформой Microsoft. Однако, в отличие от сервлетов и JSP-страниц, ASP-страницы не совместимы с Java-портлетами, и не существует простого способа конвертировать их в портлеты. Из-за средств управления ActiveX, ASP-страницы ограничены платформой Windows (если Вы не cможете найти программу для той платформы, на которую планируете перейти). В целом, ASP-страницы не совсем совместимы со многими Web-серверами, серверами Web-приложений, и операционными системами так, как технология Java, поэтому мы предпочитаем сервлеты и JSP-страницы.

В завершение обзора этих технологий мы должны обсудить CGI-скрипты. На раннем этапе развития сервлетов, JSP и ASP, CGI-скрипты были лидирующей технологией, используемой для интерактивных Web-сайтов, теперь они устарели, и мы не рекомендуем их использовать. Хотя еще есть некоторые консервативные разработчики, которые все еще используют CGI, но они делают это напрасно. Более новые технологии, о которых мы говорим в этой статье, намного проще в разработке, отладке и сопровождении. CGI имеет много ограничений, таких как проблема производительности и недостаточная безопасность. Что касается стоимости, то Вы можете бесплатно получить хороший сервер Web-приложений, который поддерживает самые последние технологии: Web Services Developer Pack от Sun и проекты с открытым кодом Apache Software Foundation's Jakarta, Tomcat, и Jetspeed. Сервер Apache также соответствует требованиям к современным системам. (См. Ресурсы).

Понятие портлетов

Портлеты - новая "горячая" технология разработки Web-приложений. Хотя в JSR 168 (см. Ресурсы) описана спецификация портлета, портлеты пока не стандартизированы полностью. Например, портлеты WebSphere Portal Server не будут работать в BEA portal server, потому что сервер приложений BEA не поддерживает WebSphere Portlet API. Для разработки портлетов нет такого многообразия инструментов как для более устоявшихся технологий, таких как сервлеты. Однако, это не повод отвергать их применение. Как только стандарты будут утверждены, нужно будет просто конвертировать существующие портлеты, чтобы выполнялись новые стандарты. Инструментальные средства для разработки портлетов уже существуют, и инструменты разработки постоянно совершенствуются. Вы можете найти инструментальные средства для WebSphere Studio для порталов и мобильных устройств на WebSphere Studio Zone.

Разработчиков, умеющих писать портлеты не так много, как опытных разработчиков сервлетов, JSP и ASP. Однако, разработчики, имеющие опыт работы с этими технологиями, особенно с сервлетами и JSP, могут быстро и легко научиться писать портлеты. Писать портлеты более рентабельно (и менее утомительно) чем писать сервлеты, так как портальный сервер обеспечивает множество возможностей, которые иначе должны были бы предусмотреть сами разработчики.

Портлеты - фактически представляют собой специальный тип сервлета, и они также используют JSP-страницы для отображения пользовательского интерфейса. Portlet API расширяет и является подклассом Servlet API, и это означает, что портлеты могут делать то же, что и сервлеты с некоторыми изменениями при исполнении и дополнительными возможностями. Наиболее существенное изменение исполнения в том, как обслуживаются запросы: сервлеты обрабатывают запросы "doGet" и "doPost", которые преобразуются в http GET и POST запросы, в то время как портлеты обрабатывают запросы "doView" и "doEdit", которые приходят не напрямую от Web-браузера, а от портального сервера. Небольшое усовершенствование - PortletLog, который обеспечивает лучшее ведение журналов регистрации и возможности мониторинга, чем стандарт Servlet API. Второе усовершенствование, обеспечиваемое WebSphere Portal Server - лучшая поддержка особенностей языка и стандартов страны пользователя ваших портлетов. Portlet API также дает Вам доступ к конфигурации информации о вашем портлет-приложении и вашем портлете.

Портлеты также имеют много стандартных возможностей, которые сервлетам вообще не доступны. Одна ключевая особенность - встроенная поддержка автоматического использования различных JSP-страниц для различных пользовательских устройств. Это позволяет вам писать портлеты, которые работают на многих устройствах, включая настольные компьютеры с современными Web-браузерами, palmtop-компьютеры с ограниченными Web-браузерами, личные цифровые помощники (PDA), и мобильные телефоны. Вам не нужна программа, приводящая все к общему знаменателю; Вы можете разрабатывать сложные интерфейсы для различных типов устройств, многократно используя ту же основную бизнес-логику, и портальный сервер выберет наиболее соответствующий для каждого пользователя. Вы можете даже использовать контроллеры портлетов, которые позволят вам иметь различные page/action последовательности для каждого типа устройств.

Другая важная возможность, обеспечиваемая Portlet API - способность управлять сообщениями и событиями. ActionListener превращает щелчки пользователя на ваших страницах в события action, удобная в работе модель, знакомая многим Java-программистам. WindowListener уведомляет ваш портлет о событиях window - о том, когда ваш портлет максимизирован, минимизирован и восстановлен в размерах. MessageListener позволяет вам управлять сообщениями, посланными от одного портлета к другому.

Еще одна ключевая особенность портлетов - возможность настроить их разными способами. Если разработчики используют стандарт Cascading Style Sheet, предоставляемый портальным сервером, то все их портлеты будут выглядеть идентично. Компании могут создавать темы и скины для своих портлетов, которые отражают их индивидуальный стиль, и ко всем портлетам (даже разработанным третьим лицом) этот новый стиль применится автоматически.

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

Третий тип настройки портлетов - пользовательские настройки. При ограничениях, которые устанавливает администратор портала, пользователи могут решать, который портлеты должны находиться в их портале, какие страницы портлета включить, и изменять любые другие настройки, которые предусмотрели разработчики. Например, Вы можете позволять вашим пользователям настраивать их портлет, показывающий котировки ценных бумаг с их собственным портфелем ценных бумаг, и хранить эту информацию в PortletData для этих пользователей. Когда пользователь выйдет из системы, а затем вернется, он будет иметь все сохраненные настройки от предыдущей рабочей сессии.

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

Портлеты и Web-службы

Web-службы - другая новая модная технология разработки Web-приложений. Web-службы - это модульные приложения, которые могут быть описаны, опубликованы, обнаружены, и активизированы через Web. Эти модульные приложения являются слабо связанными динамическими компонентами. Для детального ознакомления с Web-службами и тем, как они могут быть применены в реальных бизнес-процессах, см. серию "Best practices for Web services" (developerWorks, январь 2003).

Также как и портлеты, Web-службы еще полностью не стандартизированы, но стандарты находятся в процессе разработки, и вы можете использовать Web-службы уже сегодня. Уже доступно несколько инструментов разработки Web-служб, включая WebSphere SDK for Web Services.

Начало работы с Web-службами

Существует много коммуникационных стандартов (UDDI, SOAP, WSDL, и так далее), с которыми вы столкнетесь при работе с Web-службами. Серия "Finding your way through Web service standards" (developerWorks, октябрь 2002) познакомит вас со всеми этими стандартами и с тем, как они работают вместе.

Если Вы ищете рабочий пример портлета, взаимодействующего с Web-службой, читайте "Create your own portlet and Web service" (developerWorks, декабрь 2002), эта статья шаг за шагом научит вас созданию простого портлета, который использует самую базовую SOAP Web-службу.

Web-служба - логическое расширение объектно-ориентированного программирования. Разработчик может реализовать функцию и затем определить эту функцию (через API) как Web-службу. После того, как приложение создано и определены интерфейсы, Web-службу делают доступной (публикуют), чтобы клиент (инициатор запроса) мог использовать ее. Как показано на рис. 2, архитектура имеет трех различных пользователей: поставщик Web-службы (Web service provider), который определяет модульное приложение и запрашивает брокера Web-службы (Web service broker) для публикации приложения, чтобы инициатор запроса Web-службы (Web service requester) мог использовать это в своем приложении. Действия, осуществляемые ими (публикация, поиск, и связывание) представлены на диаграмме. Для более детального рассмотрения архитектуры Web-службы, читайте "Web Services architecture overview" (developerWorks, сентябрь 2000).

Рис. 2. Publish-find-and-bind архитектура Web-службы

Архитектура Web-службы

Web-службы используют язык описания служб, чтобы описать себя для внешнего мира. Вы можете прочитать о различных стандартах определения и сортировки ваших данных в статье "Finding your way through Web service standards" (developerWorks, октябрь 2002).

Когда имеет смысл использовать портлеты?

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

  • Портлеты могут работать на многих клиентских устройствах. Ваши пользователи могут перемещаться с компьютера на компьютер, и с одного мобильного устройство на другое, и при этом использовать ту информацию и те приложения, которые им нужны.
  • Портлеты позволят вам легко настроить их содержание для различных пользовательских групп, а индивидуальные пользователи могут реорганизовать их и приспособить к своим потребностям.
  • Вы можете привести ваши портлеты к унифицированному виду, и быстро изменять их внешний вид, используя Cascading Style Sheets наряду с темами и скинами, которые обеспечивает портальные сервер. Вы также можете создавать ваши собственные темы и скины, лучше отразить имидж и стиль вашей компании.
  • Портлеты могут быть опубликованы как Web-сервисы, так, чтобы компании, внешние по отношению к вашему портальному серверу, могли легко писать программы, используя их.
  • WebSphere Portal Server обеспечивает превосходную поддержку особенностей языка и стандартов страны пользователя, сверх того, что обеспечивает ваш сервер Web-приложений. Легко разрабатывать портлеты, правильно отображающие даже двухбайтовые или двунаправленные языки, такие как китайский и арабский.
  • Портлеты помогают разделить сложные приложения на задачи: в целом, одна группа тесно связанных задач равняется одному портлету. Портлеты администрирования WebSphere Portal Server являются хорошим примером: посмотрите (на рис. 3) как задачи администрирования разбиты на категории (портлеты, установки портала, и т.д.), группы связанных задач (управление пользователями, управление пользовательскими группами), и отдельные задачами (поиск пользователя, создание нового пользователя).
  • Портлеты позволяют легко добавлять новые функции к вашим приложениям позже. Если новая функция большая, вы должны создать новый портлет. Для небольших модернизаций, вы можете изменить существующие портлеты без потери индивидуальных настроек пользователей.
  • Портлеты, как и другие Web-приложения, хорошо совместимы с брандмауэрами (firewalls). Они используют стандартные Web-протоколы, чтобы получать и отображать информацию.
  • Вы должны только один раз установить и настроить портлеты для ваших пользователей, что намного легче, чем работа с автономными приложениями на каждом компьютере. Это также относится и к другим технологиям Web-приложений.
  • Портальный сервер работает с сервером Web-приложений, чтобы обеспечить безопасность, поддержку установки, надежность и доступность для многих пользователей, благодаря чему вам не нужно тратить большую часть своих усилий на разработку этих возможностей.
  • Делая инвестиции в портальный сервер, вы можете найти полезными его дополнительные возможности: управление содержимым, преобразование кода, голосовая поддержка, работа в оффлайне и др.

Рис. 3. Портлет - группа тесно связанных задач

Портлет-группа

В каких случаях следует выбрать другие решения?

Портлеты не могут быть решением для каждого проекта. Ниже перечислены несколько ситуаций, когда не следует использовать портлеты:

  • Сложные пользовательские интерфейсы не очень хорошо переводятся в портлеты. Языки разметки, такие как HTML и WML просто не могут описать некоторые интерфейсы. Попытайтесь вообразить реализацию интегрированной среды разработки (integrated development environment - IDE), такой как Eclipse или Visual Basic в HTML и вы поймете, почему. "Родные" приложения и Java-приложения подходят для этого лучше. (Если у вашего приложения сложный пользовательский интерфейс, и вы все же хотите воспользоваться преимуществами выгод от использования портлетов, WebSphere Portal версии 4.2 поддерживает Struts, которые могут быть очень полезны. Struts - часть проекта Apache Jakarta - дополнительная информация доступно на сайте Struts; вы найдете ссылку в Ресурсах.)
  • Пользовательские интерфейсы с данными, которые должны постоянно обновляться, также не подходят для оформления в виде портлетов. Когда Вы обновляете один портлет, все портлеты на странице должен быть отрисованы заново, так что это в целом не лучшая практика для того, чтобы иметь портлеты автоматически перезагружаемыми с новыми данными. С другой стороны, вы можете иметь в портлете опцию "refresh", и ваши пользователи смогут сами выбирать, когда обновить страницу. Рис. 4 показывает пример биржевого портлета со ссылкой для обновления информации на портал служащего IBM. Ссылка обновит этот портлет, но также обновит и остальную часть страницы портала. Вы не можете быть уверены в том, что пользователи будут обновлять страницу достаточно часто, поэтому если вы хотите, чтобы ваши данные на экране не были устаревшими, используйте "родное" приложение или Java-приложение вместо Web-приложения.

Рис. 4. Данные, которые должны быть обновлены

Данные, которые должны быть обновлены
  • Высоко-интерактивные пользовательские интерфейсы не достаточно хорошо переводятся в Web-приложения вообще, или в портлеты в частности. Если вы хотите, чтобы ваш интерфейс изменялся автоматически, когда пользователь выполняет какое-либо действие, например, при выборе выпадающего меню, вы можете либо использовать форму и обновлять всю страницу полностью (раздражающе), или использовать скрипты, чтобы изменить портлет (очень трудно). Если вы используете скрипты, вы будете должны удостовериться в том, что они работают на всех устройствах, которые вы хотите поддерживать, и также в том, что ваш портлет работает в том случае, когда скрипты недоступны некоторым из ваших пользователей. Для мобильных устройств, вы, вероятно, должны иметь альтернативную JSP-страницу, которая не использует скрипты. "Родные" приложения или Java-приложения легче сделать высоко-интерактивными, чем Web-приложения.
  • Портлеты должны жить "в пределах своей оболочки". Будьте осторожны, если вы имеете ссылку в портлете к Web-странице вне среды портального сервера, так как после этого трудно вернуться обратно в портал. Фреймы не разрешены (Внутренние фреймы разрешены, но только пользователи Microsoft Internet Explorer могут их видеть). Всплывающие окна и скрипты обычно не могут использоваться на мобильных устройствах. Если Вы не можете вписать ваше приложение в структуру портала, не делайте его в виде плохо-работающего портлета.
  • Если вы хотите предоставлять данные другим приложениям, подумайте сначала о написании Web-службы. Как только вы реализуете Web-службу, вы можете написать портлет, который ее использует, и сможете опубликовать Web-службу, чтобы использовать ее совместно с другими приложениями. Биржевой портлет выше - хороший пример: служба биржевых котировок должна быть Web-службой, которую могут использовать портлет биржевых котировок и другие приложения. В этом случае, вы могли бы также написать программу, которая автоматически посылает пользователям текстовое сообщение, когда акции достигают определенной цены.
  • Если ваша компания еще не имеет портальный сервер, и не планирует приобрести его немедленно, идите вперед, и разработайте ваше приложение как сервлет использование JSP-страницы. Вы можете всегда конвертировать их в портлет позже.
  • Портлеты полностью не стандартизированы, и они еще не поддерживаются на стольких платформах как другие Java-технологии. А пока вы можете использовать только тот портальный сервер и на той платформе, которые поддерживают портлеты. Если это не приемлемо, разработайте сначала ваше приложение как сервлет, и Вы всегда сможете конвертировать его в портлет позже.

С чего начать?

Если вы решили, что портлеты - подходящая технология для вашего следующего проекта, вы, вероятно, хотите получить информацию, которая поможет вам в работе. Детальное рассмотрение разработки портлетов выходит за рамки этой статьи, но здесь перечислены некоторые ссылки на статьи и учебные пособия, которые помогут вам узнать больше о WebSphere Portal.

И в WebSphere Developer Technical Journal и в developerWorks опубликовано большое количество технических статей с практическими рекомендациями, которые помогут вам писать портлеты. Ищите их в архивах.

Хорошие учебные пособия для новых разработчиков портлетов - "WebSphere Portal Programming: Pervasive Portlet Development" (WebSphere Developer Technical Journal, июль 2002) и "WebSphere Portal V4 programming, Part 1: Portlet application programming" (developerWorks, август 2002). Также вы можете узнать как использовать WebSphere Application Developer и портальные инструментальные средства, чтобы писать портлеты. Может быть полезна серия более старых статей "WebSphere Portal Server Development Using WebSphere Studio Application Developer" (WebSphere Developer Technical Journal, апрель 2002). Вы должны также рассмотреть использование Web-служб с вашим порлетом. Для быстрого обучения читайте статью developerWorks "Create your own portlet and Web service" (developerWorks, апрель 2002).

Если Вы предпочитаете формальный курс лекций, IBM Learning Services предлагает курс лекций для разработчиков порталов и портлетов. Во время написания этой статьи мы рекомендуем IBM WebSphere Portal Version 4 Application Development (код курса PW531). Они также предлагают курс IBM WebSphere Portal Version 4 Administration (код курса PW431). Зайдите в категорию WebSphere, чтобы найти их, или введите код курса в поле поиска. Их лекции должны вам понравиться.

Благодарности

Мы хотели бы поблагодарить сотрудников, корректировавших эту статью и давших ценные советы. Некоторые из них - авторы статей, упомянутых в этой работе.

Ресурсы

Об авторах

Ann Marie Fred

Энн Мэри Фред (Ann Marie Fred) - Инженер-программист лаборатории IBM Research Triangle Park в Северной Каролине. Она имеет несколько лет опыта разработки графических Java-приложений, сервлетов, апплетов, портлетов и Web-приложений. Основные интересы Энн Мэри: технология Pervasive Computing и Web-приложения. Ее текущий проект - разработка портлетов для управления продуктами IBM WebSphere. Энн Мэри получила степень бакалавра информатики в 1999 году в Duke университете. В настоящее время она учится в аспирантуре Chapel Hill университета в Северной Каролине. Вы можете написать ей по адресу amfred@us.ibm.com.

Stan Lindesmith

Стэн Линдесмит (Stan Lindesmith) - инженер-программист Лаборатории IBM Pervasive Computing в Research Triangle Park, Северная Каролина. Он имеет несколько лет опыта разработки Java-приложений для программных продуктов IBM Wireless Software. Основные интересы Стэна: технология Pervasive Computing. Его текущий проект - разработка портлетов для управления продуктами IBM WebSphere. Стэн получил степень бакалавра информатики и бакалавра прикладной математики университете Rolla в Mиссури. В 1992 году Стэн получил степень магистра информатики в Мичиганском университете. Вы можете написать ему по адресу в stanl@us.ibm.com.



Перевод Elena Evdokimova

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95