Professional Documents
Culture Documents
IBM, the IBM logo, ibm.com, Informix and Informix 4GL are trademarks or registered trademarks of International Business
Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked
on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or
common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered
or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and
trademark information” at www.ibm.com/legal/copytrade.shtml
AXIS2C, Apache and Tomcat products or service names may be trademarks or service marks of others.
The information on the new product is intended to outline our general product direction and it should not be relied on in
making a purchasing decision. The information on the new product is not a commitment, promise, or legal obligation to
deliver any material, code or functionality. The development, release, and timing of any features or functionality described
for our products remains at our sole discretion
1
Contenido
Informix 4GL
Arquitectura Orientada a Servicios (SOA)
Requerimientos y plataformas soportadas
Servicios Web
– Publish
– Subscribe
Problemas típicos
Futuro de Informix 4GL
Referencias
2
Informix 4GL
Lenguaje de 4ª Generación
Fácil desarrollo y mantenimiento de aplicaciones
Incluye todo lo necesario para crear aplicaciones complejas
– Administrador de proyectos
– Generador de formularios
– Debugger
Interfaz basado en modo texto (CUI)
Usado por miles de clientes en todo el mundo
3
Contenido
Informix 4GL
Arquitectura Orientada a Servicios (SOA)
Requerimientos y plataformas soportadas
Servicios Web
– Publish
– Subscribe
Problemas tipicos
Futuro de Informix 4GL
Referencias
4
Arquitectura Orientada a Servicios (SOA)
Que es SOA
Ventajas de SOA en I4GL
Beneficios para los clientes
5
¿Que es SOA ?
Separación de las funciones básicas
Reutilización
6
Ventajas de SOA en I4GL
Publicar funciones en Informix 4GL como Servicios Web
Integración con aplicaciones Web
Reutilizar código existente desde aplicaciones Web
Descubrir y consumir servicios Web usando I4GL
Mayor oportunidades de negocio para sus aplicaciones I4GL
7
Beneficios para los clientes
Reuso del código y la lógica existente
- desde Internet
- desde otras compañías o partners
Nueva mentalidad al programar: “Que” en lugar de “Como”
No hay dependencia de hardware o lenguajes de programación
Mejor colaboración entre diferentes departamentos dentro de una
misma organización
Biblioteca de funciones y Servicios
Ahorro de dinero y tiempo.
8
Contenido
Informix 4GL
Arquitectura Orientada a Servicios (SOA)
Requerimientos y plataformas soportadas
Servicios Web
– Publish
– Subscribe
Problemas típicos
Futuro de Informix 4GL
Referencias
9
Requerimientos y plataformas soportadas
Requerimientos
– Apache Axis2/C Version 1.5.1 (incluido en I4GL)
– Apache Axis2/Java Version 1.3.1 (incluido en I4GL)
– IBM Informix Dynamic Server Version 10 o posterior
– IBM Informix 4GL 7.50.xC3
– Java™ Runtime Environment (JRE) 1.5 o posterior
– Perl 5.8.8
10
Contenido
Informix 4GL
Arquitectura Orientada a Servicios (SOA)
Requerimientos y plataformas soportadas
Servicios Web
– Publish
– Subscribe
Problemas típicos
Futuro de Informix 4GL
Referencias
11
Publicar un Servicio Web
I4GL-SOA Arquitectura
Publish /Subscribe (Publicar/Suscribir)
W4GL y W4GLC : Publish
Publicar I4GL funciones como servicios Web
– desde la línea de comando (W4GLC)
– desde el interfaz grafico (W4GL)
12
I4GL-SOA Arquitectura
Servicio Web
Pubish Subscribe
Publisher Subscriber
IDS
13
Publish / Subscribe
•Servicio Web
Publisher
Otros servicios
IDS Web
Consumidor
(Web, Java, .NET)
•Servicio Web
•Función Web Fichero Consumidor
Subscriber
I4GL
14
W4GL y W4GLC: Publish
FUNCTION cc_details(card_number, expiry_date, cvv_number)
DEFINE credit_card_rec RECORD LIKE credit_customer.*
...
LET query_stmt = "SELECT * FROM credit_customer WHERE card_number = ? AND expiry_date = ? AND
cvv_number = ?"
...
IF SQLCA.SQLCODE != 100 THEN
LET query_stmt = "SELECT * FROM card_transaction WHERE customerId = ?"
...
FETCH cur_card_transaction INTO transaction_rec.*
15
W4GL y W4GLC: Publish
w4gl fichero de configuración w4glc
(Interfaz grafico) 4cf (Perl script)
4GL
Codigo
fuente
Publish
IDS
16
Linea de comando: W4GLC
Script basado en Perl
No hace uso de la base de datos, solo trabaja con ficheros de texto
W4GLC {-OPTION} <configuration-file>
OPTION DESCRIPTION
package Crea el paquete con el servicio web para poder ser usado en
producción
17
Interfaz Grafico: W4GL
Definir un servicio Web
Generar el fichero de configuración (4cf)
Deploy un servicio Web
Package un servicio Web
18
Definir un servicio Web
19
Definir un servicio Web
20
Definir un servicio Web
21
Generar el fichero de configuración (4cf)
22
Ejemplo de un fichero 4cf usado al Publicar
23
Deploy un servicio Web
24
Deploy un servicio Web
25
Package un servicio Web
Facilita el proceso de deployment en diferentes servidores
Reduce trabajo a la hora de recrear el servicio Web
Crea un fichero comprimido (.tar) con todo lo necesario para el
funcionamiento de el servicio Web
26
Package un servicio Web
27
Contenido
Informix 4GL
Arquitectura Orientada a Servicios (SOA)
Requerimientos y plataformas soportadas
Servicios Web
– Publish
– Subscribe
Problemas típicos
Futuro de Informix 4GL
Referencias
28
Consumir un servicio Web
Proceso
W4GL y W4GLC: Subscribe
Añadir una defección de un servicio Web
Fichero de configuración 4cf (Subscriber)
Generar y compilar el código auxiliar
29
Proceso
Definir la información sobre el servicio que se quiere
suscribir usando la herramienta W4GL
Compilar usando “Compile” para obtener:
– fichero de configuración (.4cf)
– código .c de el wrapper o función proxy para poder usar
el servicio Web
– fichero objeto con el código
Linkar el objeto con la aplicación I4GL
30
W4GL y W4GLC: Subscribe
w4gl Fichero de configuration w4glc
(Interfaz grafico) (4cf) (Script perl )
Genera y Compila
el codigo auxiliar
Fichero WSDL
servicio Web
(WSDL) Codigo fuente en
Informix 4GL
Subscribe
IDS
31
W4GL y W4GLC: Subscribe
MAIN
CALL call_web_service_client()
END MAIN w4gl Fichero de configuration w4glc
(Interfaz grafico) (4cf) (Script perl )
FUNCTION call_web_service_client()
DEFINE name VARCHAR(40),
address VARCHAR(200),
...
transaction_date DATE,
description VARCHAR(250), Genera y Compila
value INTEGER
el codigo auxiliar
...
Fichero WSDL
OPEN FORM f_credit FROM "svc_client"
DISPLAY FORM f_credit
servicio Web
INPUT card_number, cvv_number, expiry_date FROM s_card.card_number, s_card.cvv_number, s_card.expiry_date
(WSDL) Codigo fuente en
CALL i4gl_cc_details(card_number, expiry_date, cvv_number)
Informix 4GL
RETURNING name, address, city, state, zipcode, phone, email, card_number, creditLimit, cardType, transaction_date,
description, value
Subscribe
DISPLAY name TO s_card.name
DISPLAY address TO s_card.address
...
IDS
DISPLAY description TO s_card.description
DISPLAY value TO s_card.value
END FUNCTION
32
W4GL y W4GLC: Subscribe
w4gl Fichero de configuration w4glc
(Interfaz grafico) (4cf) (Script perl )
Genera y Compila
el codigo auxiliar
Fichero WSDL
servicio Web
(WSDL) Codigo fuente en
Informix 4GL
Subscribe
33
Añadir una definición de un servicio Web
34
Añadir una definición de un servicio Web
35
Compilar el código auxiliar
36
Ejemplo de un fichero 4cf para suscribir
37
Usar el servicio Web sin I4GL
El servicio Web puede ser usado desde cualquier otro lenguaje que
soporte Web Services.
38
Usar el servicio Web sin I4GL
El servicio Web puede ser usado desde cualquier otro lenguaje que
soporte Web Services.
39
Usar el servicio Web sin I4GL
El servicio Web puede ser usado desde cualquier otro lenguaje que
soporte Web Services.
40
Contenido
Informix 4GL
Arquitectura Orientada a Servicios (SOA)
Requerimientos y plataformas soportadas
Servicios Web
– Publish
– Subscribe
Problemas tipicos
Futuro de Informix 4GL
Referencias
41
Problemas Típicos
Ficheros logs de el servidor de aplicaciones AXIS2C
– Problemas de conexión
– Problemas con el servidor Web
– Errores durante el proceso de deployment
42
Problemas Típicos
Ficheros logs de el servidor de aplicaciones AXIS2C
– Problemas de conexión
– Problemas con el servidor Web
– Errores durante el proceso de deployment
43
Contenido
Informix 4GL
Arquitectura Orientada a Servicios (SOA)
Requerimientos y plataformas soportadas
Servicios Web
– Publish
– Subscribe
Problemas típicos
Futuro de Informix 4GL
Referencias
44
Futuro de Informix 4GL I4GL Interim
Releases
4GL 7.x 2012 and beyond
4GL 7.x (I4GL Form enhancements
Disclaimer: The information on the new product is intended to outline our general product direction and it should not be relied on in making a
purchasing decision. The information on the new product is for informational purposes only and may not be incorporated into any contract. The information
on the new product is not a commitment, promise, or legal obligation to deliver any material, code or functionality. The development, release, and timing of
any features or functionality described for our products remains at our sole discretion.
45
Contenido
Informix 4GL
Arquitectura Orientada a Servicios (SOA)
Requerimientos y plataformas soportadas
Servicios Web
– Publish
– Subscribe
Problemas típicos
Futuro de Informix 4GL
Referencias
46
Referencias
IBM Informix 4GL v 7.50.xC3, xC2 : Release notes, documentación notes y machine
notes:
http://www-01.ibm.com/support/docview.wss?uid=pub1gi11910302
http://www-01.ibm.com/support/docview.wss?uid=swg27013651
http://www.ibm.com/developerworks/data/library/techarticle/dm-0902mottupalli/
47
Forums y Comunidades online para Informix
48
49