Utilizzo Liferay da circa 2 anni per un'applicazione interna. Abbiamo avuto la stessa discussione molte volte durante il ciclo di sviluppo prima della nostra prima versione. Abbiamo dovuto combattere Liferay un paio di volte, a volte a causa della nostra mancanza di conoscenza, a volte a causa dell'ambiente portlet, e occasionalmente a causa di Liferay.
Se si desiderano le opzioni di layout per più applicazioni che è possibile ottenere da un portale, è consigliabile utilizzare Liferay. Se stai scrivendo una singola applicazione, probabilmente non userò Liferay.Penso che un ibrido di alcuni Liferay e alcuni non sia di gran lunga l'opzione peggiore.
Probabilmente non stiamo sfruttando pienamente Liferay, ma se questa è la tua prima app Liferay, è probabile che non lo farai neanche a causa della curva di apprendimento. Originariamente speravamo di avere molti portlet diversi per i diversi aspetti della nostra applicazione, ma a causa della mancanza di buoni meccanismi di comunicazione tra portlet durante lo sviluppo (pre JSR-286) abbiamo finito per scrivere una singola applicazione. Ora che siamo finiti su quella barca, vorrei che non ci fossimo andati senza Liferay, dal momento che tutto quello che stiamo usando è alcune funzionalità di gestione degli utenti.
Usiamo JSF e facelets (entrambe le nuove tecnologie per noi, quindi il dolore potrebbe essere stato autoincluso) e mentre ci siamo migliorati, sembra che ci fossero alcuni cerchi che dovevamo saltare per ordine per farlo funzionare correttamente in un portlet; Cose che non avrebbero dovuto succedere in un normale ambiente di app web. Per molti framework, sembra che il supporto del portlet sia un ripensamento. Questo ovviamente non è specifico di Liferay, è solo un sottoprodotto di lavorare all'interno dell'ambiente del portlet.
In una webapp che utilizza Spring MVC, Struts, Faces, Wicket, qualunque cosa, avrai molto più controllo su tutto, ma sarai anche responsabile dell'implementazione di più cose.
In un portlet, si sarà soggetti ai termini di JSR-168 e/o JSR-286. Il portale portal fornirà alcune funzionalità per te, come l'autenticazione dell'utente, ma IMO, un intero portale per l'autenticazione dell'utente è troppo pesante. Vedo la potenza del portale che consente all'utente di personalizzare la visualizzazione di più applicazioni, non presentando una singola applicazione.
È necessario esaminare le specifiche relative al portlet e verificare se soddisfano le proprie esigenze.
http://developers.sun.com/portalserver/reference/techart/jsr168/
Spero che se siano davvero servizi "condivisi", non dovresti scriverli una seconda volta. Ci sarebbe qualche sforzo di integrazione, ma dovrebbe essere molto più piccolo di implementarlo una seconda volta. – digitaljoel