SlideShare a Scribd company logo
• Java content management solutions in the 2000-2010 era tended toward heavy-weight,
hard-to-use, hard-to-develop "enterprise" systems.
• Over the last few years a new generation of content management systems (CMS) have
entered the market based on better-faster-lighter principles.
• To put it another way - what does a modern CMS built for a world of Continuous Delivery
look like?
• In this session we'll talk about requirements for a modern CMS solution, including support
for mobile, responsive design, and targeted content for specific application needs. We'll
also talk about requirements for ongoing maintenance, including operational and
development complexity.
• We'll pay particular attention to the issues and strategies for migrating off legacy enterprise
(or custom internal!) CMS systems to these modern CMS solutions.
• This will be an interactive session - bring your war stories and your aspirations!
Java CMS in
2015
Will Iverson
CTO, Dev9
• CTO, Dev9
– Previously Apple,
Symantec, SolutionsIQ
• Java since 1995
• Four Books,
Numerous Articles
• Numerous CMS Evals,
Implementations
• Custom software development firm
– Based just outside Seattle, Washington
• We build custom software solutions based on Continuous Delivery
– Processes & tools based on combination of Lean & heavy use of
automation
• Typical projects
– CMS implementation!
– Java & .NET-based web services at scale
– SQL, NoSQL
– Variety of client-side technologies
• AngularJS, Android, and iOS.
– DevOps implementations, including Docker
• CMS Fundamentals
– Types of CMS
• CMS Architecture
– Modernization & Upgrades
• Picking A CMS
– Platform
– Evaluation Process
– Contenders
• Demo[s]
• Q & A
FUNDAMENTALS
• Core Ideas
– Publishing content is a process
– Structure allows for reuse
• Next Steps
– Internationalization & Localization
– Multiplatform (Print, Online)
– eCommerce
– Collaboration
– More…!
• Vivamus sodales
• "Neque porro quisquam est qui dolorem ipsum
quia dolor sit amet, consectetur, adipisci velit..."
• Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Proin tincidunt eleifend purus, eu
maximus lacus placerat eu. Suspendisse vel
volutpat dui. Maecenas porttitor ut diam quis
ullamcorper. Curabitur suscipit libero sit amet
ipsum bibendum, id varius felis tempus. Morbi
turpis nibh, convallis pretium elementum eu,
pretium nec nulla. Quisque quis ornare ante, eu
scelerisque magna. Sed laoreet ullamcorper
nibh, vitae dapibus neque viverra ut.
• Proin Malesuada
• Maecenas Gravida
• Title: Vivamus sodales
• Intro Pull Quote: "Neque porro quisquam est
qui dolorem ipsum quia dolor sit amet,
consectetur, adipisci velit..."
• Body: Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Proin tincidunt eleifend purus, eu
maximus lacus placerat eu. Suspendisse vel
volutpat dui. Maecenas porttitor ut diam quis
ullamcorper. Curabitur suscipit libero sit amet
ipsum bibendum, id varius felis tempus. Morbi
turpis nibh, convallis pretium elementum eu,
pretium nec nulla. Quisque quis ornare ante, eu
scelerisque magna. Sed laoreet ullamcorper
nibh, vitae dapibus neque viverra ut.
• Author: Proin Malesuada
• Editor: Maecenas Gravida
1. We built a custom website
2. We have basic content publishing
technology
– Now what?
3. Differentiate!
• Repository
• Structured Editing
• Specialized CMS
• Full Collaboration
– Repository only
– Only interesting if you
want to build your own
– Examples: Apache
Jackrabbit + Apache
Sling
– ~10-20MB
– Repository + editor +
publishing
– Codename: WCM
– I think what most
people mean by CMS
– ~10-50MB
• Variety of targeted
needs
– Arguably includes
most popular blogging
suites
• “You’ll know it when
you see it”
• ~10MB-500MB+
– E.g. Wikis, Discussion
Boards, Document
Libraries, more…
– Codename: ECM
– E.g. SharePoint, Alfresco
– ~1-2+GB
HOW A CMS
WORKS
CMS Server
UI Code (JSP)
Browser
Integration Code (Java)
Repository
HTTP/HTML
CMS Server
UI Code
(JavaScript, AngularJS)
Browser
Integration
Code
(Java Microservice)Repository
Mobile
?
REST/JSON
• Build your own!
– Really easy to make a text box
render…
– Really easy to build a custom app that
duplicates existing CMS…
• Special snowflake!
– All modern CMS systems highly
customizable
– Special snowflake  Focus on dev
experience
• Save on licensing!
– Really good open source options
• The only person who loves a
custom CMS is the person who
built it.
– …And they probably quit.
• Responsive design
• Mobile apps
– Native
– Hybrid
• Personalization initiative[s]
• Custom integration is hard
– Bad edit/debug cycle, poor repository, undocumented…
• Testability
• Ability to find/retain staff
• Long term TCO
– Expensive licensing for legacy system
• Lend themselves to dual systems
• Usually easier than you would expect
– Like cleaning out your garage
• We have done many, happy to discuss!
– Careful attention to risk management
YOU HAVE TO
CHOOSE!
• Platform
• Evaluation Process
• Contenders
PLATFORM
SELECTION
• You have to pick something you can
deploy.
• No, really.
• Structured
• Refactoring
• Integration
• Well known
• Broad professional skill set
– Dev, IT know it
• SquareSpace
• Wix
• Many, many more…
• WordPress
– JSON/REST API
– http://wp-api.org/
• Drupal
– https://www.drupal.org/documentation/modules/rest
– https://www.drupal.org/project/restapi
• Joomla
• Magento
• bolt.cm
• octobercms.com
• Already Strong Microsoft Shop
• SharePoint
– REST API http://bit.ly/1zaKm7U
• SiteCore
– Sample at http://bit.ly/1DlDQKI
• Too many to count.
• New one every week.
EVALUATION
PROCESS
• Starting Point
– Existing CMS or greenfield?
• Broad Type
– Structured Editing, Specialized(?), Full Collaboration
• Specific Requirements
– Circular problem!
• Expected Customization
– Be Honest
• Test Strategy
– Automation?
• Total Cost
– Dev, Test, Deploy, Patch…
– Assume new patch every week!
CONTENDERS
• CMSMatrix
– http://www.cmsmatrix.org/
– Reviewed [at least briefly] ~240 links
• Java-Source.net
– http://java-source.net/open-source/content-managment-
systems
• Wikipedia
– http://en.wikipedia.org/wiki/List_of_content_management_
systems
– Much shorter, cleaner list
• Can a dev build with it fast?
• Can you test it easily?
• How hard is it to upgrade?
• Does it do what you need?
• How much does it cost?
• Deployment
• Configuration Management
• Development
• Edit/Compile/Debug Cycle
• Modern JS Framework support
(e.g. AngularJS, Ember)
• Native mobile support (iOS,
Android)
• JSON/REST-friendly
• WebDAV support?
• Lean & Fast
– BrightSpot CMS
• HippoCMS
• MidMarket
– Magnolia
• Enterprise/Collaboratio
n
– Alfresco
– Nuxeo
• Ones that I like
– Highly subjective
• Always need to conduct
eval for YOUR needs!
• http://dotcms.com/
– Quasi-open source
• http://www.ekinocms.com/
– But their home site is running on PHP
• http://www.jahia.com/
• http://www.liferay.com/
• http://www.opencms.org/en/
– Docker image!
– Prior successes
• http://www.infoglue.org/
• http://entermediasoftware.com/
• https://enonic.com/en/Home
• Hotels
– http://www.mediaconcepts.com/solutions/content-management-system.html
• Schools
– http://omniupdate.com/
– http://www.terminalfour.com/
• Newsroom
– http://www.atex.com/
• Governments
– http://www.revize.com/
• Globalization: i18n & l13n
– http://www.sdl.com/products/tridion/
• http://www.brightspotcms.com/
• Small, light-weight, good looking
• Describe content types via Java
– Dynamic reload FTW!
• Lean, dev friendly
• Modern design
• http://www.onehippo.org/
– https://blogs.oracle.com/geertjan/entry/hippo_
development_in_netbeans_ide
• http://www.magnolia-cms.com/
• Based on Spring, REST, WebDAV
• http://www.alfresco.com/
– http://docs.alfresco.com/5.0/tasks/alfresco-sdk-
install-quick-start.html
• Now Maven based
• In use by some big names
• Has REST API
• Pretty darn big
• http://www.nuxeo.com/
• Lots of Continuous Delivery, Agile Focus
– Massive installer
– Really an ECM package
DEMOS
Q&A

