Entradas

La versatilidad del ODBC

Como Programar desde casa contra Bases de Datos de AS400 sin necesidad de AS400

¿Os imagináis que necesitáis realizar una pequeña (o gran) aplicación visual para tratar datos del AS400 pero no disponéis de ningún AS400 a mano de momento? No hay problema. Existe una posibilidad para hacer posible la programación contra bases de datos AS400 sin necesidad de un iSeries durante el proceso de desarrollo.

Es más un truco que una utilidad, pero funciona. El tema es que tuve que programar una utilidad para consultar un fichero del iSeries de manera visual pero no tenía acceso a la máquina de IBM en ese momento.

El primer paso es la creación de la bases de datos, y la tabla o tablas, en Microsoft Access, sí, esa aplicación que muchos programadores discriminan por limitada, pero no lo es.

Es importante que la estructura sea igual a la tabla o tablas del iSeries, respetando este principio, después no tendremos problemas.

Es indiferente si usamos el antiguo sistema de Microsoft Access (.mdb) como el nuevo sistema de bases de datos de Microsoft Access (.accdb) Lo importante es que las tablas tengan el mismo nombre que en iSeries, los mismos campos y el mismo orden.

Una vez creada la base de datos en Microsoft Access es hora de crear un ODBC que acceda a esta base de datos. Un OBDC es un puente muy versátil, la definición estándar es  que ODBC «es un estándar de acceso a las bases de datos desarrollado por SQL Access Group en 1992. El objetivo de ODBC es hacer posible acceder a cualquier dato desde cualquier aplicación, sin importar qué sistema de gestión de bases de datos (DBMS) almacene los datos»  gracias todo ello a un sistema de separación de capas, pero no es este el objetivo de este artículo.

Para crear el ODBC iremos a las herramientas administrativas de nuestro Microsoft Windows.

ODBC. Herramientas administrativas

Y una vez dentro de esta opción buscaremos de DNS de usuario y agregar.

Creación de un ODBC Microsoft Access

Y luego escogemos la opción que nos interesa que es Microsoft Access Driver (*.mdb, *.accdb)

Creación de un ODBC Microsoft Access

Le damos un nombre, la descripción y lo enlazamos con la base de datos de Microsoft Access que antes hemos creado. Y ya lo tenemos.

Creación de un ODBC Microsoft Access

 Ahora deberemos ir a nuestra solución visual y trabajar contra este ODBC tranquilamente como si fueran tablas de iSeries, usando sentencias SQL.

En mi caso tengo esta función escrita en Visual Basic .NET para abrir la conexión al ODBC que hemos creado antes.

Conexión visual a ODBC

A partir de ahora trabajaremos con dicha conexión abierta usando sentencias SQL como si se tratara de las tablas de nuestro inexistente iSeries. Cuando acabemos con nuestra solución visual la llevaremos al cliente donde si está, esta vez sí, la máquina de IBM.

Allí instalaremos nuestra solución y crearemos el ODBC con el mismo nombre que hemos creado el anterior OBDC pero en este caso no será tipo Access Driver sino iSeries Access ODBC Driver.

Creación de un ODBC iSeries

La única consideración importante es avisar cuando creemos el OBDC contra el iSeries cuál es la biblioteca donde están las tablas, ya que mientras Access no tiene bibliotecas y en las sentencias SQL no hemos tenido que informar de ello, en el AS400 es necesario informar de las bibliotecas en los SQL, pero si lo ponemos ya en el ODBC no tendremos que cambiar nada.

Creación de un ODBC iSeries

Y sí, habéis leído bien, no hay que cambiar ya NADA. La solución visual conectará con el iSeries usando las mismas sentencias de Visual Studio .NET, sólo cambiando el ODBC. Hemos conseguido desarrollar sin iSeries una solución que funciona finalmente en un AS400.

La supervivencia del AS400. Parte III

iSeries, el porqué de la supervivencia del dinosaurio. Parte III y final

 

Continuamos desgranando las claves de la supervivencia de un sistema concebido hace más de 35 años. Las últimas claves para entender esta «extraña» supervivencia.

Amplia implantación en empresas de banca y grandes empresas

