SOA en entornos industriales (I)

Los entornos industriales se caracterizan por la complejidad de los procesos de fabricación, por la heterogeneidad de dispositivos de campo instalados (PCL, RTU, Controladores), por la diversidad de sistemas de información implantados (SCADA, MES, LIMS) y por la escasa integración existente entre los diferentes sistemas.

La existencia de islas de información y del desaprovechamiento de los datos generados por todos estos sistemas para la toma de decisiones es una realidad asociada a la gestión industrial.

En el ámbito de los sistemas transaccionales (ERP, CRM, SCM...), también existía este problema, pero la inclusión de arquitecturas SOA ha permitido resolver buena parte de las barreras que se encontraban para realizar proyectos de integración de aplicaciones.

El concepto de SOA ha sido tratado previamente en anteriores entradas.

http://redindustria.blogspot.com/2008/09/qu-es-soa-i.html

http://redindustria.blogspot.com/2008/09/qu-es-soa-ii.html

http://redindustria.blogspot.com/2008/09/qu-es-soa-y-iii.html

De todas ellas podemos extraer las siguientes ideas principales:

  • Service Oriented Architecture (SOA), es una nueva filosofía de diseño de aplicaciones que propone una alternativa a las tradicionales aplicaciones de negocio monolíticas basadas en objetos.
  • SOA propone que los procesos de negocio no se traduzcan en aplicaciones clásicas (desarrolladas con códigos difícilmente integrables y reutilizables), sino que éstos llamen a los servicios que necesitan para obtener resultados.
  • Los servicios deben estar débilmente acoplados y ser altamente interoperables, por lo que son muy importantes los protocolos que definen formalmente estos servicios y que permiten la comunicación con ellos y entre ellos.
  • Los estándares que han estado relacionados con SOA desde los comienzos han sido XML, SOAP y WSDL. Es decir, los que proporcionan la base para los Web Services. La definición más extendida de un Web Service es "función pública, encapsulada y débilmente acoplada ofrecida a través de protocolos estándar".
  • Por tanto, los Web Services son componentes accesibles desde diferentes aplicaciones, y que al estar basados en protocolos estándares, facilitan mucho la reutilización.

Pervasive Computing

Con esta denominación se conoce al modelo o paradigma de computación que pretende que todos los objetos y dispositivos de nuestra vida cotidiana incorporen algún tipo de procesador que les permita interactuar con nosotros para hacernos la vida "más cómoda". En castellano se suele utilizar el término computación ubicua (ubiquitous computing), aunque últimamente se habla mucho también de la inteligencia ambiental.

La integración de los procesadores (y de los sensores y actuadores que les permiten interactuar con su entornos) con el ambiente debe ser de un grado tan alto que los humanos prácticamente no percibamos su presencia y demos las órdenes y recibamos la información de una manera natural y transparente (la idea es que no seamos conscientes de estar rodeados por sistemas informáticos). Si se puede plantear este modelo de computación en la actualidad es gracias a, por un lado, el abaratamiento de los procesadores más sencillos, y por otro, la mejora en algunas de sus características como pueden ser la movilidad y autonomía (reducción en el consumo de potencia), el tamaño o la robustez. También han sido muy importantes las mejoras en redes de comunicaciones, que permiten el direccionamiento e interconexión de manera segura de dispositivos completamente heterogéneos en lo que se ha denominado Internet Of Things.

Las aplicaciones de este tipo de tecnología son prácticamente infinitas (casi todas ya exploradas en las películas de ciencia ficción...) y se ha comenzado por incorporarlas en ropa, electrodomésticos, aplicaciones domóticas y de SmartCity, etc. En futuras entradas hablaremos de las tecnologías asociadas a todos estos conceptos.


Cambio de imagen y nuevos propósitos

Como podréis observar hemos actualizado ligeramente la imagen de nuestro blog con la intención de comenzar el año 2012 con energías renovadas. Todos los proyectos personales y profesionales que tenemos en marcha nos han consumido tanto tiempo desde el verano que casi no hemos podido poner nuevas entradas, pero esperamos que esto cambie para el año nuevo.
De todas formas gracias a todos por vuestra participación en todos los seminarios, conferencias, cursos y demás de los últimos meses, también es muy agradable tratar con vosotros en persona.
Lo dicho, próspero año nuevo para todos, en Enero volvemos con nuevos contenidos y agenda.
Un abrazo,

