SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
April, 2012
1
Implementation of new Enterprise-Class
Portal Features for Liferay
Alistair Oldfield
Project Manager
Case Study: CSOB
Agenda
 The objective of this presentation is to:
 Summarize the goals & challenges of adopting portal
technology for use in an enterprise environment
 Illustrate some of the challenges in a case study of
implementation of portal platform in a bank
 Project Goals
 Challenges encountered on the way
 Implementation of features new to Liferay - without modifying
Liferay core (maintaining support from Liferay)
 Summary of realized benefits & lessons learned
2
Customer Background
3
ČSOB Group, Member of KBC Group
4
ČSOB:
Established in 1964
Diversified
bancassurance group
offering complete
product portfolio to all
client segments
Long-term leader in
many segments, esp.
financing of housing
needs and mutual
funds
Active in the Czech
Republic
Member of KBC Group
Slovakia
ČSOB
ČSOB
Poisťovňa
Czech Republic
ČSOB
ČSOB Pojišťovna Hungary
K&H Bank
K&H Insurance
Belgium
KBC Bank
KBC
Insurance
Bulgaria
CI BANK
DZI Insurance
Project Background
 Business transformation to:
 Transform into a customer-centric organization
 Simplicity and convenience through multi channel access and
cross channel distribution
 Extend the service offering
 Shorten time to market by introducing innovative approach to the
new services implementation
 Liferay was chosen as the portal standard
technology
 State-of-the-art in front-end layer and rich on features
 Easy integration with J2EE, group development standard
 Optimal fit into landscape and total cost of ownership
5
Project Overview
1. Migration from Legacy Portal to Liferay
2. Implementation of new Enterprise
Features for Liferay
• Legacy Links Management
• Reference Management
• Link Integrity Management
• Monitoring Portlet
• Google Analytics Framework
6
Migration from Existing Portal
 Legacy Portal: Microsoft SharePoint
 Roughly 50 web-part applications (.NET)
 highly customized behaviour
 Integrated to bank back-ends and other services (Google Maps, etc.)
 Thousands of pages, articles & documents
 Objective: The existing content must be integrated
(iframe, proxy portlet) with or migrated in the new Liferay
portal solution.
 Decision: Completely decommission legacy portal and
fully migrate (port) content and functionality into Liferay.
7
Migration from SharePoint to Liferay
approach
 Migration of Content
• Full export of MOSS content into
XML package
• Implementation of importer
application using Liferay services
 Migration of Functionality
• Complete re-implementation of
.NET webpart applications to
JSR-286 compliant portlets
8
Migration from SharePoint to Liferay
Result
 Fully automated SharePoint-to-
Liferay Content Migrations
 Repeatable across all environment
pillars
 Re-useable for future use in other
SharePoint-driven portals
9
New Features for Liferay
Challenge
 Implementation of features new to Liferay - without
modifying Liferay core thus maintaining support from
Liferay:
10
1. Legacy Links Management
2. Reference Management
3. Link Integrity Management
4. Monitoring Portlet
5. Google Analytics Framework
Legacy Links Management
Challenge:
 Allow to specify rules for resolving legacy addresses (or patterns) to
new Liferay site
 Must be administrate-able in real-time by business users in control
panel (not on the web server level i.e. using mod rewrite)
 Must potentially apply rules to ANY incoming request to portal
Solution:
 Creation of Request re-direction framework
 Rules may be defined as follows:
 Literal strings: /products/people/mortgage.aspx -> mortgage/calculator.aspx
 Pattern matched: /products/people/.*?{<args>.*) -> products/form.aspx?{args}
 May be configured as:
 PRE filter (before requests gets to Liferay)
 POST filter (after request gets to Liferay, and Liferay cannot resolve URL)
11
Link Redirection in Action
12
1. Before sending request to
Liferay, resolve against PRE
redirection rules, if a rule is
applied, then redirect.
2. Otherwise: Send request
to Liferay, if Liferay finds the
requested page, then return
contents (as normal).
3. If Liferay cannot find the
URL, resolve against POST
redirection rules, if a rule is
applied, then redirect.
4. If no rules applied: return
404 – page not found (as
normal).
Benefits
1. Maintain Legacy link integrity (incoming links which
existed years ago, can still point to a desired page)
2. Business users can define any URL(or set of URLs) to
point to any page or resource in portal (SEO benefits);
usually a task reserved for application server
administrators.
3. Business users can “alter” URLs of pages without
altering site structure
4. Business users can use patterns to define redirection
rules for large sets of URLs (e.g. /people/.* -> /people.aspx)
13
Reference Management
There are many entities in a Liferay portal, however
relationships and references between these entities is not
always clear:
 Which other articles/pages in my portal have links to a given page?
 Which articles/pages hold references to a given document?
 Which pages contain a given portlet?
