Title: Haciendo visible el camino a 'NET IV Encuentro de programadores Microsoft
1Clientes inteligentesExtensiones .NET de Office
- VSTOOctavio Hernández Danysoft
- Haciendo visible el camino a .NETIV Encuentro de
programadores Microsoft Danysoft
2Agenda del día
- Introducción
- Presentación de VSTO
- Creación de proyectos Excel y Word
- Consideraciones de despliegue
- Consideraciones de seguridad
- Demostración práctica
- Conclusiones
3Introducción
4Situación actual
- Aplicaciones web
- Facilidad de instalación y mantenimiento
- Multi-plataforma
- Impacto en el cliente
- Aplicaciones Windows
- Interfaz de usuario más rica
- Acceso a recursos locales
- Trabajo desconectado
- Office es el cliente rico más utilizado
- Herramientas productivas y fáciles de usar
- Problemas potenciales de mantenimiento,
despliegue y seguridad - .NET Framework
- Potencia y flexibilidad del cliente rico
- Facilidad de despliegue y estabilidad del modelo
basado en navegador
5VSTO
6Visual Studio Tools for Office
- Permite a los desarrolladores utilizar MS Office
como plataforma para el desarrollo y despliegue
de soluciones de negocio, aprovechando toda la
potencia de .NET y VS.NET. - Permite el desarrollo de clientes ricos para
Office - Seguros
- Más fiables
- Más potentes
- Más fáciles y rápidos de desarrollar
- Más fáciles de actualizar
7Visual Studio Tools for Office
- Extiende el desarrollo .NET a las soluciones de
negocio basadas en Office - Permite a los desarrolladores de C y VB.NET
utilizar VS.NET para asociar código a hojas Excel
y documentos Word - Código separado del documento para simplificar el
despliegue y mantenimiento - Utiliza la seguridad que ofrece .NET
8Requisitos para la instalación
- NET Framework v 1.1
- VS.NET 2003 Profesional o superior
- Ayuda MSDN
- Microsoft Office 2003 Profesional
- Ensamblados primarios de interoperabilidad
(P.I.A.) para Excel, Word, Forms, Graph - VSTO
9Creación de proyectos Excel y Word
10Principales características
- Plantillas de proyectos C y VB.NET
- Hoja Excel, documento y plantilla Word
- Asistente de Proyectos Office
- Puede utilizar un documento existente o crear
uno nuevo - Hace referencia a los PIAs correspondientes al
tipo de proyecto - Genera automáticamente el código para
inicializar el proyecto y disparar los eventos de
la aplicación Office - Crea la configuración de seguridad necesaria
para la ejecución en la máquina de desarrollo
11Características de un proyecto VSTO
Referencias a ensamblados
- Imports System.Windows.Forms
- Imports Office Microsoft.Office.Core
- Imports Excel Microsoft.Office.Interop.Excel
- Imports MSForms Microsoft.Vbe.Interop.Forms
- ' Atributo de integración con Office. Identifica
la clase inicial del documento. - ltAssembly System.ComponentModel.DescriptionAttrib
ute( _ "OfficeStartupClass, Version1.0,
ClassSampleXLProject.OfficeCodeBehind")gt - Public Class OfficeCodeBehind
- Friend WithEvents ThisWorkbook As
Excel.Workbook - Friend WithEvents ThisApplication As
Excel.Application - Private Sub ThisWorkbook_Open() Handles
ThisWorkbook.Open - Dim sheet1 As Excel.Worksheet
CType(ThisWorkbook.Worksheets(1),
Excel.Worksheet) - Dim rng As Excel.Range
sheet1.Range("A1") - rng.Value "Hello World!"
- End Sub
- Private Sub ThisWorkbook_BeforeClose(ByRef
Cancel As Boolean) _
Atributo para integración Office
Variables Documento y Aplicación
Eventos Open (New) y Close
12Componentes de un proyecto VSTO
- Dos componentes
- Un documento Office que actúa como front end
de la solución - Un ensamblado (code-behind DLL) que contiene el
código compilado del proyecto - Un ensamblado por documento
- El ensamblado se enlaza al documento mediante
propiedades personalizadas - _AssemblyName0
- _AssemblyLocation0
- Ruta local, UNC o HTTP relativa o absoluta
13Carga del código
- Cargador incorporado en Word y Excel
- Cuando se abre el documento
- El cargador busca las propiedades personalizadas
- Se carga el CLR dentro del proceso
- Se trae a memoria el código
- Si el documento y el código son de confianza, el
código es activado
14Carga del código (2)
15Consideraciones de despliegue
16Elementos básicos
- Requisitos para las máquinas clientes
- Office 2003 Profesional
- .NET Framework 1.1
- Las PIAs referenciadas por el ensamblado
- Políticas de seguridad apropiadas
17Despliegue Local/Local
- A favor
- No se requiere acceso a la red
- Los usuarios pueden modificar el documento
- En contra
- Las actualizaciones al documento o ensamblado
requieren la redistribución a cada usuario
18Despliegue Local/Red
- A favor
- Las actualizaciones al ensamblado se simplifican
- Los usuarios pueden modificar y personalizar el
documento - En contra
- Las actualizaciones al documento requieren la
redistribución a cada usuario
Local / Red
19Despliegue Red/Red
- A favor
- Las actualizaciones al ensamblado y al documento
se simplifican - En contra
- Los usuarios no pueden modificar o personalizar
los documentos maestros
20Acceso offline al ensamblado
- Los ensamblados que se despliegan a través de la
red mediante direcciones http// o https//
pueden beneficiarse de la funcionalidad de caché
del Internet Explorer - Esto permite a los documentos locales utilizar un
ensamblado cacheado cuando la red no esté
disponible
21Consideraciones de seguridad
22Confianza del código
- El CLR sólo ejecuta código de confianza
- Por defecto, el código local es fiable
- El código descargado de Internet se ejecuta con
confianza parcial, a menos que se indique
explícitamente que el sitio es de confianza. - Cuando el código obtiene permiso de ejecución,
se ejecuta con los permisos del usuario - Pero es necesario protegerse de los ataques
basados en que se ejecute código cuando los
usuarios abran un documento
23Confianza del código (2)
- VSTO redefine la política de seguridad por
defecto del CLR. - El ensamblado requiere la asignación explícita de
confianza total (FullTrust) - Política a nivel de usuario, si está en la
máquina local - Política a nivel de máquina, si está en la red
24Confianza de los documentos
- La confianza de los documentos también debe ser
explícita - Esto ayuda a prevenir la reutilización maliciosa
del código de confianza - Si el documento está
- En la máquina local no se necesita una
política - Enviado por e-mail no es de confianza
- En la red se requiere una política de
FullTrust a nivel de máquina para el documento.
Se debe utilizar MSOSEC.DLL.
25Configuración de políticas
- Se deben configurar las políticas de seguridad en
cada máquina en la que la extensión gestionada de
Office será cargada - Mecanismos para asignar los permisos
- Caspol.exe (línea de comandos)
- Herramienta de configuración de .NET Framework
- Despliegue con Windows Installer, SMS, etc.
26Conclusiones
27Conclusiones
- VSTO permite extender el desarrollo .NET a Office
2003 - Los desarrolladores que utilicen VS.NET podrán
crear ensamblados code-behind para hojas de Excel
y documentos Word - El código está separado del documento, lo que
simplifica el despliegue y mantenimiento - Se aprovecha la mayor seguridad que garantiza
.NET Framework
28Novedades en VS2005
- Diseñador visual integrado en Visual Studio 2005
- Posibilidad de embeber controles de Windows Forms
en documentos de Excel y Word - Controles de vista, para ser arrastrados sobre
documentos Office en tiempo de diseño - Objeto ActionsPane, para crear paneles de tareas
personalizados para documentos Office - Enlace a datos ADO.NET
- Islas de datos, que hacen posible escenarios
offline - Clase ServerDocument, que hace posible la
programación del lado del servidor
29Más información
- Danysoft
- Información y artículos, www.danysoft.com
- Servicios Profesionales, sp_at_danysoft.com
- Software, utilidades, licencias y libros
www.danyshop.com , info_at_danysoft.com - VSTO
- Sitio web sobre VSTO, msdn.microsoft.com/vstudio/o
ffice/ - Sección en SmartClient Developer Center,
msdn.microsoft.com/smartclient/
30Gracias por su asistencia!
Para cualquier consulta, no dude en contactar con
Danysoft Servicios Profesionales 902
343484 sp_at_danysoft.com Software, utilidades
y licencias 902 123146 info_at_danysoft.com
www.danysoft.com