Cono Sur, Noviembre de 2006

 

Número 14 

 

Del Editor

 

Niveles de abstracción, granularidad y alineación con el negocio:

 

En la editorial de este mes queremos abordar un par de temas con los cuales nos venimos encontrando en reiteradas oportunidades y proyectos desde hace ya varios años. De hecho se podría decir que venimos hablando y madurando nuestras ideas y experiencias sobre estos temas desde las épocas de MTS (Microsoft Transaction Server) y COM+ (Windows Component Services) o más genéricamente hablando desde la época de gloria del desarrollo de software basado en componentes (Component-Based Development) y que ahora en épocas de Orientación a Servicios y Arquitectura Orientada a Servicios (con tecnologías habilitadoras como Web Services) toman especial relevancia.

 

El primer punto que queremos analizar tiene que ver con el nivel de abstracción de los servicios en relación a los componentes y objetos. En este sentido, más allá que este punto no garantice que el servicio haya sido diseñado correctamente, los servicios deberían ser concebidos a un nivel de abstracción más alto que el que habitualmente tiene un componente de lógica de negocios.

 

 

El segundo punto es la granularidad de los servicios. Este aspecto está directamente vinculado con la funcionalidad que expone cada servicio, porque por definición, un servicio debería exponer una capacidad funcional concreta, alineada con las necesidades de mi negocio. Analicemos este punto a partir de un ejemplo: Si mi negocio necesita un servicio que procese un orden de compra, entonces la capacidad funcional de mi servicio debería ser diseñada de tal forma que el mismo reciba un mensaje con la información de la orden de compra a procesar para posteriormente retornar un mensaje con el resultado de dicho procesamiento. Ahora supongamos por un momento que en lugar de diseñar mi servicio de la forma mencionada anteriormente, diseñamos 2 servicios aislados que se dediquen a resolver parte de la funcionalidad requerida, por ejemplo, el primero recibiría un mensaje con los datos del cliente asociado a la orden de compra y el segundo se encargaría de procesar un mensaje con los artículos comprados. Si bien, desde el punto de vista técnico, estaríamos haciendo algo parecido, desde el punto de vista conceptual no estamos exponiendo la capacidad funcional al nivel de granularidad que mi negocio requiere. En el primer escenario planteado decimos que tenemos una interface con granularidad “más gruesa” o “Coarse-Grained Interface” y a medida que nos vamos metiendo dentro del sistema la funcionalidad expuesta debe necesariamente ser más rica porque se aleja de la funcionalidad abstracta de nivel superior y vamos (en el camino planteado en el escenario 2) teniendo interfaces con granularidad “más fina” o “Fine-Grained Interface”.

 

Y por último, la correcta combinación de los dos aspectos mencionados anteriormente (nivel de abstracción y granularidad) nos permitiría construir servicios alineados con las capacidades funcionales requeridas por mi negocio, obteniendo lo que se denomina como “Business-Friendly Services”.

 

Para obtener más información sobre estos temas los invitamos desde aquí a consultar este artículo de arquitectura publicado en MSDN:

 

Service-Oriented Architecture: Considerations for Agile Systems

 

Será hasta el próximo mes!

 

Martín Cabrera

Martin.Cabrera@microsoft.com

Arquitecto de Software

Microsoft Cono Sur

 

Wilson Pais

Wilson.Pais@microsoft.com

Gerente Socios Desarrolladores & Académicos

Microsoft Cono Sur

 

 

 

 

 

 

 

Lanzamiento Windows Vista, Office System 2007 y Exchange Server 2007
El pasado 30 de noviembre, Microsoft realizó el lanzamiento para grandes empresas de las nuevas versiones de Windows, Office y Exchange Server convirtiéndose en uno de los lanzamientos más importantes para la compañía.
 

 

Microsoft libera .Net Framework 3.0
El .Net Framework 3.0 ha sido oficialmente liberado. Puede obtener los componentes en las siguientes direcciones:

·          .NET Fx 3.0 Runtime Components

·          SDK for Vista & .NET Fx 3.0

·          .NET Fx 3.0 (WWF)

·          .NET Fx 3.0 (WCF, WPF)

 

 

 

 

 

 

 

 

