conquering content-enabled web and mobile applications with spring and groovy
DESCRIPTION
Speaker: Russ Danner - Crafter Software Rich media and digital content are an integral part of nearly all Web and mobile applications today, but the growing number of platforms, changing business demands and time to market are a major concern. Join this session to learn modern practices for building content-enabled Web and mobile apps. We will uncover common challenges faced by content and application teams, explain how these problems are solved by simple, powerful tools and the right architecture. We'll also demonstrate how leading organizations such as AT&T, Marriott, and Harvard Business Publishing have succeeded by leveraging Spring Framework, Groovy and other leading Java development technologies along with content management frameworks to build and manage content rich applications.TRANSCRIPT
© 2014 SpringOne 2GX. All rights reserved. Do not distribute without permission.
Conquering Content-enabled
Web and Mobile Applications
with Spring and Groovy
By Russ Danner, Crafter Software
Crafter App CMS
Open standards
No vendor lock-in
GPL v3 license
All code on Github
Open community
Open wiki / documentation
Open issue tracking
Some Companies Building Apps with Crafter…
Agenda
• Content and Our Applications
• What are the Challenges?
• Best Practices
• A Platform and Solution
• Code an Example Live!
What are We Going to Build?
• It’s going to be a simple Game of Memory
What are We Going to Build?
• Be able to deploy new “games”/cards at any time
• Write names and scores to MongoDB
• Read sorted scores to create a leader board
How we’re going to build it
• Modern front end tools: Angular JS
• Spring and Crafter as the foundation on the server
• Groovy to create services, controllers and libraries
The Claim…
To Download: www.craftercms.org
To Download: www.craftercms.org
How Important is Content in
Our Apps?
What do we see out in the real world?
Social Apps, Photo and Video Sharing
Communication Apps: Chat and Email
Human Machine Control Interfaces
Banking and Finance
Travel
Games
Corporate Portals
Websites
Kiosks
Almost EVERY App has Content!
Usually More than One Kind of Content
Core Content
User Generated Content
Marketing Content
3rd Party Content
Today Most Apps are Multi-Channel
More Important than Every Before to Contextualize
25
For the Right Person
26
In the Right Place
27
At the Right Time
And We Face Some Challenges…
Application
Development
Challenges
Development is TOO SLOW!
Backend Scalablity is Hard!
Releases are Difficult!
Content
Challenges
Developers and Content Authors are VERY Different
Developers and Content Authors are VERY Different
Simple Architecture Mistakes Make Updating Content
a Huge Problem
Contextualization Often Stays in the Feature Backlog
So What Can We Do About It?
Solutions
Architecture
Best Practices
Best Practices
Understand the Needs
Do You Need a Native App?
Timeline Varies Greatly with Approach
[Use] Cases
Context
Content
The Right Technologies in the Right Layers
Leverage Scripting!
Raw Power Ease, Flexibility
Push Logic Down
FrameworkAll of the business logic and
intellegence
Persistence Tier
Application Tier
REST
Native Client
Client Tier
Web Client
Scalability is a Function of Architcture
Persistence
Business Logic
Presentation
Code
Content
Delivery
Authoring
Ok Great So Let’s Talk Solutions
FrameworkAll of the business logic and
intellegence
Persistence Tier
Application Tier
REST
Native Client
Client Tier
Web Client
Externalized
Content
Reference Architecture
Building for Performance
FrameworkAll of the business logic and
intellegence
Persistence Tier
Application Tier
REST
Native Client
Client Tier
Web Client
Make it Developer Friendly
All of the business logic and
intelligence
Persistence Tier
Application Tier
REST
Native Client
Client Tier
Web Client
Make it Fast to Build and Deploy
Core Logic
Persistence Tier
Application Tier
REST
Native Client
Client Tier
Web Client
Malleable Rules
Aggregate Services
Presentation Support
Document Oriented!
Scripting User Interfaces
Scripting RESTful API(s)
Creating and Delivering Content
Core Logic
Persistence Tier
Application Tier
REST
Native Client
Client Tier
Web Client
Malleable Rules
Aggregate Services
Presentation Support
Document Oriented!
Externalized
Content
Actors
CONTENT
Feature
and Content
Consumers
Developers Content
Creators
It’s Already Here
Authoring Tools
Content Authors / Managers
Delivery
Publish
Developers
Developer Tools
IDEs
Testing Frameworks
Source Control etc
Users
To Download: www.craftercms.org
Satisfy All the Actors Needs
Authoring Tools
Content Authors / Managers
Delivery
Publish
Developers
Developer Tools
IDEs
Testing Frameworks
Source Control etc
Preview
In-context Editing / WYSIWYG
Workflow
Publishing
Multi Channel
High Performance
Scalable UsersContent
DEMO
Key Points The right platform for the use case make development fast And content authoring easy and independent.
Separate the concerns. Authoring, Delivery, Code, Content.
Externalize content and scripting for quick development and deployment
Out of the box integration with rich content authoring tools
Spring, Groovy & Crafter for content oriented, multi-channel applications
Learn More. Stay Connected.
Download @ craftercms.org
Documentation @ wiki.craftercms.org
blog.craftercms.org
Additional Resources & Support @ craftersoftware.com
Twitter: twitter.com/craftercms
email: [email protected]
email: [email protected]