Esta pagina pertenece al eBook de M&P y algunos de
sus links no están habilitados en la Web Download eBook
Destinatarios del eBook
El eBook está destinado a Desarrolladores de Aplicaciones Informáticas
en el ambiente .NET Framework de MS que buscan una muy elevada
productividad de desarrollo (10x - 20x respecto a los sistemas de desarrollo
usados en la actualidad).
El eBook incluye una Sección titulada "Resumen
Ejecutivo" dirigida a lectores no especializados que deseen conocer
las funciones y los beneficios que pueden obtener de
M&P.
M&P es un sistema para desarrollar e implementar
aplicaciones informáticas basado en un computador virtual que denominamos
MPVC desarrollado con el objetivo de procesar en forma directa
especificaciones de aplicaciones expresadas en forma de modelos (ver
Abstract).
MPVC integra tres procesadores (virtuales) especializados
denominados
M&P™, onBOARD™ y BLOCKS™.. Para
cada uno de estos procesadores se ha definido una plataforma de desarrollo de
aplicaciones con el mismo nombre (M&P, onBOARD y BLOCKS,
respectivamente). El eBook contiene información completa sobre esta
colección de componentes y además
describe una aplicación desarrollada con M&P denominada KO1™.
KO1™ integra el "combo" porque es de gran utilidad para la
recolección de requerimientos, el desarrollo y la documentación de una aplicación.
MPVC está construido utilizando
la tecnología del .NET Framework de Microsoft.
Las Plataformas M&P, onBOARD y BLOCKS son
extensiones de la Plataforma .NET.
M&P, onBOARD y BLOCKS proveen
una interface de programación de alto nivel en relación con .NET (sin restringir
el acceso a la plataforma .NET) con el objeto de simplificar y acelerar el
desarrollo de las aplicaciones.
Interdependencias
El procesador básico de MPVC es onBOARD. M&P y BLOCKS utilizan onBOARD.
La relación de dependencia entre los componentes es:
KO1™ -> M&P™/BLOCKS™ -> onBOARD™
-> MS .NET™
Procesamiento Distribuido en Internet
Varios computadores virtuales (MPVC) pueden interoperar, en modo
peer-to-peer, localmente o a través de Internet permitiendo el
procesamiento distribuido de las aplicaciones.
Las Plataformas M&P,
onBOARD y BLOCKS, permiten implementar
Aplicaciones distribuidas sobre la red Internet.
El Valor Central: Adaptación Dinámica
El concepto que guía la evolución del sistema M&P en su conjunto
es el de Adaptación Dinámica de las Aplicaciones a lo largo de todo su
ciclo de vida. En la sección "M&P resumen Ejecutivo" se
describe como surgió la idea de desarrollar un Computador Virtual para lograr
este objetivo.
onBOARD
provee la funcionalidad básica del Computador Virtual. onBOARD
implementa la arquitectura de componentes software Plug-and-Play
(componentes conectables dinámicamente).
Las aplicaciones M&P responden al
esquema declarativo-imperativo:
Applications =
Markup + Code
y su
código de alto nivel reside en componentes Plug-and-Play (Plugins) Los Plugins se codifican
en C#. VB, o cualquiera de los 20+ lenguajes .NET disponibles, utilizando MS Visual Studio (VS 2008).
Para la interoperación con los Plugins el procesador
onBOARD ejecuta interpretativamente un dialecto del lenguaje Lisp
[R1] diseñado especialmente y denominado mpLISP. El
componente de onBOARD que interpreta el código mpLISP se denomina Procesador mpLISP.
Las instrucciones del procesador mpLISP están "micocodificadas" en C#.
El conjunto de instrucciones built-in (nativas) de mpLISP puede ser
extendido fácilmente mediante "microcódigo" escrito en cualquiera de los
lenguajes disponibles en la Plataforma .NET. A la inversa, funciones
de las Aplicaciones pueden encapsularse en instrucciones mpLISP.
Lisp es un lenguaje interactivo. mpLISP
provee interactividad "nativa" al sistema M&P facilitando la prueba unitaria
de las aolicaciones. El procesamiento interactivo se realiza mediante una
Consola de Comandos provista por onBOARD la que también puede ser integrada en
las aplicaciones.
onBOARD actúa como Plugin Manager permitiendo la configuración dinámica de las
Aplicaciones y actúa también como Dispatcher/Router de Servicios y Eventos entre Plugins.
El intercambio de información entre Plugins se realiza mediante
exoresiones Lisp que pueden contener
datos y/o lógica. Se logra de esta manera contar con un canal de
comunicaciones de banda ancha entre los componentes.
El rol del procesador onBOARD es análogo al rol del
'Controller' en el Pattern MVC (Model-View-Controller). [R2]
Valor Agregado por el procesador M&P
M&P extiende el computador virtual de onBOARD para convertirlo además en un
Model-Driven System. M&P hace que el computador virtual pueda interpretar directamente, en tiempo-real, Modelos de alto nivel de las Aplicaciones.
Un modelo describe en forma declarativa-imperativa
(Markup + código) la estructura y el
comportamiento de una aplicación en forma simple y compacta. M&P
permite incluir Scripts mpLISP en el Markup y conectar eventos definidos en el
Markup con Event-Handlers definidos en Plugins.
M&P permite implementar In-Memory-Data-Bases (IMDBs)
las cuales se crean dinámicamente a partir de la información contenida en los
modelos.
M&P maneja la interoperacion con las Bases de Datos Relacionales
utilizadas por la aplicación. M&P encapsula el procesamiento de Transacciones con la Base de Datos
Relacional y la
Resolución de Conflictos de Concurrencia escondiendo su complejidad.
Valor Agregado por
el procesador BLOCKS
El procesador BLOCKS permite implementar el paradigma "Event-Driven
Data-Flow" entre componentes, locales o distribuidos, de las aplicaciones.
El procesador BLOCKS utiliza el procesador onBOARD.
La Plataforma BLOCKS permite definir componentes,
denominados BLOCKs, e interconectarlos en forma declarativa y/o
imperativa (Markup y/o código) .