Liferay Portal untuk JAVA enterprise project

247 views
Skip to first unread message

zuniawan andi prastia

unread,
Sep 21, 2012, 5:15:38 AM9/21/12
to lifer...@googlegroups.com
versi Liferay yang digunakan : Liferay 6.0.x /  Liferay 6.1
Salam Semuanya,

Beberapa waktu yang lalu, tempat saya bekerja mendapatkan  project JAVA
enterprise skala medium - besar. Untuk ujung tombak nya disetujui
menggunakan LIFERAY portal karena mudah dicustomise dan berbasis JAVA.
Tetapi mengingat banyaknya modul yang harus di buat, kompleksitasnya serta
hanya beberapa staff yang familiar dengan Liferay, sehingga waktu itu
project di split menjadi 2 bagian (Portal Liferay & Core Application dengan
J2EE ) dengan database dan app server masing2. Dengan di split menjadi 2
bagian ini, ada beberapa kelemahannya, diantaranya adalah masalah integrasi
data, management user dan permission serta workflow task integration (dari
portal & core app).

Pertanyaan saya adalah, untuk case seperti diatas apakah lebih baik aplikasi
tersebut dibuat dalam satu Liferay portal semuanya (semua modul di buat
menjadi portlet2) untuk memudahkan integrasi? 
Dan kalau semua module dijadikan portlet, kira2 apakah tidak terlalu memberatkan server portal nantinya,
mengingat banyaknya modul dan banyaknya service / filter di Liferay.

Regards,

Zuniawan Andi
Software Engineer

christianto sahat

unread,
Sep 22, 2012, 4:36:05 AM9/22/12
to lifer...@googlegroups.com
Halo Zuniawan,

> project di split menjadi 2 bagian (Portal Liferay & Core Application dengan
> J2EE ) dengan database dan app server masing2. Dengan di split menjadi 2
> bagian ini, ada beberapa kelemahannya, diantaranya adalah masalah integrasi
> data, management user dan permission serta workflow task integration (dari
> portal & core app).

Integrasi data kira-kira maksudnya bagaimana ? Jaman SOA sekarang ini
mestinya banyak metode integrasi, semua data tidak harus terletak di
dalam satu database. Tentunya dengan aplikasi yang tersebar ( ada yang
sebagai portlet, ada yang aplikasi web J2EE ), maintenance dan
integrasi menjadi lebih kompleks.

Untuk management user, bisa pakai IDM seperti Microsoft Active
Directory atau LDAP. Permission memang biasanya dimanage di level
aplikasi, jadi kalau aplikasinya ada portlet dan ada aplikasi J2EE,
masing-masing bakalan punya permissioning database sendiri.

Workflow task integration, saya kurang kebayang gimana maksudnya. Bisa
cerita detailnya problem dengan workflow task integration ?

Kalau masalahnya pemahaman portlet programming, kami bisa provide
Liferay Developer training selama 3 hari, yang sudah kami lakukan juga
ke salah satu klien kami utk tim development mereka. Dengan 3 hari
training ini biasanya developer sudah bisa cukup produktif untuk
portlet development.

> Dan kalau semua module dijadikan portlet, kira2 apakah tidak terlalu
> memberatkan server portal nantinya,
> mengingat banyaknya modul dan banyaknya service / filter di Liferay.

Ya bakal ada trade off nya. Kalau aplikasinya tersebar, problemnya
adalah maintenance dan integrasi. Dan gak ada jaminan juga
performance bakal lebih bagus, karena kalau aplikasinya beda JVM,
otomatis bakal ada transfer data over the network, yang biasanya
costly terhadap performance.

Kalau diletakkan semua di Liferay, dan ternyata ada masalah
performance, kan banyak cara untuk performance tuning. Dan biasanya
kalau semua dalam satu JVM, lebih mudah tuning dan mengukurnya.
Misal, kalau ternyata performancenya disebabkan permission checking,
begitu dituning di Liferay, maka problemnya terpecahkan utk semua
business logic / service layer. Kalau tersebar berarti tuning
permission checking mesti dilakukan di semua aplikasi ( Don't Repeat
Yourself ? )

salam,
Chris

2012/9/21 zuniawan andi prastia <andiz...@gmail.com>:
> --
>
>
>

Muhammad Edwin

unread,
Sep 22, 2012, 4:43:33 AM9/22/12
to lifer...@googlegroups.com
mumpung lagi pada bahas integrasi liferay,
saya jadi pengen ikutan nanya,
bisa engga bikin widget di liferay yang content-nya ambil dari web lain
mungkin analoginya kayak rss aggregator kali yah, hanya saja narik datanya engga dalam rss format melainkan dalam json / webservice

terima kasih sebelumnya


2012/9/22 christianto sahat <csa...@gmail.com>