Not knowing these references poses administrative
challenges to site integrity, and administrative productivity in
general:
When I delete a document, how do I know I haven’t created 100s of
broken links throughout my portal?
14
Reference Management
To overcome these challenges, a reference management
framework was developed.
This framework allows for defining of any reference
between any 2 entities in the Liferay data model as a 1-n
listing:
• For a given URL, list all articles which reference it
• For a given portlet, list all pages which contain it
• For a given search text, list all articles or pages which contain it
• For a given portlet property, list all portlets which define it
• …
Framework defines the reference (how it is modeled as a
query), and provides a UI for listing the references
15
Implementation Challenges
Performance Challenges:
 How to query references quickly, even on non-indexed
(optimized) data?
 How to reference “non-structured” data (HTML, text,
properties) which are not stored in relational format?
 How to do this without modifying Liferay core API or
services?
16
Solution:
Create a separate DB
schema for indexing data in
a normalized format.
Implementation Solution
Each DB operation (create/update/delete) which takes place on a table
which contains “referenced” data fires a trigger to copy the data change
into the indexing schema
Indexing schema proceeds to index the data into a well-defined
relational data model using pre-defined functions (e.g.):
• Portlet preferences XML-> relational (DB) format
• HTML -> Stripped text throughout site / list of links throughout site
• etc…
17
Performance impact not an issue;
data copy is tiny (one row) and is
only executed on rare operations
(administration actions) into a
different schema:
no impact to Liferay.
Benefits
1. Significant increase to web content administrators’
productivity when executing changes to the site
2. Ease of use; provides a full overview of how and where
a change will be propagated throughout the site; info which
is currently not so clear to administrators
3. Highly extensible framework which allows for many
interesting features not currently available on Liferay (all
without any core modifications):
• Automated portal-wide link updating: automatically maintain
link integrity throughout your site when moving or deleting
pages/resources
• Link Integrity Management (Broken Links): next slides.
18
Link Integrity Management
broken-links
19
With 1000s of pages and articles containing internal and
external links, ensuring the complete absence of broken-
links throughout the portal is a daunting challenge:
Challenges:
•How to ensure the site is entirely
broken-links-free?
•How to handle when an link
pointing to an external sites?
•How to locate existing broken-
links so they may be fixed?
Link Integrity Management (2)
broken-links
Solution: Broken Links Reporting Portlet
Leverage data stored by Reference Management (previous
slides) to quickly retrieve a list of all links within the site (all
are now indexed)
Implement a simple administration portlet which checks
links (send requests and checks for 404, etc…) and
provides a report:
• Which link failed
• Which pages contain these failed links
• Response codes returned from all links
20
Benefits
1. Ensures your site remains impervious to both internally
and externally pointing broken-links
2. Quickly detects and locates which pages and articles
contain broken links (in real-time) so they may be corrected
immediately
3. Provides comprehensive reports on the entire site’s link
integrity
4. Service can be configured to be run as a scheduled job
with configured warnings and notifications
21
Monitoring Portlet
With enterprise monitoring applications in place, operational staff are
able to quickly determine availability of resources within the integrated
architecture:
 Which databases are running
 Which back-ends are responding
 Memory usage is within tolerated thresholds
 etc…
However, there is a motivation to also make some monitoring data
quickly available to portal business users (even in some cases,
information which is not readily available to monitoring applications):
 Is connectivity to databases available from the portal?
 Is connectivity to back-ends available from the portal?
22
Monitoring Portlet
Solution:
 Create a control panel
Monitoring Portlet which invokes
back-ends from the portal to
check for resource availability
23
Benefits:
1. Assures and reports on network availability and
response times of all external resources to portal
2. Enables for rapid trouble shooting of potential
backend outages or unavailability to portal
Google Analytics
framework
Challenge:
 After migration of legacy site, we were faced
