Liferay ktokolwiek widział, ktokolwiek wie?
04.02.2015 | aktual.: 04.02.2015 19:17
Z góry przepraszam za jakiekolwiek niedociągnięcia, jest to mój pierwszy wpis na blogu, dlatego proszę o wyrozumiałość.
Czym jest Liferay?
Najogólniej pisząc, Liferay to napisany w jawie portal, którego obecnie używa się głównie w ekstranetach i intranetach. Jednak ze względu na bardzo duże możliwości i łatwość zarządzania, co raz częściej jest wykorzystywany jako portal informacyjny wielu firm i instytucji np. czeski T‑Mobile, brazylijski wojsko. Informacje gdzie jest wykorzystywany można znaleźć na tej stronie.
Jakie ma możliwości?
Portal Liferay-owy udostępnia „z paczki” bardzo wiele rozbudowanych narzędzi. Wymienię najważniejsze:
- CMS (Content Management System) – bardzo rozbudowany system zarządzania treścią, który umożliwia m.in. planowanie publikacji/archiwizacji artykułów, dodawanie plików do nich, sterowanie przepływem pracy (tzw workflow) po stronie administracyjnej, a po stronie klienta łatwe wyszukiwanie i przeglądanie treści.
- Mechanizm forum, wiki, blogów i sond.
- Bardzo zaawansowany system zarządzania użytkownikami, rolami i uprawnieniami.
- Zaawansowany system kategoryzacji i tagowania treści.
- Dostęp do plików np. przez web-dav lub przez Liferay-Sync (taki dropbox liferayowy).
- Możliwość integracji z zewnętrznymi systemami (np. SSO).
- Wsparcie wielu języków.
- Tworzenie layaoutu na zasadzie drag and drop.
- Możliwość tworzenia szablonów stron wewnątrz serwisu.
To nie są wszystkie, ale według mnie najważniejsze. Oprócz tego są pewne mechanizmy dla programistów, które bardzo ułatwiają rozbudowę serwisu o nowe funkcjonalności, dla mnie najpraktyczniejsze to service-builder, który umożliwia na podstawie prostego XML‑a wygenerowanie tabeli bazodanowej, warstwy DAO i serwisowej (w tym serwisów REST-owych) oraz wsparcie wielu baz danych np. MySQL, Postgres, DB2, itp. Są też inne jak np. hook – czyli pewnego rodzaju plugin, który umożliwia nadpisanie wewnętrznego kodu liferaya w łatwy sposób.
Z czego składa się portal?
Głównym „klockiem” Liferay’a jest tzw. portlet. Najprościej można napisać, że jest mała aplikacja, która wykonuje pewne czyności np. wyszukiwanie artykułów, wewnątrz systemu jakim jest portal. Dużym plusem jest reużywalność. Oznacza to, że raz napisany portlet możemy umieścić na wielu stronach portalu (w Liferay’u odbywa się to za pomocą drag and dropa). Portlet jest standardem jawowym wykorzystywanym nie tylko przez Liferay’a, ale również przez np. IBM‑a, JBossa. Oprócz tego, składową portalu, jest temat graficzny, czyli część odpowiedzialne za wygląd portalu.
Jakie są plusy?
Wymienię kilka, według mnie najważniejszych:
- Bardzo duże możliwości „z paczki”.
- Łatwa konfiguracja i instalacja – nie jest potrzebny programista aby stworzyć prosty portal, ani zainstalowana baza danych.
- Duże możliwości konfiguracji.
- Dosyć łatwa możliwość rozbudowy portalu.
- Dostępność kodu źródłowego Liferay-a.
- Można uruchomić zarówno na kontenerze aplikacji (np. tomcat) jak i serwerze (np. jboss)
- Rozbudowana dokumentacja i spore wsparcie społeczności.
Jakie są minusy?
- Bardzo ociężały system, który, przy większym ruchu sieciowym, potrzebuje spore zasoby systemowe. Taka konkretne informacja: czas uruchomienia się na moim komputerze (i5 3 gen, dysk SSD, 8GB RAM), czystego liferaya na tomcacie (bez własnych dodatków) to około 90 sekund.
- Bardzo skomplikowana architektura, która wykorzystuje całe multum technologii jawowych i webowych.
- Mała popularność wśród programistów (ciężko znaleźć programistę z doświadczeniem +2 lata w Liferay-u).
- W wersji społecznościowej jest bardzo dużo błędów, których naprawa zajmuje sporo czasu.
- Kod źródłowy nie jest najlepszym przykładem dobrego kodu ;)
- Duża część społeczności to Hindusi i Chińczycy, więc czasem ciężko ich zrozumieć ;)
Gdzie znaleźć więcej informacji?
Przede wszystkim na stronie domowej liferay-a znajduje się bardzo dużo informacji i wszystkie pliki potrzebne do uruchomienia serwera.
Warto na początku też obejrzeć sobie tutorial z youtuba, gdzie można zobaczyć "z czym to się klika" (ach ten akcent;)). [youtube=https://www.youtube.com/watch?v=iTmuc9g0Lm8]
W razie pytań służę pomocą!