XMLPortletFactory es una herramienta de código abierto que genera portlets CRUD para Liferay a partir de archivos de definición XML. El objetivo es facilitar el desarrollo de portlets CRUD y reducir costos. Actualmente la herramienta cuenta con documentación, ejemplos y soporte a la comunidad en su sitio web.
Presentación guía sencilla en Microsoft Excel.pptx
Presentación JDARE 2011
1. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Ponencia
XMLPortletFactory
Desarrollo Portlets CRUD
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
2. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Presentación
Ponente: Empresa:
Jack A. Rider Nuestro objetivo es facilitar a las empresas herramientas
útiles para la gestión de su negocio. Por ello, desarrollamos
aplicaciones como Activa ERP, que se adapta a los procesos de
CEO @ XMLPortletFactory.org cada actividad con un lenguaje de programación propio, lo que
nos permite ofrecer a nuestros clientes independencia en la
plataforma donde utilizan su aplicación y un menor coste de uso de
licencias.
TD @ Grupo Activa Impulso Tecnológico Además de soluciones para gestión empresarial,
proporcionamos servicios en internet y negocio electrónico,
http://www.linkedin.com/pub/jack-a-rider/17/999/992
ofimática y comunicación. Asimismo, en Activa Impulso
Tecnológico desarrollamos otro tipo de soluciones para empresas
como control de acceso físico, sistemas de vigilancia, entre otros.
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
3. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Introducción Resumen Ponencia
•Breve exposición de datos y términos (1-5)
•¿Que es XMLPortletFactory?
•¿Porque nace? (1,2)
•Situación Actual (1-6)
•Futuro inmediato
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
4. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Breve exposición de datos y términos
(1)
•Servidores de aplicaciones Java EE
•Contenedores de servlets.
•Portal y Portlet
•CRUD
•XML
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
5. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Breve exposición de datos y términos
(2)
•Servidores de aplicaciones Java EE
•Contenedores de servlets
En informática, se denomina servidor de aplicaciones a un servidor en una red de
computadores que ejecuta ciertas aplicaciones.
Usualmente se trata de un dispositivo de software que proporciona servicios de aplicación a las
computadoras cliente. Un servidor de aplicaciones generalmente gestiona la mayor parte (o la
totalidad) de las funciones de lógica de negocio y de acceso a los datos de la aplicación. Los
principales beneficios de la aplicación de la tecnología de servidores de aplicación son la
centralización y la disminución de la complejidad en el desarrollo de aplicaciones.
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
6. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Breve exposición de datos y términos
(3)
•Portal y Portlet
Un portal de Internet es un sitio web cuya característica fundamental es la de servir de Puerta de
entrada (única) para ofrecer al usuario, de forma fácil e integrada, el acceso a una serie de recursos y de
servicios relacionados a un mismo tema. Incluye: enlaces, buscadores, foros, documentos, aplicaciones,
compra electrónica, etc. Principalmente un portal en Internet está dirigido a resolver necesidades de
información específica de un tema en particular.
Los portlets son componentes modulares de las interfaces de usuario gestionadas y visualizadas en
un portal web. Los portlets producen fragmentos de código de marcado que se agregan en una página de
un portal. Típicamente, siguiendo la metáfora de escritorio, una página de un portal se visualiza como una
colección de ventanas de portlet que no se solapan, donde cada una de estas muestra un portlet. Por lo
tanto un portlet (o colección de portlets) se asemeja a una aplicación web que está hospedada en un
portal. Como por ejemplo, un portlet de aplicación puede ser para el correo, el parte meteorológico, un foro,
noticias, etc.
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
7. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Breve exposición de datos y términos
(4)
•CRUD
En computación CRUD es el acrónimo de Crear, Obtener, Actualizar y Borrar (del original en
inglés: Create, Read, Update and Delete). Es usado para referirse a las funciones básicas en bases de
datos o la capa de persistencia en un sistema de software.
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
8. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Breve exposición de datos y términos
(5)
•XML
XML, siglas en inglés de eXtensible Markup Language ('lenguaje de marcas extensible'), es un
metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una
simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos (de la misma
manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un
lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
9. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
¿Qué es XMLPortletFactory?
1
“Es una herramienta open source que genera CRUD
2
portlets para Liferay, desde archivos de definiciones XML”
1
Create / Read / Update / Delete rows from database table
2
Mark Polly – Portal Solutions Blog – Perficient.com
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
10. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
¿Porque nace XMLPortletFactory?
(las razones técnicas)
•Necesidades CRUD de proyectos nuevos.
•Necesidades de versiones y actualizaciones.
•Necesidad de reducir costes.
•Necesidades de aumentar la eficiencia.
•Minimizar errores.
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
11. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
¿Porque nace XMLPortletFactory?
(las razones humanas)
•Estamos hartos de repetir y repetir código sin valor.
•Adoramos el Software Libre y queremos contribuir.
•Queremos obtener valor añadido del trabajo, que de
todas formas hay que realizar.
•Reto personal, innovar, …etc.
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
12. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Situación Actual
(soporte e informacion a la comunidad)
Documentación / Ejemplos / Foro / Wiki / Descargas
http://www.XMLPortletFactory.org
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
13. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Situación Actual
(uso x la comunidad)
3 meses / 77 paises
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
14. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Situación Actual
(¿Cómo funciona?)
Plantillas
Portlet_default_xml.vm Velocity Definición XML
#set( $createPath = "/docroot/WEB- XMLPFExample01.xml
INF/src/resource-actions" )
#set ($portlet = <?xml version="1.0" encoding="UTF-8"?>
$application.getClassDef().getName()) <commonData>
#set( $createName = "/default.xml" ) <client>goodclient</client>
#set ($portletInstance =
$portlet.substring(0,1).toLowerCase() + <projectName>xmlpfexampleA</projectNa
$portlet.substring(1)) me>
<version>1</version>
<?xml version="1.0" encoding="UTF-8"?> </commonData>
<resource-action-mapping> <applications>
#foreach($table in $applications) <application>
<portlet-resource> <classDef>
<portlet-name>$table.getClassDef().getName()- <name>Users</name>
portlet</portlet-name> <title>Users Maintenance</title>
<supports> <mode>
<action-key>CONFIGURATION</action-key> default.xml <add>true</add>
<action-key>VIEW</action-key> <delete>true</delete>
<?xml version="1.0" encoding="UTF-8"?>
</supports> <modify>true</modify>
<resource-action-mapping>
<community-defaults> <browse>true</browse>
<portlet-resource>
Bla, bla, bla …. etc </mode>
<portlet-name>Users-portlet</portlet-name>
</classDef>
<supports>
<action-key>CONFIGURATION</action-key> Bla, bla, bla ….etc
<action-key>VIEW</action-key>
</supports>
<community-defaults>
Bla, bla, bla....etc
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
15. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Situación Actual
Maestro (escenarios soportados)
Maestro
Detalle/s
Maestro
Detalle/s
Detalle/s de
detalle
...etc
Validaciones
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
16. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Situación Actual
(algunas funcionalidades)
I18n – Internacionalización de los contenidos
Ordenación de columnas
Gestión de permisos de Liferay
Juan Juan
Pepe
Luis
Antonio Antonio
Filtros de búsqueda
Alberto
^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}$ Validaciones Regexp
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
17. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Situación Actual
(tipos soportados)
Hola, hello
•String
•Date
•Integer
•Datetime
•Float
Hola,
•Image
hello •Text Box
•Document
•Boolean
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
18. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
Futuro Inmediato
•Planificadas muchas mejoras, ver road map.
•Compatibilidad nuevas versiones Liferay.
•Obtener mas soporte de la comunidad
•Mejorar la web.
•¿ideas?
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com
19. VIII Jornadas para el Desarrollo
de Grandes Aplicaciones de Red
¡¡ Gracias espero no haberme hecho pesado !!
Jack A. Rider
CEO @ XMLPortletFactory.org
TD @ Grupo Activa Impulso Tecnológico
http://www.linkedin.com/pub/jack-a-rider/17/999/992
Escuela Politécnica Superior Universidad de Alicante Activa Impulso Tecnológico
www.eps.ua.es www.ua.es www.activaicon.com