|
El sistema M&P permite diseñar, desarrollar e implementar aplicaciones
.NET en los ambientes Desktop, Web y Mobile en
forma modular utilizando componentes intercambiables y reutilizables
denominados BLOCKS.
El sistema integra un conjunto de recursos que se describen en la sección "Recursos
de M&P". Estos recursos componen la Plataforma TBW (The BLOCKS
World)
Para la construcción de software M&P usa un paradigma
análogo al de los
conocidos "interlocking LEGO® bricks": las aplicaciones se construyen
("componen") conectando BLOCKS.
M&P provee un conjunto de BLOCKS "nativos"
Así como los medios para la
construcción rápida de BLOCKS "custom" (Domain BLOCKS).
Las aplicaciones M&P pueden ser usados tanto en los desktop Windows (XP SP3,
Vista y Windows 7), como en los Browsers y en los dispositivos móviles basados
en Windows Phone 7.X.
Las aplicaciones M&P son fácilmente portables entre los ambientes
Desktop, Web y Mobile.
La Tecnología básica utilizada en M&P
La Plataforma TBW
está¡ construida sobre la base de la Plataforma .NET (.NET
Framework) de Micorsoft, extendiéndola (sin restringirla) y proveyendo un nivel
de abstracción mas elevado orientado a la modularización de las aplicaciones y
su adaptación dinámica a requerimientos cambiantes.
TBW utiliza el XAML Engine de .NET y las
tecnologías WPF/Silverlight. M&P extiende la funcionalidad
del databinding de XAML de manera de operar en modo multithreading.
Si bien en .NET el XAML Engine fue creado para sopoortar la
funcionalidad de
WPF/Silverlight/WF en TBW se extiende su funcionalidad para soportar todos
los aspectos de una aplicación.
El M&P Runtime (MPR), basado en el XAML Engine, esta organizado como un
Computador Virtual que tiene la capacidad de crear código dinámicamente
("al vuelo") y de ejecutar código interpretativamente e interactivamente.
Composición Declarativa mediante XAML
En M&P la "composición" de una aplicación, en toda su
extensión, se realiza en forma declarativa mediante el lenguaje
XAML de manera de facilitar la visualización y edición de la
estructura de componentes.
La conexión de los componentes se realiza mediante las facilidades
de databinding de XAML.
| M&P TBW es el primer sistema que utiliza
Composición Declarativa para desarrollar todos los
aspectos de las aplicaciones. [10-feb-2011] 
|
M&P permite crear
fácilmente "Components-inside-Components" (CIC) sin limite
de profundidad. Esta facilidad permite implementar múltiples niveles de
abstracción (tantos como resulte conveniente).
Runtime Environment
|
El procesamiento de las aplicaciones se basa en un "Runtime Environment"
concebido como un Computador Virtual y construido también con BLOCKS
M&P.
[hacer click en la imagen]
|
Procesamiento Distribuido y Paralelo
El MPR tiene capacidad nativa de procesamiento paralelo y de
procesamiento
distribuido en Intermet en modalidad peer-to-peer (P2P).
Para el procesamiento paralelo M&P define el
concepto de "Paralelismo Implícito" en el que los BLOCKS
operan en paralelo por default.
En el
procesamiento distribuido varios MPR residentes en diferentes procesadores
interactúan entre si. La modalidad P2P permite que cualquiera de los MPR pueda
iniciar una interacción cuando sea necesaria.
Procesamiento event-driven Dataflow
El procesamiento se hace en la modalidad "event-driven Dataflow".
Esta modalidad permite que los BLOCKS operen en paralelo asincrónicamente
aprovechando las facilidades multicore, manycore y hyperthreading del hardware.
M&P facilita la programacion CPS (Continuation Passing
Style).
Aplicaciones Modulares
La modularización permite reducir la complejidad de una aplicación
desde el
punto de vista humano maximizando su comprensión cualquiera sea la envergadura
de la aplicación.
La modularización es una implementación del paradigma "divide and conquer".
M&P permite particionar y distribuir las funciones de una aplicación en "módulos
funciónales" de manera de facilitar su comprensión y manipulación durante todo
su ciclo de vida.
M&P permite encapsular funcionalidad dentro de los limites lógicos
precisos establecidos por los BLOCKS.
Ventajas de la Modularidad
Una aplicación correctamente modularizada posibilita que sus
actualizaciones y extensiones puedan hacerse con comodidad, rapidez y
total confiabilidad.
Interoperación basada en Interfaces
Los BLOCKS interoperan entre si a
través de interfaces definidas
separadamente. Una interface expresa los elementos ofrecidos y/o requeridos por
un BLOCK para realizar sus funciones.
Todas las dependencias entre BLOCKS se basan en Interfaces
y no en BLOCKS concretos. Esto facilita la prueba unitaria (Unit
Testing) de los BLOCKS.
Polimorfismo de Interfaces
Varios BLOCKS que proveen variantes funciónales utilizando una misma interface resultan intercambiables.
Intercambiablidad de los BLOCKS
La disponibilidad de BLOCKS intercambiables permite reconfigurar
fácil y
rápidamente una aplicación para adaptarla a diferentes circunstancias.
M&P permite la configuración
dinámica (Plug & Play) de las
aplicaciones mediante el uso de interfaces.
Tipos de Aplicaciones
Las aplicaciones M&P pueden ser de muy diversa naturaleza: data-driven,
event-driven y process-driven (workflow).
Las aplicaciones M&P son esencialmente
- Event-Driven Dataflow
- Distribuidas
-
Paralelas - Multithreaded
- Configurables
dinámicamente (Plug-and-Play) por demanda
M&P provee un lenguaje de Scripting denominado BScript cuya
sintaxis y semántica es similar a la del lenguaje LISP
El
Procesador BScript (BSP) del MPR interpreta expresiones "BSX" (BScript eXpresssions)
y está codificado en C#.
Un objeto BSX puede contener datos y programas BScript.
BSX es un tipo de dato definido por el MPR.
Los objetos BSX
desempeñan un rol fundamental en la arquitectura de
procesamiento distribuido de M&P que está basada en la evaluación
remota de BSXs.
La sintaxis y la semántica de BScript hacen que los procesos de
serialización y deserialización necesarios para la comunicación entre
procesadores remotos pueda realizarse con máxima velocidad y eficiencia.
Los objetos BSX
también desempeña±an un rol fundamental en el esquema Plug-and-Play
permitiendo resolver en forma simple problemas de "late-binding".
BScript es
también el lenguaje dinámico e interactivo de M&P.y provee un mecanismo simple para la
realización de Pruebas Unitarias en forma interactiva mediante la Consola
BScript.
BScript provee un conjunto nativo de funciones que es
extendido por el
Diseñador de acuerdo a las necesidades de la aplicación.
Lenguajes utilizados en las aplicaciones
En M&P se utilizan los lenguajes XAML, C# y BScript.
La estructura de la aplicación se describe declarativamente
mediante XAML y los comportamientos (Behaviors) se codifican en
C#.
BScript aporta el ambiente interpretativo e interactivo requerido por los
aspectos dinámicos de las aplicaciones.
El código BScript se integra tanto al código XAML como al código C#.
Los BLOCKS M&P
Para la construcción de las aplicaciones M&P provee un conjunto nativo
de BLOCKS y de interfaces reutilizables.
M&P provee tambien un conjunto de clases, interfaces y microgeneradores de
código que permiten crear "custom BLOCKS (Domain BLOCKS) para
contener la funcionalidad propia de la aplicación.
Adaptación Dinámica de aplicaciones complejas
El objetivo central de M&P TBW es posibilitar la adaptación
dinámica
de aplicaciones complejas frente a requerimientos volátiles y
cambiantes. Este objetivo se logra principalmente mediante la
modularización, los Plugins Plug-and-Play, la intercambiabilidad de los
BLOCKS y los scripts BScript.
M&P provee a las aplicaciones una gran capacidad de
autoorganización.
|
Portabilidad Desktop-Web-Mobile
Las aplicaciones M&P TBW son fácilmente portables entre
los ambientes Desktop (WPF), Web (Silverlight) y
Mobile (Windows Phone 7.5/Silverliht).
[hacer click en la imagen para ver ejemplo]
|
Otras características importantes
FAQ Iniciales
Elementos básicos
Procesamiento Distribuido en Internet
¿ Porqué la tecnología básica de BScript
es LISP y no otra ?
Portabilidad Desktop-Web-Mobile
Top concepts
behind M&P TBW
Tabla de Contenido
|