with the challenge of fully integrating legacy
mark-up with Google Analytics.
24
Requirement was to provide technically-capable
business users the ability to track clicks & events on
the site
With 1000s of pages & articles, direct editing of
article mark-up was not a viable option:
•too many existing pages to alter
•too difficult to manage in future
•too messy of a solution
Google Analytics (2)
framework
Solution:
4-tier architecture: create an additional “virtual tier” – the
Analytics Layer – which sits on top of the presentation layer
to handle injecting all analytics mark-up
Uses jQuery to alter the mark-up after the page is
rendered and “wraps” with Google Analytics code.
25
Google Analytics (3)
framework
Framework allows for injections of pre-defined Google
Analytics code snippets anywhere into mark-up (event
tracks)
Very loose coupling between Presentation Layer and
Analytics Layer
Benefits:
1. Easy for business users to define, manage, and propagate new
tracking events throughout site in one place.
2. Framework maintains a centralized, easily extendible library of
snippets, allowing for re-use without complete site mark-up re-factoring
26
Summary (1)
Migration from SharePoint
Having entered into Gartner’s magic quadrant, Liferay has
proven itself as a viable alternative product for enterprise
portals
Migration from SharePoint has reinforced this notion and
also demonstrated Liferay as a viable option for replacing
old, legacy portal solutions
Liferay offers a similar set of functionality as found in other
commercial products on the market
With an automated and repeatable SharePoint-to-Liferay
migration engine, the potential exists for further applications
to be ported to Liferay
27
Summary (2)
creating the enterprise portal
While Liferay comes packaged with a wide range of useful
out-of-the-box functionality, no product can satisfy all
business requirements:
1. Legacy Links Management: complemented the motivation of migrating
from a legacy site by providing continuity to its existing online presence
2. Reference Management: mechanism for carrier-grade usability from the
business user perspective through facilitated navigation between portal entities
3. Link Integrity Management: Critical feature for any tier-1 portal
4. Monitoring Portlet: Additional layer of monitoring and simplified trouble
shooting of portal integration to a SOA environment
5. Google Analytics Framework: Allows to track events without having to
trawl through portal code and write any extra mark up
28
Thank you for your attention
For questions about this case study please contact:
Emeldi Group
Alistair Oldfield alistair.oldfield@emeldi.com
United Kingdom:
Emeldi Ltd, UK, http://www.emeldi.com
Czech Republic:
Emeldi Software Services s.r.o., http://www.emeldi.com
Emeldi Technologies s.r.o. http://www.emeldi.cz
Slovakia
Emeldi Software Service Slovakia s.r.o. http://www.emeldi.sk
29

Weitere ähnliche Inhalte

Was ist angesagt?

Enterprise application integration
Enterprise application integrationEnterprise application integration
Enterprise application integrationGoa App
 
Implementing SOA with Portal, an IBM Impact 2010 Presentation
Implementing SOA with Portal, an IBM Impact 2010 PresentationImplementing SOA with Portal, an IBM Impact 2010 Presentation
Implementing SOA with Portal, an IBM Impact 2010 Presentationguestbc8b80
 
Benefits of using liferay
Benefits of using liferay Benefits of using liferay
Benefits of using liferay SKALI Group
 
A Quick Introduction to E-Forms
A Quick Introduction to E-FormsA Quick Introduction to E-Forms
A Quick Introduction to E-FormsRich Medina
 
Eform & Workflow Software
Eform & Workflow SoftwareEform & Workflow Software
Eform & Workflow Softwaresougatam
 
Employing Enterprise Application Integration (EAI)
Employing Enterprise Application Integration (EAI)Employing Enterprise Application Integration (EAI)
Employing Enterprise Application Integration (EAI)elliando dias
 
IBM Digital Experience Overview - ICS.UG 2016
IBM Digital Experience Overview - ICS.UG 2016IBM Digital Experience Overview - ICS.UG 2016
IBM Digital Experience Overview - ICS.UG 2016ICS User Group
 
J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014Nguyen Tung
 
06 august meetup - enterprise integration architecture
06   august meetup - enterprise integration architecture06   august meetup - enterprise integration architecture
06 august meetup - enterprise integration architectureAldo Fernandez
 
Integrating IBM Business Process Manager with a hybrid MobileFirst application
Integrating IBM Business Process Manager with a hybrid MobileFirst applicationIntegrating IBM Business Process Manager with a hybrid MobileFirst application
Integrating IBM Business Process Manager with a hybrid MobileFirst applicationGaneshNagalingam1
 
Integrating WebSphere Service Registry and Repository V8 with Process Server
Integrating WebSphere Service Registry and Repository V8 with Process ServerIntegrating WebSphere Service Registry and Repository V8 with Process Server
Integrating WebSphere Service Registry and Repository V8 with Process ServerGaneshNagalingam1
 
