13.05.2013 Views

¿Qué ofrece Autentia Real Business Solutions ... - Adictos al Trabajo

¿Qué ofrece Autentia Real Business Solutions ... - Adictos al Trabajo

¿Qué ofrece Autentia Real Business Solutions ... - Adictos al Trabajo

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>¿Qué</strong> <strong>ofrece</strong> <strong>Autentia</strong> <strong>Re<strong>al</strong></strong><br />

<strong>Business</strong> <strong>Solutions</strong> S.L?<br />

Somos su empresa de Soporte a Desarrollo Informático.<br />

Ese apoyo que siempre quiso tener...<br />

1. Desarrollo de componentes y<br />

proyectos a medida<br />

2. Auditoría de código y recomendaciones de mejora<br />

3. Arranque de proyectos basados en nuevas<br />

tecnologías<br />

1. Definición de frameworks corporativos.<br />

2. Transferencia de conocimiento de nuevas arquitecturas.<br />

3. Soporte <strong>al</strong> arranque de proyectos.<br />

4. Auditoría preventiva periódica de c<strong>al</strong>idad.<br />

5. Revisión previa a la certificación de proyectos.<br />

6. Extensión de capacidad de equipos de c<strong>al</strong>idad.<br />

7. Identificación de problemas en producción.<br />

Gran Empresa<br />

Tecnología<br />

Desarrollo<br />

Sistemas<br />

Piloto<br />

3a<br />

RFP Concurso<br />

Consultora 1<br />

Consultora 2<br />

Consultora 3<br />

3b<br />

Equipo propio desarrollo<br />

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B<br />

28830 San Fernando de Henares (Madrid)<br />

tel./fax: +34 91 675 33 06<br />

info@autentia.com - www.autentia.com<br />

Verificación<br />

previa<br />

Certificación<br />

o Pruebas<br />

4. Cursos de formación (impartidos por desarrolladores en activo)<br />

Spring MVC, JSF-PrimeFaces /RichFaces,<br />

HTML5, CSS3, JavaScript-jQuery<br />

Gestor port<strong>al</strong>es (Liferay)<br />

Gestor de contenidos (Alfresco)<br />

Aplicaciones híbridas<br />

Tareas programadas (Quartz)<br />

Gestor document<strong>al</strong> (Alfresco)<br />

Inversión de control (Spring)<br />

Compartimos nuestro conociemiento en:<br />

www.adictos<strong>al</strong>trabajo.com<br />

Control de autenticación y<br />

acceso (Spring Security)<br />

UDDI<br />

Web Services<br />

Rest Services<br />

Soci<strong>al</strong> SSO<br />

SSO (Cas)<br />

BPM (jBPM o Bonita)<br />

Generación de informes (JasperReport)<br />

ESB (Open ESB)<br />

Producción<br />

autentia<br />

JPA-Hibernate, MyBatis<br />

Motor de búsqueda empresari<strong>al</strong> (Solr)<br />

ETL (T<strong>al</strong>end)<br />

Dirección de Proyectos Informáticos.<br />

Metodologías ágiles<br />

Patrones de diseño<br />

TDD<br />

Para más información visítenos en:<br />

www.autentia.com


Inicio Quienes somos Tutori<strong>al</strong>es Formación Colabora Comunidad Comic Charlas<br />

Más<br />

Hosting patrocinado por


NUEVO ¿Quieres saber cuánto ganas en relación<br />

<strong>al</strong> mercado? pincha aquí...<br />

Ver cursos que <strong>ofrece</strong> <strong>Autentia</strong> Descargar comics en PDF y <strong>al</strong>ta resolución<br />

Tutori<strong>al</strong> desarrollado por<br />

Puedes encontrarme en <strong>Autentia</strong><br />

Somos expertos en Java/J2EE<br />

[¡NUEVO!] 2008-12-01 2008-11-17<br />

Carlos García<br />

Pérez<br />

Creador de MobileTest,<br />

un complemento<br />

educativo para los<br />

profesores y sus<br />

<strong>al</strong>umnos.<br />

Consultor tecnológico en<br />

