30
Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft Clientes inteligentes Extensiones .NET de Office - VSTO Octavio Hernández | Danysoft

Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

  • Upload
    tom

  • View
    33

  • Download
    8

Embed Size (px)

DESCRIPTION

Clientes inteligentes Extensiones .NET de Office - VSTO Octavio Hernández | Danysoft. Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft. Agenda del día. Introducción Presentación de VSTO Creación de proyectos Excel y Word Consideraciones de despliegue - PowerPoint PPT Presentation

Citation preview

Page 1: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Haciendo visible el camino a .NETIV Encuentro de programadores Microsoft

& Danysoft

Clientes inteligentes

Extensiones .NET de Office - VSTOOctavio Hernández | Danysoft

Page 2: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

IntroducciónPresentación de VSTO

Creación de proyectos Excel y Word Consideraciones de despliegue Consideraciones de seguridad

Demostración prácticaConclusiones

Agenda del día

Page 3: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Introducción

Page 4: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Situación actualAplicaciones web

Facilidad de instalación y mantenimientoMulti-plataformaImpacto en el cliente

Aplicaciones WindowsInterfaz de usuario más ricaAcceso a recursos localesTrabajo 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

Page 5: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

VSTO

Page 6: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Visual Studio Tools for Office

Page 7: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Extiende el desarrollo .NET a las soluciones de negocio basadas en OfficePermite a los desarrolladores de C# y VB.NET utilizar VS.NET para asociar código a hojas Excel y documentos WordCódigo separado del documento para simplificar el despliegue y mantenimientoUtiliza la seguridad que ofrece .NET

Visual Studio Tools for Office

Page 8: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

NET Framework v 1.1VS.NET 2003 Profesional o superiorAyuda MSDNMicrosoft Office 2003 Profesional

Ensamblados primarios de interoperabilidad (P.I.A.) para Excel, Word, Forms, Graph

VSTO

Requisitos para la instalación

Page 9: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Creación de proyectos Excel y Word

Page 10: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Principales características

Page 11: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Imports System.Windows.FormsImports Office = Microsoft.Office.CoreImports Excel = Microsoft.Office.Interop.ExcelImports MSForms = Microsoft.Vbe.Interop.Forms

' Atributo de integración con Office. Identifica la clase inicial del documento. <Assembly: System.ComponentModel.DescriptionAttribute( _

"OfficeStartupClass, Version=1.0, Class=SampleXLProject.OfficeCodeBehind")>

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) _ Handles ThisWorkbook.BeforeClose Cancel = False End SubEnd Class

Características de un proyecto VSTO Referencias a

ensamblados

Atributo para integración Office

Variables Documento y

Aplicación

Eventos Open (New) y Close

Page 12: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Componentes de un proyecto VSTO

Page 13: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Cargador incorporado en Word y ExcelCuando 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

Carga del código

Page 14: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Carga del código (2)

Usuario abredocumento

CustomProps?

Trusteddoc?

Trustedcode?

Disparar eventoNew/Open

NO

STOP

NO

STOP

STOP

Traerassembly

NO

DescargarAppDomain

ERROR

Conectareventos

SI

ERROR

SI

CrearAppDomainERROR

Cargar CLRSI

ERROR

Page 15: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Consideraciones de despliegue

Page 16: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Requisitos para las máquinas clientesOffice 2003 Profesional.NET Framework 1.1Las PIAs referenciadas por el ensambladoPolíticas de seguridad apropiadas

Elementos básicos

Page 17: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Despliegue Local/Local

A favor:No se requiere acceso a la redLos usuarios pueden modificar el documento

En contra:Las actualizaciones al documento o ensamblado requieren la redistribución a cada usuario

Local / Local

Page 18: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Despliegue Local/Red

A favor:Las actualizaciones al ensamblado se simplificanLos usuarios pueden modificar y personalizar el documento

En contra:Las actualizaciones al documento requieren la redistribución a cada usuarioLocal / Red

Page 19: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Despliegue 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

Red / Red

Page 20: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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 ExplorerEsto permite a los documentos locales utilizar un ensamblado cacheado cuando la red no esté disponible

Acceso offline al ensamblado

Page 21: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Consideraciones de seguridad

Page 22: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Confianza del código

Page 23: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Confianza del código (2)

Page 24: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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.

Confianza de los documentos

Page 25: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Se deben configurar las políticas de seguridad en cada máquina en la que la extensión gestionada de Office será cargadaMecanismos para asignar los permisos:

Caspol.exe (línea de comandos) Herramienta de configuración de .NET Framework

Despliegue con Windows Installer, SMS, etc.

Configuración de políticas

Page 26: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Conclusiones

Page 27: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

VSTO permite extender el desarrollo .NET a Office 2003Los desarrolladores que utilicen VS.NET podrán crear ensamblados code-behind para hojas de Excel y documentos WordEl código está separado del documento, lo que simplifica el despliegue y mantenimientoSe aprovecha la mayor seguridad que garantiza .NET Framework

Conclusiones

Page 28: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Diseñador visual integrado en Visual Studio 2005Posibilidad 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ñoObjeto ActionsPane, para crear paneles de tareas personalizados para documentos OfficeEnlace a datos ADO.NET“Islas” de datos, que hacen posible escenarios offlineClase ServerDocument, que hace posible la programación del lado del servidor

Novedades en VS2005

Page 29: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Más información Danysoft

Información y artículos, www.danysoft.comServicios Profesionales, [email protected], utilidades, licencias y libros: www.danyshop.com , [email protected]

VSTOSitio web sobre VSTO, msdn.microsoft.com/vstudio/office/Sección en SmartClient Developer Center, msdn.microsoft.com/smartclient/

Page 30: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

¡Gracias por su asistencia!

Para cualquier consulta, no dude en contactar con Danysoft:

Servicios Profesionales: 902 343484 | [email protected] Software, utilidades y licencias: 902 123146 | [email protected] www.danysoft.com