SharePoint Add-Ins - Brief Overview
SharePoint Add-Ins - Brief OverviewSharePoint Add-Ins - Brief Overview
SharePoint Add-Ins - Brief OverviewNous Infosystems
 
OutlookBridge-based vs Direct Exchange Integration
OutlookBridge-based vs Direct Exchange IntegrationOutlookBridge-based vs Direct Exchange Integration
OutlookBridge-based vs Direct Exchange IntegrationInvisibleCRM
 
Management in Informatica Power Center
Management in Informatica Power CenterManagement in Informatica Power Center
Management in Informatica Power CenterEdureka!
 
Pilot Study - WSO2 Enterprise Integrator v6.1.1
Pilot Study - WSO2 Enterprise Integrator v6.1.1Pilot Study - WSO2 Enterprise Integrator v6.1.1
Pilot Study - WSO2 Enterprise Integrator v6.1.1GaneshNagalingam1
 
Eform report sme
Eform report smeEform report sme
Eform report smesougatam
 

Was ist angesagt? (20)

Enterprise application integration
Enterprise application integrationEnterprise application integration
Enterprise application integration
 
Implementing SOA with Portal, an IBM Impact 2010 Presentation
Implementing SOA with Portal, an IBM Impact 2010 PresentationImplementing SOA with Portal, an IBM Impact 2010 Presentation
Implementing SOA with Portal, an IBM Impact 2010 Presentation
 
Benefits of using liferay
Benefits of using liferay Benefits of using liferay
Benefits of using liferay
 
Rational HATS and HIS v8 Overview
Rational HATS and HIS v8 OverviewRational HATS and HIS v8 Overview
Rational HATS and HIS v8 Overview
 
A Quick Introduction to E-Forms
A Quick Introduction to E-FormsA Quick Introduction to E-Forms
A Quick Introduction to E-Forms
 
Eform & Workflow Software
Eform & Workflow SoftwareEform & Workflow Software
Eform & Workflow Software
 
Employing Enterprise Application Integration (EAI)
Employing Enterprise Application Integration (EAI)Employing Enterprise Application Integration (EAI)
Employing Enterprise Application Integration (EAI)
 
EAi
EAiEAi
EAi
 
IBM Digital Experience Overview - ICS.UG 2016
IBM Digital Experience Overview - ICS.UG 2016IBM Digital Experience Overview - ICS.UG 2016
IBM Digital Experience Overview - ICS.UG 2016
 
J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014
 
06 august meetup - enterprise integration architecture
06   august meetup - enterprise integration architecture06   august meetup - enterprise integration architecture
06 august meetup - enterprise integration architecture
 
Integrating IBM Business Process Manager with a hybrid MobileFirst application
Integrating IBM Business Process Manager with a hybrid MobileFirst applicationIntegrating IBM Business Process Manager with a hybrid MobileFirst application
Integrating IBM Business Process Manager with a hybrid MobileFirst application
 
Integrating WebSphere Service Registry and Repository V8 with Process Server
Integrating WebSphere Service Registry and Repository V8 with Process ServerIntegrating WebSphere Service Registry and Repository V8 with Process Server
Integrating WebSphere Service Registry and Repository V8 with Process Server
 
Why choose-liferay
Why choose-liferayWhy choose-liferay
Why choose-liferay
 
SharePoint Add-Ins - Brief Overview
SharePoint Add-Ins - Brief OverviewSharePoint Add-Ins - Brief Overview
SharePoint Add-Ins - Brief Overview
 
OutlookBridge-based vs Direct Exchange Integration
OutlookBridge-based vs Direct Exchange IntegrationOutlookBridge-based vs Direct Exchange Integration
OutlookBridge-based vs Direct Exchange Integration
 
Management in Informatica Power Center
Management in Informatica Power CenterManagement in Informatica Power Center
Management in Informatica Power Center
 
Pilot Study - WSO2 Enterprise Integrator v6.1.1
Pilot Study - WSO2 Enterprise Integrator v6.1.1Pilot Study - WSO2 Enterprise Integrator v6.1.1
Pilot Study - WSO2 Enterprise Integrator v6.1.1
 
Eform report sme
Eform report smeEform report sme
Eform report sme
 
Api enablement-mainframe
Api enablement-mainframeApi enablement-mainframe
Api enablement-mainframe
 

Ähnlich wie Implement New Enterprise Features for Liferay Portal