el desarrollo de<br />

proyectos informáticos.<br />

Ingeniero Técnico en<br />

Informática *<br />

Catálogo de servicios de<br />

<strong>Autentia</strong><br />

Descargar (6,2 MB)<br />

Descargar en versión comic (17 MB)<br />

<strong>Adictos</strong>Al<strong>Trabajo</strong>.com es el Web de difusión de<br />

conocimiento de <strong>Autentia</strong>.<br />

Catálogo de cursos<br />

2008-09-01<br />

Estamos escribiendo un libro sobre la profesión informática y estas viñetas formarán parte de él. Puedes<br />

opinar en la seccion comic.<br />

Descargar este documento en formato PDF: oscache_api.pdf<br />

Fecha de creación del tutori<strong>al</strong>: 2009-01-02<br />

OSCache: Sistema de caché para aplicaciones<br />

Java<br />

Índice de contenido<br />

Introducción.<br />

Caso de estudio: Aplicación de escritorio.<br />

Caso de estudio: Aplicación Web.<br />

Referencias a otros sistemas de caché Open Source<br />

Conclusiones<br />

Introducción<br />

Norm<strong>al</strong>mente hay secciones y datos dentro de nuestras aplicaciones que no varían con frecuencia o cuya<br />

frecuencia está controlada y es conocida. Además, obtener esta información es costosa en tiempo o recursos<br />

informáticos.. pues bien, es obvio que si cacheamos esta información el rendimiento de nuestra aplicación y<br />

por lo tanto la satisfacción de los usuarios que la utilizan se verá incrementará.<br />

En este tutori<strong>al</strong> vamos a ver uno de los sistemas de caché más extendidos y aceptados, se trata de OScache<br />

Caso de estudio: Aplicación de escritorio<br />

A continuación, vamos a programar una sencilla aplicación de escritorio en donde aprenderemos a re<strong>al</strong>izar<br />

las tareas de cacheo, descacheo y acceso a la información cacheada. Se trata de una sencilla aplicación en<br />

donde cada operación se re<strong>al</strong>iza <strong>al</strong> hacer clic en un botón, y en donde se mostrará el tiempo que transcurre<br />

desde que se inicia la tarea hasta que fin<strong>al</strong>iza. Para ello, se simula el acceso a una fuente de datos cuyo<br />

costo en tiempo es bastante elevado, por lo que decidimos cachearlo.<br />

Catálogo de<br />

servicios<br />

<strong>Autentia</strong> (PDF<br />

6,2MB)<br />

En formato comic...<br />

Web<br />

2008-07-31<br />

www.adictos<strong>al</strong>trabajo.c<br />

Últimos tutori<strong>al</strong>es<br />

2009-01-02<br />

OSCache: Sistema de<br />

caché para aplicaciones<br />

Java<br />

2008-12-31<br />

Primeros pasos con<br />

Selenium IDE<br />

2008-12-29<br />

El componente<br />

outputChart de ICEfaces<br />

2008-12-27<br />

JMeter: Tests de<br />

rendimiento usando<br />

varios clientes<br />

distribuidos<br />

2008-12-25<br />

Análisis de rendimiento<br />

<strong>al</strong> usar un Pool de<br />

conexiones<br />

2008-12-16<br />

Utilización de grupos en<br />

Spring Security<br />

2008-12-17<br />

URLs amigables con<br />

UrlRewriteFilter<br />

2008-12-10<br />

Modelado BPMN con<br />

Bizagi Modeler<br />

2008-12-10<br />

Tramites administrativos<br />

tras el nacimiento de un<br />

hijo<br />

2008-12-09<br />

Integración de Spring


La intención de esta sencilla aplicación es que aprenda y observe lo que va sucediendo <strong>al</strong> acceder a datos<br />

cacheados, acceder a datos que no han sido cacheados, etc.<br />

Configuración de OSCache para este ejemplo<br />

OSCache se configura fácilmente a través de un archivo de configuración de nombre oscache.properties.<br />

Aunque para usarlo no hay por que tocar nada, en este tutori<strong>al</strong> vamos a cambiar el comportamiento de por<br />