More Related Content

What's hot

WCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoWCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and Alfresco
Alfresco Software
 
Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
Reuven Lerner
 
WordPress - The Good, Bad, and Ugly
WordPress - The Good, Bad, and UglyWordPress - The Good, Bad, and Ugly
WordPress - The Good, Bad, and Ugly
Noel Saw
 
Heritage Foundation Resource Bank Presentation
Heritage Foundation Resource Bank PresentationHeritage Foundation Resource Bank Presentation
Heritage Foundation Resource Bank Presentation
Cord Blomquist
 
engage 2015 - Domino App Development - Where should I go now?
engage 2015 - Domino App Development - Where should I go now?engage 2015 - Domino App Development - Where should I go now?
engage 2015 - Domino App Development - Where should I go now?
René Winkelmeyer
 
Start Your Website for Free!
Start Your Website for Free!Start Your Website for Free!
Start Your Website for Free!
Mario Peshev
 
BP-8 Global Federation and Search
BP-8 Global Federation and SearchBP-8 Global Federation and Search
BP-8 Global Federation and Search
Alfresco Software
 
Create Your Own Starter Files
Create Your Own Starter FilesCreate Your Own Starter Files
Create Your Own Starter Files
Emily Lewis
 
Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06
jimbojsb
 
Building Your App SDK with Swift
Building Your App SDK with SwiftBuilding Your App SDK with Swift
Building Your App SDK with Swift
Jordan Yaker
 
