Integrando con VSTO

En este articulo les traigo una vista simple de lo que podemos realizar con VSTO (Visual Studio Tools for Office), las necesidades actuales de muchas organizaciones que realizan software actualmente es integrar a los paquetes como office(para este ejemplo voy a desarrollar las demos sobre Office 2007 pero sería válido para Office 2003 con algunas modificaciones de presentación entre otras) sus aplicaciones, como logramos esto con el menor impacto, de forma consistente, reusable y bonito… este será un acercamiento para resolver el objetivo….

Tecnología:

  • Visual Studio 2008 – VSTO
  • Herramienta de modelado EA 7.0

Eje del problema:

Tenemos un desarrollo de un aplicativo en nuestra organización que maneja entidades de documentos específicos asociados a operaciones específicas dentro del dominio del problema de negocios del cual nos vamos a abstraer. La idea es llevar de forma simple una arquitectura para enlazar nuestro plugin de office a la base general y poder interactuar de forma transparente con Office.

Bien… podríamos trabajar sobre una solución para Outlook, Excel, Word o Power Point, para este ejemplo veremos un esquema Outlook en donde la idea es solamente realizar una operación declarada en nuestra lógica de negocios:


Como muestra la figura, esas son las templates para Office 2003 veamos las opciones para Office 2007:


Aquí hay algo extra de integración con SharePoint e Infopath, pero para esta demo solo veremos un ejemplo sobre Outlook, ahora repasemos un poquito la arquitectura de la tecnología expuesta (VSTO):


Este es un esquema de componentes que nos provee la Plataforma Dotnet para el manejo de aplicativos Office, ahora veamos la idea que les traigo para trabajar a nuestro aplicativo en un esquema de integración.


De esta forma tendríamos dos presentaciones para mi desarrollo sobre Outlook, consumiendo un componente de lógica genérico, este integrable a servicios, este escenario no es el objetivo del artículo pero podrían ser servicios web tranquilamente.

Veamos la presentación sobre Office 2007 donde me pareció interesante Ribbon(Designer):


Una vez creado el esquema de presentación lo visualizamos de esta manera:


Este tipo de desarrollo permite manejar de forma muy simple las opciones requeridas a incluir en mi desarrollo para integrar funcionalidad al paquete Office. Lo que debemos definir es en que segmento son utilizadas las utilidades a programar en el ribbon, para esto debemos retocar una propiedad el type:


 


En este ejemplo se visualizan las opciones sobre la tarea pero puedo optar según mis requerimientos cambiar esta funcionalidad de forma muy simple.

Bien, presentado el esquema de presentación plantearé un ejemplo de llegada a un sistema heredado. Veamos un diagrama de clases aplicando un abstract factory para llegar a documentos de un sistema heredado.


 


Vemos como puedo llegar desde un documento general con implementación de interface para Actividades, controles y documentos especiales.

Veamos cómo funciona este example..


Esta es la demo en funcionamiento, muestra la entrada para disparar actividades a mi componente genérico que mostré en el esquema de clases y permite reusar esto por todo el set del paquete office, con respecto a su presentación una buena opción es Ribbon como les mencioné que permite una flexibilidad interesante para el desarrollo.

Finalmente podremos integrar funcionalidad e interactuar con esta sorprendente suite que nos provee la empresa Microsoft de forma consistente simple y segura.

Espero les sea de utilidad…


Entradas más populares de este blog

TensorFlow, una simple aproximación al calculo numérico en Python

7 arquetipos #Polymer 1.0 puntos esenciales prácticos

Iniciando la representación de una mobile-web-page pensando en el rendimiento - Parte 1