Marta&Fernando

Lean Six Sigma


Como hemos discutido en entradas anteriores, las técnicas Lean Manufacturing tienen como objetivo último la reducción de lo que no aporta valor en los procesos de producción (muda). Estas técnicas suelen involucrar a todo el personal en su implementación, se basan en muchos casos en la utilización de grupos de mejora y se nutren en gran medida de la creatividad y del sentido común. Por el contrario, las técnicas basadas en Six Sigma (en concreto, en DMAIC, que es el enfoque incremental para la mejora continua) persiguen reducir la variabilidad de los procesos de producción, suelen involucrar sólo a un grupo de personas, y estas personas tienen que recibir formación muy específica en Six Sigma y en todas las herramientas estadísticas asociadas.

En principio, combinar en un proceso de mejora herramientas y metodologías de estos "dos mundos" que parecen tan dispares, no parece tarea sencilla. Pero, si lo pensamos bien, es más fácil reducir la variabilidad de lotes pequeños (muy asociados a las técnicas Lean), y es más fácil eliminar lo que no aporta valor en procesos de poca variabilidad (controlados). Por eso es tan interesante combinar las dos metodologías. 

Además, hay que tener en cuenta que las técnicas Six Sigma ayudan a reducir costes al productor mediante el control de sus procesos y la reducción de producción defectuosa. Pero no se preocupa de aportar valor al cliente. Por el contrario, Lean aporta valor al cliente minimizando todo aquello que es innecesario, pero no se preocupa por la variabilidad de los procesos ya que se estima que los defectos de producción son sólo 1/8 de las fuentes de muda en la producción.

Lean Six Sigma intenta aportar valor al cliente ayudando al productor a controlar sus procesos y a reducir sus costes, por lo que podría ser la solución perfecta en muchas plantas. Sin embargo esta metodología todavía está muy poco extendida, especialmente en España. En los proyectos que se están llevando a cabo, se utiliza la metodología DMAIC típica de Six Sigma pero contando en todo momento con los objetivos y las herramientas propios de Lean.


Muchos de estos proyectos no están teniendo todo el éxito esperado por falta de formación para el personal, falta de comunicación, liderazgo y una correcta gestión del cambio y sobre todo, por una mala definición del alcance del proyecto de mejora. Pero esperemos que estas barreras se vayan superando con el tiempo para poder obtener los beneficios esperados con esta herramienta tan potente.



¿Cómo es por dentro mi smartphone? (y II)

Los retos actuales en el diseño de SoC para smartphones son superar la barrera de 1GHz en la frecuencia de funcionamiento de los procesadores y pasar a arquitecturas multinúcleo (comenzando por las dual core igual que ha ocurrido en los PCs). En esta dirección hay que destacar el diseño del NVidia Tegra 2 que incorporan los "superphones" de Motorola, LG y Samsung. Está basado también en un diseño ARM, pero en lugar del ARM11 habitual, incorpora dos ARM Cortex A9. Intel está trabajando también en un diseño basado en su procesador Atom que consuma menos potencia y se pueda incorporar en teléfonos móviles, aunque todavía no hay ninguna explotación comercial de este nuevo procesador.

Otros retos abiertos en la actualidad son la incorporación de displays 3D a los teléfonos y la mejora del tratamiento de imágenes y vídeo, pero estos tienen más que ver con el diseño de la GPU.

La evolución de los procesadores gráficos para móviles en los últimos años ha sido incluso más rápida que la de las GPUs para tarjeta gráfica de PC. Esto es debido a la importancia que ha adquirido la calidad de los gráficos en este tipo de dispositivos al ser la interfaz con el usuario del sistema operativo renderizada por la GPU (siendo en muchos casos 3D, excepto en Windows Mobile). La arquitectura de las GPUs móviles es muy variada, y bastante diferente de la de las GPUs para tarjeta gráfica: están alimentadas por baterías, sirven a una CPU con repertorio de instrucciones limitado, su frecuencia de funcionamiento es baja, tienen poca capacidad de memoria y escaso ancho de banda en la conexión, etc.

Por este motivo suelen trabajar en tiles de 16x16 píxeles de manera que no hacen el renderizado de la imagen completa de una pasada, sino que lo van haciendo por partes. Además utilizan técnicas de compresión de datos para minimizar las necesidades de ancho de banda con memoria.