Benefits of a Content Management System
Benefits of a Content Management SystemBenefits of a Content Management System
Benefits of a Content Management System
RezStream
 
Iconus 2016
Iconus 2016Iconus 2016
Iconus 2016
Mark Roden
 
Share Point 2010 Fight Night -Admin vs Dev
Share Point 2010 Fight Night -Admin vs DevShare Point 2010 Fight Night -Admin vs Dev
Share Point 2010 Fight Night -Admin vs Dev
Mike Watson
 
Zen and the Art of WSD Maintenance
Zen and the Art of WSD MaintenanceZen and the Art of WSD Maintenance
Zen and the Art of WSD Maintenance
Athena Hoeppner
 
The lab on your laptop: Technical growth with virtualization
The lab on your laptop: Technical growth with virtualizationThe lab on your laptop: Technical growth with virtualization
The lab on your laptop: Technical growth with virtualization
jpiwowar
 
How medium uses Neo4j
How medium uses Neo4jHow medium uses Neo4j
How medium uses Neo4j
Nathaniel Felsen
 
WordPress and Search Engine Optimisation (SEO)
WordPress and Search Engine Optimisation (SEO)WordPress and Search Engine Optimisation (SEO)
WordPress and Search Engine Optimisation (SEO)
Piers Midwinter
 
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORKAGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
Nino Crudele
 
User percieved performance
User percieved performanceUser percieved performance
User percieved performance
Mike North
 
Module 5 - WCM system comparison
Module 5 - WCM system comparison Module 5 - WCM system comparison
Module 5 - WCM system comparison
Katherine McCurdy-Lapierre, R.G.D.
 

What's hot (20)

WCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoWCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and Alfresco
 
Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
 
WordPress - The Good, Bad, and Ugly
WordPress - The Good, Bad, and UglyWordPress - The Good, Bad, and Ugly
WordPress - The Good, Bad, and Ugly
 
Heritage Foundation Resource Bank Presentation
Heritage Foundation Resource Bank PresentationHeritage Foundation Resource Bank Presentation
Heritage Foundation Resource Bank Presentation
 
engage 2015 - Domino App Development - Where should I go now?
engage 2015 - Domino App Development - Where should I go now?engage 2015 - Domino App Development - Where should I go now?
engage 2015 - Domino App Development - Where should I go now?
 
Start Your Website for Free!
Start Your Website for Free!Start Your Website for Free!
Start Your Website for Free!
 
BP-8 Global Federation and Search
BP-8 Global Federation and SearchBP-8 Global Federation and Search
BP-8 Global Federation and Search
 
Create Your Own Starter Files
Create Your Own Starter FilesCreate Your Own Starter Files
Create Your Own Starter Files
 
Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06
 
Building Your App SDK with Swift
Building Your App SDK with SwiftBuilding Your App SDK with Swift
Building Your App SDK with Swift
 