Integrasi data kira-kira maksudnya bagaimana ? Jaman SOA sekarang ini
mestinya banyak metode integrasi, semua data tidak harus terletak di
dalam satu database. Tentunya dengan aplikasi yang tersebar ( ada yang
sebagai portlet, ada yang aplikasi web J2EE ), maintenance dan
integrasi menjadi lebih kompleks.

--
Regards,


edwin.
"It's Not the Big That Eat the Small... It's the Fast That Eat the Slow"

Maulana Irsyad

unread,
Sep 22, 2012, 4:45:07 AM9/22/12
to lifer...@googlegroups.com

Mas christianto,
Boleh minta detail training liferay 3hari berikut pricelistnya? Liferay di indonesia sudah banyak kah penggunanya?

--



christianto sahat

unread,
Sep 22, 2012, 5:08:29 AM9/22/12
to lifer...@googlegroups.com
Halo Edwin,

Di Liferay, integrasi bisa dilakukan dengan cara meng-consume langsung
tampilan ( integrasi HTML ), atau juga dengan integrasi data ( web
service dengan format XML, atau json ).

Untuk integrasi HTML, biasanya ada 2 cara, yaitu

Pake iFrame portlet, intinya di iFrame portlet ini kita tinggal
sebutkan aja URL -nya, terus userid dan password kalau ada, nanti web
yg mau di consume bakal ditampilkan sebagai blok iFrame di Liferay.

Bisa juga dengan web proxy portlet, sedikit berbeda dengan iFrame,
karena di sini si Liferay berfungsi sebagai proxy, dia bisa melakukan
transformasi response. Keuntungannya dengan transformasi response

Ada juga Web Application Integrator, yaitu aplikasi web-nya di deploy
sebagai plugin Liferay, nanti si Liferay langsung mengconsume
tampilannya di iFrame portlet.


Integrasi data, ya dengan cara membuat portlet yg fungsinya sebagai
web service client. Atau integrasi lewat ESB sekalian.

salam,
Chris


2012/9/22 Muhammad Edwin <edwi...@gmail.com>:
> --
>
>
>

christianto sahat

unread,
Sep 22, 2012, 5:23:32 AM9/22/12
to lifer...@googlegroups.com
Jumlah pengguna saya tidak punya angka pastinya ya. Tapi gini, di
Indonesia itu penggunaan CMS sudah populer sekali kan. Lihat saja
Valadoo yang dibuat pake Drupal, dan banyak banget portal-portal di
Indo yang pake Drupal / Joomla. Selain itu, portal kolaborasi /
komunitas juga sudah banyak banget sekarang, contohnya Kaskus, Bintang
Mawar, dan banyak lagi.

Artinya apa ? Potensi market CMS dan community / collaboration Portal
sangat besar di Indonesia, tapi Drupal dan Joomla sangat sulit menjadi
pilihan sebagai 'enterprise level' , mengingat PHP secara de-facto
kurang dianggap sebagai solusi yang scalable dan maintainable di
enterprise space. Selain itu, biasanya Enterprise Portal sudah
dilengkapi dengan kemampuan integrasi dengan berbagai macam Identity
Management, SSO, business application seperti Workflow, rules engine,
ESB, business intelligence, dsb. Saya gak yakin Drupal dan Joomla out
of the box sudah menyediakan integrasi ini.

Lalu, tidak ada official vendor di belakang Drupal dan Joomla. yang
artinya tidak ada support official. Hal-hal non-teknis begini jadi
batu sandungan utama utk solusi-solusi CMS / collaboration portal
untuk masuk enterprise level, padahal kita tahu kebanyakan duit ada di
sana.

Saya yakin Drupal dan Joomla masih populer di kebanyakan user / SOHO
level, tapi kalau sudah masuk enterprise space, pilihannya adalah
enterprise portal semacam IBM, Oracle, Liferay, SAP, dsb.

Detail trainingnya saya kirim japri ya.

salam,
Chris


2012/9/22 Maulana Irsyad <maul...@gmail.com>:

christianto sahat

unread,
Sep 22, 2012, 5:27:10 AM9/22/12
to lifer...@googlegroups.com
Sorry Edwin, yang ini terpotong :

> transformasi response. Keuntungannya dengan transformasi response
adalah kita bisa intercept response, yang bisa digunakan utk banyak
hal, misalnya kalau kita mau
alter CSS-nya, supaya look and feelnya seragam dengan portal kita.

Selain itu web proxy juga ada session cookie support, berbeda dengan
iFrame portlet yang akan membuat sessionnya sendiri.




2012/9/22 christianto sahat <csa...@gmail.com>:

Muhammad Edwin

unread,
Sep 22, 2012, 6:02:08 AM9/22/12
to lifer...@googlegroups.com
dear mas Christianto
planning saya memang membuat semacam aggregator portal
dimana didepan adalah liferay, namun berfungsi sebagai web proxy yang menarik data dari macam-macam aplikasi yang berada dibelakangnya

terima kasih atas informasinya

