Está en la página 1de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

GUA TCNICA
Desarrollo de Sistemas
de Informacin con
arquitectura JAVA en el
Gobierno de
Extremadura

Pgina 1 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

Control de versiones
Nm

Fecha

Descripcin

2.0

10/02/10

Se actualiza la plataforma JAVA.


Se realiza una revisin completa del documento EstandarJAVA.odt.

3,0

01/07/14

Revisin completa del documento.

Pgina 2 de 21

Autores
SAE SIS
SDP

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

ndice del Documento


Captulo

Pgina

1- Alcance del documento

2.- Plataforma JAVA

3.- Requisitos que deben cumplir las aplicaciones.

3.1.- Comptabilidad de navegadores y Sistemas Operativos

3.2.- Independizar a la aplicacin de un contexto

3.3.- N ejecutar cdigo que afecte al comportamiento de la mquina


virtual

3.4.- Aprovechar los recursos y liberas que ofrece Jboss

3.5.- Tratamiento de procesos pesados en el servidor

3.6.- Gestin de documentos mediante Alfresco

4.- Bases de datos

4.1.- Datasources

4.2.- Drivers JDBF

10

4.3.- Persistencia de objetos

11

5.- Gestin de la aplicacin

13

5.1.- Apache Maven 3

13

5.2.- Despliegue de aplicaciones JAVA

14

6.- Arquitectura de la aplicacin. Frameworks, utilidades y liberas

15

6.1.- Frameworks permitidos

15

6.2.- Spring Framework

17

6.3.-JSF (Java Server Faces)

17

6.4.- Apache CXF

18

6.5.- JasperReports

19

7.- Libreras disponibles en el servidor Jboss

20

7.1.- Libreras incorporadas enel servidor

20

8.- Sistema de log y auditora de la aplicacin

21

Pgina 3 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

Captulo
8.1.- Jboss LogManagger

Pgina
22

1.- Alcance del documento


La Direccin General de Administracin Electrnica y Tecnologas de la
Informacin especifica en el presente documento las caractersticas que deben
cumplir las aplicaciones realizadas en JAVA a implantar en la Junta de
Extremadura.
Se describe el entorno tecnolgico JAVA existente, a tener en cuenta a la
hora de implementar aplicaciones compatibles con dicha plataforma.
Otro objetivo es establecer los estndares, frameworks y libreras que
deben utilizarse en las aplicaciones a desarrollar, para conseguir que cumpla
con unos requisitos mnimos de calidad y estandarizacin, as como facilitar la
tarea de mantenimiento de las aplicaciones.
En principio, todas las aplicaciones web a implementar utilizando JAVA
debern respetar los estndares aqu establecidos. Pero teniendo en cuenta la
gran variedad de productos disponibles (frameworks, libreras, entornos, ...) y
las caractersticas particulares de cada aplicacin, podr utilizarse algn
componente, tecnologa o herramienta no descrita en este documento, siempre
y cuando el la Direccin General de Administracin Electrnica y Tecnologas de
la Informacin conozca este hecho y apruebe su uso.

2.- Plataforma JAVA

El entorno tecnolgico JAVA utilizado como referencia por el Gobierno de


Extremadura para el desarrollo de sistemas de informacin es el siguiente:

Java Platform, Enterprise Edition 6 (Oracle JDK 1.6)


Es una plataforma de programacin para desarrollar y ejecutar
software de aplicaciones en lenguaje de programacin Java con

Pgina 4 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

arquitectura de
niveles distribuida, basndose ampliamente en
componentes de software modulares ejecutndose sobre un servidor
de aplicaciones.
http://www.oracle.com/us/technologies/java/enterprise-edition

JBoss EAP 6
JBoss es un servidor de aplicaciones J2EE de cdigo abierto
implementado en Java. Al estar basado en Java, JBoss puede ser
utilizado en cualquier sistema operativo que lo soporte.
Los principales desarrolladores trabajan para una empresa de
servicios, JBoss Inc., adquirida por Red Hat. El proyecto est apoyado
por una red mundial de colaboradores.
JBoss implementa todo el paquete de servicios de J2EE.
http://www.jboss.org/products/eap/
Las aplicaciones tienen que ser 100% compatibles con esta

plataforma.

3.- Requisitos que deben cumplir las aplicaciones

