Custom application development with liferay
-
Upload
ambientia -
Category
Technology
-
view
720 -
download
2
description
Transcript of Custom application development with liferay
1
Liferay as a platform for custom web applications
Henri Sora & Jouko Pirinen 12.9.2013
12.9.2013 www.ambientia.net
Henri Sora
© Sofia Nordström
- Ambientia- Since 1998- Director, Technology and Services- Board Member & Partner
- Aucor (software)- Board Member
- Labrox (life sciences) - Chairman of the Board
- Father of three children - (7 y, 4 y and ~2 y)
- Hobbies - Hiking - Sailing- Kayaking - Bicycling
Twitter: @henrisora
Jouko Pirinen
© Jouko Pirinen
- Ambientia- Since 2005- Senior Software Developer- Partner
- Hobbies - Hiking- Fishing- Reading- Gym
www.ambientia.net 4
Today, Custom Web Applications
with Liferay
12.9.2013
www.ambientia.net 5
Common use cases for Liferay
Intranets
Extranets
Large scale web sites
12.9.2013
www.ambientia.net 612.9.2013
www.ambientia.net 7
Old Portal
12.9.2013
Old Portal
Modern Portal: Application Platform
Accelerating Application Development
www.ambientia.net 14
The technologies for Custom Applications
12.9.2013
www.ambientia.net 15
Permissions API -
User authentication, authorisation and permissions
12.9.2013
www.ambientia.net 16
Permissions API
The good • Versatile system• Commonly required API’s are from out of the box
• Permissions & Authentication API • UI to handle changes to the users • Tag library for JSP pages
• Easily modified and extendable for custom portlets
12.9.2013
The bad • It is a complicated system and has learning curve
www.ambientia.net 17
Liferay’s permission data model
12.9.2013
See, it is quite
complex...
One day to learn – one year to master
www.ambientia.net 18
CMS Functionality -
Page Content and editing
12.9.2013
www.ambientia.net 19
CMS Functionality
The good • Flexible content structure and display definition i.e.,
Structures and Templates• Versatile document storage (i.e. excellent API’s) • Content versioning • Scheduled publishing of content • Workflow capabilities • Articles can be integrated easily to custom portlets
12.9.2013
The bad • The UI a bit challenging
www.ambientia.net 20
Editor
12.9.2013
Good. No need to write yet another CMS system for
my apps
www.ambientia.net 22
Content template
12.9.2013
www.ambientia.net 26
Asset Framework -
Content aggregator for portlets
12.9.2013
www.ambientia.net 27
Asset Framework
The good • Shared storage and display for various content items in the
application • Custom portlets can be integrated to the Asset Framework and
can be published as assets• Categories; tags; commenting; etc.
• Display styles and methods can be set based on the content type
12.9.2013
The bad • Again, correct Asset Framework usage requires learning • The Asset Publisher and other display portlets require
modification almost each time they are being used because the OOTB setup seldom meets the project’s requirements
www.ambientia.net 2812.9.2013
Loads of buttons
over here...
www.ambientia.net 29
Asset Selection
12.9.2013
This is quite
powerful and
dynamic. Good.
www.ambientia.net 30
Sites and Organisations-
Multiple Web Sites with
centralised management
12.9.2013
www.ambientia.net 31
Sites and Organisations
The good • Staging functionality • Private and public pages
• Can have unique domain names• Content can be structured to sites with different rights • Page and Site Templates enables fast structure
management and modification
12.9.2013
The bad • Site versus organisation selection can be tricky • Data migrated via large lar pakages
www.ambientia.net 32
Site pages, page details
12.9.2013
www.ambientia.net 33
Service Builder-
Service Layer Generation and Data Modelling
12.9.2013
www.ambientia.net 34
Service Builder
The good • Easy data structure mapping and finder mapping with XML
• Can be finetuned with portlet-model-hints.xml• Automatic service layer generation• Easy extension of the default interfaces• Permissions Framework works nicely with the Service Builder • Multiple portlet apps can use dependencies from each other
12.9.2013
The bad• Automatically generated code is difficult to accept for certain
developers• It is difficult to fix bugs in the generated code
www.ambientia.net 36
Service.xml
12.9.2013
WOW!JSON for
free!
www.ambientia.net 37
Common requirements for enterprise web applications
- out of the box for developers
12.9.2013
www.ambientia.net 38
The technologies we are NOT
leveraging
12.9.2013
www.ambientia.net 39
Techologies and componets not used
1. Liferay’s CE- version2. Most of the OOTB portlets
• Liferay has a large set of portlets included but only a few of them are commonly used when building custom applications
3. Struts Framework• Commonly replaced by Spring or Liferay MVC• On some cases needs to be used
4. Ext environment• Is replaced by hooks in most cases
12.9.2013
www.ambientia.net 40
Example
12.9.2013
www.ambientia.net 41
Newolo - again
12.9.2013
www.ambientia.net 4212.9.2013
www.ambientia.net 43
Newolo
• It did not require a Portal as such it benefits a lot of about • Permissions API: user Authentication and Authorisation • Service Builder • UI with JSP & JSTL• SOAP based integration with custom made content repository • Application architecture utilizes site structures to enhance
logic and manageability • Themes and layouts for multiple clients • Documents and Media to update videos to the system • Localization for all content • Liferay scheduling to send reminders
• Therefore, Liferay is being used in a custom application
12.9.2013
Accelerating Application Development
www.ambientia.net 46
Liferay is good for custom
applications
1) OOTB Developer
Functionality
2) OOTB Portal’s
management interfaces
3) Portal’s footprint is not an issue with modern
hardware
4) Decent licensing model for single app
usage
12.9.2013