OpenXava: Rapid Development for Business Applications

Embed Size (px)

Citation preview

OpenXava: Rapid Development for Business ApplicationsJavier Paniza

What is OpenXava?

OpenXava is a Framework for Rapid Development of Enterprise Applications

In OpenXava you only have to write the domain classes in plain Java or Groovy to get an AJAX application ready for production

Features

Open source (LGPL)

More than 170,000 downloadsNow 1,000 downloads/week.

More than 50 code contributors

Focused in High Productivity

Short learning curve

AJAX User Interface

Exhaustive documentation in English, French, Russian, Chinese and Spanish

Based in Java standars

How OpenXava simplifies Java Enterprise

JSF, HMTL, JavaScript, GWT, etcStruts, SpringMVCPlain Java/GroovySpring, EJBDAO, JDBC, HibernateTo create a regular Java Enterprise app your team need to write:UIControllerServicesDomainDBWith OpenXava you write:

Plain Java/Groovy

UIControllerServicesDomainDBActions

Demo

DEMO

OpenXava en Gestin 400

Registro Entrada / Salida

Expedientes

Nminas

Gestin de Personal

Multas de Trfico

Padrn de Habitantes

Inventario y Patrimonio

Conciliaciones Bancarias

Autoliquidaciones

Consultas a terceros

Elecciones

Bolsa de empleo

Cementerios

Payroll

City of Lausanne (Switzerland): OpenXava applications

Health Insurance control management.

Waste centers access cards management.

Financial participations management.

City tax management.

Water quantity & quality reporting for big customers (administration interface).

Fuel tanks control management.

Land Registry managagement

Dog owners tax management

Social financial help legacy database

Social Insurances management

Society tax management

Private persons tax management

Demo from Oracle with Amazon EC2 uses OpenXava

http://www.slideshare.net/zain1425/cloud-oow-final

KnowView: Academic Collaboration Suite

http://www.knowview.com/

SicFlex: An ERP with OpenXava

Grails vs OpenXava

OpenXava follows Java standards:JSR-168/286: Portlets

JSR-303: Bean Validation

JSR-330: Dependency Injection

JSR-317: JPA 2

JSR-19: The classic EJB2 (optional)

The code is interchangeable with other Java frameworks

Grails vs OpenXava

No code generation:You have few code for all application lifecycle

You only touch the codes you write. No GSP, controllers or other generated code in your hands

Initial application is richer with OpenXava

Spring Roo vs OpenXava

No code generation:You have few code for all application lifecycle

You only touch the codes you write. No JSP, controllers or other generated code in your hands

Initial application is richer with OpenXava

How do you customize your app?

View annotations

Custom controllers

Custom editors

Custom views

Styles

View annotations

Tips for the render engine

High abstraction level

OpenXava annotations are for UI the same that JPA annotations are for DB

@View, @Tab, @DescriptionsList, @ListProperties, etc (there are 80)

Any possible case for a business application

View annotations DEMO

DEMO

Custom controllers

A controller is a group of actions

An action contains the logic to execute when a user click on a button or link

There are generic controllers for CRUD and Printing

We can refine these generic controllers

We can create our own controllers

Custom controllers DEMO

DEMO

Custom editors

Editors are the user interface elements used to view and edit the members of your entities

There are built-in editors for all the basic types, references and collections.

You can create your custom editors using JSP, HTML, JavaScript, etc.

Built-in editors

Custom editor

Custom views

Instead of using the automatically generated UI you can create your custom user interface for any entity using JSP, HTML, JavaScript, etc.

Rarely needed, but useful

An OpenXava module

Custom view(not automatic)

Styles

When deployed in a portal OpenXava portlets get the look & feel of the container portal

You can create your own style using CSS

From an iPad get the native iPad look & feel

OpenXava in Liferay 6

OpenXava in WebSphere Portal

OpenXava in an iPad

$ Business model $

We are starting now: 7 years as an open source project supported by the programmers that use it

Business models cover important needs of the current OpenXava community

First ideas: Book, Services, Add-ons

Book

Learn OpenXava developing a complete application from scratch

In English, Spanish and Chinese (soon)

Available in openxava.org/book (PDF), amazon.com (printed and kindle) and iBooks iPad store.

Professional services

Support

Training

In Spanish, English and French

Not a single company, but a network of companies around the world organized to give professional OpenXava services

openxava.org/services

Commercial add-ons

NaviOX: Security and navigation for OpenXava (beta already available)

XavaPhone: UI generator for mobile devices (beta available next week)

Idea: Creating an add-ons marketplace

openxava.org/addons

Try it

Go towww.openxava.orgDownload and try it

Q&A