En una reunión del Consejo Asesor de Microsoft Business Framework celebrada en Redmond la semana pasada, me recordaron una vez más que faltan buenos modelos de componentes en las herramientas de diseño de objetos. El mejor que he visto fue creado por el primer software Scrum de Easel Corporation en 1993. Hubo una implementación razonable del mismo en el entorno Object Studio Smalltalk (ahora propiedad de Cincom) y en un producto de pruebas de Jeff McKenna. Aparte de eso, las implementaciones elegantes de diseño de componentes no se encuentran por ninguna parte.
Un estudiante preguntó a un Maestro Zen si debía ir a estudiar con un maestro que decía estar iluminado. El Maestro Zen, coleccionista de raros budas de madera, hizo una pausa y luego exclamó: "Hay maestros iluminados por todas partes... pero un buen buda de madera es difícil de encontrar".
Hay patrones y modelos de objetos por todas partes, pero un buen modelo de componentes es más difícil de encontrar que un buen buda de madera.
--------------------------------------------------------------------------------
Grupo de Gestión de Objetos, Business Object Domain Task Force
Conjuntos: Un patrón de diseño de componentes para objetos empresariales
4-6 de junio de 1995, San José, CA
Doc No: OMG TC Document CF/96-01-04
Doc. Fecha: 25 Jun 1995 - actualizado 1997, 2004 a petición
--------------------------------------------------------------------------------
Resumen
Las empresas de éxito generan innovación continua mediante la generación de conocimiento utilizando un proceso de desarrollo de productos Scrum documentado por Nonaka y Takeuchi en The Knowledge Creating Company: Cómo las empresas japonesas crean la dinámica de la innovación. El proceso de desarrollo SCRUM, un entorno avanzado de desarrollo de aplicaciones de software, puso de manifiesto la necesidad de integrar sin fisuras la reingeniería de los procesos empresariales con innovaciones radicales en el proceso de desarrollo de software.
Las principales ventajas de la tecnología de objetos se basan en la reutilización de componentes compatibles entre sí. Las bibliotecas de clases han tenido un éxito limitado a la hora de facilitar la reutilización porque el coste de encontrar clases, leer código y comprender la lógica suele ser mayor que escribir nuevas clases desde cero. Además, los frameworks creados a partir de las bibliotecas de clases actuales no suelen poder actualizarse tras su instalación sin que se caiga la aplicación, ya que la noción de componente no está bien definida y no es posible la compatibilidad de plugins.
La reingeniería empresarial conduce a la especificación de procesos empresariales que se implementan mejor como objetos reutilizables de gran tamaño. Estos objetos son componentes dinámicos, encapsulados y basados en instancias que son ortogonales a la jerarquía de clases del sistema de objetos. Se explicará el concepto de conjunto, que ha aparecido con poca frecuencia en la literatura informática, y se describirá una implementación específica, el conjunto S&M. Los conjuntos S&M están diseñados para ser componentes escalables, anidados y compatibles con plugins que pueden generarse físicamente como objetos OLE/COM o Javabeans.
Este trabajo ha estimulado a la OMG Business Object Domain Task Force a desarrollar una RFP para una infraestructura de sistemas de objetos de negocio que abarque dominios específicos de aplicación. La estandarización de una infraestructura basada en componentes es un primer paso fundamental hacia la creación de marcos de objetos empresariales reutilizables e interoperables, que son el futuro del desarrollo de aplicaciones corporativas. La reingeniería de los procesos empresariales exige un replanteamiento radical de nuestro enfoque del desarrollo de software y hacer realidad componentes de objetos empresariales reutilizables y compatibles entre sí.
La presentación de OMG sobre S&M Ensembles, un patrón de diseño para la especificación rigurosa de componentes, se ha actualizado para la Web y apareció como artículo principal en SunExpert, enero de 1997, y Aplicaciones webmayo/junio de 1997. Se publicó como parte de un manual de CRC Press sobre tecnología de objetos como Business Objects y la evolución de Internet. Para consultar un borrador de la especificación original del conjunto creado por el primer software Scrum, véase:
Sutherland, J. y McKenna, J. (1993) Conjuntos. Corporación Easel