Benefits of a Content Management System
Benefits of a Content Management SystemBenefits of a Content Management System
Benefits of a Content Management System
 
Iconus 2016
Iconus 2016Iconus 2016
Iconus 2016
 
Share Point 2010 Fight Night -Admin vs Dev
Share Point 2010 Fight Night -Admin vs DevShare Point 2010 Fight Night -Admin vs Dev
Share Point 2010 Fight Night -Admin vs Dev
 
Zen and the Art of WSD Maintenance
Zen and the Art of WSD MaintenanceZen and the Art of WSD Maintenance
Zen and the Art of WSD Maintenance
 
The lab on your laptop: Technical growth with virtualization
The lab on your laptop: Technical growth with virtualizationThe lab on your laptop: Technical growth with virtualization
The lab on your laptop: Technical growth with virtualization
 
How medium uses Neo4j
How medium uses Neo4jHow medium uses Neo4j
How medium uses Neo4j
 
WordPress and Search Engine Optimisation (SEO)
WordPress and Search Engine Optimisation (SEO)WordPress and Search Engine Optimisation (SEO)
WordPress and Search Engine Optimisation (SEO)
 
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORKAGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
 
User percieved performance
User percieved performanceUser percieved performance
User percieved performance
 
Module 5 - WCM system comparison
Module 5 - WCM system comparison Module 5 - WCM system comparison
Module 5 - WCM system comparison
 

Viewers also liked

Java 8: Lambdas, Monads and Java Collections - 12.05.2015 @JInkubator
Java 8: Lambdas, Monads and Java Collections - 12.05.2015 @JInkubatorJava 8: Lambdas, Monads and Java Collections - 12.05.2015 @JInkubator
Java 8: Lambdas, Monads and Java Collections - 12.05.2015 @JInkubator
Grzegorz Piwowarek
 
2015 Java update and roadmap, JUG sevilla
2015  Java update and roadmap, JUG sevilla2015  Java update and roadmap, JUG sevilla
2015 Java update and roadmap, JUG sevilla
Trisha Gee
 
Hippo CMS Integration Patterns
Hippo CMS Integration PatternsHippo CMS Integration Patterns
Hippo CMS Integration Patterns
Jeroen Reijn
 
Eclipse Day India 2015 - Java 8 Overview
Eclipse Day India 2015 - Java 8 OverviewEclipse Day India 2015 - Java 8 Overview
Eclipse Day India 2015 - Java 8 Overview
Eclipse Day India
 
Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2
Hippo
 
Hippo CMS - A first look
Hippo CMS - A first lookHippo CMS - A first look
Hippo CMS - A first look
Piergiorgio Lucidi
 
Choosing Hippo CMS
Choosing Hippo CMSChoosing Hippo CMS
Choosing Hippo CMS
Anton Udovychenko
 

Viewers also liked (7)

Java 8: Lambdas, Monads and Java Collections - 12.05.2015 @JInkubator
Java 8: Lambdas, Monads and Java Collections - 12.05.2015 @JInkubatorJava 8: Lambdas, Monads and Java Collections - 12.05.2015 @JInkubator
Java 8: Lambdas, Monads and Java Collections - 12.05.2015 @JInkubator
 
2015 Java update and roadmap, JUG sevilla
2015  Java update and roadmap, JUG sevilla2015  Java update and roadmap, JUG sevilla
2015 Java update and roadmap, JUG sevilla
 
Hippo CMS Integration Patterns
Hippo CMS Integration PatternsHippo CMS Integration Patterns
Hippo CMS Integration Patterns
 
Eclipse Day India 2015 - Java 8 Overview
Eclipse Day India 2015 - Java 8 OverviewEclipse Day India 2015 - Java 8 Overview
Eclipse Day India 2015 - Java 8 Overview
 
Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2
 
Hippo CMS - A first look
Hippo CMS - A first lookHippo CMS - A first look
Hippo CMS - A first look
 
Choosing Hippo CMS
Choosing Hippo CMSChoosing Hippo CMS
Choosing Hippo CMS
 

Similar to Java CMS 2015

Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011
Dave Wallace
 
IWMW 2002: Portals and CMS:" Why You Need Them Both
IWMW 2002: Portals and CMS:" Why You Need Them BothIWMW 2002: Portals and CMS:" Why You Need Them Both
IWMW 2002: Portals and CMS:" Why You Need Them Both
IWMW
 