defecto (cache en memoria sin límite en el número de elementos a cachear) para habilitar el cacheo en<br />

disco, de manera que si la aplicación se cierra no haya que volver a cachear los datos.<br />

Desde mi punto de vista las propiedades que he modificado son las más importantes, así que observe los<br />

comentarios para conocer su significado.<br />

con el envío de emails:<br />

técnicas avanzadas (II)<br />

Últimas ofertas<br />

de empleo<br />

2008-12-22<br />

Otras - Mecánica -<br />

SEVILLA.<br />

# Habilitamos el cache en disco<br />

cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener<br />

# Especificamos el directorio donde se cacheará la información<br />

cache.path=c:\\oscache_temp<br />

# Indicamos que queremos un límite también para los elementos cacheados en disco<br />

cache.unlimited.disk=f<strong>al</strong>se<br />

2008-11-27<br />

Comerci<strong>al</strong> - Ventas -<br />

ALICANTE.<br />

2008-10-30<br />

Comerci<strong>al</strong> - Ventas -<br />

BARCELONA.<br />

2008-10-30<br />

T. Información -<br />

An<strong>al</strong>ista / Programador -<br />

BARCELONA.<br />

2008-10-27<br />

T. Información -<br />

An<strong>al</strong>ista / Programador -<br />

CIUDAD REAL.<br />

# Como mucho serán cachear 500 objetos simultánemente<br />

cache.capacity=500<br />

Anuncios Google<br />

# Cuando se supere el límite de 500 objetos, se aplicará el <strong>al</strong>goritmo LRU (Least Recently Manu<strong>al</strong> Used) para obtener es<br />

cache.<strong>al</strong>gorithm=com.opensymphony.oscache.base.<strong>al</strong>gorithm.LRUCache<br />

Cursos Gratuitos<br />

Para más información dirigase a la documentación de configuración ofici<strong>al</strong>.<br />

Código fuente de la aplicación:<br />

La siguiente clase simula un acceso lento (2 segundos) para obtener una información que luego será<br />

cacheada.<br />

Gratis Ingles<br />

AutoCAD Gratis


01.<br />

02.<br />

03.<br />

04.<br />

05.<br />

06.<br />

07.<br />

08.<br />

09.<br />

10.<br />

11.<br />

12.<br />

13.<br />

14.<br />

15.<br />

16.<br />

17.<br />

18.<br />

19.<br />

20.<br />

21.<br />

22.<br />

23.<br />

24.<br />

25.<br />

26.<br />

27.<br />

28.<br />

29.<br />

30.<br />

31.<br />

32.<br />

33.<br />

34.<br />

view plain print ?<br />

package com.autentia.tutori<strong>al</strong>es.oscache;<br />

/**<br />

* Gestión de clientes.<br />

* Simula accesos lentos a los datos.<br />

* @author Carlos García. <strong>Autentia</strong>.<br />

* @see http://www.mobiletest.es<br />

*/<br />

public class CustomersCtrl {<br />

}<br />

private CustomersCtrl(){}<br />

/**<br />

* @return Devuelve todos los clientes<br />

*/<br />

public static java.util.ArrayList getAll(){<br />

java.util.ArrayList customers = new java.util.ArrayList();<br />

}<br />

for (int i = 0; i < 5; i++){<br />

customers.add("Cliente " + String.v<strong>al</strong>ueOf(i));<br />

}<br />

// Retrasamos la ejecución, simulando una operación costosa en tiempo<br />

try {<br />

Thread.sleep(2000);<br />

} catch (java.lang.InterruptedException ex){<br />

// No hacemos nada.<br />

}<br />

return customers;<br />

La siguiente clase representa una ventana con distintos botones cuyas tareas estarán re<strong>al</strong>icionadas con<br />

operaciones con la caché.


01.<br />

02.<br />

03.<br />

04.<br />

05.<br />

06.<br />

07.<br />

08.<br />

09.<br />

10.<br />

11.<br />

12.<br />

13.<br />

14.<br />

15.<br />

16.<br />

17.<br />

18.<br />

19.<br />

