El modelo de referencia de procesamiento distribuido abierto ( RM-ODP ) es un modelo de referencia en informática que proporciona un marco de coordinación para la estandarización del procesamiento distribuido abierto (ODP). Respalda la distribución , el interfuncionamiento , la independencia de la plataforma y la tecnología, y la portabilidad , junto con un marco de arquitectura empresarial para la especificación de sistemas ODP.
RM-ODP, también denominado Rec. UIT-T X.901-X.904 e ISO/IEC 10746 , es un esfuerzo conjunto de la Organización Internacional de Normalización (ISO), la Comisión Electrotécnica Internacional (IEC) y el Sector de Normalización de las Telecomunicaciones (UIT-T). [1]
El RM-ODP es un modelo de referencia basado en conceptos precisos derivados de los desarrollos actuales de procesamiento distribuido y, en la medida de lo posible, en el uso de técnicas de descripción formal para la especificación de la arquitectura . Muchos conceptos de RM-ODP, posiblemente bajo diferentes nombres, han existido durante mucho tiempo y han sido rigurosamente descritos y explicados en filosofía exacta (por ejemplo, en los trabajos de Mario Bunge ) y en pensamiento sistémico (por ejemplo, en los trabajos de Friedrich Hayek ). Algunos de estos conceptos, como abstracción , composición y emergencia , han recibido recientemente una sólida base matemática en la teoría de categorías .
RM-ODP tiene cuatro elementos fundamentales:
La familia de recomendaciones y estándares internacionales RM-ODP define un sistema de conceptos esenciales interrelacionados necesarios para especificar sistemas de procesamiento distribuido abierto y proporciona un marco de arquitectura empresarial bien desarrollado para estructurar las especificaciones de cualquier sistema a gran escala, incluidos los sistemas de software.
Gran parte del trabajo preparatorio que condujo a la adopción de RM-ODP como estándar ISO fue realizado por el proyecto Advanced Networked Systems Architecture (ANSA). Este proyecto se desarrolló entre 1984 y 1998 bajo la dirección de Andrew Herbert (actual director general de Microsoft Research en Cambridge) y en él participaron varias empresas importantes de informática y telecomunicaciones. Las partes 2 y 3 de RM-ODP se adoptaron finalmente como estándares ISO en 1996. Las partes 1 y 4 se adoptaron en 1998.
RM-ODP consta de cuatro recomendaciones básicas de la UIT-T y normas internacionales ISO/IEC : [2] [3] [4] [5]
La mayoría de las especificaciones de sistemas complejos son tan extensas que ninguna persona puede comprender por completo todos los aspectos de las especificaciones. Además, todos tenemos diferentes intereses en un sistema determinado y diferentes razones para examinar las especificaciones del sistema. Un ejecutivo de negocios hará preguntas diferentes sobre la estructura de un sistema que un implementador de sistemas. Por lo tanto, el concepto del marco de puntos de vista de RM-ODP es proporcionar puntos de vista separados sobre la especificación de un sistema complejo determinado. Cada uno de estos puntos de vista satisface a una audiencia con interés en un conjunto particular de aspectos del sistema. Asociado a cada punto de vista hay un lenguaje de puntos de vista que optimiza el vocabulario y la presentación para la audiencia de ese punto de vista.
El modelado de puntos de vista se ha convertido en un enfoque eficaz para abordar la complejidad inherente de los grandes sistemas distribuidos. Las prácticas actuales de arquitectura de software, como se describe en IEEE 1471 , dividen la actividad de diseño en varias áreas de interés, cada una de las cuales se centra en un aspecto específico del sistema. Algunos ejemplos incluyen el modelo de vista "4+1" , el marco Zachman , TOGAF , DoDAF y, por supuesto, RM-ODP.
Un punto de vista es una subdivisión de la especificación de un sistema completo, establecida para reunir aquellas piezas particulares de información relevantes para algún área particular de interés durante el análisis o diseño del sistema. Aunque se especifican por separado, los puntos de vista no son completamente independientes; los elementos clave de cada uno se identifican como relacionados con los elementos de los otros puntos de vista. Además, cada punto de vista utiliza sustancialmente los mismos conceptos fundamentales (definidos en la Parte 2 de RM-ODP). Sin embargo, los puntos de vista son lo suficientemente independientes como para simplificar el razonamiento sobre la especificación completa. La coherencia mutua entre los puntos de vista está asegurada por la arquitectura definida por RM-ODP, y el uso de un modelo de objeto común proporciona el pegamento que los une a todos.
Más específicamente, el marco RM-ODP proporciona cinco puntos de vista genéricos y complementarios sobre el sistema y su entorno:
Actualmente existe un creciente interés en el uso de UML para el modelado de sistemas. [ cita requerida ] Sin embargo, no existe un enfoque ampliamente aceptado para la estructuración de dichas especificaciones. Esto aumenta el costo de adoptar el uso de UML para la especificación de sistemas, dificulta la comunicación entre desarrolladores de sistemas y dificulta la relación o fusión de especificaciones de sistemas cuando existe la necesidad de integrar sistemas de TI.
Aunque el modelo de referencia ODP proporciona lenguajes abstractos para los conceptos relevantes, no prescribe notaciones particulares para ser utilizadas en los puntos de vista individuales. Los lenguajes de puntos de vista definidos en el modelo de referencia son lenguajes abstractos en el sentido de que definen qué conceptos deben usarse, no cómo deben representarse. Esta falta de notaciones precisas para expresar los diferentes modelos involucrados en una especificación de múltiples puntos de vista de un sistema es una característica común para la mayoría de los enfoques de arquitectura empresarial , incluido el Zachman Framework , el modelo " 4+1 " o el RM-ODP. Estos enfoques se definieron conscientemente de una manera neutral en cuanto a notación y representación para aumentar su uso y flexibilidad. Sin embargo, esto dificulta, entre otras cosas, el desarrollo de herramientas industriales para modelar las especificaciones de puntos de vista, el análisis formal de las especificaciones producidas y la posible derivación de implementaciones a partir de las especificaciones del sistema.
Para abordar estas cuestiones, la ISO/IEC y la UIT-T iniciaron en 2004 un proyecto conjunto: "ITU-T Rec. X.906|ISO/IEC 19793: Tecnología de la información - Procesamiento distribuido abierto - Uso de UML para especificaciones de sistemas ODP". Este documento (al que se hace referencia habitualmente como UML4ODP) define el uso del lenguaje de modelado unificado 2 (UML 2; ISO/IEC 19505) para expresar las especificaciones de los sistemas distribuidos abiertos en términos de las especificaciones de puntos de vista definidas por el RM-ODP.
Define un conjunto de perfiles UML , uno para cada lenguaje de puntos de vista y uno para expresar las correspondencias entre puntos de vista, y un enfoque para estructurarlos de acuerdo con los principios RM-ODP. El propósito de "UML4ODP" es permitir que los modeladores ODP utilicen la notación UML para expresar sus especificaciones ODP de una manera gráfica estándar; permitir que los modeladores UML utilicen los conceptos y mecanismos RM-ODP para estructurar sus grandes especificaciones de sistemas UML de acuerdo con una propuesta madura y estándar; y permitir que se utilicen herramientas UML para procesar especificaciones de puntos de vista, facilitando así el proceso de diseño de software y la especificación de la arquitectura empresarial de grandes sistemas de software.
Además, la Rec. UIT-T X.906 | ISO/IEC 19793 permite la integración perfecta del marco de arquitectura empresarial RM-ODP con la iniciativa de Arquitectura basada en modelos (MDA) de OMG y con la arquitectura orientada a servicios (SOA).
Además, hay varios proyectos que han utilizado o utilizan actualmente RM-ODP para estructurar eficazmente las especificaciones de sus sistemas:
Se incluyó una lista de referencia de 239 elementos que cubre los estándares RM-ODP, así como investigaciones, aplicaciones y estudios de casos relacionados. [17]