Case study
Case studyCase study
Case study
karan saini
 
USG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 DaysUSG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 Days
Eric Sembrat
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
Marc D Anderson
 
Content Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentContent Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme development
Dave Wallace
 
IWMW 2006: CMS Debate: Challenging the Consensus
IWMW 2006: CMS Debate: Challenging the ConsensusIWMW 2006: CMS Debate: Challenging the Consensus
IWMW 2006: CMS Debate: Challenging the Consensus
IWMW
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
Jeanho Chu
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
Acquia
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011
Brian Ritchie
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
ifnu bima
 
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
SARCCOM
 
Kentico CMS
Kentico CMSKentico CMS
Kentico CMS
Raavish patel
 
WCMS Evaluation Tips
WCMS Evaluation TipsWCMS Evaluation Tips
WCMS Evaluation Tips
Dave Olsen
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Jeremy Likness
 
Infrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous DeliveryInfrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous Delivery
Carlo Bonamico
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
Jeanho Chu
 
eMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the Enterprise
Scott Taylor
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Ofer Zelig
 
Workflow driven development
Workflow driven developmentWorkflow driven development
Workflow driven development
DmitryDemyankov
 

Similar to Java CMS 2015 (20)

Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011
 
IWMW 2002: Portals and CMS:" Why You Need Them Both
IWMW 2002: Portals and CMS:" Why You Need Them BothIWMW 2002: Portals and CMS:" Why You Need Them Both
IWMW 2002: Portals and CMS:" Why You Need Them Both
 
Case study
Case studyCase study
Case study
 
USG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 DaysUSG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 Days
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
Content Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentContent Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme development
 
IWMW 2006: CMS Debate: Challenging the Consensus
IWMW 2006: CMS Debate: Challenging the ConsensusIWMW 2006: CMS Debate: Challenging the Consensus
IWMW 2006: CMS Debate: Challenging the Consensus
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
 
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
 
Kentico CMS
Kentico CMSKentico CMS
Kentico CMS
 
WCMS Evaluation Tips
WCMS Evaluation TipsWCMS Evaluation Tips
WCMS Evaluation Tips
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
 
Infrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous DeliveryInfrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous Delivery
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
 
eMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the Enterprise
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
 
Workflow driven development
Workflow driven developmentWorkflow driven development
Workflow driven development
 

More from Will Iverson

SeaJUG 5 15-2018
SeaJUG 5 15-2018SeaJUG 5 15-2018
SeaJUG 5 15-2018
Will Iverson
 
QA Lab in the Cloud
QA Lab in the CloudQA Lab in the Cloud
QA Lab in the Cloud
Will Iverson
 
SeaJUG May 2012 mybatis
SeaJUG May 2012 mybatisSeaJUG May 2012 mybatis
SeaJUG May 2012 mybatis
Will Iverson
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
Will Iverson
 
Introduction to Kanban
Introduction to KanbanIntroduction to Kanban
Introduction to Kanban
Will Iverson
 
Practical maven-slides 2
Practical maven-slides 2Practical maven-slides 2
Practical maven-slides 2
Will Iverson
 
Software Internationalization Crash Course
Software Internationalization Crash CourseSoftware Internationalization Crash Course
Software Internationalization Crash Course
Will Iverson
 
Choosing a Java Web Framework
Choosing a Java Web FrameworkChoosing a Java Web Framework
Choosing a Java Web Framework
Will Iverson
 
Design For Testability
Design For TestabilityDesign For Testability
Design For Testability
Will Iverson
 
Java Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky ProblemJava Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky Problem
Will Iverson
 

More from Will Iverson (10)

SeaJUG 5 15-2018
SeaJUG 5 15-2018SeaJUG 5 15-2018
SeaJUG 5 15-2018
 
QA Lab in the Cloud
QA Lab in the CloudQA Lab in the Cloud
QA Lab in the Cloud
 
SeaJUG May 2012 mybatis
SeaJUG May 2012 mybatisSeaJUG May 2012 mybatis
SeaJUG May 2012 mybatis
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
Introduction to Kanban
Introduction to KanbanIntroduction to Kanban
Introduction to Kanban
 
Practical maven-slides 2
Practical maven-slides 2Practical maven-slides 2
Practical maven-slides 2
 
