tel./fax: +34 91 675 33 06 [email protected] - www ... · JTAPI. Telefonía sobre Java 2009-04-13...
Transcript of tel./fax: +34 91 675 33 06 [email protected] - www ... · JTAPI. Telefonía sobre Java 2009-04-13...
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)
tel./fax: +34 91 675 33 [email protected] - www.autentia.com
Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...
1. Desarrollo de componentes y proyectos a medida
TecnologíaDesarrolloSistemas
Gran Empresa
Producción
autentia
Certificacióno Pruebas
Verificación previa
RFP Concurso
Consultora 1
Consultora 2
Consultora 3
Equipo propio desarrolloPiloto
3a
3b
1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.
3. Arranque de proyectos basados en nuevas tecnologías
¿Qué ofrece Autentia Real Business Solutions S.L?
Para más información visítenos en: www.autentia.com
Compartimos nuestro conociemiento en: www.adictosaltrabajo.com
Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas
Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)
BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)
Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)
Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery
JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)
Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD
2. Auditoría de código y recomendaciones de mejora
4. Cursos de formación (impartidos por desarrolladores en activo)
Inicio Quienes somos Tutoriales Formación Comparador de salarios Comic Charlas
Más
Hosting patrocinado por
Catálogo deservicios
Autentia (PDF6,2MB)
En formato comic...
Web
www.adictosaltrabajo.com
Últimos tutoriales
2009-04-13JTAPI. Telefonía sobreJava
2009-04-13Registro de WebServices con ApachejUDDI. Configuración yejemplo
2009-04-13Cómo hacer UML conEclipse y el plugin UML2
2009-04-09Spring WS: ServiciosWeb a través del correoelectrónico
2009-04-02Creación de cursos conMoodle
2009-03-31Integrar Liferay Portal5.2.1 con Pentaho BI2.0.0 sobre MySQL 5.1
2009-03-31Spring WS:Construcción de Clientesde Servicios Web conSpring
2009-03-30Administración de sitiosMoodle
2009-03-29Empaquetamiento deaplicaciones deescritorio (standalone)con Maven
Tutorial desarrollado por
Carlos GarcíaPérez
Creador de MobileTest,un complementoeducativo para losprofesores y susalumnos.
Consultor tecnológico enel desarrollo deproyectos informáticos.
Ingeniero Técnico enInformática *
Puedes encontrarme en Autentia
Somos expertos en Java/J2EE
Catálogo de servicios deAutentia
Descargar (6,2 MB)
Descargar en versión comic (17 MB)
AdictosAlTrabajo.com es el Web de difusión deconocimiento de Autentia.
Catálogo de cursos
Ultimas Noticias » Autentia en JavaHispano » Accesibilidad en entornos Web » Liberada TNTConcept 0.16.1 » Cuarta charla Autentia + Agile Spain:Introducción a Scrum » Historia de la Informática. Capítulo 40- 1953 » ¡Adictos Renovado! » Una historia de guerra Ágil: SCRUM YXP DESDE LAS TRINCHERAS, Cómohacemos Scrum » Comentarios sobre Wikinomics de DonTapscott » Gestión de Repositorios Maven » Valoración de tutoriales » Empezamos nueva aventura: Un libro...
+Noticias Destacadas » Autentia en JavaHispano » Accesibilidad en entornos Web » Liberada TNTConcept 0.16.1 » Cuarta charla Autentia + Agile Spain:Introducción a Scrum » Nueva sección de libros y El modeloGoogle ... » Comparador de sueldos en la profesiónInformática » Empezamos nueva aventura: Un libro... » Si se pregunta ¿Qué ofrece este Web? » Grupo XING » +7,5 Millones de visualizaciones denuestros Tutoriales
+Comentarios Cómic
+Enlaces
Descargar este documento en formato PDF: jtapi.pdf
Fecha de creación del tutorial: 2009-04-13
JTAPI. Telefonía sobre JavaEn mi vida profesional estuve varios años trabajando en el departamento de investigación y desarrollo deuna empresa de telefonía. En este tutorial, voy a brindar al lector con conocimientos básicos de JTAPI unaserie de ejemplos que le orienten y sirvan de base para realizar sus pruebas en su plataforma telefónica.
Este tutorial no es teórico, en caso de querer aprender acerca de este tema, recomiendo que se lea laespecificación pues es bastante clara y fácil de comprender.
Introducción
En el mundillo Java, JTAPI es a la telefonía lo que JDBC es a las bases de datos.
Al igual que JDBC, JTAPI es una especificación (no una implementación) definida por Sun para eldesarrollo de aplicaciones CTI en el lenguaje de programación Java.
¿Para que sirve JTAPI?
Su principal uso se da en aquellos entornos donde se requiere una programación de sistemas telefónicos.Por ejemplo, en los centros de llamadas a través de los cuales las empresas realizan tareas de atención alcliente, telemarketing, etc.
¿Qué puedo hacer con JTAPI?
Entre otras muchas cosas podrá hacer las siguientes tareas:
Realizar llamadas.1.Contestar llamadas.2.Capturar llamadas que están sonando en un determinado terminal.3.Realizar conferencias.4.
2009-03-27Primeros pasos conMoodle
2009-03-26Introducción a JSF Java
2009-03-25A1 Website Analyzer
2009-03-24Cómo ver el correo deGmail sin conexión aInternet
2009-03-20JasperReports MavenPlugin
2009-03-16Creación de contenidosSCORM: eXe
2009-03-15Spring WS: Creación deServicios Web conSpring
2009-03-13Instalación Alfresco(Labs)
2009-02-26Maven JXR Plugin:publica el código fuenteen el site
2009-03-15Generación de XMLSchema (XSD) y DTD apartir de documentosXML
2009-03-04Persistencia con Spring
2009-02-26Vistas materializadas
2009-02-03Instalación de MySQL5.1 en Windows
2009-03-03Instalación de JavaVirtual Machine
2009-03-03Primeros Pasos conLiferay 5.2.1
2009-02-27Edicion de video MPEG2
Realizar transferencias tanto directas como indirectas.5.Realizar llamadas predictivas.6.Retener llamadas.7.Redireccionar llamadas.8.Recuperar llamadas retenidas.9.Obtener información de las llamadas en curso.10.Asociar datos a llamadas.11.Gestionar grupos de teleoperadores (agentes).12.Logar/deslogar a agentes en grupos.13.Gestionar las rutas por las que pasará la llamada.14.Gestionar la pantalla y el teclado de los dispositivos telefónicos.15.
Estructuración de JTAPI
JTAPI está estructurado en los siguientes paquetes:
Core1.CallControl2.CallCenter3.Phone4.
Paquete Core
Bajo este paquete se incluyen las clases que aportan la funcionalidad básica que debe implementar unsistema telefónico para decir que implementa JTAPI.
Realizar, finalizar y contestar llamadas.1.Obtener el estado en el que se encuentran el proveedor, las llamadas, los componentes de lallamada.
2.
Obtener los terminales y direcciones que forman parte del dominio del entorno telefónico.3.Poner oyentes a las llamadas, terminales, proveedor, etc. para que se nos avise mediante lainvocación de un método que ha sucedido algo. Por ejemplo la llamada a finalizado, o el proveedorha dejado de estar en servicio.
4.
Ejemplo: Realización de una llamada telefónica.
2009-02-26Introducción teórica aXPath
2009-02-26Integración Selenium /Maven 2 / Surefire /Cargo / Tomcat 6
2009-02-24Selenium RemoteControl
2009-02-22Integración de Groovy,JRuby y BeanShell conSpring 2
2009-02-18Instalación de PentahoBI Suite CommunityEdition 1.7.0
2009-02-18Replicar Web PHP enmáquina local
2009-02-16Selenium Core : Elmotor de Selenium.
2009-02-16Integración deJasperReports con PHP
2009-02-09EJB 3.0 y pruebasunitarias con Maven,JUnit 4 y EmbeddedJBoss sobre Java 6
2009-02-09Web Service Security
2009-02-09Manual Avanzado deFirebug
2009-01-29Ejemplo con Mockito
2009-01-29Uso de Mock objects enpruebas con Mockito
2009-01-29StrutsTestCase
2009-01-28Eventos en Hibernate(parte III)
2009-01-28
view plain print ?
package com.autentia.tutoriales.jtapi; 01.
02.
import javax.telephony.*; 03.
04.
/** 05.
* Realiza una llamada telefónica desde un origen a un destino. 06.
* @author Carlos García. Autentia 07.
*/ 08.
public class MakeCallApp { 09.
10.
/** 11.
* @param args Origen y destino de la llamada 12.
*/ 13.
public static void main(String[] args){ 14.
Provider prov = null; 15.
16.
// Verificamos los argumentos. Deben ser dos números de teléfono. 17.
if ( args.length != 2 ){ 18.
System.out.println("Formato:\"MakeCallApp <origen> <destino>\""); 19.
return; 20.
} 21.
22.
try { 23.
// Obtenemos una instancia que implemente javax.telephony.JtapiPeer.24.
JtapiPeer peer = JtapiPeerFactory.getJtapiPeer(null); 25.
26.
// Obtenemos un proveedor que de el servicio 27.
prov = peer.getProvider(null); 28.
29.
// Instanciamos y configuramos los objetos necesarios para la llamada30.
Terminal term = prov.getTerminal(args[0]); 31.
32.
// Creamos un objeto llamada 33.
Call call = prov.createCall(); 34.
35.
// Realizamos una llamada 36.
call.connect(term, term.getAddresses()[0], args[1]); 37.
38.
} catch ( Exception e ){ 39.
System.out.println(e.toString()); 40.
} finally { 41.
try { 42.
prov.shutdown(); // Finalizamos el proveedor 43.
} catch (Exception ex){} 44.
} 45.
} 46.
} 47.
48.
Ejemplo: Descolgado automático de todas las llamadas que suenen en un terminal.
Eventos en Hibernate(parte II)
2009-01-27Eventos en Hibernate(parte I)
2009-01-25AprendiendoXMLSchema a través deejemplos
2009-01-20Pruebas Software conJunit 4 y Eclipse
2009-01-19Executor : Un programapara ejecutarlos a todos.
2009-01-18Soap Monitor:Monitorización demensajes SOAP enAxis2
2009-01-16Restaurar una Base deDatos en SQL Server ocomo cambiar elpropietario de losobjetos de la base dedatos
2009-01-14Solución aNoClassDefFoundError:SWTResourceUtil
2009-01-14Desarrollo deaplicaciones Web conStruts 1
2009-01-07Log4J: Cómo crear unlog que trabaje haciauna Base de Datos.
Últimas ofertasde empleo
2009-03-26Comercial - Ventas -ALMERIA.
2009-03-12Comercial - Ventas -VALENCIA.
2009-03-12Comercial - Ventas -SEVILLA.
2009-02-21
view plain print ?
import javax.telephony.*; 01.
import javax.telephony.TerminalConnection; 02.
import javax.telephony.events.CallEv; 03.
import javax.telephony.events.TermConnRingingEv; 04.
05.
/** 06.
* Durante un tiempo, descuelgará todas las llamadas que suenen en un terminal.07.
* @author Carlos García. Autentia 08.
*/ 09.
public class DescolgandoLlamadasApp { 10.
public static void main(String args[]) { 11.
JtapiPeer peer = null; 12.
Provider prov = null; 13.
Terminal term = null; 14.
java.lang.String device = null; 15.
CallObserver myCallObserver = null; 16.
17.
try { 18.
if (args.length != 1) { 19.
System.out.println("Formato \"DescolgandoLlamadasApp <terminal>\""); 20.
System.exit(1); 21.
} 22.
// Obtenemos la implementación javax.telephony.JtapiPeer. 23.
peer = JtapiPeerFactory.getJtapiPeer(null); 24.
// Obtenemos un proveedor que de el servicio. Por defecto Core. 25.
prov = peer.getProvider(null); 26.
27.
// Obtenemos el terminal del cual vamos a descolgar las llamadas. 28.
term = prov.getTerminal(args[0]); 29.
30.
myCallObserver = new MiBonitoCallObserver(); 31.
term.addCallObserver(myCallObserver); 32.
33.
Thread.sleep(25000); // Descuelga las llamadas durante un tiempo 34.
35.
term.removeCallObserver(myCallObserver); 36.
} catch (Exception ex) { 37.
System.out.println(ex.toString()); 38.
} finally { 39.
// Finalizamos el proveedor. 40.
try { 41.
prov.shutdown(); 42.
} catch (Exception ex) {} 43.
} 44.
} 45.
} 46.
47.
class MiBonitoCallObserver implements CallObserver { 48.
public void callChangedEvent(CallEv[] ev) { 49.
TerminalConnection tc; 50.
51.
for (int i = 0; i < ev.length; i++) { 52.
if (ev[i].getID() != TermConnRingingEv.ID){ 53.
continue; 54.
} 55.
56.
try { 57.
tc = ((TermConnRingingEv) ev[i]).getTerminalConnection(); 58.
tc.answer(); 59.
} catch (Exception ex) { 60.
// No se dará 61.
} 62.
} 63.
} 64.
} 65.
Paquete CallControl
Este paquete extiende el paquete Core, permitiendo la siguiente funcionalidad:
Transferencia de llamadas tanto directas como indirectas.1.Realizar conferencias.2.Redireccionar llamadas.3.Descolgar llamadas que están sonando en otro terminal.4.Realizar llamadas de consulta.5.Agregar un terminal a una conferencia ya establecida.6.Retener y recuperar llamadas.7.Estados más finos sobre llamadas, terminales, conexiones, direcciones, etc.8.
Otras -Estética/Peluquería -MADRID.
2009-02-13T. Información - Otrosno catalogados -MADRID.
Información del número de teléfono de todos los interlocutores de la llamada.9.
Ejemplo: Realizar una llamada y transferirla a otro puesto.
view plain print ?
import javax.telephony.*; 01.
import javax.telephony.events.*; 02.
import javax.telephony.callcontrol.*; 03.
import javax.telephony.callcontrol.events.*; 04.
05.
/** 06.
* Ejemplo de transferencias (indirecta) de llamadas 07.
* @author Carlos García. Autentia 08.
*/ 09.
public class LlamarYTransferirApp { 10.
11.
/** 12.
* Realizamos una llamada del terminal 430 al 777 y esperamos que descuelge, post13.
* realizamos otra llamada del 430 al 555 y el tranferimos la primera llamada14.
*/ 15.
public static void main(String[] args) { 16.
JtapiPeer peer = null; 17.
Provider prov = null; 18.
CallControlCall call = null; 19.
CallControlCall call2 = null; 20.
Terminal term = null; 21.
TerminalConnection[] tcs = null; 22.
Connection[] cons = null; 23.
24.
try { 25.
peer = JtapiPeerFactory.getJtapiPeer(null); 26.
prov = peer.getProvider(null); 27.
28.
term = prov.getTerminal("430"); 29.
30.
call = (CallControlCall) prov.createCall(); 31.
call.connect(term, term.getAddresses()[0], "777"); 32.
33.
// Esperamos unos segundos en los que debe descolgar. 34.
Thread.sleep(8000); 35.
36.
call2 = (CallControlCall) prov.createCall(); 37.
38.
tcs = call.getConnections()[0].getTerminalConnections(); 39.
cons = call2.consult(tcs[0], "555"); 40.
41.
call.setTransferController(call.getConnections()
[0].getTerminalConnections()[0]);
42.
call2.setTransferController(call2.getConnections()
[0].getTerminalConnections()[0]);
43.
44.
// Realiamos la tranferencia 45.
call.transfer(cons[0].getCall()); 46.
47.
} catch (Exception e) { 48.
System.out.println(e.toString()); 49.
} finally { 50.
try { 51.
// Liberamos recursos 52.
prov.shutdown(); 53.
} catch (Exception ex){} 54.
} 55.
} 56.
} 57.
58.
Ejemplo: Conferencia de llamadas.
Anuncios Google
Tutoriales
Curso
Curso Excel 2007
Estudiar Photoshop
view plain print ?
import javax.telephony.*; 01.
import javax.telephony.events.*; 02.
import javax.telephony.callcontrol.*; 03.
import javax.telephony.callcontrol.events.*; 04.
05.
/** 06.
* Ejemplo de conferencia de llamadas. 07.
* @author Carlos García. Autentia 08.
*/ 09.
public class EstablecerConferenciaApp { 10.
/** 11.
* Pasos: 12.
* 1) Llamamos del terminal 555 al 666. 13.
* 2) Llamamos del terimnal 555 al 777. 14.
* 3) Realizamos la conferencia. 15.
*/ 16.
public static void main(String args[]) { 17.
JtapiPeer peer = null; 18.
Provider prov = null; 19.
CallControlCall call1 = null; 20.
CallControlCall call2 = null; 21.
Connection[] connections1 = null; 22.
Connection[] connections2 = null; 23.
TerminalConnection[] tcs = null; 24.
25.
try { 26.
peer = JtapiPeerFactory.getJtapiPeer(null); 27.
prov = peer.getProvider(null); 28.
29.
call1 = (CallControlCall) prov.createCall(); 30.
31.
connections1 = call1.connect(prov.getTerminal("555"), prov.getAddress("555"32.
33.
Thread.sleep(2000); 34.
35.
// Realizamos la segunda llamada 36.
call2 = (CallControlCall) prov.createCall(); 37.
38.
connections2 = call2.connect(prov.getTerminal("555"), prov.getAddress("555"39.
40.
Thread.sleep(2000); 41.
42.
// Configuramos los controladores de conferencias 43.
call1.setConferenceController(connections1[0].getTerminalConnections()[0]); 44.
call2.setConferenceController(connections2[0].getTerminalConnections()[0]); 45.
46.
((CallControlTerminalConnection) call1.getConferenceController()).unhold(47.
48.
// Realizamos la conferencia 49.
call1.conference(call2); 50.
51.
Thread.sleep(2000); 52.
} catch (Exception e) { 53.
System.out.println(e.toString()); 54.
} finally { 55.
try { 56.
// Liberamos recursos 57.
call1.drop(); 58.
call2.drop(); 59.
prov.shutdown(); 60.
}catch (Exception ex){} 61.
} 62.
} 63.
} 64.
65.
Paquete CallCenter
Este paquete extiende el paquete Core, permitiendo la siguiente funcionalidad:
Operaciones con grupos de agentes (consultar y modificar).1.Obtener información de llamdas por grupo de agentes (teleoperadores, etc.).2.Consultar estados de agentes.3.Asociar datos (objetos) a llamadas.4.Realizar llamadas predictivas (muy usado en marcadores automáticos).5.
Ejemplo: Dar de alta a un agente en un grupo.
view plain print ?
import javax.telephony.*; 01.
import javax.telephony.callcenter.*; 02.
03.
/** 04.
* Damos de alta al teleoperador "carlos_garcia" en el grupo 150, para ello usará el 05.
* @author Carlos García. Autentia 06.
*/ 07.
public class LoggedOnApp { 08.
09.
public static void main(String[] args){ 10.
JtapiPeer peer = null; 11.
CallCenterProvider prov = null; 12.
AgentTerminal term = null; 13.
ACDAddress[] groups = null; 14.
Agent agente = null; 15.
16.
try { 17.
peer = JtapiPeerFactory.getJtapiPeer(null); 18.
prov = (CallCenterProvider) peer.getProvider(null); 19.
groups = prov.getACDAddresses(); 20.
term = (AgentTerminal) prov.getTerminal("555"); 21.
agente = term.addAgent(term.getAddresses()[0], groups[150], Agent.READY, 22.
23.
} catch ( Exception e ){ 24.
System.out.println(e); 25.
} finally { 26.
try { 27.
prov.shutdown(); 28.
} catch (Exception ex){} 29.
} 30.
} 31.
} 32.
33.
Ejemplo: Realizamos una llamada telefónica y le asociamos información denegocio.
view plain print ?
import javax.telephony.*; 01.
import javax.telephony.callcenter.*; 02.
03.
/** 04.
* Realizamos una llamada y le asociamos datos (cualquier objeto serializable)05.
* @author Carlos García. Autentia 06.
*/ 07.
public class AssingDataToCallApp { 08.
09.
public static void main(String[] args) { 10.
JtapiPeer peer = null; 11.
CallCenterProvider prov = null; 12.
CallCenterCall call = null; 13.
Connection[] connections = null; 14.
15.
try { 16.
peer = JtapiPeerFactory.getJtapiPeer(null); 17.
prov = (CallCenterProvider) peer.getProvider(null); 18.
19.
call = (CallCenterCall) prov.createCall(); 20.
21.
// Realizamos una llamada 22.
connections = call.connect(prov.getTerminal("555"), prov.getAddress("555"23.
24.
// Asociamos datos a la llamada 25.
call.setApplicationData("En un lugar de la mancha..."); 26.
27.
} catch (Exception ex) { 28.
System.out.println(ex); 29.
} finally { 30.
try { 31.
// Liberamos recursos 32.
prov.shutdown(); 33.
} catch (Exception ex){} 34.
} 35.
} 36.
} 37.
38.
Paquete Phone
Este paquete extiende el paquete Core, permitiendo la siguiente funcionalidad:
Consultar y modificar la pantalla, el volumen y los indicadores luminosos de un terminal.1.Pulsar los botones del teclado del terminal.2.Monitorizar los cambios en la pantalla y detectar pulsaciones de las teclas.3.
Ejemplo: Pulsación de teclas.
view plain print ?
01.
import javax.telephony.*; 02.
import javax.telephony.phone.*; 03.
04.
/** 05.
* Pulsamos la tecla 5 dos veces 06.
* @author Carlos García. Autentia 07.
*/ 08.
public class PhoneTerminalPressKeyApp { 09.
public static void main(String[] args){ 10.
JtapiPeer peer = null; 11.
Provider prov = null; 12.
Terminal term = null; 13.
ComponentGroup[] groups = null; 14.
Component[] botones = null; 15.
16.
try { 17.
peer = JtapiPeerFactory.getJtapiPeer(null); 18.
prov = peer.getProvider(null); 19.
term = prov.getTerminal(null); 20.
21.
groups = ((PhoneTerminal) term).getComponentGroups(); 22.
for ( int i = 0; i < groups.length; i++ ){ 23.
if ( "Button".equalsIgnoreCase(groups[i].getDescription())){ 24.
botones = groups[i].getComponents(); 25.
break; 26.
} 27.
} 28.
29.
PhoneTerminalPressKeyApp.PressKey(botones, "5"); 30.
PhoneTerminalPressKeyApp.PressKey(botones, "5"); 31.
} catch ( Exception ex ){ 32.
System.out.println(ex); 33.
} finally { 34.
try { 35.
prov.shutdown(); 36.
} catch (Exception ex){} 37.
} 38.
} 39.
40.
/** 41.
* Presiona un tecla por su identificador 42.
*/ 43.
private static void PressKey(Component[] botones, String buttonID){ 44.
PhoneButton btn; 45.
46.
for ( int i = 0; i < botones.length; i++){ 47.
btn = (PhoneButton) botones[i]; 48.
if (btn.getName().equalsIgnoreCase(buttonID) ){ 49.
btn.buttonPress(); 50.
return; 51.
} 52.
} 53.
} 54.
} 55.
Referencias
Especificación JTAPI
Conclusiones
Comparada con otras APIs de teléfonia, desde mi punto de vista JTAPI gana por goleada en sencillez debidoa su diseño orientado a objetos. En su ultima versión (1.4) No le falta de nada, eso sí, cada proveedor detelefonía puede o no implementar lo que dice la especificación, para ello primeramente se debería depreguntar por las capacidades del mismo en relación a cada método de cada clase (tienen métodosgetCapabilities()).
Un saludo, espero que os haya resultado de ayuda.
Carlos García.
¿Qué te ha parecido el tutorial? Déjanos saber tu opinión y ¡vota!
Muy malo Malo Regular Bueno Muy bueno
Anímate y coméntanos lo que pienses sobre este tutorial
Puedes opinar o comentar cualquier sugerencia que quieras comunicarnos sobre este tutorial; con tuayuda, podemos ofrecerte un mejor servicio.
Nombre: E-Mail:
Comentario:
Texto Legal y condiciones de uso
Puedes inscribirte en nuestro servicio de notificaciones haciendo clicaquí.Puedes firmar en nuestro libro de visitas haciendo clic aquí.Puedes asociarte al grupo AdictosAlTrabajo en XING haciendo clicaquí.
Añadir a favoritos Technorati.
Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-Nocomercial-Sin obras derivadas 2.5
Recuerda
Autentia te regala la mayoría del conocimiento aquí compartido (Vertodos los tutoriales). Somos expertos en: J2EE, Struts, JSF, C++,OOP, UML, UP, Patrones de diseño ... y muchas otras cosas.
¿Nos vas a tener en cuenta cuando necesitesconsultoría o formación en tu empresa?, ¿Vas a sertan generoso con nosotros como lo tratamos de sercon vosotros?
Somos pocos, somos buenos, estamos motivados y nos gustalo que hacemos ...
Autentia = Soporte a Desarrollo & Formación.
Tutoriales recomendados
Nombre Resumen Fecha Visitas Valoración Votos Pdf
Creando ServiciosWeb con BeaWorkshop 8.1
En este artículo os mostramoscomo funciona la nuevaherramienta de Bea, Workshopy como crear servicios web conella
2003-12-15 12174 Muybueno 2
SOA y el modelo deNegocio
En este tutorial podemos veruna documento de SantiagoPereira sobre SOA, losestándares que se usan y launión del SOA con los procesosde negocio.
2007-04-23 3613 Muybueno 1
AspectJ,Programación conAspectos
Os mostramos como configurarAspectJ (extensión Java para laprogramación basada enaspectos) y un pequeñoejemplo para medir lavelocidad de una función sinalterar su código.
2004-01-30 16392 Muybueno 3
Persistencia conSpring
En el siquiente tutorial vamosa ver algunas de lasaportaciones que nos ofreceSpring para mejorar la capa depersistencia de nuestrasaplicaciones
2009-03-04 1169 Muybueno 9
Introducción a LuceneEn este tutorial realizaremosuna breve introdución a API debúsqueda Lucene
2008-08-17 2085 Muybueno 7
Gestor de ContenidosGratuito con Typo3
César Crespo nos enseña comoinstalar y utilizar uno de losmejores gestores decontenidos gratuitos delmercado
2004-07-22 19186 Muybueno 2
Aplicación profesionalcon Struts
En este tutorial, os mostramoscomo crear una aplicaciónprofesional, usando numerosospatrones y utilizando Struts.
2003-10-08 131427 Muybueno 34
J2ME.Internacionalizaciónde aplicaciones paramóviles
En este tutorial aprenderemosa internacionalizar MIDletsmediante el estandar JSR-238
2008-05-06 2603 Bueno 8
Servicio Web conNetBeans 6 y pruebacon SoapUI
En este tutorial os enseñamoscómo crear y probar un servicioweb de una manera sencillautilizando netbeans 6
2007-08-02 9704 Bueno 6
CMMI. Modelo deMadurez Software
Os introducimos a CMMI oCapability Maturity ModelIntegration. CMMI es unmodelo de calidad exigido porel gobierno americano a susproveedores para el desarrollode Software. Su conocimientoes esencial para reducir costesde desarrollo.
2004-02-05 66243 Bueno 25
Nota:
Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos ycomentarios de los tutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacer
referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectadodesea que incorporemos alguna reseña específica, no tiene más que solicitarlo. Si alguien encuentra algúnproblema con la información publicada en este Web, rogamos que informe al [email protected] para su resolución.
Copyright 2003-2009 © All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia
Anuncios Google Curso Photoshop CS3 Academias Photoshop Formacion Photoshop Aprender Fotoshop Curso Drenaje Manual