3.1.- Compatibilidad de navegadores y sistemas operativos


A continuacin se exponen los criterios a seguir en relacin a hacer
compatibles las aplicaciones y sus entornos de ejecucion:

Las aplicaciones web deben ser compatibles con los navegadores ms

Pgina 5 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

utilizados hoy en da. Se exige como mnimo compatibilidad con los


navegadores:
Internet Explorer
Mozilla Firefox
Chrome
En todo momento hay que evitar cdigo que pueda provocar problemas
de incompatibilidad entre navegadores diferentes e incluso entre
diferentes versiones del mismo navegador.

La aplicacin debe ejecutarse correctamente en clientes Windows y


clientes Linux.

La aplicacin debe funcionar correctamente independientemente del


Sistema Operativo que corra en la mquina servidora, de forma que se
pueda migrar el software de base de la maquina servidora sin afectar al
funcionamiento del aplicativo. Por lo que se debe evitar cualquier
dependencia en el cdigo con un sistema operativo en concreto.

3.2.- Independizar a la aplicacin de un contexto

Debern cumplirse los siguientes criterios:

Las aplicaciones debern implementarse y empaquetarse de manera que


sea posible desplegar la misma aplicacin ms de una vez sobre el
mismo servidor (con diferente nombre y contexto).
Es frecuente que la misma aplicacin sea utilizada por ms de un rgano
funcinal, por lo que es necesario desplegarla en el mismo servidor con
diferente nombre.
Para conseguir esta compatibilidad, los aspectos que hay que tener en
cuenta a la hora de desarrollar la aplicacin son los siguientes:
Ser necesario poder modificar el contexto de la aplicacin. Una de las
posibilidades es cambiar el nombre del fichero .war de la aplicacin.

Pgina 6 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

En algunos servidores tambin es posible definir el contexto de la


aplicacin en ficheros de configuracin (context.xml, jbossweb.xml, ...).
Todas las referencias a URLs y/o recursos de la aplicacin deben ser
relativas o dinmicas a partir del contexto de la aplicacin.
El acceso a BD (datasource utilizado) debe ser parametrizable. As
conseguiremos definir a la BD que accede cada aplicacin.
Se deber parametrizar todo lo posible aquellos parmetros
relacionados con la configuracin de la aplicacin, y que puedan
desencadenar problemas en el momento de desplegar ms de una
aplicacin sobre el mismo servidor.

3.3.- No ejecutar cdigo que afecte al comportamiento de la


mquina virtual

No puede existir cdigo en las aplicaciones que pueda modificar o


cambiar el comportamiento de la mquina virtual de JBoss. Existen
algunas instrucciones, tales como System.setProperty(String key, String
value) System.gc() que tienen efectos sobre la maquina virtual que
ejecuta JBoss, y por lo tanto puede tener efectos secundarios sobre el
resto de aplicaciones que estn corriendo en el servidor.

3.4.- Aprovechar los recursos y libreras que ofrece el servidor


JBoss

Es requisito imprescindible que las aplicaciones aprovechen y usen las


libreras proporcionadas por el servidor JBoss.
Aparte de las libreras que incorpora por defecto JBoss, la Direccin
General de Administracin Electrnica y Tecnologas de la Informacin
incorporar un conjunto de ellas para que las aplicaciones desplegadas
tengan acceso a las mismas.
Para todo este conjuntos de libreras las aplicaciones tendrn que
adaptarse a la versin proporcionada, y en ningn caso podrn

Pgina 7 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

incorporar en el WAR libreras ya disponibles o versiones diferentes de


las mismas.

3.5.- Tratamiento de procesos pesados en el servidor

En algunas ocasiones las aplicaciones web requieren la ejecucin de


procesos que pueden llegar a consumir muchos recursos de mquina
(memoria y procesador), y cuya ejecucin se puede alargar durante un
tiempo no despreciable, como pueden ser:
procesos de calculo complejo
consultas masivas de datos
creacin de listados o informes masivos de datos
etc..

La ejecucin de estos procesos de forma interactiva suele provocar


problemas como:
la perdida de timeout de la sesin web
problemas con los sistemas de filtrado, seguridad, y/o balanceo de
carga que puedan existir en la interconexin entre el cliente y el
servidor.
penalizacin del rendimiento del servidor Java, y en consecuencia
penalizacin del rendimiento de las aplicaciones desplegadas.