El Motor de Reglas de Windows Workflow Foundation
Atención! Aquellos que están buscando un motor basado en reglas (y especialmente aquellos que están pensando en hacerse uno propio). Windows Vista,  incluye un motor de reglas de propósito general, accesible para nuestras aplicaciones. Este artículo describe dicha pieza, comenta cómo las reglas son modeladas, evaluadas y encadenadas.

 

 

Capacitación para Desarrollo en Windows Vista
Anticipando el lanzamiento del sucesor de Windows XP es que ponemos disponible, para arquitectos de soluciones y desarrolladores, una serie de webcasts acerca de cómo será desarrollar en la nueva plataforma. Conozca el ROI de adoptar Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), CardSpace y Windows Workflow Foundation (WF)

 

 

 

 

AjaxPatterns.org
AjaxPatterns.org comenzó como una colección de patrones de diseño que formaron la base del libro “Ajax Design Patterns”, para terminar convirtiéndose en el wiki actual con todo tipo de información referente a la tecnología Ajax.

 

 

SWF2XAML – Adobe Flash to XAML Conversion Tool
Michael Swanson ha creado una herramienta que permite transformar archivos Macromedia SWF en código XAML.

 

 

 

 

 

 

 

 

Enlaces

 

 

Journal de Arquitectura
de Microsoft Corp

 

Microsoft Architecture Resource Center

 

Microsoft Patterns & Practices

 

MSDN Magazine

 

International Association
of Software Architects

 

The Server Side NET

 

Channel 9 Videos

 

Conozca las experiencias de éxito de sus colegas:

- Argentina

- Bolivia

- Chile

- Paraguay

- Uruguay

 

 

 

 

 

 

 

Fun Stuff

 

 

Las Aventuras de Ricky & Stick
Si se ha divertido leyendo las historias de Dilbert, no puede dejar de leer las aventuras de Ricky y Stick, que mediante historias muy sencillas muestran las realidades del software, adquisicion, gobernabilidad entre otros temas.
 

 

Eventos

 

 

Webcasts de
Arquitectura (español)

 

Webcasts de Arquitectura (inglés)

 

Webcasts de
Patterns & Practices

 

 

 

 

Los 10 Webcasts
mejor rankeados

 

 

 

 

 

 

 

<Arquitectura y Desarrollo>
La Reusabilidad en Crisis

 

 

 

A lo largo del tiempo hemos ido cambiando de paradigmas, de tecnologías y de estilos de arquitectura, entre otras cosas motivados por la promesa de una mejor ecuación de ROI mediante el reuso de componentes. Sin embargo en la práctica, la reusabilidad no es tan evidente y cada nueva promesa (OOP, SOA, etc) habla de la reusabilidad como si los intentos anteriores no hubieran existido. Qué es lo que realmente pasa? La reusabilidad... es posible?

 

link

 

 

 

 

 

 

 

 

 

 

 

<Arquitectura de Soluciones>
Maximizar el re-uso de servicios dentro de su SOA

 

 

 

Una de las inquietudes más frecuentes que tienen los arquitectos de soluciones hoy en día, es el poder sacar un mejor provecho de sus servicios mediante la re-utilización de su funcionalidad. Este artículo explora algunos de los puntos clave a tener en cuenta para lograr este objetivo.
 

link

 

 

  

 

<Arquitectura de Soluciones>
Gráficos para llevar 

 

 


Con la introducción del .Net Compact Framework 2.0 y un nuevo conjunto de herramientas (como el Device Emulator Manager) la posibilidad de crear aplicaciones móviles que hagan uso intensivo de las capacidades gráficas de los dispositivos se ha hecho mucho más simple.

Este artículo recorre alguna de estas y otras mejoras que están accesibles en Visual Studio 2005 y el .Net Compact Framework 2.0

link   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Usted ha recibido este boletín pues está registrado como miembro en nuestro grupo de
Arquitectos de Software o nos ha manifestado su interés por estos temas. Si desea no recibir más este boletín seleccione aquí: cancelar suscripción

Si ha recibido este boletín de un colega y gusta recibirlo mensualmente, puede suscribirse aquí: suscribirme al newsletter.

© 2006 - Microsoft Cono Sur