btw, agak sedikit OOT, untuk membuat widget liferay saya harus extends class tertentu atau bisa bikin servlet sendiri?
nantinya saya mo pakai beberapa jar, yang saya takutkan adalah jar saya akan conflict dengan jar bawaan liferay


2012/9/22 christianto sahat <csa...@gmail.com>
--



christianto sahat

unread,
Sep 22, 2012, 6:23:03 AM9/22/12
to lifer...@googlegroups.com
> btw, agak sedikit OOT, untuk membuat widget liferay saya harus extends class
> tertentu atau bisa bikin servlet sendiri?

Kalau bikin servlet kan biasanya kita extend
javax.servlet.GenericServlet, nah kalau bikin portlet
nanti tinggal extends javax.portlet.GenericPortlet.

GenericPortlet ini nggak spesifik Liferay, tapi sesuai Portlet Spec,
artinya kalau bikin portletnya extend
kelas ini, seharusnya compatible di portlet container manapun yg
comply ke Portlet 2.0 Spec / JSR-286
seperti IBM Portal, Oracle Portal, dsb.



2012/9/22 Muhammad Edwin <edwi...@gmail.com>:
> --
>
>
>

Andre Prasetya

unread,
Sep 22, 2012, 7:30:14 AM9/22/12
to lifer...@googlegroups.com

Pak Christanto,

Saya minta detail training nya juga ya. Tq

-andre-
y!: andnej
t: @andnej

--



zuniawan andi prastia

unread,
Sep 22, 2012, 12:24:19 PM9/22/12
to lifer...@googlegroups.com
Liferay mempuyai banyak sekali feature yang sudah mumpuni, seperti user, group, community, role-permission management, CMS , Document Library dan themes yang bisa dicustomize. Dengan feature Liferay yang lebih user friendly tersebut, sering kali user request feature yang kadang tidak gampang di implement dalam aplikasi JAVA biasa. Misalnya dalam portlet admin bisa dengan mudahnya ubah / set - unset permission directly dari config portlet. sedangkan dalam aplikasi J2EE biasa belum tentu kita ada waktu untuk siapin feature common seperti itu. 

seperti ilustrasi di atas, kalau satu project kita split jadi 2 (Liferay - J2EE) sering kali user minta core app J2EE, punya feature yang sama dengan liferay dengan segala kemudahan config / look and feel. Apalagi kalau user yang kita hadapi sama sekali tidak tau technical. Dengan komunikasi yang baik, tentu kita bisa yakinkan client, tapi seandainya liferay memang recomended sebagai Enterprise platform, tentu akan jadi pertimbangan untuk projek2 besar, apalagi dengan portlet, akan jauh lebih modular.


Integrasi data kira-kira maksudnya bagaimana ? Jaman SOA sekarang ini
mestinya banyak metode integrasi, semua data tidak harus terletak di
dalam satu database. Tentunya dengan aplikasi yang tersebar ( ada yang
sebagai portlet, ada yang aplikasi web J2EE ), maintenance dan
integrasi menjadi lebih kompleks.

Integrasi data disini maksud saya seperti "my task" dalam workflow. Pada case diatas, karna layer depanya pakai Liferay, pasti user maunya my task portlet akan menampilkan semua task yang relevan bagi user yang bersangkutan baik dari Liferay maupun J2EE core application. Untuk menampilkan task nya saja tentu kita bisa merge query dari kedua sumber. Tapi kemudian banyak feature2 lain yang harus disamakan. seperti bagaimana menampilkan history, view , edit task untuk J2EE core application. Dengan 2 sistem terpisah, kalau mau menyamakan feature, secara mudahnya kita perlu implementasi workflow yang sama dalam Liferay dan J2EE core app. Tapi seandainya sistem tersebut jadi 1 kan kita gak pusing lagi mempelajari seluk beluk workflow untuk diimplementasi dalam  pure J2EE.

Kalau case multiple data resource dari banyak server yang berlainan, biasanya kami pakai Pentaho juga.
 

Untuk management user, bisa pakai IDM seperti Microsoft Active
Directory atau LDAP. 

Untuk user authentication /  session management memang biasanya pakai LDAP / SSO  

Ya bakal ada trade off nya. Kalau aplikasinya tersebar, problemnya
adalah maintenance dan integrasi.  

Setuju sekali, untuk integrasinya saja sering kali kita kesulitan untuk estimasi timeline karena sering ketemunya problem pas ditengah2 integrasi. Kalau integrate dengan system yang sudah ada, memang sudah sepatutnya dari pada harus recode sistem lama. Tapi kalau kerjaan itu awalnya satu, saya kira patut dicoba untuk cukup pakai Liferay. cuman masih perlu banyak masukan untuk meyakinkan pembuat kebijakan dan Jangan sampai ahirnya mentok di tengah jalan.


salam,
zuniawan andi   
Reply all
Reply to author
Forward
0 new messages