Si la aplicacin requiere de la ejecucin de algn proceso con estas


caractersticas, es necesario que ofrezca al usuario una forma alternativa
de ejecucin que no ocasione los problemas anteriormente mencionados,
y lance el proceso en segundo plano, e incluso en su caso pudiese
derivarlo a otro servidor que llevara a cabo el proceso.
A su vez deber implementarse un proceso de notificacin, de forma
que cuando el proceso haya finalizado se le comunique al usuario de
alguna forma. En ese momento el usuario de la aplicacin podr acceder
o consultar los resultados de la ejecucin del proceso.

Pgina 8 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

3.6.- Gestin de documentos mediante Alfresco

Las aplicaciones que requieran de la gestin de documentos debern


trabajar con el gestor de contenidos Alfresco.

La Direccin General de Administracin Electrnica y Tecnologas de la


Informacin proporcionar la documentacin necesaria para la
interaccin con Alfresco mediante servicios web.

4.- Bases de datos

4.1.- Datasources

Todo acceso a BD se deber hacer mediante la configuracin de un datasource a BD en el


servidor JBoss (ficheros ds.xml). No se permite el acceso a bases de datos que no sea a
travs del datasource correspondiente configurado en el servidor JBoss.
El nombre del datasource (jndi-name) a su vez vendr parametrizado en la
aplicacin.
Opciones de parametrizacin:
parmetro de contexto del fichero web.xml
fichero de propiedades de la aplicacin
fichero de configuracin de la aplicacin
campo de base de datos
Ejemplo de fichero web.xml:

<context-param>

Pgina 9 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

<param-name>datasource</param-name>
<param-value>java:/jdbc/sqlserver/dbPruebas</param-value>
</context-param>

Mediante esta configuracin JBoss proporciona un pool de conexiones parametrizable y


configurable en caliente, que permite modificar los parmetros del pool y de las
conexiones a la BD sin necesidad de reiniciar el servidor o desplegar de nuevo la
aplicacin.
Debido a que esta funcionalidad ya la proporciona el servidor, las aplicaciones no debern
implementar ningn mecanismo de pool o cach de conexiones.
Siguiendo estas pautas, la actualizacin del fichero -ds.xml, donde estn definidos los pool
de conexiones, no debe ocasionar problemas en las aplicaciones.

4.2.- Drivers JDBC

Los drivers JDBC utilizados para acceder a las BD se encuentran en el


classpath del servidor (JBOSS_HOME/server/default/lib), por lo que stos
nunca se integrarn en el desplegable de la aplicacin (fichero .war de la
aplicacin).
A continuacin se indican los sistemas gestores de bases de datos
permitidos y los drivers JDBC respectivos instalados en el servidor JBoss:
Microsoft SQL Server

Microsoft sql server jdbc driver 2.0 (sqljdbc4.jar)


Driver de Microsoft que permite a las aplicaciones Java, acceder a las
bases de datos Microsoft SQL Server 2000, Microsoft SQL Server 2005
y Microsoft SQL Server 2008 a travs de JDBC (Java Database
Connectivity).
http://www.microsoft.com/downloads/

Pgina 10 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

PostgreSQL

PostgreSQL JDBC Driver (postgresql-8.4-701.jdbc4.jar)


Driver JDBC 4 de PostgreSQL.
http://jdbc.postgresql.org/

MySQL

MySQL Connector/J 5.1 (mysql-connector-java-5.1.11-bin.jar)


El MySQL Connector/J es un driver JDBC 4 y contiene todas las
caractersticas de JDBC para manejar Mysql.
http://dev.mysql.com/downloads/connector/j/

ORACLE

ORACLE JDBC driver (ojdb6.jar)


El driver JDBC 4 para ORACLE, contiene todas las caractersticas de
JDBC para manejar ORACLE.
http://www.oracle.com/technetwork/database/features/jdbc

4.3.- Persistencia de objetos

Para la persistencia de objetos en BD relacionales deber utilizarse


alguna de las siguientes dos opciones:

Hibernate (JPA)

JPA (versin 2.0)


Java Persistence API (JPA) proporciona un estndar para gestionar
datos relacionales en aplicaciones Java SE o Java EE, de forma que

Pgina 11 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

