Historia y Evolución de la Informática de Servicios
Los primeros procesadores. Charles Babbage, matemático inglés, inventó una máquina capaz de calcular tablas matemáticas, la Máquina de Diferencias. Trabajó para mejorarla, pero las mejoras eran muy complicadas y casi imposibles en aquella época y se la llamó *La locura de Babbage*. En 1833 Augusta Ada Lovelace oyó hablar de la Máquina de diferencias y acabó convirtiéndose en su colaboradora, y propone incorporar un sistema de tarjetas perforadas para que pudiera realizar tareas de forma repetitiva. En 1979 el departamento de Estados Unidos bautizó un lenguaje de programación con el nombre de ADA. Los primeros ordenadores que empezaron a parecerse a los actuales funcionaban con tarjetas perforadas de 10 filas x 80 columnas. En 1890 el censo de Estados Unidos se realizó usando el sistema de tarjetas perforadas desarrollado por Herman Hollerith y ahorró muchos recursos. Perforaciones en preguntas de SI y NO. Con esta idea Hollerith fundó la Tabulating Machine Company para más tarde convertirse en la Compunting-Tabulating-Recording-Company. En 1924 toma el nombre una compañía absorbida, IBM. En los años 50 y 60 ya se utilizaban teclados que sustituían las tarjetas. Las primeras interfaces de Operador eran teletipos conectados a ordenadores o a otros equipos mediante un bucle de corriente, no eran muy rápidos pero llegaban muy lejos.
Los Primeros Ordenadores y su Desarrollo
Los primeros ordenadores. En 1937 Shanon describe la utilización de la lógica simbólica y los números binarios y apunta a la conveniencia del álgebra de Boole. En los laboratorios Bell se desarrolló la Teoría de la información donde aparece por primera vez el concepto de BIT. En 1938 Konrad Zuse crea una calculadora electromecánica, funcionamiento con tarjetas perforadas y lógica binaria. Se llamó Z1. En 1941 se presentó Z3, que funcionaba con relés. En 1969 Siemens absorbe la empresa de Zuse. Atanasoff y Berry desarrollaron la primera computadora digital, ABC, entre 1936 y 1942. En 1939 la universidad de Harvard e IBM construyeron uno de los primeros computadores electromecánicos, el MARK 1. Era la realización física de la locura de Babbage. En 1947 aparece el MARK II, más rápido. En 1936 Alan Turing desarrolló el concepto de Inteligencia Artificial y participó en el proyecto Colossus. Se desarrolló un ordenador para el cálculo de trayectorias de tiro, en 1946, se llamó Eniac, mucho más pesado y más rápido que sus antecesores. John Von Neumann propuso mejoras, como utilizar lógica binaria y colocar las instrucciones junto con los datos. El primer ordenador que funcionó así fue EDVAC. En 1951 se creó ORDVAC basado en la máquina de Neumann. En 1951 sale el primer ordenador comercial UNIVAC I.
Evolución del Computador por Generaciones
Evolución del computador.
Primera Generación (1951-1958)
En 1904 Fleming construye el primer tubo de vacío o Diodo. En 1906 Lee De Forest modifica el diodo, el cual se convierte en triodo (válvulas). Las primeras computadoras estaban construidas a base de estas válvulas. En 1947 se termina lo que se considera la primera computadora digital: ENIAC. En 1949 se construye EDVAC que consta de memoria programable. La primera computadora comercial, UNIVAC I, se utilizó para elaborar el censo de los Estados Unidos en 1950. A partir de aquí, IBM entró en la fabricación de computadoras electrónicas. En 1955 aparece la primera red informática de la mano de IBM, denominada SABRE. En 1957 surge el concepto de lo que hoy es internet, que fue una red de ordenadores distribuidos por los militares para defenderse, esta red fue ARPA. A partir de 1951 se empiezan a desarrollar los lenguajes de alto nivel.
Segunda Generación (1959-1964)
En 1947 aparece el transistor de la mano de Brattain, Shockley y Bardeen. Este descubrimiento reduce considerablemente el tamaño, y velocidad de proceso. En este momento se sustituyen las memorias de tambores por memorias basadas en núcleos magnéticos, donde pueden colocarse datos y programas. En 1957 IBM fabrica el primer disco magnético: RAMAC 650. En 1960 Douglass Engelbart crea un dispositivo capaz de mover un puntero en la pantalla, el ratón. En 1964 se desarrolla el lenguaje BASIC que se desarrolló pensando en la idea de que todos los estudiantes pudiesen trabajar con ordenadores.
Tercera Generación (1964-1971)
En 1958 Jack Kilby construyó el primer circuito integrado, con seis transistores hechos sobre la misma placa. Gracias a este circuito integrado se reducen aún más el tamaño de los equipos, sus requerimientos energéticos y se aumenta la velocidad de proceso. Los circuitos integrados permitieron incrementar la flexibilidad de los programas y así empezaron a aparecer las máquinas de serie estandarizadas. Gracias a estos desarrollos aparece el concepto multitarea y se desarrolla un nuevo método para comunicarse con la máquina: El Sistema Operativo.
Cuarta Generación (desde 1971)
Aparece el microprocesador, los chips de memoria, desaparecen los núcleos de ferrita y se desarrollan técnicas de integración en los componentes que permiten integrar cientos de miles de transistores en un chip. En 1969 BUSICOM e Intel comienzan a desarrollar un circuito integrado para una calculadora de mesa de bajo coste. En 1972 aparece la CPU 8080, que revolucionó el mercado de los microprocesadores al poderse aplicar en varios productos. También en 1972 IBM lanza el disco flexible. En 1977 Wozniak y Steven Jobs fundan Apple Computers. También en este año Zilog lanza el Z-80 un gran competidor del Intel 8080. En 1981 IBM sacó a la venta IBM PC, la primera computadora ideal para uso personal. A partir de 1988, cuando IBM presenta el ordenador personal IBM PS/2, el mercado del ordenador personal comienza a ganar auge al bajar los precios. En el 1993 Intel comercializa el 80586 o Pentium.
Criterios de Selección y Diseño en Sistemas Informáticos
Criterios de selección y diseño. La reacción de un sistema ante situaciones inesperadas determina su grado de fiabilidad. Los parámetros que influyen en las posibilidades de supervivencia son:
- Disponibilidad: Medida en la que los parámetros de funcionamiento se mantienen dentro de las especificaciones de diseño. En el hardware su estrategia se basa en el concepto de redundancia, que se aplica a todos los niveles y se puede continuar con el trabajo en caso de fallo en uno de los componentes.
- Robustez: Si ocurre un fallo de diseño, un accidente o una intrusión, un sistema eficiente debe de poder mantener un nivel de operatividad suficiente como para mantener unos mínimos de servicio.
- Seguridad: Las estrategias para prevenir acciones no deseadas son:
- Establecimiento de una serie de derechos y jerarquías de usuario.
- Encriptar datos que se emiten.
- Filtrar toda la información recibida.
- Fijar caminos de acceso predeterminado para la información.
- Detectar y reaccionar ante incoherencia en los mismos datos.
- Programas de vigilancia de otros programas.
- Prestaciones: Se refieren al tiempo de respuesta del sistema. El equipo debe poder asimilar toda la información que se genera, incluso en condiciones extremas.
- Mantenibilidad: Los tiempos de mantenimiento hay que reducirlos al mínimo, mediante herramientas de diagnóstico.
- Escalabilidad: La aplicación de control debe poder evolucionar, el sistema Scada debe poder ampliarse y actualizarse.
Tecnologías de Comunicación entre Aplicaciones
Tecnologías de comunicación entre aplicaciones. Los sistemas de control y monitorización se tienen que poner de acuerdo y trabajar en armonía para permitir la máxima eficiencia y proporcionar un acceso seguro a la información. A nivel de programación podríamos decir que un objeto es una subrutina de un programa. Las librerías de funciones tradicionales que contienen datos y funciones se les llama clases, y tienen tres rasgos diferenciadores:
- Encapsulado: Significa que los datos incluidos dentro de un objeto no son accesibles desde fuera de cualquier manera.
- Herencia: un objeto puede heredar las características de otro, para que no sea modificado.
- Polimorfismo: permite que objetos con funciones similares reaccionen de forma similar ante el mismo estímulo.
Saga ActiveX
Permite a los objetos utilizar un conjunto común de servicios para intercambiar información con otros. ActiveX comienza con Windows con otro nombre: DDE.
DDE: Tecnología de Intercambio Dinámico de Datos
Permite que cualquier aplicación basada en Windows, pueda intercambiar información con otra aplicación diferente. El intercambio de información se realiza a través de una memoria común mediante un protocolo que gestiona las funciones de diálogo. DDE puede ejecutar comando de otra aplicación. Utilizan estructura árbol. Una aplicación DDE puede ser:
- Cliente: solicita datos a un servidor.
- Servidor: Proporciona datos a un cliente.
- Cliente/Servidor: Solicita y proporciona información.
- Monitor: Puede acceder a mensajes, sin modificarlos.
OLE: Vinculación e Inserción de Objetos
Se diseñó para poder gestionar documentos compuestos por elementos heterogéneos. Un objeto puede insertarse o vincularse, si se inserta, forma parte física del documento, si se vincula, reside en un fichero propio creado por la aplicación. Una imagen vinculada consiste en un enlace que realiza también una copia del original para integrarla en el documento. El modelo de Componentes de Objetos (COM) permite definir cualquier elemento de campo mediante sus propiedades y permite proporcionar interoperabilidad. OCX (OLE Controls): Es un programa de propósito especial listo para ser utilizado por aplicaciones que se ejecuten en sistemas con Windows. OLE y COM soporta el desarrollo de programas de tipo plug&play.
ActiveX
Aparece con el advenimiento de internet. Facilita la tarea de implementar servicios en redes de comunicaciones y controles en servidores Web. No es lenguaje de programación, es un conjunto de reglas. Los controles ActiveX son programas que realizan tareas comunes en entornos Windows o Macintosh. Un objeto ActiveX se define como el que se adhiere al Modelo COM y debe cumplir estás características:
- Estar elaborado con código binario.
- Encapsulado en un archivo ejecutable.
- Contiene datos de presentación, datos de uso interno y funciones para manipular estos datos.
- Debe proporcionar una interfaz estándar.
- Puede intercambiar información entre procesos y máquinas.
La versión que soporta los datos distribuidos en red recibe el nombre de DCOM. OLE proporciona un entorno consistente que permite compartir el código a objetos, aplicaciones y componentes ActiveX.
OPC (OLE for Process Control)
Son las siglas de Ole for Process Control y es una tecnología diseñada para comunicar aplicaciones. Es un estándar para interconexión de sistemas basados en Windows y hardware de control de procesos. Es un estándar abierto que permite un método fiable para acceder a los datos desde aparatos de campo, y no depende del tipo y el origen de datos. Permite definir nuevas interfaces estandarizadas que, mediante el desarrollo de aplicaciones del tipo Cliente-Servidor, hace posible la comunicación entre elementos que cumplan el estándar. Permite arquitecturas de varios clientes y servidores. También fue diseñado por un grupo dedicado a detectar y plasmar las necesidades del entorno industrial en general. El programa servidor solo se escribe una vez y se utiliza entonces por cualquier software. La idea básica es que las posibles combinaciones deberán satisfacerse con un driver dedicado y los equipos deberán duplicar la información. Al aumentar la carga de comunicaciones estamos restando rendimiento a los equipos, pues deben enviar la información tantas veces como destinatarios hay en el sistema. OPC determina una interfaz estándar, de manera que los datos se reciben y envían de una determinada manera, independientemente del elemento que realice el intercambio. La tecnología que ha definido a OPC es la de incrustación de datos de Microsoft OLE y COM. OPC server permite el acceso local y remoto. El uso de la programación orientada a objetos de Ole proporciona muchas ventajas. Los componentes de OPC se pueden clasificar en dos categorías:
- OPC client: aplicación que solo utiliza datos.
- OPC server: aplicación que permite el acceso a elementos de un sistema automatizado desde otras aplicaciones.
Dentro de las especificaciones de la norma, las más comunes son:
- OPC DA: proporciona acceso en tiempo real a los datos de manera consistente. Los servidores OPC DA para cualquier elemento de campo proporcionarán los datos en un formato único, de manera que el software y hardware de control podrá intercambiar datos libremente.
- OPC HDA: Dedicado al acceso a datos de proceso exclusivamente. Permite el acceso a datos de proceso ubicado en archivos históricos de registradores, bases de datos o equipos remotos de forma estandarizada.
- OPC A&E: permite el acceso a alarmas de proceso y eventos por parte de los usuarios.
- OPC DX: Determina el método de intercambio de datos entre servidores OPC.
- OPC XML: permite el intercambio de datos de proceso entre sistemas operativos.
Cada producto cumplirá con un determinado conjunto de especificaciones OPC.
Comparativas OPC Server y ActiveX
Ambos basados en tecnología COM. ActiveX es una interfaz de usuario incluida dentro de otra aplicación y un servidor OPC es una aplicación independiente cuya función es recopilar datos de algún elemento de campo y hacer que sean accesibles a otras aplicaciones. Muchos controles ActiveX orientados a comunicaciones con PLC van incluidos dentro de unos paquetes de herramientas de software, y para OPC no será necesario modificar el código en caso de cambiar la aplicación.
Comparativa OPC Server y DDE Server
OPC es un estándar específico de comunicaciones entre equipos y DDE se utiliza para todo tipo de intercambio de información entre aplicaciones con base de sistema Windows.