Software Internationalization Crash Course
Software Internationalization Crash CourseSoftware Internationalization Crash Course
Software Internationalization Crash Course
 
Choosing a Java Web Framework
Choosing a Java Web FrameworkChoosing a Java Web Framework
Choosing a Java Web Framework
 
Design For Testability
Design For TestabilityDesign For Testability
Design For Testability
 
Java Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky ProblemJava Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky Problem
 

Recently uploaded

“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 

Recently uploaded (20)

“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 

Java CMS 2015

  • 1. • Java content management solutions in the 2000-2010 era tended toward heavy-weight, hard-to-use, hard-to-develop "enterprise" systems. • Over the last few years a new generation of content management systems (CMS) have entered the market based on better-faster-lighter principles. • To put it another way - what does a modern CMS built for a world of Continuous Delivery look like? • In this session we'll talk about requirements for a modern CMS solution, including support for mobile, responsive design, and targeted content for specific application needs. We'll also talk about requirements for ongoing maintenance, including operational and development complexity. • We'll pay particular attention to the issues and strategies for migrating off legacy enterprise (or custom internal!) CMS systems to these modern CMS solutions. • This will be an interactive session - bring your war stories and your aspirations!
  • 2. Java CMS in 2015 Will Iverson CTO, Dev9
  • 3. • CTO, Dev9 – Previously Apple, Symantec, SolutionsIQ • Java since 1995 • Four Books, Numerous Articles • Numerous CMS Evals, Implementations
  • 4. • Custom software development firm – Based just outside Seattle, Washington • We build custom software solutions based on Continuous Delivery – Processes & tools based on combination of Lean & heavy use of automation • Typical projects – CMS implementation! – Java & .NET-based web services at scale – SQL, NoSQL – Variety of client-side technologies • AngularJS, Android, and iOS. – DevOps implementations, including Docker
  • 5. • CMS Fundamentals – Types of CMS • CMS Architecture – Modernization & Upgrades • Picking A CMS – Platform – Evaluation Process – Contenders • Demo[s] • Q & A
  • 7. • Core Ideas – Publishing content is a process – Structure allows for reuse • Next Steps – Internationalization & Localization – Multiplatform (Print, Online) – eCommerce – Collaboration – More…!
  • 8. • Vivamus sodales • "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..." • Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin tincidunt eleifend purus, eu maximus lacus placerat eu. Suspendisse vel volutpat dui. Maecenas porttitor ut diam quis ullamcorper. Curabitur suscipit libero sit amet ipsum bibendum, id varius felis tempus. Morbi turpis nibh, convallis pretium elementum eu, pretium nec nulla. Quisque quis ornare ante, eu scelerisque magna. Sed laoreet ullamcorper nibh, vitae dapibus neque viverra ut. • Proin Malesuada • Maecenas Gravida • Title: Vivamus sodales • Intro Pull Quote: "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..." • Body: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin tincidunt eleifend purus, eu maximus lacus placerat eu. Suspendisse vel volutpat dui. Maecenas porttitor ut diam quis ullamcorper. Curabitur suscipit libero sit amet ipsum bibendum, id varius felis tempus. Morbi turpis nibh, convallis pretium elementum eu, pretium nec nulla. Quisque quis ornare ante, eu scelerisque magna. Sed laoreet ullamcorper nibh, vitae dapibus neque viverra ut. • Author: Proin Malesuada • Editor: Maecenas Gravida
  • 9. 1. We built a custom website 2. We have basic content publishing technology – Now what? 3. Differentiate!
  • 10. • Repository • Structured Editing • Specialized CMS • Full Collaboration
  • 11. – Repository only – Only interesting if you want to build your own – Examples: Apache Jackrabbit + Apache Sling – ~10-20MB
  • 12. – Repository + editor + publishing – Codename: WCM – I think what most people mean by CMS – ~10-50MB
  • 13. • Variety of targeted needs – Arguably includes most popular blogging suites • “You’ll know it when you see it” • ~10MB-500MB+
  • 14. – E.g. Wikis, Discussion Boards, Document Libraries, more… – Codename: ECM – E.g. SharePoint, Alfresco – ~1-2+GB
  • 16. CMS Server UI Code (JSP) Browser Integration Code (Java) Repository HTTP/HTML
  • 17. CMS Server UI Code (JavaScript, AngularJS) Browser Integration Code (Java Microservice)Repository Mobile ? REST/JSON
  • 18. • Build your own! – Really easy to make a text box render… – Really easy to build a custom app that duplicates existing CMS… • Special snowflake! – All modern CMS systems highly customizable – Special snowflake  Focus on dev experience • Save on licensing! – Really good open source options • The only person who loves a custom CMS is the person who built it. – …And they probably quit.
  • 19. • Responsive design • Mobile apps – Native – Hybrid • Personalization initiative[s] • Custom integration is hard – Bad edit/debug cycle, poor repository, undocumented… • Testability • Ability to find/retain staff • Long term TCO – Expensive licensing for legacy system
  • 20. • Lend themselves to dual systems • Usually easier than you would expect – Like cleaning out your garage • We have done many, happy to discuss! – Careful attention to risk management
  • 22. • Platform • Evaluation Process • Contenders
  • 24. • You have to pick something you can deploy. • No, really.
  • 25. • Structured • Refactoring • Integration • Well known • Broad professional skill set – Dev, IT know it
  • 26. • SquareSpace • Wix • Many, many more…
  • 27. • WordPress – JSON/REST API – http://wp-api.org/ • Drupal – https://www.drupal.org/documentation/modules/rest – https://www.drupal.org/project/restapi • Joomla • Magento • bolt.cm • octobercms.com
  • 28. • Already Strong Microsoft Shop • SharePoint – REST API http://bit.ly/1zaKm7U • SiteCore – Sample at http://bit.ly/1DlDQKI
  • 29. • Too many to count. • New one every week.
  • 31. • Starting Point – Existing CMS or greenfield? • Broad Type – Structured Editing, Specialized(?), Full Collaboration • Specific Requirements – Circular problem! • Expected Customization – Be Honest • Test Strategy – Automation? • Total Cost – Dev, Test, Deploy, Patch… – Assume new patch every week!
  • 33. • CMSMatrix – http://www.cmsmatrix.org/ – Reviewed [at least briefly] ~240 links • Java-Source.net – http://java-source.net/open-source/content-managment- systems • Wikipedia – http://en.wikipedia.org/wiki/List_of_content_management_ systems – Much shorter, cleaner list
  • 34. • Can a dev build with it fast? • Can you test it easily? • How hard is it to upgrade? • Does it do what you need? • How much does it cost? • Deployment • Configuration Management • Development • Edit/Compile/Debug Cycle • Modern JS Framework support (e.g. AngularJS, Ember) • Native mobile support (iOS, Android) • JSON/REST-friendly • WebDAV support?
  • 35. • Lean & Fast – BrightSpot CMS • HippoCMS • MidMarket – Magnolia • Enterprise/Collaboratio n – Alfresco – Nuxeo • Ones that I like – Highly subjective • Always need to conduct eval for YOUR needs!
  • 36. • http://dotcms.com/ – Quasi-open source • http://www.ekinocms.com/ – But their home site is running on PHP • http://www.jahia.com/ • http://www.liferay.com/ • http://www.opencms.org/en/ – Docker image! – Prior successes
  • 38. • Hotels – http://www.mediaconcepts.com/solutions/content-management-system.html • Schools – http://omniupdate.com/ – http://www.terminalfour.com/ • Newsroom – http://www.atex.com/ • Governments – http://www.revize.com/ • Globalization: i18n & l13n – http://www.sdl.com/products/tridion/
  • 39. • http://www.brightspotcms.com/ • Small, light-weight, good looking • Describe content types via Java – Dynamic reload FTW!
  • 40. • Lean, dev friendly • Modern design • http://www.onehippo.org/ – https://blogs.oracle.com/geertjan/entry/hippo_ development_in_netbeans_ide
  • 42. • http://www.alfresco.com/ – http://docs.alfresco.com/5.0/tasks/alfresco-sdk- install-quick-start.html • Now Maven based • In use by some big names • Has REST API • Pretty darn big
  • 43. • http://www.nuxeo.com/ • Lots of Continuous Delivery, Agile Focus – Massive installer – Really an ECM package
  • 44. DEMOS
  • 45. Q&A

Editor's Notes

  1. You can also add additional information, like constraints, links, etc.
  2. Basic examples of different models: an ECM may support Office document editing, sync of a site to a local directory, but have no way to tell you that deleting an image will screw up another page on your site, or have any built-in concept of SEO.