haciendo visible el camino a .net iv encuentro de programadores microsoft & danysoft
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 PresentationTRANSCRIPT
Haciendo visible el camino a .NETIV Encuentro de programadores Microsoft
& Danysoft
Clientes inteligentes
Extensiones .NET de Office - VSTOOctavio Hernández | 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
Introducción
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
VSTO
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
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
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
Creación de proyectos Excel y Word
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
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
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
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
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
Consideraciones de despliegue
Requisitos para las máquinas clientesOffice 2003 Profesional.NET Framework 1.1Las PIAs referenciadas por el ensambladoPolíticas de seguridad apropiadas
Elementos básicos
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
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
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
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
Consideraciones de seguridad
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
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)
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
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
Conclusiones
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
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
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/
¡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