A lo largo de estos 35 años las empresas de banca y grandes empresas de todo el mundo, que necesitaban soporte técnico sólido y mover gran cantidad de información de manera fiable se plantearon en muchas ocasiones el uso de máquinas de IBM. Y muchas globalde las que implementaron sus aplicaciones en dichos sistemas aún siguen manteniéndolo por todo lo explicado anteriormente, robustez, solidez, fiabilidad y disponibilidad. (link al post anterior)

Cierto es que IBM apostó por expandirse gracias a una red de vendedores especializados, los llamados partners de IBM, pero era en parte necesario en vista del elevado coste de los sistemas que era mirado con recelo inicialmente por las empresas y estas barreras eran franqueadas por esta fuerza de venta, pero también es cierto que una vez implantados los AS400 rara vez defraudaban a las empresas que buscaban fiabilidad en sus sistemas. Por ello hoy en día grandes empresas de todo el mundo usan máquinas de diversas escalas de IBM, iSeries incluidos. Según información de la propia compañía 150.000 grandes empresas y organismos usan IBM i en todo el mundo. Un número nada despreciable para máquinas de elevado coste y mantenimiento. (Fuente: http://www.itjungle.com/tfh/tfh080612-story02.html)

Soporta servidores web

El soporte de servidores web es algo que los iSeries llevan ofreciendo desde hace muchos años, si bien es cierto que la formación clásica de muchos de los programadores que mantienen estos sistemas en las grandes empresas, ha hecho que no se implementaran estas posibilidades en las aplicaciones de sus empresas, pareciendo así que los AS400 eran máquinas antiguas que no soportaban servicios web en un mundo abocado a la red.

Permite correr aplicaciones heredadas

No importa que actualicemos el AS400 poniéndolo a la última, nuestras aplicaciones hechas en los 90 o en el 2000 no dejaran de funcionar. De hecho incluso en el cambio más duro del CISC al RISC del procesador, lo lógico es que todo hubiera dejado de funcionar por el cambio de 32bits a 64bits (recordemos que las instrucciones de procesador, código máquina, son distintas) pero no, los AS400 RISC traían en su sistema operativo una utilidad para recompilar los programas a 64bits salvándose este verdadero problema en otros sistemas.

Adaptación al mundo cambiante

Gracias a todo lo anteriormente explicado el iSeries no es como podría parecer una máquina rígida en un mundo cambiante, cosa que la llevaría irremediablemente al fracaso. Es una máquina sólida y segura pero capaz de adaptarse usando un sencillo sistema, tener una arquitectura más adelantada que la media.

Por todo ello

El AS400, pese a ser un verdadero dinosaurio dentro del mundo de la tecnología, ha sobrevivido, al igual que los tiburones que llevan entre nosotros desde tiempos jurásicos, gracias a un gran diseño, que les ha permitido superar los cambios. Y todo el mundo admira y  teme a los tiburones…

 

Ver artículos anteriores:

La supervivencia del AS400 Parte I

La supervivencia del AS400 Parte II

La supervivencia del AS400. Parte II

iSeries, el porqué de la supervivencia del dinosaurio. Parte II

 

Continuamos desgranando las claves de la supervivencia de un sistema concebido hace más de 35 años. La lógica en el mundo de la tecnología nos diría que debería estar extinto pero no es así, veamos porqué.

Sistema imbatible en robustez

 

Ahora son grandes y pesados, pero antaño lo eran mucho más, pero no es esta robustez a la que hace referencia el título del apartado, sino a la robustez de la base de datos. El DB2/400, marca comercial propiedad de IBM, es uno de los sistemas de bases de datos más robustos que existen. Generalmente los sistemas de bases de datos son software superpuestos al sistema operativo para implementar el acceso a los datos. Sin embargo el DB2/400 está integrado en el propio sistema operativo OS/400 lo que consigue una gran eficacia y rapidez en el acceso a los datos, saltándose muchas limitaciones de otros sistemas en cuanto a velocidad de acceso o tamaño de los datos a tratar. El DB2/400 es capaz de manejar ficheros de millones y millones de registros, sin penalización en cuanto a velocidad gracias a esta soberbia integración en el sistema operativo y en la máquina.

Alta disponibilidad

alta disponibilidadLas máquinas de IBM permiten varios sistemas para garantizar la alta disponibilidad. ¿Qué significa alta disponibilidad? Según Wikipedia : (High availability) es un protocolo de diseño del sistema y su implementación asociada que asegura un cierto grado absoluto de continuidad operacional durante un período de medición dado. Disponibilidad se refiere a la habilidad de la comunidad de usuarios para acceder al sistema, someter nuevos trabajos, actualizar o alterar trabajos existentes o recoger los resultados de trabajos previos.

O sea, que nuestro trabajo no debe ser alterado por ninguna adversidad externa. Para ello los iSeries disponen de diversas posibilidades.

Por ejemplo, duplicación de la máquina dentro del propio iSeries, los datos del AS400 pueden duplicarse en discos pares de manera que si un disco fallara el «par» lo sustituiría como si no hubiera pasado nada.

También es posible la copia del sistema en otra máquina, de manera que si un iSeries cayera se arrancaría la máquina «dos» que dispone de una copia en tiempo real de todo el sistema, y que para más seguridad puede estar ubicada físicamente en otro lugar e incluso conectada a una red eléctrica distinta.

Y todo ello combinado con un sistema de hardware capaz de sustituir discos en «caliente» o sea, sin detener la máquina, a través del frontal del AS400. ¿Quién da más?

Sistemas «invitados»

Las máquinas de iSeries permiten tener sistemas invitados reales en una misma máquina. ¿Qué es un sistema invitado? Generalmente se habla de sistemas invitados al sistema operativo que se ejecuta en una máquina virtual, sin embargo las máquinas de IBM permiten hacer particiones de la máquina, repartiendo el uso del procesador, de la memoria y de los discos en múltiples «mini máquinas», permitiendo que un solo iSeries pudiera ser repartido entre varias empresas sin verse entre ellas, ni molestarse, ya que todo ha sido distribuido según parámetros de configuración. Imaginad el juego que supone esto.

Avanzado procesador

tend-art5-2IBM siempre ha apostado por dotar a los AS400 de los procesadores más avanzados de los que disponía, y eso es mucho, ya que IBM es uno de los fabricantes de procesadores más avanzados que existe. Inicialmente las máquinas se basaron en procesadores CISC siendo sustituidos en 1996 por procesadores RISC basados en microprocesadores PowerPC de 64bits (usando tecnología de 64bits mucho antes que muchas máquinas del mercado, de hecho algunas de las actuales consolas de última generación han incorporado procesadores PowerPc, 18 años después de que lo hiciera IBM en los AS400).

Actualmente los sistemas iSeries disponen de procesadores POWER7, unos de los procesadores más modernos y potentes (también caro) que pueden encontrarse en la actualidad.

 

Ver artículo anterior:

La supervivencia del AS400 Parte I

La supervivencia del AS400. Parte I

iSeries, el porqué de la supervivencia del dinosaurio.

 

Analizamos las clshow_iseriesaves de porqué ha sobrevivido el dinosaurio de IBM, el antiguo AS400, ahora conocido como iSeries. Sigue siendo una alternativa más que fiable para muchas medianas y grandes empresas.

 

En 1988, IBM introdujo el AS400® como una solución de servidor dirigida a los negocios y departamentos de tamaño medio dentro de empresas más grandes. Esa maquina de 1988 se diseñó como sustituto del IBM System/38 y partiendo de su arquitectura, cuyos orígenes se remontan a los años 1978 y 1979. Se trata de un sistema multiusuario, con una interfaz controlada mediante menús y comandos CL (Control Language) intuitivos que utiliza terminales y un sistema operativo basado en objetos y bibliotecas, denominado OS/400. Un punto fuerte del OS/400 es su integración con la base de datos DB2/400, siendo los objetos del sistema miembros de la citada base de datos.

 

Pero, ¿si es un sistema antiguo, como algunos defienden, dado que proviene de un sistema inicial de hace más de 35 años, por qué no termina de extinguirse dando paso a sistemas más modernos?

Vamos a analizar las claves de esta supervivencia. En el siguiente esquema podéis vislumbrar las principales características de este sistema.

 ventajasas2

En los siguientes artículos iré profundizando en cada uno de estos apartados, uno a uno, para que entendamos porqué 36 años después de su primera concepción, como sistema 36/38 aún sigue existiendo.