Chaczko2010
Chaczko2010Chaczko2010
Chaczko2010rojabhyf
 
Planning Your Migration to SharePoint Online #SPBiz60
Planning Your Migration to SharePoint Online #SPBiz60Planning Your Migration to SharePoint Online #SPBiz60
Planning Your Migration to SharePoint Online #SPBiz60Christian Buckley
 
Raybiztech Content Management Approach
Raybiztech Content Management ApproachRaybiztech Content Management Approach
Raybiztech Content Management Approachray biztech
 
Overview of Sense/Net ECMS
Overview of Sense/Net ECMSOverview of Sense/Net ECMS
Overview of Sense/Net ECMSSense/Net Inc.
 
What Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesWhat Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesChristian Buckley
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 
SharePoint 2010 - IT Platform upgrade and Management
SharePoint 2010 - IT Platform upgrade and ManagementSharePoint 2010 - IT Platform upgrade and Management
SharePoint 2010 - IT Platform upgrade and ManagementChris McNulty
 
Smart Client Software Factory 2010
Smart Client Software Factory  2010Smart Client Software Factory  2010
Smart Client Software Factory 2010Tomy Ismail
 
SharePoint 2010 Introduction
SharePoint 2010 IntroductionSharePoint 2010 Introduction
SharePoint 2010 IntroductionVishal Gupta
 
4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.pptMatthew Perrins
 
Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design ArchitectureHarish Kumar
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteMicro Focus
 
Microsoft SharePoint in the Workplace
Microsoft SharePoint in the WorkplaceMicrosoft SharePoint in the Workplace
Microsoft SharePoint in the WorkplaceCTE Solutions Inc.
 
Website for Media Coach & Communication Speaker
Website for Media Coach & Communication SpeakerWebsite for Media Coach & Communication Speaker
Website for Media Coach & Communication SpeakerMike Taylor
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar NatarajanSathish Kumar
 
Oracle DV V4 new features overview
Oracle DV V4 new features overviewOracle DV V4 new features overview
Oracle DV V4 new features overviewPhilippe Lions
 

Ähnlich wie Implement New Enterprise Features for Liferay Portal (20)

Resume
ResumeResume
Resume
 
Chaczko2010
Chaczko2010Chaczko2010
Chaczko2010
 
Planning Your Migration to SharePoint Online #SPBiz60
Planning Your Migration to SharePoint Online #SPBiz60Planning Your Migration to SharePoint Online #SPBiz60
Planning Your Migration to SharePoint Online #SPBiz60
 
Raybiztech Content Management Approach
Raybiztech Content Management ApproachRaybiztech Content Management Approach
Raybiztech Content Management Approach
 
Overview of Sense/Net ECMS
Overview of Sense/Net ECMSOverview of Sense/Net ECMS
Overview of Sense/Net ECMS
 
What Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesWhat Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-Premises
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
SharePoint 2010 - IT Platform upgrade and Management
SharePoint 2010 - IT Platform upgrade and ManagementSharePoint 2010 - IT Platform upgrade and Management
SharePoint 2010 - IT Platform upgrade and Management
 
Smart Client Software Factory 2010
Smart Client Software Factory  2010Smart Client Software Factory  2010
Smart Client Software Factory 2010
 
Social Intranet Using Share Point Implementation
Social Intranet Using Share Point ImplementationSocial Intranet Using Share Point Implementation
Social Intranet Using Share Point Implementation
 
Sai_Resume
Sai_ResumeSai_Resume
Sai_Resume
 
SharePoint 2010 Introduction
SharePoint 2010 IntroductionSharePoint 2010 Introduction
SharePoint 2010 Introduction
 
4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt
 
Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design Architecture
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product Suite
 
Microsoft SharePoint in the Workplace
Microsoft SharePoint in the WorkplaceMicrosoft SharePoint in the Workplace
Microsoft SharePoint in the Workplace
 
Website for Media Coach & Communication Speaker
Website for Media Coach & Communication SpeakerWebsite for Media Coach & Communication Speaker
Website for Media Coach & Communication Speaker
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar Natarajan
 
REST full API Design
REST full API DesignREST full API Design
REST full API Design
 
Oracle DV V4 new features overview
Oracle DV V4 new features overviewOracle DV V4 new features overview
Oracle DV V4 new features overview
 

Mehr von Emeldi Group

2010. Saleforce.com conference. Dufek
2010. Saleforce.com conference.  Dufek 2010. Saleforce.com conference.  Dufek
2010. Saleforce.com conference. Dufek Emeldi Group
 
