conquering content-enabled web and mobile applications with spring and groovy

Post on 14-Jun-2015

295 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

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: info@craftersoftware.com

email: russ.danner@craftersoftware.com

top related