Custom application development with liferay

1,103 views

Published on

Liferay Road Show 12.9.2013, Henri Sora, Ambientia

Published in: Technology
  • Be the first to comment

Custom application development with liferay

  1. 1. Liferay as a platform for custom web applications Henri Sora & Jouko Pirinen 12.9.2013 12.9.2013 www.ambientia.net 1
  2. 2. 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
  3. 3. Jouko Pirinen © Jouko Pirinen - Ambientia - Since 2005 - Senior Software Developer - Partner - Hobbies - Hiking - Fishing - Reading - Gym
  4. 4. Today, Custom Web Applications with Liferay 12.9.2013 www.ambientia.net 4
  5. 5. Common use cases for Liferay Intranets Extranets Large scale web sites 12.9.2013 www.ambientia.net 5
  6. 6. 12.9.2013 www.ambientia.net 6
  7. 7. Old Portal 12.9.2013 www.ambientia.net 7
  8. 8. Old Portal
  9. 9. Modern Portal: Application Platform
  10. 10. Accelerating Application Development
  11. 11. The technologies for Custom Applications 12.9.2013 www.ambientia.net 14
  12. 12. Permissions API - User authentication, authorisation and permissions 12.9.2013 www.ambientia.net 15
  13. 13. 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 www.ambientia.net 16 The bad • It is a complicated system and has learning curve
  14. 14. Liferay’s permission data model 12.9.2013 www.ambientia.net 17 See, it is quite complex... One day to learn – one year to master
  15. 15. CMS Functionality - Page Content and editing 12.9.2013 www.ambientia.net 18
  16. 16. 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 www.ambientia.net 19 The bad • The UI a bit challenging
  17. 17. Editor 12.9.2013 www.ambientia.net 20 Good. No need to write yet another CMS system for my apps
  18. 18. Content template 12.9.2013 www.ambientia.net 22
  19. 19. Asset Framework - Content aggregator for portlets 12.9.2013 www.ambientia.net 26
  20. 20. 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 www.ambientia.net 27 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
  21. 21. www.ambientia.net12.9.2013 28 Loads of buttons over here...
  22. 22. Asset Selection 12.9.2013 www.ambientia.net 29 This is quite powerful and dynamic. Good.
  23. 23. Sites and Organisations - Multiple Web Sites with centralised management 12.9.2013 www.ambientia.net 30
  24. 24. 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 www.ambientia.net 31 The bad • Site versus organisation selection can be tricky • Data migrated via large lar pakages
  25. 25. Site pages, page details 12.9.2013 www.ambientia.net 32
  26. 26. Service Builder - Service Layer Generation and Data Modelling 12.9.2013 www.ambientia.net 33
  27. 27. 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 www.ambientia.net 34 The bad • Automatically generated code is difficult to accept for certain developers • It is difficult to fix bugs in the generated code
  28. 28. Service.xml 12.9.2013 www.ambientia.net 36 WOW! JSON for free!
  29. 29. Common requirements for enterprise web applications - out of the box for developers 12.9.2013 www.ambientia.net 37
  30. 30. The technologies we are NOT leveraging 12.9.2013 www.ambientia.net 38
  31. 31. Techologies and componets not used 1. Liferay’s CE- version 2. 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 39
  32. 32. Example 12.9.2013 www.ambientia.net 40
  33. 33. Newolo - again 12.9.2013 www.ambientia.net 41
  34. 34. 12.9.2013 www.ambientia.net 42
  35. 35. 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 www.ambientia.net 43
  36. 36. Accelerating Application Development
  37. 37. 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 www.ambientia.net 46
  38. 38. Questions? Twitter: @henrisora & henri.sora@ambientia.fi 12.9.2013 www.ambientia.net 47
  39. 39. Sähköposti: henri.sora@ambientia.fi Twitter: @henrisora Henri & Jouko

×