Upload
jack-a-rider
View
546
Download
2
Embed Size (px)
Citation preview
Ponencia
XMLPortletFactory
Desarrollo Portlets CRUD
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
Presentación
Ponente:
Jack A. Rider
CEO @ XMLPortletFactory.org
TD @ Grupo Activa Impulso Tecnológico
http://www.linkedin.com/pub/jack-a-rider/17/999/992
Empresa:
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 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.
Además de soluciones para gestión empresarial, proporcionamos servicios en internet y negocio electrónico, 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.
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
•Breve exposición de datos y términos (1-5)•¿Que es XMLPortletFactory?•¿Porque nace? (1,2)•Situación Actual (1-6)•Futuro inmediato
Introducción Resumen Ponencia
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
•Servidores de aplicaciones Java EE •Contenedores de servlets.•Portal y Portlet•CRUD
•XML
Breve exposición de datos y términos(1)
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
•Servidores de aplicaciones Java EE •Contenedores de servlets
Breve exposición de datos y términos(2)
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.
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
•Portal y Portlet
Breve exposición de datos y términos(3)
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.
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
•CRUD
Breve exposición de datos y términos(4)
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.
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
•XML
Breve exposición de datos y términos(5)
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
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
¿Qué es XMLPortletFactory?
“Es una herramienta open source que genera CRUD1
portlets para Liferay, desde archivos de definiciones XML” 2
1 Create / Read / Update / Delete rows from database table
2 Mark Polly – Portal Solutions Blog – Perficient.com
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
•Necesidades CRUD de proyectos nuevos.•Necesidades de versiones y actualizaciones.•Necesidad de reducir costes.•Necesidades de aumentar la eficiencia.•Minimizar errores.
¿Porque nace XMLPortletFactory?(las razones técnicas)
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
•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.
¿Porque nace XMLPortletFactory?(las razones humanas)
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
Situación Actual(soporte e informacion a la comunidad)
Documentación / Ejemplos / Foro / Wiki / Descargas
http://www.XMLPortletFactory.org
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
3 meses / 77 paises
Situación Actual(uso x la comunidad)
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
Situación Actual(¿Cómo funciona?)
Plantillas Velocity Definición XMLPortlet_default_xml.vm
#set( $createPath = "/docroot/WEB-INF/src/resource-actions" )#set ($portlet = $application.getClassDef().getName())#set( $createName = "/default.xml" )#set ($portletInstance = $portlet.substring(0,1).toLowerCase() + $portlet.substring(1))
<?xml version="1.0" encoding="UTF-8"?><resource-action-mapping>#foreach($table in $applications)<portlet-resource><portlet-name>$table.getClassDef().getName()-portlet</portlet-name><supports><action-key>CONFIGURATION</action-key><action-key>VIEW</action-key></supports><community-defaults>Bla, bla, bla …. etc
XMLPFExample01.xml<?xml version="1.0" encoding="UTF-8"?><commonData> <client>goodclient</client> <projectName>xmlpfexampleA</projectName> <version>1</version></commonData><applications> <application> <classDef> <name>Users</name> <title>Users Maintenance</title> <mode> <add>true</add> <delete>true</delete> <modify>true</modify> <browse>true</browse> </mode> </classDef>
Bla, bla, bla ….etc
default.xml<?xml version="1.0" encoding="UTF-8"?><resource-action-mapping> <portlet-resource> <portlet-name>Users-portlet</portlet-name> <supports> <action-key>CONFIGURATION</action-key> <action-key>VIEW</action-key> </supports> <community-defaults>Bla, bla, bla....etc
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
Situación Actual(escenarios soportados)Maestro
Maestro
Detalle/s
Maestro
Detalle/s
Detalle/s de detalle
...etc
Validaciones
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
Situación Actual(algunas funcionalidades)
I18n – Internacionalización de los contenidos
Ordenación de columnas
Gestión de permisos de Liferay
Filtros de búsqueda
Validaciones Regexp^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$
JuanPepeLuis
AntonioAlberto
Juan
Antonio
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
Situación Actual(tipos soportados)
•Date
•Datetime
•Image
•Document
Hola, hello
Hola,
hello
•String
•Integer
•Float
•Text Box
•Boolean
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
Futuro Inmediato
•Planificadas muchas mejoras, ver road map.•Compatibilidad nuevas versiones Liferay.•Obtener mas soporte de la comunidad•Mejorar la web.•¿ideas?
de Grandes Aplicaciones de Red
VIII Jornadas para el Desarrollo
Escuela Politécnica Superiorwww.eps.ua.es
Universidad de Alicantewww.ua.es
Activa Impulso Tecnológicowww.activaicon.com
¡¡ 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