Aplicaciones de linea de negocio con silverlight y share point
-
Upload
roberto-carlos -
Category
Documents
-
view
79 -
download
2
description
Transcript of Aplicaciones de linea de negocio con silverlight y share point
Aplicaciones de Negocio con Silverlight 5
…+ SharePoint ☺
¿Quién soy?
• Rodrigo Díaz Concha– Blog: rdiazconcha.com
– E-mail: [email protected]
– Twitter: @rdiazconcha
• Microsoft Silverlight MVP, MCSD, MCTS, MCPD, MCT, Orador de INETA Latam
• Master Trainer de Silverlight (Silverlight Tour)
– silverlight-tour.com
• Fundador de La Liga Silverlight – Primer Comunidad MSDN en Español acerca de Silverlight
– blogs.LigaSilverlight.com
• Orador frecuente en eventos en Guatemala, El Salvador, Costa Rica, Venezuela, Colombia, Perú, Chile y México
Agenda
• ¿Silverlight?• Arquitectura de Aplicaciones Silverlight• Aplicaciones de Escritorio• Acceso a Datos• Enlace de Datos• El Patrón de Diseño Model-View-
ViewModel (MVVM)
¿Silverlight?
¿Silverlight?
• La realidad:– Silverlight 5 será liberado muy pronto– 1 millón de desarrolladores– Adopción creciente– Plataforma de desarrollo para Windows
Phone 7.x– Hay un equipo entero para XAML en
Windows 8– No compite con HTML 5
¿Qué usar?
WebParts de Silverlight
Aplicaciones de Escritorio
• Se configuran en las Propiedades del Proyecto de Silverlight
• Se crea el archivo OutOfBrowserSettings.xml– Al compilar, se mezcla
con el Manifiesto<OutOfBrowserSettings
ShortName="Ejemplo"
EnableGPUAcceleration="False"
ShowInstallMenuItem="True">
<OutOfBrowserSettings.Blurb>Esto es un
ejemplo</OutOfBrowserSettings.Blurb>
<OutOfBrowserSettings.WindowSettings>
<WindowSettings Title="Ejemplo"
Height="480" Width="640" Top="10"
Left="10" WindowStartupLocation="Manual"
/>
</OutOfBrowserSettings.WindowSettings>
<OutOfBrowserSettings.Icons />
</OutOfBrowserSettings>
Aplicaciones de Escritorio
• El usuario debe permitir explícitamente la instalación y definir el lugar para los accesos directos
• Por seguridad: el botón de OK tarda 3 segundos en habilitarse
Aplicaciones de Escritorio
• Pueden ejecutar como cualquier otra aplicación de escritorio– Confianza Parcial (por defecto)– Confianza Elevada (opcional)
DEMO: CREANDO UNAAPLICACIÓN DE ESCRITORIO
Acceso a Datos
• SharePoint– Modelo de Objetos de SharePoint (a partir de 2010)– Servicios Web de SharePoint
• No SharePoint– Servicios SOAP– Servicios REST– WCF– WCF Data Services– WCF RIA Services– … etc. !
Acceso a Datos
• Modelo de Objetos de SharePoint para Silverlight– Microsoft.SharePoint.Client.dll– http://msdn.microsoft.com/en-
us/library/ee537855.aspxClientContext clientContext =
ClientContext.Current;
oWebsite = clientContext.Web; ListCollection
collList = oWebsite.Lists;
//Usa los datos obtenidos
Acceso a Datos
• Proxies cliente– Agregando la referencia a un Servicio Web
autodescriptivo (WSDL)
• WebClient• HttpWebRequest / HttpWebResponse
Manejo de Datos
• XML– LINQ para XML– XmlReader– XmlSerializer
• JSON– DataContractJsonSerializer– JSON.NET
• POCO
DEMO: ACCEDIENDOSERVICIOS SOAP Y REST
Enlace de Datos
• Modelo sencillo y poderos• Permite una separación de
preocupaciones entre las diferentes capas• No modificas directamente los controles
Control Destino Objeto Fuente
DEMO: ENLACE DE DATOS
¿Qué es MVVM?
• Patrón de Diseño natural para plataformas de XAML– {Binding}
• Ventajas– Separación de preocupaciones– Pruebas Unitarias– Mantenimiento de código– Consistencia– Desacoplamiento– Flujo de trabajo entre diseñadores y
desarrolladores
Model-View-ViewModel
ViewViewViewView
ViewModelViewModelViewModelViewModel
ModelModelModelModel
Model-View-ViewModel
• Vista– Interface de Usuario– Estilos, Recursos– UserControl, Page,
ChildWindow, DataTemplate
– El Contexto de Datos es el ViewModel
– Poco o nada de code-behind
– Actualizada a través de Bindings
– Comportamientos
ViewViewViewView
ViewModelViewModelViewModelViewModel
ModelModelModelModel
Model-View-ViewModel
• Modelo de la Vista– Abstracción de la Vista– Adapta el Modelo a la Vista– Mantiene el estado– Expone propiedades a las
que se enlaza la Vista (datos y Comandos)
– Expone métodos que los Comportamientos de unaVista pueden invocar
– Desacoplamiento y Testability es el objetivoprincipal
ViewViewViewView
ViewModelViewModelViewModelViewModel
ModelModelModelModel
Model-View-ViewModel
• Modelo– Tu dominio– Objetos de datos
• DTO, POCO• Modelo de datos
generado• Modelo de proxy
generado
– Capa de Servicios• Repositorios• Objetos de Negocio
ViewViewViewView
ViewModelViewModelViewModelViewModel
ModelModelModelModel
DEMO: MVVM
Patrocinadores
Platino
Oro
Plata
Recuerde completar la evaluaciòn de la charla
¡Gracias!
@rdiazconcha