adems se simplifique el desarrollo de la persistencia de datos.


Aunque ha sido definida como parte de la especificacin EJB 3.0 (Java
EE 5), que supone una simplificacin sobre versiones anteriores, ya
no requiere de un contenedor EJB ni un servidor de aplicaciones Java
EE.
Es una API de persistencia de POJOs (Plain Old Java Object). Es decir,
objetos simples que no heredan ni implementan otras clases (como
los EJBs).
http://java.sun.com/javaee/technologies/persistence.jsp

Hibernate (versin 4.2.14)


Hibernate es una herramienta de Mapeo objeto-relacional ORM para la
plataforma Java que facilita el mapeo de atributos entre una base de
datos relacional tradicional y el modelo de objetos de una aplicacin.
Hibernate es software libre, distribuido bajo los trminos de la LGPL
(Licencia Pblica General Menor de GNU).
http://www.hibernate.org/

Hibernate est certificada mediante el Sun Technology Compatibility Kit


(TCK) como compatible con la especificacin Java Persistence API (JPA).

Preferiblemente se utilizar esta opcin, Hibernate con anotaciones


JPA, para implementar la persistencia de los objetos en bases de datos
relaciones.

Maybatis (Versin 3.2.7)

Como alternativa a Hibernate, se podr usar MyBatis. Es una


herramienta de persistencia Java que se encarga de mapear sentencias
SQL y procedimientos almacenados con objetos a partir de ficheros XML
o anotaciones.
A diferencia de las herramientas ORM, MyBatis no mapea objetos
Java a tablas de base de datos sino mtodos a sentencias SQL.
No se permitir el uso de SQL directamente. Si es necesario utilizar

Pgina 12 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

sentencias SQL se har utilizando este framework. De esta forma podr


migrarse fcilmente la BD a otro SGBD sin afectar al funcionamiento de
la aplicacin.
Preferiblemente las sentencias SQL y el mapeo de los objetos se
definir en ficheros xml en lugar de utilizar anotaciones.

5.- Gestin de la aplicacin

5.1.- Apache Maven 3

Para la gestin del proyecto Java se utilizar la herramienta Apache


Maven 3.

Apache Maven es un software para la gestin de proyectos. Es similar en


funcionalidad a Apache Ant, pero tiene un modelo de configuracin de
construccin ms simple, basado en un formato XML.
Maven utiliza un Project Object Model (POM) para describir el proyecto de
software a construir, sus dependencias de otros mdulos y componentes
externo, y el orden de construccin de los elementos.
Una caracterstica clave de Maven es que est listo para usar en red. El motor
incluido en su ncleo puede dinmicamente descargar plugins de un repositorio,
el mismo repositorio que provee acceso a muchas versiones de diferentes
proyectos Open Source en Java, de Apache y otras organizaciones y
desarrolladores.

http://maven.apache.org/

Pgina 13 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

5.2.- Despliegue de aplicaciones web JAVA

Todas las aplicaciones web JAVA debern desplegarse en el servidor


como un fichero WAR (Web ARchive).
Las libreras (ficheros .jar) que forman parte de la aplicacin deben
integrarse en el fichero .war de la aplicacin (carpeta web/WEB-INF/lib).
Ninguna librera especifica de la aplicacin se desplegar en la carpeta de
libreras
compartidas
del
Servidor
JBoss
(JBOSS_HOME/server/default/lib).

Como ya se ha indicado en este documento siempre se debern


aprovechar y utilizar las libreras y recursos que dispone el servidor
JBoss para las aplicaciones. De esta forma se optimizan los recursos en
el servidor y se reduce el tamao final del fichero .war.

El fichero de gestin del proyecto de Maven deber gestionar


correctamente esta situacin, es decir, el caso de la dependencia de la
aplicacin de ciertas libreras para la compilacin del proyecto, pero que
no son necesarias en el despliegue de la aplicacin, ya que se encuentran
en el classpath del servidor.

Cualquier incorporacin de libreras ya disponibles en JBoss en el .war de


la aplicacin deber ser justificado y aceptado por la Direccin General
de Administracin Electrnica y Tecnologas de la Informacin.

Pgina 14 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

6.- Arquitectura de la aplicacin. Frameworks, utilidades y


libreras

6.1.- Frameworks permitidos

