RPC: Remote Procedure Call

Seguimos con el middleware, ya que parece que el tema ha resultado de interés.

Remote Procedure Call (RPC) es una tecnología que permite la comunicación entre procesos ubicados en diferentes máquinas sin que el programador tenga que preocuparse explícitamente de especificar esta comunicación. Es decir, RPC permite que un proceso cliente invoque a otro servidor en una máquina remota igual que si invocara a uno local.

Se ve claramente que RPC es el paradigma clásico de las arquitecturas cliente/servidor. El cliente envía una petición de ejecución al servidor junto con los parámetros necesarios, el servidor está constantemente a la escucha de este tipo de peticiones, así que la recibe, ejecuta el proceso solicitado y devuelve los resultados al cliente. Mientras el servidor realiza la ejecución solicitada, el cliente está bloqueado esperando la respuesta.

De hecho la única diferencia importante ente ejecutar procesos locales y remotos cuando se utiliza RPC está en el que programador debe protegerse de los fallos de red cuando las llamadas son remotas, ya que si no, se corre el peligro de que la aplicación quede bloqueada y no finalice.

Para que los procesos en los servidores puedan ser llamados desde distintos tipos de clientes, es necesario definir unos estándares de invocación mediante un IDL (Interfaz Description Language).

Algunos ejemplos de tecnologías RPC o que permiten RPC son DCOM (Microsoft), ONC RPC (Sun), DCE/RPC (OSF), RMI (Java) o XML-RPC. Los Web Services, de los que hemos hablado en entradas anteriores, también permiten utilizar RPC.
ddd

¿Qué es un middleware?

Este término se utilizó por primera vez en una conferencia de Ingeniería del Software que celebró la OTAN en 1968, pero es en los últimos años en los que se ha hecho popular gracias al éxito de las arquitecturas cliente/servidor, de los sistemas distribuidos y de SOA.

Lo primero que hay que decir es que el middleware es un software. Pero no es una aplicación habitual, se trata de un software orientado a proporcionar conectividad, interoperabilidad o integración entre diferentes aplicaciones, normalmente distribuidas, y en el peor de los casos, sobre recursos heterogéneos. Para ello, suele ser una capa de sofwatere que se encuentra entre las aplicaciones y los sistemas operativos/recursos HW locales.

Tal y como dice la Wikipedia (para una vez que me ha gustado, pongo la cita): "El middleware nos abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, así como de los sistemas operativos y lenguajes de programación, proporcionando una API para la fácil programación y manejo de aplicaciones distribuidas".

Ya hemos hablado de diferentes tipos de middleware en entradas anteriores, los más habituales son de dos tipos: Remote Procedure Call (RPC) ó Message Oriented Middleware (MOM). Hablaremos de ello en entradas futuras.
ffff

La Capa Tiempo Real en los GIS

La gestión del Ciclo Integral del Agua es una actividad clave en nuestro país. La palabra integral es muy significativa. Se pretende gestionar de forma completa y exhaustiva, todas las fases por las que pasa el agua. Extracción, desalación, conducción, depuración, distribución, potabilización, gestión de residuales, etc...
,
Tiene sentido que para realizar esta gestión integral sea necesario llevarla a cabo a través de sistemas cada día más integrados. El concepto de integración de sistemas en el Sector Aguas es hoy en día una necesidad. Y dentro de esta integración hay un sistema que cada vez más se posiciona como el corazón de esta integración. El GIS (Geographical Information System).
No pretendemos explicar de forma concisa que es un GIS, (para ello podéis acceder a este link donde encontraréis una definición del mismo), sino aclarar cómo el GIS integra Sistemas de Gestión en Tiempo Real (SCADA).
m
Creo que es bueno concretar la diferencia entre un Mapa Interactivo y un GIS y el tipo de integración existente:
Soluciones como Map Point o Google Map son mapas interactivos en los que existen puntos georeferenciados. Es decir, podemos ubicar la posición de una determinada estación de bombeo, remotas, depuradoras, etc...
  • La integración con estos dispositivos consiste normalmente en que dentro del propio SCADA, incluimos esta aplicación, de forma que referenciamos una coordenada en la que se ubica un determinado dispositivo (una válvula, por ejemplo) y en una pantalla (en forma de faceplate), nos aparece la visualización y estado en tiempo real de esta válvula, así como las alarmas y datos históricos asociados a esta. Este tipo de integración es válida y hoy en día en muy valorada por los usuarios del SCADA.
