Комментарии 70
Замечу, что сайты-визитки на портлетах не делают. Более того, если вы не являетесь партнером или клиентом IBM — то портлеты тоже не для вас.
0
Чтобы использовать портлеты, вовсе необязательно быть связанным с IBM. Их сейчас используют в больших по количеству страниц и функционала приложениях. Существует достаточно реализации портлетов и у других компаний, например. Есть и свободные разработки.
+1
Вы ошибаетесь. Релизация портлетов одна! Спецификация JSR-168 и недавно вышедшая JSR 286. Вот эту спеку должны поддерживать все порталы! JBoss, WebSphere, WebLogic… Это как сервлеты, не бывает разных реализаций.
+1
Даже если я вас правильно понял, существуют альтернативные реализации java-библиотек — GNU Classpath, например. Не знаю, правда, добрались ли они до сервлетов с портлетами :-)
Ну а vinni, должно быть, имел(а) ввиду альтернативы IBM Web Sphere Portal 6.
Ну а vinni, должно быть, имел(а) ввиду альтернативы IBM Web Sphere Portal 6.
+1
Нет альтернатив насколько я знаю нет, да и зачем? Вы встречали альтернативы сервлетов? Несколько лет назад, когда портлеты только начали развиваться IBM решила пойти своим путем. Она разрабатывала свое API. Ничего хорошего из этого не вышло, проект закрыт. Вообще IBM сервер/портал очень тяжелый. Очень много нагорожено всего, половина апи с дырами, половина управляющих портлетов написано на деприкейтном API. Я бы посоветовал для начала попробовать свои силы с JBoss. Этот портал легче и деплоить проекты проще. А разницы в реализации портлетов нет практически никакой, только xml маппинг.
0
описываете историю 5ого портала, в 6ом все на много лучше, а еще 6.1 появился
0
Действительно, в 6 версии такого замечено не было, есть мелкие баги, но они правятся фикспаками, которые лежат на сайте IBM.
0
Ребята, PortletData в 6ом портале хранится в КУКИСАХ!!!
Это же пипец.
Это не мелкий баг, это кретинизм. Заключается он в том, что пользователь может настроить портлеты «под себя», но стоит ему зайти на портал из другого браузера, все настройки сбрасываются, т.к. кукисы остались в первом браузере.
Индусы жгут.
JSR-168, это прошлый век, я описывал работу с jsr-286 на контейнере портлетов.
Это же пипец.
Это не мелкий баг, это кретинизм. Заключается он в том, что пользователь может настроить портлеты «под себя», но стоит ему зайти на портал из другого браузера, все настройки сбрасываются, т.к. кукисы остались в первом браузере.
Индусы жгут.
JSR-168, это прошлый век, я описывал работу с jsr-286 на контейнере портлетов.
+1
Спецификация одна, но ее реализаций много.
Так же, как и с сервлетами — существует много сервлет-контейнеров, реализующих одну и ту же спецификацию.
Так же, как и с сервлетами — существует много сервлет-контейнеров, реализующих одну и ту же спецификацию.
0
А кто говорит о сайтах визитках? А кто говорит, что не партнер IBM? Да и речь вообще не о том! Хотелось показать практический пример разработки портлета, так как столкнувшись с этим первый раз, у некоторых возникает множество вопросов. Я не говорю, что я тут осветил полную картину, но оттолкнуться есть от чего…
+3
В ru_java недавно был спор о необходимости портлетов. Товарищи высказывались в том числе и о сомнительных достоинствах этой технологии при большом числе неудобств и минусов.
Я портлетами не занимаюсь, но почитать было интересно и об этой точке зрения.
Я портлетами не занимаюсь, но почитать было интересно и об этой точке зрения.
+1
Поверьте, хороший портал вкупе с функциональными портлетами предоставляют множество возможностей!
+1
Я не спорю, я повторюсь, в портлетах не смыслю. Просто люди утверждали, что на основе более простых технологий можно получить такой-же результат с меньшими матюками и усилиями. Тут есть о чем подумать, мне кажется.
0
в первую очередь, можно навариться на клиенте :) тут без вопросов
+3
Опять минусы. За что?
>> А кто говорит о сайтах визитках? А кто говорит, что не партнер IBM? Да и речь вообще не о том!
Я подумал, что тем, кто впервые услышал про портлеты из вашей статьи, было бы не менее интересно получить информацию и о том, где же эта технология обычно применяется.
>> А кто говорит о сайтах визитках? А кто говорит, что не партнер IBM? Да и речь вообще не о том!
Я подумал, что тем, кто впервые услышал про портлеты из вашей статьи, было бы не менее интересно получить информацию и о том, где же эта технология обычно применяется.
+1
там где необходимо прдоставить ПО с полной кастомизацией под юзера, самим юзером (это концепция)
Как правило, заказчики используют жесткие страницы и фиксировонные наборы портелтов на них, то есть урезают много полезного функционала.
Плюс в статье не написано, но есть мощный аппарат настройки безопасноти; каждый портелт может отображать разную информцию, в завивимости от того какой пользователь смотрит ее (к примеру имя пользователя, а может доп. функционал в зваисимости от роли юзера).
поддержка кластеризации, редхата, безнес процессов, лотус нотус (sic!) и т.д.
Как правило, заказчики используют жесткие страницы и фиксировонные наборы портелтов на них, то есть урезают много полезного функционала.
Плюс в статье не написано, но есть мощный аппарат настройки безопасноти; каждый портелт может отображать разную информцию, в завивимости от того какой пользователь смотрит ее (к примеру имя пользователя, а может доп. функционал в зваисимости от роли юзера).
поддержка кластеризации, редхата, безнес процессов, лотус нотус (sic!) и т.д.
0
Вы выбрали самый неочевидный вариант: взяли устаревшую спецу и безумно дорогой портал, суть которого не работа на jsr-168, а по собственной IBM-реализации портлетов, которые, по сути, являются расширениями сервлетов. Именно из-а этого люди юзали IBMомвские порталы, но никак не из-за jsr-168
0
А кто-то запрещает использовать jsr-168 на портале от IBM? Да, и если вы заметите, речь тут изначально не о портале, а о портлетах.
0
Да, кто мешает писать веб-приложения на Ассемблере?
Именно из-за несовершенства jsr-168 у IBM'а появилась своя спецификация портлетов, устраняющая недодумки и недоработки 168ой.
Весной-летом, вышла в свет новая, 286ая спецификация, которая ни чем не уступает IBM'овской. И за нее не надо платить, чтобы юзать IBM спеку, вы отдадите за портал тысяч 100 вечнозеленых президентов, а 286ые портлеты заводятся на простеньком контейнере портлетов.
Нерационально платить 100.000 баксов за портал и юзать на нем 168ые портлеты.
Если вы пишите о способе раздувания бюджета, то это другое дело, но к Джаве не имеет никакого отношения.
Именно из-за несовершенства jsr-168 у IBM'а появилась своя спецификация портлетов, устраняющая недодумки и недоработки 168ой.
Весной-летом, вышла в свет новая, 286ая спецификация, которая ни чем не уступает IBM'овской. И за нее не надо платить, чтобы юзать IBM спеку, вы отдадите за портал тысяч 100 вечнозеленых президентов, а 286ые портлеты заводятся на простеньком контейнере портлетов.
Нерационально платить 100.000 баксов за портал и юзать на нем 168ые портлеты.
Если вы пишите о способе раздувания бюджета, то это другое дело, но к Джаве не имеет никакого отношения.
0
ммм IBM спецификация изначально была хреновой и мало чем отличалась от JSR-168. Возьмите хотя бы пдф у IBM о разработке портлетов на JSR-168 и IBM спеке. Пол книги один в один, только методы и переменные называются по разному. Единственное за что нужно сказать спасибо, это возможность в PortletData сохранять объекты, а не String'и.
0
Ой не дай бог вам столкнуться с WebSphere. :)
Не обязательно быть клиентов IBM. Есть решения у Sun, Microsoft и т.д…
Не обязательно быть клиентов IBM. Есть решения у Sun, Microsoft и т.д…
0
Уже год работаю, хочется плакать, все криво, косо, никакой совместимости с оупенсорсными проектами.
До сих пор IBMовская реализация JPA не умеет делать order by по аггрегату, приходится jpql запросы переписывать на нативном SQL.
IBM нужен совсем для других целей…
Вам ставят минусы те, кто никогда плотно не работал с продуктами IBM.
До сих пор IBMовская реализация JPA не умеет делать order by по аггрегату, приходится jpql запросы переписывать на нативном SQL.
IBM нужен совсем для других целей…
Вам ставят минусы те, кто никогда плотно не работал с продуктами IBM.
+2
Я студент специализированной группы IBM (есть у нас в институте такая). Часть занятий проходит в учебном центре IBM. УИРы проходят по различным технологиям IBM. Часть моих одногруппников занимается администрированием серверов, кто-то уже читает курсы, а есть бедолаги (я среди них) которые разрабатывают. Среди последних непрерывный спор, что хуже, кривей, менее дружелебно и т.д. — Lotus Notes или WebSphere.
Может это принесет вам немного облегчения: мы страдаем вместе с вами. :)
Может это принесет вам немного облегчения: мы страдаем вместе с вами. :)
+4
А что с WebSphere не то? Вы имеете ввиду IBM WebSphere Application Server 6? Уже месяцев 9 плотно с ней работаю, не могу сказать, что столкнулся с большим числом проблем. Были неприятности с JMX, но IBM Developer центр помог разобраться.
0
Спасибо. Грамотный материал.
0
Хотел немного добавить, вы да и все кто только начинают писать портлеты упустили главную «фишку» — render Phase и action Phase. На мой взгляд это самое важное преимущество портлетов над другими web-приложениями.
+2
Да, я в курсе, но всего этого не охватить в одной маленькой статье.
0
К слову сказать, такая вот «фишка» создаёт немало проблем. Последнее с чем столкнулся: портал ставит mime-type ответа с сервера как text/html. Поменять это из портлета никакой возможности нет (что вполне понятно, ведь ему нужно вызвать render-метод ВСЕХ портлетов на страничке). Поэтому если вы например хотите плюнуть в клиента файлом, придется писать отдельный сервлет или же использовать JSF.
0
а для новичков можно хелло world?
+1
Вот тут есть примерчик
www.caucho.com/resin-3.0/portlet/tutorial/basic-hello/index.xtp
www.caucho.com/resin-3.0/portlet/tutorial/basic-hello/index.xtp
+1
НЛО прилетело и опубликовало эту надпись здесь
Спасибо, а продолжение будет? Очень интересно =)
0
немного странно в jsp использовать JSTL для цикла, но не использовать для if.
это бы заметно повысило читабельность.
это бы заметно повысило читабельность.
-1
о да! такая крутая технология несомненно годна для написания rss агрегаторов.
P.S. когда вижу такой жабокод, мне почемуто жалко жабакодеров становится…
P.S. когда вижу такой жабокод, мне почемуто жалко жабакодеров становится…
-6
Кхм, а в чём разница между портлетами и сервлетами и чем портлеты лучше/хуже?
0
портлеты более ынтырпрайзны
+1
Портлеты задумывались как технология, предназначеная для реализации информационных порталов, которые содержат внутри себя некоторое количество разнообразных бизнес приложений. Т.е. на странице портала может быть несколько окон, в каждом из них располагается отдельное приложение, независимое от других. Если вы видели когда-нибудь iGoogle то концепция та-же, портлет-контейнер предоставляет единый способ управления окнами, а сами приложения уже могут выполнять конкретные функции, типа показа календаря или биржевых сводок.
Касательно ответа на вопрос — портлеты построены на базе сервлетов. Т.е. по сути — портлет контейнер это сервлет, который является враппером для вызова функций портлета. Сравнивать их неуместно, это просто надстройка над сервлетами.
Касательно ответа на вопрос — портлеты построены на базе сервлетов. Т.е. по сути — портлет контейнер это сервлет, который является враппером для вызова функций портлета. Сравнивать их неуместно, это просто надстройка над сервлетами.
+1
что-то мне не понравился portlet.xml, а именно перечисление mode-ов работы портлета.
в статье упущен life cycle портлета, а с этого нужно начинать.
сам портлет написан излишне сложно. чем не понравилось решение по использованию простых бинов? так MVC лучше видно. а тут все в одну кучу. и да, вроде у 6ого портала был свой rss-reader, чем он не угодил? :)
IBM WPS начиная с 6ой версии добротный инструмент, им просто нужно уметь пользоваться, настраивать etc. таких спецов очень мало, а те что есть на вес золота.
в статье упущен life cycle портлета, а с этого нужно начинать.
сам портлет написан излишне сложно. чем не понравилось решение по использованию простых бинов? так MVC лучше видно. а тут все в одну кучу. и да, вроде у 6ого портала был свой rss-reader, чем он не угодил? :)
IBM WPS начиная с 6ой версии добротный инструмент, им просто нужно уметь пользоваться, настраивать etc. таких спецов очень мало, а те что есть на вес золота.
0
А что конкретно не понравилось? Моды как моды, единственное, что лишний config, изначально планировался именно он, но потом отказался от него и решил дать всем пользователям настраивать портлет.
0
…
<portlet-mode>view</portlet-mode>
<portlet-mode>edit</portlet-mode>
<portlet-mode>config</portlet-mode> < — оно не понравилось
<portlet-mode>help</portlet-mode>
…
<custom-portlet-mode>
<portlet-mode>config</portlet-mode>
</custom-portlet-mode>
</portlet-app>
но я, если честно, именно этой частью давно занимался и много уже не помню. Чисто инуитивно что-то тут не нравится. И портала под рукой нет :(
<portlet-mode>view</portlet-mode>
<portlet-mode>edit</portlet-mode>
<portlet-mode>config</portlet-mode> < — оно не понравилось
<portlet-mode>help</portlet-mode>
…
<custom-portlet-mode>
<portlet-mode>config</portlet-mode>
</custom-portlet-mode>
</portlet-app>
но я, если честно, именно этой частью давно занимался и много уже не помню. Чисто инуитивно что-то тут не нравится. И портала под рукой нет :(
0
Идея всех этих портлетов конечно неплохая. Но реализация — не знаю как сейчас, но пару лет назад была полная туфта. Взаимодействие между портлетами кривое, море багов в имплементациях, везде приходится вставлять костыли.
На самом деле достаточно сложно представить себе серьезное приложение, с реальной необходимостью выполняться в качестве портлета. Все то же самое можно сделать на уровне приложения с меньшими трудозатратами. Если бы портлеты облегчали жизнь и можно было бы любое приложение выполнить в портлете не затрачивая на это усилий, это было бы ценно. Но на практике дело обстоит по другому, все это выливается в воспаленный геморройный узел самизнаетегде.
На самом деле достаточно сложно представить себе серьезное приложение, с реальной необходимостью выполняться в качестве портлета. Все то же самое можно сделать на уровне приложения с меньшими трудозатратами. Если бы портлеты облегчали жизнь и можно было бы любое приложение выполнить в портлете не затрачивая на это усилий, это было бы ценно. Но на практике дело обстоит по другому, все это выливается в воспаленный геморройный узел самизнаетегде.
0
Страшно.
10 лет пишу WEB на JAVA и не использую ничего, кроме Servlets+Hibernate+XSLT
потому как заглянешь вот в такое — и страшно
когда вместо 2 строчек пишешь 25, зато «все современно»
10 лет пишу WEB на JAVA и не использую ничего, кроме Servlets+Hibernate+XSLT
потому как заглянешь вот в такое — и страшно
когда вместо 2 строчек пишешь 25, зато «все современно»
-2
просто всегда надо сопоставлять свои цели и свои возможности и выбирать технологию для программирования.
Этот пример не показателен, к сожалению.
Этот пример не показателен, к сожалению.
0
Автор в первую очередь ошибся, выбрав старую спецификацию, затем ошибся во второй раз, выбрав IBM Portal. Уж если IBM, то надо говорить про их спецификацию. У нормальных людей, компаний нет денег на чудовищно дорогой портал IBM. Стоит заметить, что покупая портал, пользователь приобретает кучу-тучу приблуд, которые совсем не нужны для того, чтобы запускать портлеты.
Я не нашел описания сути портлетов, да, это маленькое веб-приложение, и суть портлетов заключается в том, что они независимы друг от друга, комбинируя модули системы (читай, портлеты), вы можете конструировать свой портал, не написав ни единой строчки кода.
Кстати, 6.1 умеет обновлять портлеты асинхронно, так же можно асинхронно отправлять и получать сообщения.
В общем, у вас написано много и ни о чем.
Найти коды-примеры для jsr-168 это не такая уж большая проблема.
Я не нашел описания сути портлетов, да, это маленькое веб-приложение, и суть портлетов заключается в том, что они независимы друг от друга, комбинируя модули системы (читай, портлеты), вы можете конструировать свой портал, не написав ни единой строчки кода.
Кстати, 6.1 умеет обновлять портлеты асинхронно, так же можно асинхронно отправлять и получать сообщения.
В общем, у вас написано много и ни о чем.
Найти коды-примеры для jsr-168 это не такая уж большая проблема.
0
В жизни ничего более тормозного чем Websphere Portal не видел,
а среда разработки, так называемый RAD под неё вааще мега-монстр, для работы хоть как нибудь ему надо 2 Гига оперативки!!!
а среда разработки, так называемый RAD под неё вааще мега-монстр, для работы хоть как нибудь ему надо 2 Гига оперативки!!!
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Основы портлетов