20.<br />

21.<br />

22.<br />

23.<br />

24.<br />

25.<br />

26.<br />

27.<br />

28.<br />

29.<br />

30.<br />

31.<br />

32.<br />

33.<br />

34.<br />

35.<br />

36.<br />

37.<br />

38.<br />

39.<br />

40.<br />

41.<br />

42.<br />

43.<br />

44.<br />

45.<br />

46.<br />

47.<br />

48.<br />

49.<br />

50.<br />

51.<br />

52.<br />

53.<br />

54.<br />

55.<br />

56.<br />

57.<br />

58.<br />

59.<br />

60.<br />

61.<br />

62.<br />

63.<br />

64.<br />

65.<br />

66.<br />

67.<br />

68.<br />

69.<br />

70.<br />

71.<br />

72.<br />

73.<br />

74.<br />

75.<br />

76.<br />

77.<br />

78.<br />

79.<br />

view plain print ?<br />

package com.autentia.tutori<strong>al</strong>es.oscache;<br />

import java.awt.*;<br />

import java.awt.event.ActionEvent;<br />

import java.util.ArrayList;<br />

import javax.swing.*;<br />

import com.opensymphony.oscache.gener<strong>al</strong>.Gener<strong>al</strong>cacheAdministrator;<br />

import com.opensymphony.oscache.web.filter.ExpiresRefreshPolicy;<br />

import com.opensymphony.oscache.base.NeedsRefreshException;<br />

/**<br />

* Ventana para probar el API de OScache<br />

* @author Carlos García. <strong>Autentia</strong>.<br />

* @see http://www.mobiletest.es<br />

*/<br />

public class OScacheTestFrame extends JFrame implements java.awt.event.ActionListener {<br />

private static fin<strong>al</strong> String ALL_CUSTOMER_CACHE_KEY = "CUSTOMERS";<br />

// Atributos funcion<strong>al</strong>es<br />

private Gener<strong>al</strong>CacheAdministrator cache;<br />

private ArrayList customers;<br />

// Atributos gráficos<br />

private JLabel lblTime;<br />

private JPanel contentPane;<br />

private JPanel buttons;<br />

private JButton btnAppendDataToCache;<br />

private JButton btnReadFromCache;<br />

private JButton btnDeleteCache;<br />

/**<br />

* Constructor<br />

*/<br />

public OScacheTestFrame(){<br />

super("Pruebas con OScache");<br />

}<br />

cache = new Gener<strong>al</strong>CacheAdministrator();<br />

this.createUI();<br />

/**<br />

* Crea el interfaz gráfico<br />

*/<br />

private void createUI() {<br />

try {<br />

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());<br />

} catch (Exception ex) {<br />

//No se dará<br />

}<br />

}<br />

lblTime = new JLabel();<br />

contentPane = new JPanel(new BorderLayout());<br />

buttons = new JPanel(new FlowLayout());<br />

btnAppendDataToCache = new JButton("Cachear datos");<br />

btnReadFromCache = new JButton("Leer datos");<br />

btnDeleteCache = new JButton("Borrar cache");<br />

contentPane.add(lblTime, BorderLayout.NORTH);<br />

contentPane.add(buttons, BorderLayout.SOUTH);<br />

buttons.add(btnReadFromCache);<br />

buttons.add(btnAppendDataToCache);<br />

buttons.add(btnDeleteCache);<br />

btnAppendDataToCache.addActionListener(this);<br />

btnReadFromCache.addActionListener(this);<br />

btnDeleteCache.addActionListener(this);<br />

this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);<br />

this.setSize(new Dimension(400, 200));<br />

this.setContentPane(contentPane);<br />

