hdolder.com srl  

       Software R&D
     hdc Home    |    Contenido    |    KO1    |    Director    |    Direcciones    |    email    |   Twitter   
  M&P TBW - Portal

 

 

 

                                   v188

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]

Components-inside-Components (CIC)

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

Lenguaje de Scripting: BScript

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

   
     
Ver también:

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

 

 

 

  HDC hdolder.com srl

©2012 hdolder.com srl  

C__89
2011-12-21