m
Sin embargo el termino GIS lleva implícita en su definición la palabra integración. Buscando en Internet, esta es la defición que encontramos:
  • Un Sistema de Información Geográfica (SIG o GIS, en su acrónimo inglés) es una integración organizada de hardware, software y datos geográficos diseñado para capturar, almacenar, manipular, analizar y desplegar en todas sus formas la información geográficamente referenciada con el fin de resolver problemas complejos de planificación y gestión.
  • Otra forma de decir lo mismo: cualquier sistema de información capaz de integrar, almacenar, editar, analizar, compartir y mostrar la información geográficamente referenciada.
n
Observamos cómo la palabra integración aparece siempre. La estructura de un GIS se realiza por capas. Es decir, puede mostrar la información en capas temáticas para realizar un análisis multicriterio complejos.(Ejemplo de capas: vías de comunicación, equipos georeferenciados, núcleos de población, red fluvial, altitudes, modelos y algoritmos matemáticos, etc).
m
Pues bien, la integración de un sistemas de Gestión Corporativa en Tiempo Real, se realiza introduciendo una CAPA de Gestión de Dispositivos e Información en Tiempo Real de los elementos georeferenciados o sirviendo como base de datos para nutrir los modelos matemáticos que permiten simular situaciones.
m
Es decir, el GIS necesita de una Base de Datos donde se guarden todos los datos referentes al control de los dispositivos de campo que permiten el Ciclo Integral del Agua, y herramientas que permitan explotar la información fácilmente. Hemos de tener en cuenta que el usuario del GIS, no es el usuario del SCADA, sino está más cerca de un Sistema Transaccional. De modo que hay que habilitarle herramientas con las que se sienta confortable.
m
Por ejemplo: Un usuario GIS tendrá disponible una CAPA Tiempo Real del estado de un válvula. La dinámica se realizaría de esta manera:
  • Internamente, los datos serán recogidos en una base de datos.
  • El usuario tendrá predefinido un informe que le diagnosticará el estado de dicha válvula.
  • Además, esta información será utilizada por el algoritmo de simulación que le pemitirá predecir situaciones futuras.
  • Por último, podrá abrir un pop up accediendo a un entorno Web en el que podrá ver un sinóptico del dispositivo y su estado actual.

m

Día Internacional de la Seguridad Informática

El Lunes 1 de Diciembre se celebra el Día Internacional de la Seguridad Informática en la Universidad Politécnica de Madrid.


Os lo recomiendo tanto por los temas que se van a tratar como por los ponentes, además no tenéis excusa, es sólo en sesión de mañana.


Inscripción gratuita en:


http://www.capsdesi.upm.es/


SAP adquiere Visiprise

No es casualidad que SAP haya adquirido Visiprise con el fin de potenciar su presencia en el ámbito MES. En este link podéis acceder a una descripción de las soluciones MES que Visiprise ofrece.

http://www.visiprise.com/solutions.htm
b
Desde mi punto de vista, no hay duda que Visiprise cuenta en su portafolio de soluciones con productos que cubren estas tres áreas de gestión:

  • Planificación.

  • Ejecución órdenes de fabricación.

  • Gestión de la Calidad.


Es decir, cubren perfectamente la mayoría de funcionalidades que una solución MES debería tener según MESA.
m
Leyendo la información que viene en la web, echo en falta la resolución de estos temas:

  • ¿Cómo se solventa la adquisición de datos de los dispositivos de campo?. OPC es un estándar, pero no siempre puede o debe utilizarse.

  • ¿Qué tipo de base de datos se utiliza para almancenar datos de proceso?

  • ¿Cómo se solventa la gestión de eficiencias y paradas de línea?

  • ¿Cómo se abordan los proyectos Batch con esta solución?


Me gustaría que opináseis acerca de la acción realizada por SAP y cómo puede afectar a los proveedores de Sistemas MES (Wonderware, Siemens, Rockwell...)
m