/* Tareas de liberación de recursos


Si observa la configuración de OSCache para esta aplicación, la caché en disco está habilitada, de manera<br />

que en la siguiente imagen se puede observar como OSCache crea y destruye los archivos en donde guarda<br />

la información cacheada:<br />

Nota: Al estar habilitada la cache en disco, si cierra la aplicación y la vuelve abrir verá que los datos<br />

sigen estando cacheados, es decir, los tiempos de lectura tienden a cero.<br />

(En este caso la cache tiene un tiempo de v<strong>al</strong>idez de 120 segundos desde que fué cacheada).<br />

Caso de estudio: Aplicación Web.<br />

OScache, además de ser un sistema de cache de propósito gener<strong>al</strong> sobre el cuál podemos cachear objetos.<br />

Incluye una librería de Tags y un filtro que proporcionan de forma sencilla la posibilidad de cachear<br />

secciones o páginas completas de JSP de nuestras aplicaciones Web.<br />

Si desea más información <strong>al</strong> respecto, le recomiendo que lea el siguiente tutori<strong>al</strong>. Ver el tutori<strong>al</strong>.<br />

Referencias a otros sistemas de caché Open Source<br />

En el siguiente enlace proporciona información sobre otros sistemas de caché Open Source:<br />

Open Source cache <strong>Solutions</strong> in Java<br />

Conclusiones<br />

Bueno como veis es bastante sencillo de integrar en nuestras aplicaciones y las mejoras de rendimiento<br />

pueden ser notables.. Eso sí, para la gente nueva en este tema, conviene profundizar más <strong>al</strong> respecto y<br />

elegir bien los puntos estratégicos a cachear.<br />

Un s<strong>al</strong>udo.<br />

Carlos García. Creador de MobileTest, un complemento educativo para los profesores y sus <strong>al</strong>umnos.<br />

<strong>¿Qué</strong> te ha parecido el tutori<strong>al</strong>? Déjanos saber tu opinión y ¡vota!<br />

Muy m<strong>al</strong>o M<strong>al</strong>o Regular Bueno Muy bueno<br />

Puedes opinar sobre este tutori<strong>al</strong> haciendo clic aquí.<br />

Puedes firmar en nuestro libro de visitas haciendo clic aquí.<br />

Puedes asociarte <strong>al</strong> grupo <strong>Adictos</strong>Al<strong>Trabajo</strong> en XING haciendo clic<br />

aquí.<br />

Añadir a favoritos Technorati.<br />

Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-No<br />

comerci<strong>al</strong>-Sin obras derivadas 2.5


Recuerda<br />

<strong>Autentia</strong> te reg<strong>al</strong>a la mayoría del conocimiento aquí compartido (Ver<br />

todos los tutori<strong>al</strong>es). Somos expertos en: J2EE, Struts, JSF, C++,<br />

OOP, UML, UP, Patrones de diseño ... y muchas otras cosas.<br />

¿Nos vas a tener en cuenta cuando necesites<br />

consultoría o formación en tu empresa?, ¿Vas a ser<br />

tan generoso con nosotros como lo tratamos de ser<br />

con vosotros?<br />

Somos pocos, somos buenos, estamos motivados y nos gusta<br />

lo que hacemos ...<br />

<strong>Autentia</strong> = Soporte a Desarrollo & Formación.<br />

info@autentia.com<br />

Servicio de notificaciones:<br />

Si deseas que te enviemos un correo electrónico cuando introduzcamos nuevos tutori<strong>al</strong>es.<br />

Formulario de subcripción a novedades:<br />

E-mail


Tutori<strong>al</strong>es recomendados<br />

Nombre Resumen Fecha Visitas V<strong>al</strong>oración pdf<br />

Pruebas Web con<br />

JWebUnit<br />

Programa de<br />

Disponibilidad de<br />

un Web<br />

Rendimiento de<br />

aplicaciones Web<br />

Profiling Java con<br />

Eclipse Test<br />

Performance Tools<br />

Platform (TPTP)<br />

Análisis de<br />

rendimiento<br />

(Profiling) de<br />

aplicaciones web<br />

con eclipse<br />

JBoss en cluster.<br />

Ejemplo de <strong>al</strong>ta<br />

disponibilidad<br />

Cachear porciones<br />

de JSPs<br />

Pruebas de<br />

Rendimiento y<br />

Funcion<strong>al</strong>es Web<br />

Persistencia Básica<br />

en Java<br />

Como acelerar una<br />

conexión VPN muy<br />

lenta<br />

Nota:<br />

Os mostramos como automatizar las<br />

pruebas de caja negra (desde el punto<br />

de vista de usuario fin<strong>al</strong>) de vuestro Web<br />

con el Framework gratuito JWebUnit.<br />

Esta técnica es perfecta para crear test<br />

de regresión de aplicaciones Web<br />

complejas.<br />

Os mostramos como construir una<br />

aplicación que os permita monitorizar el<br />

funcionamiento de vuestro sistema Web<br />

En este tutori<strong>al</strong> veremos una<br />

introducción <strong>al</strong> funcionamiento de la<br />

Suite e-Test de Empirix.<br />

En este tutori<strong>al</strong>, aprenderemos de una<br />

manera sencilla como an<strong>al</strong>izar nuestro<br />

código visu<strong>al</strong>izando sus estadísticas de<br />

ejecución con Eclipse Test Performance<br />

Tools Platform (TPTP)<br />

En este tutori<strong>al</strong> se va a explicar como<br />

an<strong>al</strong>izar el rendimiento de nuestras<br />

aplicaciones web con una herramienta<br />

propia de Eclipse, llamada Eclipse TPTP.<br />

Se pretende en este tutori<strong>al</strong> enseñar a<br />

todo aquel que esté interesado en este<br />

poderoso servidor de aplicaciones las<br />

distintas posibilidades que <strong>ofrece</strong> JBoss<br />

para manejar temas de clustering, <strong>al</strong>ta<br />

disponibilidad etc... en aplicaciones J2EE.<br />

En este tutori<strong>al</strong> os ensañamos como<br />

incrementar increiblemente el<br />

rendimiento de vuestro Web basado en<br />

tecnología JSP con el FrameWork de<br />

cache OSCACHE<br />

Jose María Toribio, nos enseña en este<br />

tutori<strong>al</strong> como podemos utilizar la<br />

aplicación gratuita JMeter para re<strong>al</strong>izar<br />

pruebas de rendimiento y funcion<strong>al</strong>es<br />

(vit<strong>al</strong>es para la regresión y reingeniería)<br />

sobre nuestras aplicaciones Web<br />

Este tutori<strong>al</strong> trata de explicar como<br />

funcione y que es la persistencia en Java<br />

mediante sencillos ejemplos prácticos de<br />

JDBC para insertar un elemento y re<strong>al</strong>izar<br />

una búsqueda simple y el uso de DAO y<br />

Hibernate como mejoras<br />

En este tutori<strong>al</strong> vamos a ver como se<br />

puede acelerar un túnel VPN para poder<br />

conectarse desde casa a la oficina de una<br />

forma segura<br />

2004-06-30 9391 - pdf<br />

2004-07-02 14842 - pdf<br />

2003-06-06 13330 - pdf<br />

2007-01-16 5368 - pdf<br />

2007-04-19 6095 - pdf<br />

2007-01-03 8810 - pdf<br />

2004-06-05 15403 - pdf<br />

2005-04-17 34808 - pdf<br />

2007-03-15 9248 - pdf<br />

2007-06-25 3632 - pdf<br />

Los tutori<strong>al</strong>es mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos y<br />

comentarios de los tutori<strong>al</strong>es son responsabilidad de sus respectivos autores. En <strong>al</strong>gún caso se puede hacer<br />

referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si <strong>al</strong>gún afectado<br />

desea que incorporemos <strong>al</strong>guna reseña específica, no tiene más que solicitarlo. Si <strong>al</strong>guien encuentra <strong>al</strong>gún<br />

problema con la información publicada en este Web, rogamos que informe <strong>al</strong> administrador<br />

rcan<strong>al</strong>es@adictos<strong>al</strong>trabajo.com para su resolución.<br />

Anuncios Google Tutori<strong>al</strong> Photoshop Visu<strong>al</strong> 6 Tutori<strong>al</strong> HTML Visu<strong>al</strong> Net Librerias AutoCAD


Copyright 2003-2008 © All Rights Reserved | Texto leg<strong>al</strong> y condiciones de uso | Banners | Powered by <strong>Autentia</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!