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