Página principal
Artículos y trucos
Catálogo de productos
Ejemplos y descargas
Mis libros
Cursos de formación
Investigación y desarrollo
Libros recomendados
Mis páginas favoritas
Acerca del autor
 
En colaboración con Amazon
 
Intuitive Sight

PROTEUS

Intuitive Sight España, con la colaboración de IntSight México, anuncia el inicio del proyecto Proteus, cuyo objetivo principal es la creación de un producto que acelere la programación de servidores de capa intermedia para .NET. El nombre del proyecto se refiere al dios griego Proteus, del que se dice que podía adoptar la forma que le viniera en ganas. En este momento ya existe un prototipo funcional del proyecto, y la principal tarea pendiente son los detalles de optimización para su funcionamiento en tres capas.

Una definición breve de Proteus, aunque necesariamente inexacta, sería "Midas para .NET". Cada servidor de capa intermedia programado en .NET es hijo de su padre y de su madre... quiero decir, que no hay nada en común entre ellos. Eso es bueno: significa libertad para el programador. Eso es malo: los primeros proyectos de este tipo tendrán que reinventar la rueda. La primera idea de Proteus es:

  1. Proteus define un juego de interfaces remotas, de las que un servidor remoto puede implementar las que necesite. Algunas de estas interfaces son en realidad interfaces alternativas: el programador puede elegir entre ellas según sea más adecuado para su proyecto. Una interfaz especial obligatoria informa a los clientes remotos sobre las capacidades implementadas en un servidor en particular.

Pero esto, con menos ambición quizás, lo hace ya Midas/DataSnap. Con Midas es necesario programar la capa intermedia mediante componentes... y mucho código escrito a propósito: para mantener las relaciones m/d, para soportar la paginación de consultas grandes, para llamar procedimientos almacenados desde la capa de presentación y, sobre todo, para implementar reglas de empresa en la capa de negocios (¡gracias a esta dificultad existen nuestros cursos a distancia, por cierto!). Esto último hace que, una vez compilado un servidor Midas, sea extraordinariamente complicado modificar las reglas de negocio que implementa. De ahí la gran importancia del segundo objetivo de Proteus:

  1. Proteus permite definir entidades en la capa intermedia mediante un fichero de configuración XML. Como consecuencia, la tarea inicial de un programador que quiere crear una aplicación con Proteus como servidor de capa intermedia, es "programar" ese fichero de configuración. Para esta tarea se ofrecen herramientas interactivas basadas en el esquema relacional de las bases de datos a las que se va a acceder.

Genesis

Un factor importante para el éxito de Proteus es la posibilidad que ofrece .NET de usar interfaces como CodeDom, que permiten la generación y compilación dinámica de código ejecutable. Por último, uno de los aspectos más costosos en este tipo de proyecto es la infraestructura necesaria para su implantación.

  1. Proteus debe ofrecer toda la infraestructura necesaria para implantar el servicio remoto dentro de un servicio Web y dentro de .NET Remoting, ya sea como aplicación de servicio totalmente encapsulada o alojado dentro de Internet Information Services.

El siguiente diagrama resume la estructura de los módulos de Proteus:

Proteus Modules

En breve seguiremos ofreciendo información sobre este proyecto, y sobre cómo obtener beneficios por adelantado del mismo.