CAPA DE
NEGOCIO

Struts2
Spring MVC

JSF

EJB

Spring

CAPA DE
NEGOCIO

CAPA DE
PRESENTACI
N

En la eleccin de los frameworks partimos del marco de trabajo que


ofrece Spring y para cada capa definimos distintas alternativas que siempre se
deben utilizar integradas con el mismo.
En este contexto los frameworks de soporte a la arquitectura que sern
vlidos son los siguientes:

MyBatis

Pgina 15 de 21

POJO

Hibernate

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

Respecto a ello, se hacen las siguientes consideraciones:

Capa de presentacin: para esta capa son vlidos los frameworks Struts2
y Spring MVC as como las implementaciones de JSF Mojarra y MyFaces.
En cuanto a las extensiones de JSF son vlidas cualquiera de las
existentes (IceFaces, RichFaces, ).

Capa de negocio: preferentemente se utilizarn POJOs. Los EJBs estarn


permitidos nicamente cuando que exista un condicionante (rendimiento,
memoria, ) que as lo aconseje. En este caso se debe justificar su uso.

Capa de acceso a datos: preferentemente se utilizar las implementacin


de JPA Hibernate. Tambin se puede utilizar MyBatis si la complejidad de
la base de datos a utilizar as lo aconseja. En cualquier caso no se
permitir el acceso directos a bases de datos (JDBC), siempre se
realizar dicho acceso a travs de uno de estos frameworks.

La eleccin de una alternativa en cualquiera de las capas no condiciona la


eleccin en cualquiera de las otras capas, de forma que sern consideradas
vlidas las arquitecturas constituidas por cualquiera de las combinaciones
posibles.
Si se cree conveniente utilizar un framework que no se encuentre entre
los propuestos su uso queda supeditado a la autorizacin previa del mismo por
parte de la direccin del proyecto.
Para cualquier framework que se necesite fuera de las capas aqu
sealadas siempre se preferir la alternativa ofrecida por Spring (SpringWS
para los servicios web, Spring Security para la gestin de la seguridad, ). En
caso de que no exista una alternativa dentro de Spring se preferirn los
frameworks ms utilizados para esa tarea en concreto (Quartz para tareas,...).
En cualquier caso la inclusin de cualquier de estos frameworks se consultar
previamente con la direccin del proyecto.
A efectos de facilitar y coordinar las implantaciones de aplicativos en los
Sistemas de la Junta de Extremadura, se proporcionar una plataforma basada
en los servidores Tomcat o Jboss con las libreras ya instaladas en los mismos.
Esto supone que las aplicaciones a implantar no debern incluir ninguna
librera ni componente de los que ya provea la administracin, salvo motivos
debidamente justificados.

Pgina 16 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

6.2.- Spring Framework (versin 3.2.9)


