Настройка среды разработки отладки портлетов, запуск HelloWorld портлета.

    Цель:


    Настроить среду для разработки и отладки портлетов из-под Windows XP.
    Запустить первое портлетное приложение и понять, что установка прошла успешно.


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

    Установка приложений


    1. Установить NetBeans:
    Лучше скачать полную версию для последующей работы с веб-сервисами. Обязательно наличие bundled GlassFish


    2. Скачать portlet-container-configurator.jar:
    Запустить и указать путь к установленному серверу GlassFish


    3.Скачать PortalPack:
    Разархивировать плагины в папку.

    4.Установить скаченные плагины в НетБинзе:
    Tools -> Plugins -> вкладка Downloaded -> Кнопка Add Plugins…
    Выбрать скаченные плагины и установить их.

    5. Перезапустить НетБинз

    6. Настроить контейнер портлетов в НетБинзе (а-ля «проинтегрировать»).
    Зайти в Tools -> Servers -> кнопка Add Server...
    Выбрать из списка справа OpenPortal Container нужной версии (сейчас есть 1.0 и 2.0)

    7. В появившейся форме ввести следующие данные:
    указать путь к установленному GlassFish.
    Обычно, путь к домену с PortletDriver определяется автоматически после указания пути к серверу.
    Ввести пароль и логин администратора. (по умолчанию admin: adminadmin)


    8. Перезагрузить нетБинз

    Запуск пресловутого HelloWorld


    Обещаю, следующий пример мощи и силы (это такая маленькая шуточка) портлетов будет в 100 миллионов раз интереснее.
    1. Создать проект
    File -> New project -> Web -> Web Application
    Укажите имя проекта, где его хранить на диске.
    В следующем диалоге настройки среды исполнения и окружения приложения выберите сервер OpenPortal Portlet Container ,
    а так же версию Java EE.
    В следующем диалоге выбора фреймворка отметьте Portlet Support, выберите версию портлетов: 1 = JSR168, 2=JSR286.
    Укажите имя класса портлета, его имя и т.д.
    Учтите, если вы установили портлет-контейнер версии 1.0, то портлеты JSR286 там работать не должны.

    2.Запуск приложения
    Слева, во вкладке Projects нажмите на проекте правой кнопкой. Последовательно выберите Clean and build, а затем Undeploy and deploy.
    При первом действии приложение будет собрано в war-файл, после второго – приложение будет загружено на сервер прямо в контейнер портлетов.
    Такой же рецепт можно использовать при обновлении приложения, над которым идет работа. После операции Deploy and undeploy изменения должны вступить в силу.

    Установленное приложение можно найти по адресу: localhost:8080/portletdriver/
    На вкладке портлетов появятся установленные на сервер портлеты.

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


    Примечание:
    В OpenPortal Container 2.0 портлеты, написанные под спецификацию JSR-168 и JSR-286 запускаются и работают.
    Портлеты, использующие API IPC (Inter Portlet Communication) отображаются, но событиями не обмениваются. Механизм IPC для JSR 168 поддерживается в Sun Java System Portal Server 7.1 и в OpenPortal Container 1.0. В OpenPortal Container 2.0 свой механизм IPC. Он будет так же работать на Сервере портала версии 7.2

    Полезные ссылочки:
    Portlet Creation and Deployment
    wiki-страница со списком примеров
    Creating Portlets for Web Sites With the NetBeans IDE

    От автора, то бишь меня:
    После мучений с RADом и TE, я был приятно удивлён, потому что настройка IBM'овской среды для разработки и отладки веб-приложений, в том числе портлетных приложений, занимает практически два рабочих дня. НетБинз настраивается и устанавливается за 10 минут.

    Средняя зарплата в IT

    110 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 8 355 анкет, за 2-ое пол. 2020 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 42

    • НЛО прилетело и опубликовало эту надпись здесь
        0
        Ой, забыл, извиняюсь, исправлено.
      • НЛО прилетело и опубликовало эту надпись здесь
          0
          О, цэ дило! Я про BEA вообще ничего не знаю. Я с удовольствием почитаю про него. На самом деле контейнер на первый взгляд, это шляпа, на нем отлаживаться хорошо. Как разберусь с текучкой на работе, начну про Sun Portal 7.1 писать. Я его поковырял основательно, кажись, он мало чем уступает шестому порталу от IBM.
          0
          я начинаю с websphere portal разбираться. тоже чёнить напишу.
          p.s. а про эклипс аналогичной статейки нет? у меня RAD, но у него подходит срок окончания триал версии
            0
            Что именно интересует? Я подымал RAD (7.х.х) и Test Environment (TE) к нему. TE - набор кастрированных IBM'овских серверов для отладки приложений. На них я иногда (если архитектура приложения позволяла) отлаживал портлеты и клиентов веб-сервисов, писал сами веб-сервисы, но в ТЕ они не работают, т.е. мне ни разу не удалось запустить его.
              0
              да пох на этот RAD.у меня он сдохнет скоро. и купить дорого. короч, какой фунционал нужен,чтобы портлеты писать? не в курсе?
                0
                Забыл совсем - если вы не пишете портлеты по спецификации IBM, не пишете приложения под сервер приложений IBM (WebSphere Application Server) то RAD вам не нужен. Можно обойтись НетБинзом.
                  0
                  Кратенько про портлеты по спецификации IBM.
                  http://publib.boulder.ibm.com/infocenter…
                  Писать портлеты без IBM'овской среды разработки бессмысленно - вы не сможете скомпилировать проект, т.к. часть библиотек - платная, просто так вы их не достанете. К тому же для запуска приложения вам потребуется их портал.
                  Пишите JSR-168/286 портлеты, все что нужно для их написания и отлаживания есть в статье. Запускать их можно на Сан Портал Сервер, он ни чем не хуже Айбиэмовского портала. Одно но, сановский портал надо ставить либо на Солярку, либо на Линукс.
                    0
                    Враки все, библиотеки все бесплатные. Платный только апп сервер и портал. У портлетов по спке IBM есть некоторые преимущества! но они перестают таковыми быть если хочется переехать на другой портал.
                      0
                      Хорошо, где вы их берете, ссылку, пожалуйста. Тогда я беру свои слова обратно.
                        0
                        С портала и апп сервера))) Зачем вам компилить проект для IBM портала, не имея его?
              –1
              статья для мышекликательных жабакодеров
              Intellij IDEA + ant/maven + моск рулят

              разберитесь для начала как сделать то же самое руками из консоли
                0
                пасибо за отличный совет.
                  0
                  Ну он вобщем-то прав.

                  Я не ставлю под сомнение ваши знания, но статья выглядит похоже на "Изучи портлеты за 24 часа" или "Ява для дельфи-кодера".

                  Мне кажется, что пользоваться вещами подобного свойства можно только в том случае, если отлично понимаешь, как всё внутри устроено.
                    0
                    На самом деле я не оч много знаю. С удовольствием прочитал бы про то, как это делать через консоль. Через консоль я более-менее умею управляться с серверами IBM. Но написание кода в блокноте и компиляцию через командную строку я считаю маразмом. Да, кстати, проекты большие мы собираем при помощи мавена.
                      0
                      Забыл дописать - я считаю, что лучший способ что-то освоить - начать делать. Не обязательно все понимать, понимание приходит в процессе работы.
                        0
                        Не вопрос, но для начала деланья неплохо бы разобраться, что именно ты собираешься делать, правда?

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

                        Я выступаю за то, чтобы иде человек использовал только в том случае, когда он и без иде может сделать то же самое. Достало, когда люди приходящие устраиваться на работу с зп >80к не могут руками написать web.xml или томкатовский контекст, не говоря уже о pom-файлах. Или когда с VCS какой-нибудь умеют работать только на уровне "я жму кнопку тут и оно само как-то".

                        Понимаете, о чём я? С моей точки зрения у вас в посте (или это статья? whatever, простите, я не силен в этой терминологии) пропагандируется как раз подход "нафиг мне что-то знать, есть ИДЕ". Буду очень рад, если это окажется не так.
                          0
                          Ну, знаете, за >80к я буду в блокноте писать.
                          В моей первой неудачной статье я попытался объяснить почему появились на свет портлеты.
                          Во второй статье, которые вы критикуете, я объясняю как быстро настроить среду разработки и отладки портлетов.
                          В следующей статье, я приведу хороший пример с портлетами, где читателям станет понятно, когда лучше использовать портлеты, а когда - сервлеты. Описанный способ абсолютно не подходит для продакшена - это просто шляпа, предназначенная для запуска портлетов, и не более того, поэтому особо заострять внимание читателей на связке свиньи и носорога я не хочу.
                          Но вас я понял, спасибо за критику, вы не первый, кто просит более детального описания, больше технических аспектов. Пожалуй к 3-4 статье я смогу сделать так, чтобы было довольно большинство.
                          Спасибо за критику.
                            0
                            Да понятно, что это просто болванка, которая должна показать, что и как. Но как раз на ней надо показывать, что там можно сконфигурировать и как, какие используются дескрипторы, как это всё читается контейнером и что при всём этом происходит.

                            На сложном проекте труднее всему этому учиться, поверьте.

                            Я так лет семь тому назад ejb и сервлеты учил - в среде с автогенерацией и прочим всё хорошо, а в реальном приложении - жуть, потому что не понимаю, как они друг с другом взаимодействуют и что под капотом.

                            Потом, JEE for dummies это несколько неправильная тема, не так ли? Как правило (ну на моём опыте так) люди, интресующиеся темой и понимающие, что такое JSR уже имеют какой-то бекграунд в JEE и им важно понимать, как будет вязаться новая технология со всем тем, что у них уже есть.

                            Если честно (только без обид, я вовсе не хочу вас как-либо обидеть), мне кажется, что вы не так давно немного разобрались с портлетами, они вам понравились и теперь вы хотите поделиться этим с другими, да?
                              0
                              По сравнению семью годами, да, совсем недавно. Поделиться с другими - да, и ещё хотел получить здоровую критику, а не причитания по поводу того, что люди-обезьяны заполонили мир, пишут в ИДЕ и житья никому не дают. К сожалению, за исключением, всего лишь пары ваших комментариев, я ничего дельного от вас не услышал. Хотелось бы больше по-существу и поменьше про ваше личное отношение ко мне и "таким, как я".
                                0
                                Если вы действительно семь лет работаете с J2EE, ваше мнение может быть очень и очень ценным. Но, к сожалению, ваша предвзятость и бросание понтов не дают вам нормально вести диалог с людьми.
                                  0
                                  Простите, если чем-то вас обидел.

                                  Где вы углядели превзятость в мох рассуждениях? А где понты?

                                  Существа нет в статье, вот и критиковать нечего. Что мне критиковать, урлы по которым предлагаете что-то скачивать? Или консоль глассфиша?

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

                                  Да против чего мне быть предвзятым? Против портлетной технологии? Нет, пусть живёт, хотя я ей и не пользуюсь, но кому-то она может быть вполне и подойдёт. Против JEE? Тоже нет. Против IDE? Да нет же, они нужны и полезны в определённых ситуациях.

                                  Что вас так задело-то? Я не обзывался, не говорил, что я чем-то лучше вас, не смешивал вас с грязью, нет. Я отвечал на ваши вопросы, объяснял, что мне лично кажется неправильным в том или ином вопросе.

                                  В итоге я получил, сниходительное "не плачьте" и то, что я злобный, напонтованый и предвзятый. Блин.

                                  Я не плачу, у меня всё хорошо, правда. Что и как именно у меня хорошо я говорить не буду, чтобы не сочли это понтами.

                                  И точно так же, как вы постарались поделиться своим мнением про портлеты, я попытался поделиться своим мнением о том, что в статье не так.
                                    0
                                    Я вас понял и поблагодарил за это (http://habrahabr.ru/blog/java2ee/43395.h…), спасибо. Буду работать над следующей статьёй.
                                    Прошу прощения за резкие слова в ваш адрес.
                                      0
                                      Да всё нормально. Если у вас будут какие-то вопросы, я могу попробовать помочь. Скайп и гталк в профиле есть, так что обращайтесь, если что.
                    –1
                    Только лучше emacs вместо IDEA, потому что она последнее время стала всё сильнее и сильнее скатываться в сторону дельфи.
                      0
                      в каком плане скатывается в сторону Delphi ? Можна несколько примеров ?
                        0
                        В самом обычном. У них с 5.5 помоему пошли темы "нажми на кнопку и получи готовое ЕЕ приложение". Хотя, конечно, до Sun RAVE им далеко пока. Или там уже появился визуальный редактор для вебстраниц?
                          0
                          я не понимаю о чем ты
                          при создании проекта создаются стандартные директории, которые ты укажешь + необходимые xml
                          никаких визуальных редакторов там нет
                          а редактор в IDEA лучший
                          я уже не говорю про рефакторинг и остальные фичи которые увеличивают производительность в сотни раз
                    0
                    Было бы хорошо, если бы вы описывали, что происходит на каждом шаге. А так... ну сделали, ну работает что-то... а как, а что ?
                      0
                      Как я писал в предыдущем посте, мне не хотелось бы заниматься копипастом или перевод десяти строк, которые без проблем осилит любой пользователь хабра.
                      Но вы правы, я хочу прокомментировать отдельно шаг 2 и 7.
                      На втором шаге мы устанавливаем на сервер приложений GlassFish (aka Sun Application Server) особое небольшое приложеньице, которое умеет отображать портлеты. Если вы продеплоите тестовый пример зайдёте на админконсоль сервера приложений GlassFish, то увидите, в списке веб-приложений как portletdriver, так и свои портлетные приложения.

                      Само собой, сервер приложений не умеет обрабатывать портлеты, этим занимается драйвер портлетов, который вы и установили.

                      На шаге 7 вы указываете параметры соединения с сервером приложений и с приложением portletdriver, являющимся квази-сервером для портлетов. На картинке кружком отмечено портлетное приложение, которое по факту задеплоино на сервер приложений, а квадратики показывают портлеты, болтающиеся на драйвере портлетов:

                      0
                      А о чём пост? О том, как и в какой посдедовательности нажать кнопочки? Так про это в доке почитать можно.

                      Ни строчки кода, ни малейшего объяснения, что и как происходит, ни минимальнейшего описания того, что такое портлет. Кто у вас в качестве целевой аудитории? Бывшие дельфи-кодеры, привыкшие мышевозить и бездумно кидать компоненты на форму?
                        0
                        посмотреть профиль sk1nny_puppy, о чем пост - написано в заголовке статьи (Цель). Если вас не затруднит, прочитайте ещё раз, пожалуйста.
                        Я вам не навязываю своё мнение. Если вы пишите в блокноте и компилируете в командной строке, продолжайте в том же духе.
                        Будет просто великолепно, если вы напишите статью, про то, как сделать тоже самое, но через командную строку. Я с удовольствием почитаю. Я так не умею, мне было бы полезно узнать про другой подход к разработке и отладке портлетных приложений.
                        Целевой аудитории у меня нет, я не маркетолог.
                        Причем здесь Дельфи я вообще не понимаю.
                          0
                          Дельфи при том, что там так же точно многие свели процесс разработки к скачать-кликнуть-кликнуть.

                          Писать про то, как всё сделать из консоли не буду — до меня уже много чего написано по этому поводу. Если вы до сих пор ленились в гугле написать portlet tutorial и посмотреть хотя бы первые пару ссылок, то это ваши проблемы а не мои, ок? В этих ссылках, кстати, есть вполне вменяемый туториал на OnJava, в котором есть хороший abstract, чего не скажешь о вашей статье, и step-by-step не по кнопкам, а по файлам, с объяснением, что, как и для чего.

                          Мнение своё я тоже не навязываю, если что. Просто обидно смотреть, как всё больше и больше становится IDE monkeys. Ничего личного, да.
                            0
                            Ну вы не плачьте, все будет хорошо. А то из вас злость прямо-таки струится. Все-таки пятница, не портите себе настроение из-за моей пошленькой статеечки.
                        0
                        Рад, что на хабре хоть что-то появилось по java. А то засилие здесь php-программистов стало напрягать.
                        По качеству стаьи ничего сказать не могу, т.к. с портлетами знаком очень поверхностно и дай бог больше с ними не встречусь ))) Вот не нравятся они мне и все :-) Да и netbeans+glassfish не юзал ни разу. Однако, все равно интересно и буду читаь дальше.
                          0
                          Сорри за небольшой оффтоп.

                          Хочется посмотреть демо Sun Open Portal — https://portal.dev.java.net/
                          Я скачал >700мб, потратил полдня, однако запустить не смог — захардкорены пути и прочее во всех конфигах.

                          Вы не запускали его?
                            0
                            Я устанавливал Sun Java System Portal Server 7.1 на Windows 2003. Поставить- поставил, но что-то сделать там очень сложно, т.к все захардкожено. На Линукс пока еще не ставился - времени нет.
                            Могу рассказать, как ставить Sun Portal на винду.
                              0
                              Да, было бы интересно.
                              Указал в профиле несколько контактов — icq, мыло (jabber) и GT.

                              Попробую сегодня 7.2 поставить, появился для скачивания.
                                0
                                Сообщи, пожалуйста, о результатах. Спасибо!
                                  0
                                  На самом деле всё просто.
                                  Скачал эти OpenPortal на 7.2 Sun Portal сервере.

                                  Учитывая, что все линки к настройкам захардкожены (везде «c:\PS7.2») — сделал симлинк в Win XP с c:\PS7.2 в том место, куда распаковал.
                                  setup.bat && startportal.bat

                                  Сижу смотрю. Координаты есть выше, вдруг что.

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое