Custom application development with liferay

40
Liferay as a platform for custom web applications Henri Sora & Jouko Pirinen 12.9.2013 12.9.2013 www.ambientia.net 1

description

Liferay Road Show 12.9.2013, Henri Sora, Ambientia

Transcript of Custom application development with liferay

Page 1: 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

Page 2: Custom application development with liferay

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

Page 3: Custom application development with liferay

Jouko Pirinen

© Jouko Pirinen

- Ambientia- Since 2005- Senior Software Developer- Partner

- Hobbies - Hiking- Fishing- Reading- Gym

Page 4: Custom application development with liferay

www.ambientia.net 4

Today, Custom Web Applications

with Liferay

12.9.2013

Page 5: Custom application development with liferay

www.ambientia.net 5

Common use cases for Liferay

Intranets

Extranets

Large scale web sites

12.9.2013

Page 6: Custom application development with liferay

www.ambientia.net 612.9.2013

Page 7: Custom application development with liferay

www.ambientia.net 7

Old Portal

12.9.2013

Page 8: Custom application development with liferay

Old Portal

Page 9: Custom application development with liferay

Modern Portal: Application Platform

Page 10: Custom application development with liferay

Accelerating Application Development

Page 11: Custom application development with liferay

www.ambientia.net 14

The technologies for Custom Applications

12.9.2013

Page 12: Custom application development with liferay

www.ambientia.net 15

Permissions API -

User authentication, authorisation and permissions

12.9.2013

Page 13: Custom application development with liferay

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

Page 14: Custom application development with liferay

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

Page 15: Custom application development with liferay

www.ambientia.net 18

CMS Functionality -

Page Content and editing

12.9.2013

Page 16: Custom application development with liferay

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

Page 17: Custom application development with liferay

www.ambientia.net 20

Editor

12.9.2013

Good. No need to write yet another CMS system for

my apps

Page 18: Custom application development with liferay

www.ambientia.net 22

Content template

12.9.2013

Page 19: Custom application development with liferay

www.ambientia.net 26

Asset Framework -

Content aggregator for portlets

12.9.2013

Page 20: Custom application development with liferay

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

Page 21: Custom application development with liferay

www.ambientia.net 2812.9.2013

Loads of buttons

over here...

Page 22: Custom application development with liferay

www.ambientia.net 29

Asset Selection

12.9.2013

This is quite

powerful and

dynamic. Good.

Page 23: Custom application development with liferay

www.ambientia.net 30

Sites and Organisations-

Multiple Web Sites with

centralised management

12.9.2013

Page 24: Custom application development with liferay

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

Page 25: Custom application development with liferay

www.ambientia.net 32

Site pages, page details

12.9.2013

Page 26: Custom application development with liferay

www.ambientia.net 33

Service Builder-

Service Layer Generation and Data Modelling

12.9.2013

Page 27: Custom application development with liferay

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

Page 28: Custom application development with liferay

www.ambientia.net 36

Service.xml

12.9.2013

WOW!JSON for

free!

Page 29: Custom application development with liferay

www.ambientia.net 37

Common requirements for enterprise web applications

- out of the box for developers

12.9.2013

Page 30: Custom application development with liferay

www.ambientia.net 38

The technologies we are NOT

leveraging

12.9.2013

Page 31: Custom application development with liferay

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

Page 32: Custom application development with liferay

www.ambientia.net 40

Example

12.9.2013

Page 33: Custom application development with liferay

www.ambientia.net 41

Newolo - again

12.9.2013

Page 34: Custom application development with liferay

www.ambientia.net 4212.9.2013

Page 35: Custom application development with liferay

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

Page 36: Custom application development with liferay

Accelerating Application Development

Page 37: Custom application development with liferay

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

Page 38: Custom application development with liferay

www.ambientia.net 47

Questions? Twitter: @henrisora & [email protected]

12.9.2013

Page 39: Custom application development with liferay
Page 40: Custom application development with liferay

Sähköposti: [email protected]

Twitter: @henrisora

Henri & Jouko