Upload
sebastian-napoli
View
3.989
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Embedded Content Management with Magnolia
Making Content Management a key feature of an Internet Banking Application Suite
Our Partnership with Magnolia
• Magnolia Original Equipment Manufacturer(OEM) partner in the US since 2006
• We specialize in customizing Magnolia for the financial industry worldwide. --Banking, Insurance, Brokerage etc.
•Current clients using Magnolia for internet banking through our Fidelity Information Systems Partner platform include:
• Ally Bank US (Formerly GMAC Bank)
• Ally Bank Canada
• First Citizens Bank of Trinidad
What are we doing different with Magnolia?
Building a suite of banking/financial applications or Portals that utilize Magnolia as a core Web Content Management System(WebCMS) framework and repository.
• Marketing Portal - Magnolia + Custom Modules + Custom Website
•Internet Portal - Service Framework + Magnolia API + UI Framework + FreeMarker
•Intranet Portal - Service Framework + Magnolia API + UI Framework + FreeMarker
Content Managed Web Application Solution Overview
Financial System of Record(FSOR) RSA Authentication
Partner Service Interfaces
Host Processors and Other Integrated Services
Customer Service Channel
Customer Internet Channels
PostGresqlMysQL
DB2Oracle
SQLServer
SOR & Partner API’s
Batch
AccessEdge
MQ
Web Services Channel Apps
Services API
Internet Portal (https)
APIAPI
Intranet Portal(https)
Marketing Portal (http)
Content Management System(CMS)
ProductEdge
Web ServicesAPI
Content Management System(CMS)
URL
SOR & Partner API’s
CustomerEdge
Services API
APIAPI
Content Management System(CMS)
SOR & Partner API’s
Services API
Web Services API
FIS E-Funds Authorization
FIS Bill Pay Processing
FIS Remote Capture
Call Center Telephony
FIS Item Processing
FIS Output Solutions
FIS IVR Services
IVRBrokerage,Insurance
Services Portal
SOR & Partner API’s
URL
Content Managed Web Application Architecture Overview
Financial System of Record (FSOR)
MQ Series/ActiveMQ
API
Banking SOR API(i.e. IFX, C++,etc.)NRG
JDBCSOR
JDBC
Service API Spring(IOC)
Spring Security API
Persistance - JPA
Service Layer(Native Java)
Wicket Controller Spring(IOC)
Magnolia CMS API
Wicket Authorization Roles(Security)
Use Case UI Components
IFXInterface(Servlet)
WebServicesInterface
(HTTP/SOAPREST/JSON)
API API API
OS
GI
API
AccessEdge/CustomerEdge
IFXChannel
Web ServicesChannel
FreeMarker Page Templates
Wicket Components
Overall CMS Deployment Overview
Publish
MagnoliaRepository
ProductEdge
MagnoliaRepository
AccessEdge
MagnoliaRepository
CustomerEdge
Marketing Portal Internet Portal Intranet Portal
MagnoliaRepository
AuthorCMS
Publish Publish
1 to N 1 to N 1 to N
Master
Two Key Technology Differentiators
• Using Freemarker and the Apache Wicket UI framework to create templates embedded within a web application that render pure html at runtime.
•Concept of a Content Provider API to make the web application able to access our core Magnolia repository or any external repository if necessary.
-- The Content Provider API utilizes the MgnlContext Class to access the embedded content repository.
Benefits of Freemarker
Can be added to text based files such as HTML, JavaScript
Does not need to be compiled
Can be hidden from other processing engines i.e. commented out of HTML or JavaScript code
Benefits of Apache Wicket
Overall benefit:
Wicket separates business logic from markup
What this means to us:Faster development of business logic
Sophisticated design markup can be added after the application has been developed
Easily customizable markup Skinnable per Bank and even per Bank Customer based on login
information Allows multiple “skins” to use the same business logic, no need to
change any backend Java code
Combined Wicket XHTML and FreeMarker
Below you can see the combined Wicket XHTML tags and attributes (in purple) combined with Freemarker tags (in green).
<ul wicket:id="items"><wicket:remove>
[@cms.contentNodeIterator contentNodeCollectionName="items"] [@cms.editBar /]
</wicket:remove>
<li wicket:id="value">[@cms.includeTemplate /]</li>
<wicket:remove>[/@cms.contentNodeIterator] [@cms.newBar contentNodeCollectionName="items" newLabel="New Paragraph"
paragraph="item-paragraph" /]</wicket:remove>
</ul>
Combined Wicket XHTML and FreeMarker
The <wicket:remove> tag ensures all Freemarker tags will be removed from the final markup in the wicket application.
The Wicket XHTML tags will be hidden by the browser when editing the page in Magnolia Author.
Content Provider API
Example Repository:-- Index
- Header
- Label
- Footer
- Label
Example Call to our Content Provider API
-- ContentProvider.getLabel(“index.header”)
-- ContentProvider.getLabel(“index.footer”)
Properties File if no Content Repository
index.header.label = Mylabel1
index.footer.label = Mylabel2
Next Steps
•Use OSGI to make our components hot swappable and upgradeable.
•Provide an OSGI container console.
Magnolia Author
Webapp
WicketWebapp
CustomMagnoliaModule
CombinedMarkup
MagnoliaAuthor
Dependencies
Magnolia CoreDependencies
Core Busi. LogicDep.
(Wicket, JPA, Spring)
MagnoliaContent
Provider API
CMS Framework Overview
Content Management as part of the Business Application LifeCycle
Attract
ServiceRetain
Questions?
Thank You!