2008. Next Generation OSS. Bartacek and Straka
2008. Next Generation OSS. Bartacek and Straka2008. Next Generation OSS. Bartacek and Straka
2008. Next Generation OSS. Bartacek and StrakaEmeldi Group
 
2009. TMForum, Bystriansky
2009. TMForum, Bystriansky2009. TMForum, Bystriansky
2009. TMForum, BystrianskyEmeldi Group
 
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield 2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield Emeldi Group
 
2016.05 Liferay Webinar, Alistair Oildfield
2016.05 Liferay Webinar, Alistair Oildfield2016.05 Liferay Webinar, Alistair Oildfield
2016.05 Liferay Webinar, Alistair OildfieldEmeldi Group
 
2012.10 Liferay Europe Symposium, Alistair Oldfield
2012.10 Liferay Europe Symposium, Alistair Oldfield2012.10 Liferay Europe Symposium, Alistair Oldfield
2012.10 Liferay Europe Symposium, Alistair OldfieldEmeldi Group
 

Mehr von Emeldi Group (7)

2010. Saleforce.com conference. Dufek
2010. Saleforce.com conference.  Dufek 2010. Saleforce.com conference.  Dufek
2010. Saleforce.com conference. Dufek
 
2008. Next Generation OSS. Bartacek and Straka
2008. Next Generation OSS. Bartacek and Straka2008. Next Generation OSS. Bartacek and Straka
2008. Next Generation OSS. Bartacek and Straka
 
2009. TMForum, Bystriansky
2009. TMForum, Bystriansky2009. TMForum, Bystriansky
2009. TMForum, Bystriansky
 
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield 2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
 
2016.05 Liferay Webinar, Alistair Oildfield
2016.05 Liferay Webinar, Alistair Oildfield2016.05 Liferay Webinar, Alistair Oildfield
2016.05 Liferay Webinar, Alistair Oildfield
 
2012.10 Oldfield
2012.10 Oldfield2012.10 Oldfield
2012.10 Oldfield
 
2012.10 Liferay Europe Symposium, Alistair Oldfield
2012.10 Liferay Europe Symposium, Alistair Oldfield2012.10 Liferay Europe Symposium, Alistair Oldfield
2012.10 Liferay Europe Symposium, Alistair Oldfield
 