Spring es un framework para aplicaciones Java que proporciona
facilidad de crear componentes reutilizables, adaptndose fcilmente con otros
frameworks como Hibernate, JSF, Apache CXF, etc.
El principio en el que se basa este framework es Dependency
Injection.
Se integrar en el servidor JBoss las libreras (ficheros .jar) que forman
el ncleo de este framework.
(ttp://www.springframework.org/ )

6.3.- JSF (Java Server Faces) (versin 1.2)

La tecnologa JavaServer Faces (JSF) es un marco de trabajo para


interfaces de usuario para aplicaciones J2EE. Por diseo, es
particularmente til con aplicaciones basadas en la arquitectura MVC.
JBoss incorpora la implementacin (Proyect Mojarra) de la
especificacin JSF 1.2. , por lo que no es necesario aadir la
implementacin de JSF directamente en el WAR.
http://java.sun.com/javaee/javaserverfaces/
http://community.jboss.org/wiki/JBossWithJSFCDDL

6.3.1.- RichFaces (versin 3.3.3)

Se propone RichFaces como librera de componentes visuales JSF.


RichFaces es una librera de componentes visuales para JSF, que adems
posee un framework avanzado para la integracin de funcionalidades
Ajax en dichos componentes visuales, mediante el soporte de la librera
Ajax4JSF.

Pgina 17 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

El uso de otra librera JSF deber ser aceptada por la Direccin General
de Administracin Electrnica y Tecnologas de la Informacin.
http://www.jboss.org/richfaces

6.4.- Apache CXF (Versin 2.6)

Apache CXF es un framework de servicios de Software Libre. CXF nos


ayuda a construir y desarrollar servicios usando JAXWS y JAXRS como API de
programacin. Estos servicios pueden comunicarse a travs de una gran
variedad de protocolos como como SOAP, XML/HTTP, HTTP RESTful, o CORBA,
y puede trabajar sobre transportes como HTTP, JMS o JBI.
Las caractersticas principales de CXF son:

Soporte para estndares de Servicios Web: CXF soporta varios


estndares de servicios web incluyendo a SOAP, el Perfil Bsico, WSDL,
WS-Addressing, WS-Policy, WS-ReliableMessaging y WS-Security.

Interfaces: CXF soporta varios modelos de programacin como


"interfaz". CXF implementa el API JAX-WS. Tambin incluye una "interfaz
simple" que permite crear clientes y endpoints sin utilizar anotaciones.
CXF soporta el desarrollo por contrato primero con WSDL, y el
desarrollo por cdigo primero comenzando desde Java.

Facilidad de uso: CXF est diseado para ser intuitivo y fcil de usar. Hay
APIs simples para construir servicios comenzando por el cdigo, plugins
de Maven para integrar esta herramienta, soporte para el API JAX-WS,
soporte de XML de Spring para facilitar la configuracin, etc.

Soporte para protocolos binarios y legacy: CXF fue diseado para


proveer una arquitectura extensible que no slo soporte XML sino
tambin otros binding no XML, como JSON y CORBA, en combinacin con
cualquier tipo de transporte.

Un punto muy importante a tener en cuenta de Apache CXF es su


facilidad para la integracin con Spring.

Pgina 18 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

http://cxf.apache.org/

6.5.- JasperReport

JasperReports es una herramienta de cdigo libre en Java para generar


reportes. Puede generar presentaciones o diseos en la pantalla, para la
impresora o para archivos en formato PDF, HTML, RTF, XLS, CSV y XML.
Est escrita en Java y se puede utilizar en una gran variedad de
aplicaciones Java, incluyendo J2EE o aplicaciones Web.

http://www.jasperforge.org/

Es recomendable utilizar la herramienta iReport que es un editor grfico


que est implementado en java y se integra perfectamente con el
JasperReport.

http://jasperforge.org/plugins/project/project_home.php?
projectname=ireport

Otra ventaja de utilizar JasperReport es que se integra perfectamente


con el JfreeChart que es una librera libre para la generacin de todo
tipo de grficos.

http://www.jfree.org/jfreechart/

Pgina 19 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

7.- Libreras disponibles en el servidor JBoss

Las aplicaciones debern usar cuando as lo requieran las libreras que


por defecto ofrece JBoss, as como las libreras que se han aadido
posteriormente al servidor para que estn disponibles para todas las
aplicaciones.
Las aplicaciones no debern incorporar en su WAR las libreras (o una
versin diferente de las mismas) que se encuentran en la instalacin de JBoss
y las que se han aadido por la Direccin General de Administracin
Electrnica y Tecnologas de la Informacin.

7.1- Libreras incorporadas al servidor

El siguiente conjunto de libreras o frameworks se han aadido al


servidor (JBOSS_HOME/server/default/lib/) para que estn disponibles para
todas las aplicaciones desplegadas. Las aplicaciones debern adaptarse a la
versin especificada.

JDBC drivers

Spring 3.2.9

Pgina 20 de 21

GUA TCNICA

GOBIERNO DE EXTREMADURA
Direccin General de
Administracin Electrnica y Tecnologas de la Informacin

Desarrollo de Sistemas de
Informacin con arquitectura JAVA

8.- Sistema de log y auditora de la aplicacin

8.1- Jboss LogManagger

Para el sistema de log de la aplicacin se utilizar la viene incluida con


Jboss y que est activada por defecto.

Este sistema es completamente configurable en tiempo de ejecucin


utilizando archivos externos de configuracin.
https://docs.jboss.org/author/display/AS71/Logging+Configuration

En el cdigo se utilizar la clase org.jboss.logging.Logger.


Las aplicaciones no tienen la necesidad de incorporar en los ficheros .war la
librera,
ya
que
sta
se
encuentra
en
JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager.

Pgina 21 de 21

También podría gustarte