Ver Mensaje Individual
  #9  
Antiguo 13-04-2004
orodriguezc orodriguezc is offline
Miembro
 
Registrado: nov 2003
Ubicación: Cartagena - Colombia
Posts: 33
Reputación: 0
orodriguezc Va por buen camino
Hola foro.


No se si Jose Armando aún este interesado en el tema, pues ya ha pasado algún tiempo desde que inicio el hilo, pero ahi van mis comentarios:


La empresa para la que trabajo tiene varios AS400. En el principio la mayoria de la aplicaciones estaban escritas en COBOL para terminales 5250. Algún buen día uno de los asesores escribió una aplicación Delphi para realizar consultas (solo consultas) y tuvo mucho éxito.

Basados en esta primera experiencia se decidió realizar un primer ensayo para realizar una pequeña aplicación Cliente/Servidor. Se desarrollo el front-end en Visual Basic 5.0 y la experiencia no fué muy agradable, pués los tiempos de respuesta de algunas consultas de actualización eran terriblemente lentas. Se cambio parte del Front-End hacia Delphi 4.0, pero la situación no mejoró para nada.

Como resultado de este experimento se decidió buscar alternativas de conectividad y al poco tiempo se Adquirio Delphi 5/400. Nuestras primeras pruebas arrojaron resultados sorprendentes, los tiempos de respuestas eran "Instantaneos", justo lo que queriamos en ese momento.

Para esa época nuestro AS400 tenía la version OS/400 3.7 y en los PC's usabamos Client access 3.7. Posteriormente migramos los AS400 a unas versiones de hardware más modernas, pasando por la version OS/400 4.2, OS/400 4.5 y actualmente estamos en la version OS/400 5.1 y en los PC´s Client Access Express 5.1.

Esta breve reseña historica la hago para comentar que a medida que se fueron actualizando las versiones del Sistema OS400, las mejoras introducidas en la drivers ODBC y en los drivers OLE DB ha sido tan buenos que ya no hay hay una ventaja real al utilizar Delphi/400 u otros software de conectividad para este proposito (por ejemplo EasyCom).

Actualmente todo nuestro desarrollo Cliente/Servidor hacia el AS lo estamos haciendo con Delphi 5 (Estamos en mora de actualizarnos ) via ODBC u OLE DB con excelentes tiempos de respuesta, por lo que personalmente no recomiendo la adquisición de un software tan costoso para conectarse al As.

No digo que el producto Delphi/400 no sea bueno, sino que en la actualidad la relación Costo/beneficio no es la mejor. Ahora, si la máquina AS400 que posee la empresa tiene OS/400 3.7, definitivamente Delphi/400 es una opción a tener en cuenta.

Nuestras aplicaciones Delphi/400 actuales constituyen menos del 2% de nuestro inventario de Software propietario, y en breve será del 0%.

Con respecto a la ejecución de programas en el AS400 desde nuestra aplicación Delphi puedo comentar que, efectivamente, si se puede ejecutar cualquier programa en el AS400 siempre que este programa no utilice Archivos de pantalla (los programadores de AS400 saben de que estoy hablando). Se pueden pasar parametros de entrada, parametros de salida e incluso obtener Result Sets desde programas escritos en COBOL, RPG, C y programas CL. Tal como lo comenta kira lo único que se necesita es definir ese programa como un Procedimiento Almacenado. La sintaxis en su forma más básica es la siguiente:

Código:
CREATE PROCEDURE LIBRERIA/NOMBREPROCEDURE(
     IN       PAR_ENTRADA  CHAR(10),
     INOUT PAR_ENTSAL    CHAR(10),
     OUT    PAR_SALIDA    TIMESTAMP)
 RESULT SETS 1
 EXTERNAL NAME LIBPROGRAMA/NOMPROGRAMA
 LANGUAGE RPGLE
 SIMPLE CALL;
Aqui estamos definiendo un Stored procedure ubicado en la Libreria LIBRERIA, de nombre NOMBREPROCEDURE el cual devuelve un "Conjunto de Resultados" y hace referencia a un programa de nombre NOMPROGRAMA ubicado en la Libreria LIBPROGRAMA.

Espero haber sido de ayuda.

Saludos...
Responder Con Cita