Kürzlich hochgeladen

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Kürzlich hochgeladen (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Implement New Enterprise Features for Liferay Portal

  • 1. April, 2012 1 Implementation of new Enterprise-Class Portal Features for Liferay Alistair Oldfield Project Manager Case Study: CSOB
  • 2. Agenda  The objective of this presentation is to:  Summarize the goals & challenges of adopting portal technology for use in an enterprise environment  Illustrate some of the challenges in a case study of implementation of portal platform in a bank  Project Goals  Challenges encountered on the way  Implementation of features new to Liferay - without modifying Liferay core (maintaining support from Liferay)  Summary of realized benefits & lessons learned 2
  • 4. ČSOB Group, Member of KBC Group 4 ČSOB: Established in 1964 Diversified bancassurance group offering complete product portfolio to all client segments Long-term leader in many segments, esp. financing of housing needs and mutual funds Active in the Czech Republic Member of KBC Group Slovakia ČSOB ČSOB Poisťovňa Czech Republic ČSOB ČSOB Pojišťovna Hungary K&H Bank K&H Insurance Belgium KBC Bank KBC Insurance Bulgaria CI BANK DZI Insurance
  • 5. Project Background  Business transformation to:  Transform into a customer-centric organization  Simplicity and convenience through multi channel access and cross channel distribution  Extend the service offering  Shorten time to market by introducing innovative approach to the new services implementation  Liferay was chosen as the portal standard technology  State-of-the-art in front-end layer and rich on features  Easy integration with J2EE, group development standard  Optimal fit into landscape and total cost of ownership 5
  • 6. Project Overview 1. Migration from Legacy Portal to Liferay 2. Implementation of new Enterprise Features for Liferay • Legacy Links Management • Reference Management • Link Integrity Management • Monitoring Portlet • Google Analytics Framework 6
  • 7. Migration from Existing Portal  Legacy Portal: Microsoft SharePoint  Roughly 50 web-part applications (.NET)  highly customized behaviour  Integrated to bank back-ends and other services (Google Maps, etc.)  Thousands of pages, articles & documents  Objective: The existing content must be integrated (iframe, proxy portlet) with or migrated in the new Liferay portal solution.  Decision: Completely decommission legacy portal and fully migrate (port) content and functionality into Liferay. 7
  • 8. Migration from SharePoint to Liferay approach  Migration of Content • Full export of MOSS content into XML package • Implementation of importer application using Liferay services  Migration of Functionality • Complete re-implementation of .NET webpart applications to JSR-286 compliant portlets 8
  • 9. Migration from SharePoint to Liferay Result  Fully automated SharePoint-to- Liferay Content Migrations  Repeatable across all environment pillars  Re-useable for future use in other SharePoint-driven portals 9
  • 10. New Features for Liferay Challenge  Implementation of features new to Liferay - without modifying Liferay core thus maintaining support from Liferay: 10 1. Legacy Links Management 2. Reference Management 3. Link Integrity Management 4. Monitoring Portlet 5. Google Analytics Framework
  • 11. Legacy Links Management Challenge:  Allow to specify rules for resolving legacy addresses (or patterns) to new Liferay site  Must be administrate-able in real-time by business users in control panel (not on the web server level i.e. using mod rewrite)  Must potentially apply rules to ANY incoming request to portal Solution:  Creation of Request re-direction framework  Rules may be defined as follows:  Literal strings: /products/people/mortgage.aspx -> mortgage/calculator.aspx  Pattern matched: /products/people/.*?{<args>.*) -> products/form.aspx?{args}  May be configured as:  PRE filter (before requests gets to Liferay)  POST filter (after request gets to Liferay, and Liferay cannot resolve URL) 11
  • 12. Link Redirection in Action 12 1. Before sending request to Liferay, resolve against PRE redirection rules, if a rule is applied, then redirect. 2. Otherwise: Send request to Liferay, if Liferay finds the requested page, then return contents (as normal). 3. If Liferay cannot find the URL, resolve against POST redirection rules, if a rule is applied, then redirect. 4. If no rules applied: return 404 – page not found (as normal).
  • 13. Benefits 1. Maintain Legacy link integrity (incoming links which existed years ago, can still point to a desired page) 2. Business users can define any URL(or set of URLs) to point to any page or resource in portal (SEO benefits); usually a task reserved for application server administrators. 3. Business users can “alter” URLs of pages without altering site structure 4. Business users can use patterns to define redirection rules for large sets of URLs (e.g. /people/.* -> /people.aspx) 13
  • 14. Reference Management There are many entities in a Liferay portal, however relationships and references between these entities is not always clear:  Which other articles/pages in my portal have links to a given page?  Which articles/pages hold references to a given document?  Which pages contain a given portlet? Not knowing these references poses administrative challenges to site integrity, and administrative productivity in general: When I delete a document, how do I know I haven’t created 100s of broken links throughout my portal? 14
  • 15. Reference Management To overcome these challenges, a reference management framework was developed. This framework allows for defining of any reference between any 2 entities in the Liferay data model as a 1-n listing: • For a given URL, list all articles which reference it • For a given portlet, list all pages which contain it • For a given search text, list all articles or pages which contain it • For a given portlet property, list all portlets which define it • … Framework defines the reference (how it is modeled as a query), and provides a UI for listing the references 15
  • 16. Implementation Challenges Performance Challenges:  How to query references quickly, even on non-indexed (optimized) data?  How to reference “non-structured” data (HTML, text, properties) which are not stored in relational format?  How to do this without modifying Liferay core API or services? 16 Solution: Create a separate DB schema for indexing data in a normalized format.
  • 17. Implementation Solution Each DB operation (create/update/delete) which takes place on a table which contains “referenced” data fires a trigger to copy the data change into the indexing schema Indexing schema proceeds to index the data into a well-defined relational data model using pre-defined functions (e.g.): • Portlet preferences XML-> relational (DB) format • HTML -> Stripped text throughout site / list of links throughout site • etc… 17 Performance impact not an issue; data copy is tiny (one row) and is only executed on rare operations (administration actions) into a different schema: no impact to Liferay.
  • 18. Benefits 1. Significant increase to web content administrators’ productivity when executing changes to the site 2. Ease of use; provides a full overview of how and where a change will be propagated throughout the site; info which is currently not so clear to administrators 3. Highly extensible framework which allows for many interesting features not currently available on Liferay (all without any core modifications): • Automated portal-wide link updating: automatically maintain link integrity throughout your site when moving or deleting pages/resources • Link Integrity Management (Broken Links): next slides. 18
  • 19. Link Integrity Management broken-links 19 With 1000s of pages and articles containing internal and external links, ensuring the complete absence of broken- links throughout the portal is a daunting challenge: Challenges: •How to ensure the site is entirely broken-links-free? •How to handle when an link pointing to an external sites? •How to locate existing broken- links so they may be fixed?
  • 20. Link Integrity Management (2) broken-links Solution: Broken Links Reporting Portlet Leverage data stored by Reference Management (previous slides) to quickly retrieve a list of all links within the site (all are now indexed) Implement a simple administration portlet which checks links (send requests and checks for 404, etc…) and provides a report: • Which link failed • Which pages contain these failed links • Response codes returned from all links 20
  • 21. Benefits 1. Ensures your site remains impervious to both internally and externally pointing broken-links 2. Quickly detects and locates which pages and articles contain broken links (in real-time) so they may be corrected immediately 3. Provides comprehensive reports on the entire site’s link integrity 4. Service can be configured to be run as a scheduled job with configured warnings and notifications 21
  • 22. Monitoring Portlet With enterprise monitoring applications in place, operational staff are able to quickly determine availability of resources within the integrated architecture:  Which databases are running  Which back-ends are responding  Memory usage is within tolerated thresholds  etc… However, there is a motivation to also make some monitoring data quickly available to portal business users (even in some cases, information which is not readily available to monitoring applications):  Is connectivity to databases available from the portal?  Is connectivity to back-ends available from the portal? 22
  • 23. Monitoring Portlet Solution:  Create a control panel Monitoring Portlet which invokes back-ends from the portal to check for resource availability 23 Benefits: 1. Assures and reports on network availability and response times of all external resources to portal 2. Enables for rapid trouble shooting of potential backend outages or unavailability to portal
  • 24. Google Analytics framework Challenge:  After migration of legacy site, we were faced with the challenge of fully integrating legacy mark-up with Google Analytics. 24 Requirement was to provide technically-capable business users the ability to track clicks & events on the site With 1000s of pages & articles, direct editing of article mark-up was not a viable option: •too many existing pages to alter •too difficult to manage in future •too messy of a solution
  • 25. Google Analytics (2) framework Solution: 4-tier architecture: create an additional “virtual tier” – the Analytics Layer – which sits on top of the presentation layer to handle injecting all analytics mark-up Uses jQuery to alter the mark-up after the page is rendered and “wraps” with Google Analytics code. 25
  • 26. Google Analytics (3) framework Framework allows for injections of pre-defined Google Analytics code snippets anywhere into mark-up (event tracks) Very loose coupling between Presentation Layer and Analytics Layer Benefits: 1. Easy for business users to define, manage, and propagate new tracking events throughout site in one place. 2. Framework maintains a centralized, easily extendible library of snippets, allowing for re-use without complete site mark-up re-factoring 26
  • 27. Summary (1) Migration from SharePoint Having entered into Gartner’s magic quadrant, Liferay has proven itself as a viable alternative product for enterprise portals Migration from SharePoint has reinforced this notion and also demonstrated Liferay as a viable option for replacing old, legacy portal solutions Liferay offers a similar set of functionality as found in other commercial products on the market With an automated and repeatable SharePoint-to-Liferay migration engine, the potential exists for further applications to be ported to Liferay 27
  • 28. Summary (2) creating the enterprise portal While Liferay comes packaged with a wide range of useful out-of-the-box functionality, no product can satisfy all business requirements: 1. Legacy Links Management: complemented the motivation of migrating from a legacy site by providing continuity to its existing online presence 2. Reference Management: mechanism for carrier-grade usability from the business user perspective through facilitated navigation between portal entities 3. Link Integrity Management: Critical feature for any tier-1 portal 4. Monitoring Portlet: Additional layer of monitoring and simplified trouble shooting of portal integration to a SOA environment 5. Google Analytics Framework: Allows to track events without having to trawl through portal code and write any extra mark up 28
  • 29. Thank you for your attention For questions about this case study please contact: Emeldi Group Alistair Oldfield alistair.oldfield@emeldi.com United Kingdom: Emeldi Ltd, UK, http://www.emeldi.com Czech Republic: Emeldi Software Services s.r.o., http://www.emeldi.com Emeldi Technologies s.r.o. http://www.emeldi.cz Slovakia Emeldi Software Service Slovakia s.r.o. http://www.emeldi.sk 29