building corporate portals with liferay jeeconf 2011
TRANSCRIPT
Demo: Applying BPM/SOA to CAM Application Workflow Integration Project
Liferay ,
Liferay?
Liferay ?
?
?
Liferay?
http://www.gartner.com/technology/media-products/reprints/liferay/206214.html
Liferay
Open Source
Enterprise Ready
(JSR 168/286)
Out-Of-Box (60+)
!
Liferay
C, , ,
, ,
?
:
JBoss GateIn
Apache Pluto
:
Magnolia
Alfresco
, -
(Twitter)
Liferay
Liferay
WCM
-
-: ,
-IT
-
LDAP/Active Directory
, ,
, , Enterprise Service Bus, , BI, ERP
OSWindows, Linux, FreeBSD, MacOs X, Solaris, ?
Application ServersJetty, Resin, Tomcat, Glassfish, JBoss, WebSphere, WebLogic
DatabasesHSQL, MySQL, PostgreSQL, Oracle, MsSql, DB2, Sybase
Identity ManagementLDAP, Active DirectoryCAS, OpenSSO, NTML
WebDav, MS Office
Liferay 6.1 CMIS Repositories
+
=
Build-in Lucene
(SOLR, OpenSearch)
(Google Search Appliance)
Workflow API
Kaleo, jBPM3, jBPM4, Activiti
Bonita BPMS, Intalio BPMS, Tibco
Enterprise Service Bus
Mule ESBLiferayMagento...
Liferay + Mule ESB + Magento + CAS
LiferayAlfrescoJasper Reports ServerCASLDAPPostgreSQL
, BI, ERP ...
Jasper Reports Server
Pentaho
Adempiere ERP
Zimbra Communication Suite
WSPR
IFrame Portlet, WebProxy Portlet
Social MashUp
Export Facebook
Open Social Widgets
Small Amazon EC2 instance
50
3
Habra-
:
3900
Liferay
Liferay
,
BeanLocator: Spring-
ServiceBuilder .
Liferay
Liferay
JEE
Java SE
Tomcat, Jetty, WebSphere, Glassfish....
Spring Framework
Hibernate
Ant Plugins-SDK
Maven ( Liferay 6)
http://www.emforge.net/web/russian-liferay/wiki/-/wiki/Main/+++Liferay
Plugins SDK
Ext ( Liferay 6)
Portlets
Themes
Layout Templates
Hooks
Plugins SDK
Liferay IDE (Eclipse)
Netbeans + Portal Pack
Idea
JSP + Alloy UI
Struts
Spring MVC
JSF, JSF 2.0 (IceFaces & RichFaces)
GWT
Vaadin
Groovy & Grails
RoR, PHP
: JSP
,
Liferay
Alloy UI ( YUI 3.0) Ajax
Liferay & Alloy
Service Builder-
:
PortletURL portletURL = renderResponse.createRenderURL(); // define list of headers we will use in the table List headerNames = new ArrayList(); headerNames.add("name"); headerNames.add("photo"); headerNames.add("price"); // create search container, used to display table SearchContainer searchContainer = new SearchContainer(renderRequest, null, null, SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.DEFAULT_DELTA, portletURL, headerNames, "There No Pets To Display"); portletURL.setParameter(searchContainer.getCurParam(), String.valueOf(searchContainer.getCurValue())); // get count of pets and list of pets to display on current page int petsCount = ItemLocalServiceUtil.getItemsCount(); List pets = ItemLocalServiceUtil.getItems(searchContainer.getStart(), searchContainer.getEnd()); // set count into search container searchContainer.setTotal(petsCount); // fill table List resultRows = searchContainer.getResultRows(); for (int i=0; i < pets.size(); i++) { Item pet = pets.get(i); ResultRow row = new ResultRow(pet, pet.getItemId(), i); row.addText(pet.getName(), ""); row.addJSP("/pet_image.jsp", application, request, response); row.addText(String.valueOf(pet.getPrice())); resultRows.add(row); }
Portlets Development: Table Sample
: Vaadin?
Ajax
Java
Liferay
Service Builder
CRUD
Hibernate Mappings
Hints ( UI)
Persistance Service (DAO)
Local & Remote
CRUD
Service Builder: service.xml
PetCatalog
Local Remote
WebService
JSON
!
Liferay
1. Ext plugin2. Expando (Custom properties)3. Hooks:
JSP Hooks
Property Hook
Service Hooks
Events (Model Listeners)
Expando: custom properties
custom properties
property
custom properties
custom properties
Hooks: Events
StartUp Event
ServicePreAction Event
Model Listeners:
public class GroupListener extends BaseModelListener {
@Overridepublic void onBeforeRemove(Group group) throws ModelListenerException { try { // remove project associated with group Project project = ProjectLocalServiceUtil.getProjectForCommunity(group.getGroupId());
if (project != null) { ProjectLocalServiceUtil.deleteProject(project); } } catch (Exception ex) { throw new ModelListenerException("Cannot remove project", ex); }}}
, 0
- Community Edition
J2EE
Liferay
(, Enterprise Edition)
Http://www.liferay.com
Http://www.emforge.net/web/russian-liferay
Http://www.emdev.ru
10/19/09
Exigen Services confidential
Exigen Services confidential
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Exigen Services confidential
10/19/09
Click to edit the title text format
:
, 194291, -, ., .6, .3, .36: +7 (921) 320-3542
: +7 (812) 598-3781Email: [email protected]:
http://www.emdev.ru
Click to edit Master title style
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelEighth Outline Level
Ninth Outline LevelClick to edit Master text styles