Exprimiendo SharePoint 2010 Andrés Iturralde Premier Field Engineer [email_address] Juan Pablo García González Solution Architect [email_address] http://jpgarcia69.wordpress.com /
Agenda Tour sobre SharePoint 2010 Herramientas Visual Studio 2010 SharePoint Designer 2010 Panel del Desarrollador Tecnologías de Datos Server Object Model LinQ Client Object Model Servicios REST
Microsoft  SharePoint 2010 La  plataforma colaborativa  para la empresa y la Web
Acciones personalizadas del lado del cliente Ribbon sensible al contexto Personalizaciones Gráficas Framework de Diálogos, Ribbon, Barra de Estado y Área de Notificación
Formularios SharePoint reemplazables Abrir como página Web o como diálogo Personalizaciones Gráficas Framework de Diálogos, Ribbon, Barra de Estado y Área de Notificación
SharePoint 2010 ¿Qué ha cambiado?
Desarrollando con Windows 7 SharePoint Foundation o SharePoint Server Requiere SO de  64  bits No está soportado para producción Windows 7
Visual Studio 2010 Herramienta de desarrollo para SharePoint 2010 Soporte para Soluciones SandBox Empaqueta e instala proyectos SharePoint Diseñadores de WebParts, BDC y Workflows Genera WSP para deploy en producción Soporte para Business Connectivity Services (BCS) Integración con Team Foundation Server Soporte para Intellitrace  Soporte para Unit Testing
SharePoint Designer 2010 Herramienta sin código para SharePoint 2010 Gratis para crear y editar artefactos SharePoint Nuevas herramientas: Entidades BDC Esquema de Listas Acciones personalizadas Diseñador de Tareas/Aprobación Herramientas mejoradas: Diseñador de Workflow Editor de páginas Trabaja en conjunto con Visual Studio 2010
Panel del Desarrollador stsadm -o setproperty -pn developer-dashboard -pv ondemand
Herramientas Visual Studio 2010 Panel del Desarrollador
Tecnologías de Datos Cliente Servidor Listas fuertemente tipadas Listas debilmente tipadas Listas fuertemente tipadas Listas debilmente tipadas Nuevo en 2010 Mejorado Métodos, MOSS LINQ Farm Site List Data External Lists Client OM REST APIs Web   Services
Server Object Model Arquitectura de Servidor
SPSite SPWeb SPList SPField SPListItem Server Object Model Arquitectura de Sitio
Tecnología de Datos Server Object Model
Programación basada en entidades Intellisense y Tipos Fuertes Soporte de Joins de Listas y Proyecciones Join de listas por campo de búsqueda entre ellos Join múltiples listas (A -> B -> C) Proyecta cualquier campo desde listas enlazadas en un query sin cambiar el esquema de la lista LinQ to SharePoint Language Integrated Query
LinQ to SharePoint Pasos para utilizar LinQToSharePoint
Tecnología de Datos LinQ
Client Object Model Librería de lado cliente para llamar remotamente a SharePoint Subconjunto de objetos del lado del servidor Usable en JavaScript, .NET CLR, Silverlight Requests encolados para mejor rendimiento Usado por UI de SharePoint
Client Object Model .NET CLR: 14\ISAPI Silverligh: 14\TEMPLATE\LAYOUTS\ClientBin Empaquetado en .XAP JavaScript: Usa <ScriptLink>/SP.SOD.execute para agregar archivos JS Microsoft.SharePoint.Client 281kb Microsoft.SharePoint.Client.Runtime 145kb SP.js 380kb SP.Core.js 13kb SP.Runtime.js 68kb
Client Object Model Tres cosas a saber ClientContext es el objeto central Antes de leer una propiedad, debes preguntar por ella Todos los requests son enviados en un batch clientContext = new ClientContext( “ http://MiSitio ” ); clientContext.Load(list); clientContext.ExecuteQuery();
Client Object Model C#
Client Object Model JavaScript
Client Object Model Accesando a Datos Servidor Aplicación Cliente Proceso resultados Ejecuta los comandos en el batch: Resultado de regreso comando 1; comando 2; comando 3; Client.svc Secuencia de comandos: context.ExecuteQuery(); comando 1; comando 2; comando 3;
Tecnología de Datos Client Object Model
Servicios REST Data Services Acceso a listas SharePoint y data de ellas: http://<sharepoint-server>/_vti_bin/ListData.svc Listas y List Items son mapeados a recursos http://sp2010/_vti_bin/ListData.svc/Tasks http://sp2010/_vti_bin/ListData.svc/Tasks(3) http://sp2010/_vti_bin/ListData.svc/Tasks(3)/Status  http://sp2010/_vti_bin/ListData.svc/Tasks?$filter=StatusValue eq 'Completed‘ Operaciones son mapeadas a verbos HTTP GET, POST, PUT, DELETE
Servicios REST Basado en ADO .NET Data Services Múltiples representaciones JSON y Atom (completo soporte para AtomPub) Lectores de Feed, Excel Power Pivor (Gemini)
 
Tecnología de Datos Servicios REST
Tipos de Workflow List workflows Asociados a una la instancia de una lista Site workflows Asosiados al site (SPWeb) object
Desarrollando Workflows El motor de workflow de SharePoint 2010 viene del .NET 3.5 Framework SharePoint 2010 Project Item Templates Sequential workflow State machine workflow Workflow Events Workflow_Initialized Workflow_Completed Improved nested logic
Workflow Initiation Forms Diseñado con Visual Studio El método GetInitiationData retorna datos desde el formulario al Workflow Es típico retornar un XML o un valor discreto La data se obtiene a través del objeto  SPWorkflowActivationProperties   Hay ejemplos de códigos
Sequential Workflows Puntos de inicio y fin bien definidos  Rutas bien definidas y secuencia de pasos Pueden incluir: Decision-making Branching Parallel steps Loops
State Machine Workflows Se refiere a maquinas de estados Las acciones ponen al workflow en un estado definido No hay una ruta o path definido para los cambios de estado
Mejoras en Workflows Popular y base exitosa en SharePoint 2007 Crea con Visual Studio 2010 formularios de Iniciación y Asociación Nueva superficie de diseño de Workflows en SPD Importa Workflows hechos en SPD hacia VS Diseña workflows en Visio 2010 Crea workflows a nivel de sitios Mejor performance y escalabilidad Workflows totalmente customizables Visualización basada en browser
Workflow Importando datos
Business Connectivity Services Trae información de la línea de negocios hacia SharePoint App. Office Web 2.0 DB WCF Web Service .NET LOB SharePoint Plataforma Desarrollo Business Intelligence Enterprise content mgmt Collaboration social Enterprise Search Herramientas
Business Connectivity Services Trae información de la línea de negocios hacia SharePoint SharePoint List con datos externos Capacidades de lectura/escritura SharePoint Foundation Construído sobre  Business Data Catalog  de SharePoint 2007
Business Connectivity Services Importando datos
Soluciones Sandboxed Agilidad esencial Facil deployment Desarrollo iterativo Acceso a Servidores Compartidos SharePoint Online Estabilidad esencial Seguro para otros usuarios Acceso limitado a la API Recursos monitoreados Proceso separado Limites de la colección de sitios
Soluciones Sandboxed Protegiendo nuestros ambientes
Desarrolladores tienen herramientas pobres para reproducir problemas y ambientes Desarrolladores gastan mucho tiempo enviando bugs de regreso a los testers para obtener mayor información Una vez que el problema ha ocurrido, es demasiado tarde ¿Porqué simplemente no puedo rebobinar mi aplicación? ¿Porqué no puedo volver al punto en donde ocurrió el problema? Intellitrace para SharePoint 2010 El mundo del desarrollo…
Experiencia de debugging de primera clase en Visual Studio 2010 SP1 Graba el funcionamiento de la aplicación y debuggeador Experiencia similar a SysInternals FileMon/RegMon Graba el flujo de ejecución del programa Graba datos del programa (parámetros y valor de retorno) Permite al usuario analizar y depurar código en el depurador familiar de Visual Studio 2010 Intellitrace para SharePoint 2010 ¿Qué es Intellitrace?
Unit Testing para SharePoint 2010 Soporte para Unit Testing ctxttxtxtxtxxtxttxxttxtxtxtx
Visual Studio 2010 SP1 Intellitrace en SharePoint 2010
Links a más información
Referencias Instalar SharePoint Foundation en Windows 7 64Bits  http:// blogsp.idea80.com/2010/02/instalacion-de-sharepoint-2010-sobre.html Crear paquetes de soluciones de SharePoint  WSD  http:// msdn.microsoft.com/es-es/library/ee231560.aspx LinQTosharepoint  http :// msdn.microsoft.com/en-us/SP2010DevTrainingCourse_AccessingSharePointListData.aspx REST  http :// msdn.microsoft.com/en-us/library/ff798339.aspx
Referencias Sharepoint 2010 Developer Tranning Kit

Exprimiendo SharePoint 2010

  • 1.
    Exprimiendo SharePoint 2010Andrés Iturralde Premier Field Engineer [email_address] Juan Pablo García González Solution Architect [email_address] http://jpgarcia69.wordpress.com /
  • 2.
    Agenda Tour sobreSharePoint 2010 Herramientas Visual Studio 2010 SharePoint Designer 2010 Panel del Desarrollador Tecnologías de Datos Server Object Model LinQ Client Object Model Servicios REST
  • 3.
    Microsoft SharePoint2010 La plataforma colaborativa para la empresa y la Web
  • 4.
    Acciones personalizadas dellado del cliente Ribbon sensible al contexto Personalizaciones Gráficas Framework de Diálogos, Ribbon, Barra de Estado y Área de Notificación
  • 5.
    Formularios SharePoint reemplazablesAbrir como página Web o como diálogo Personalizaciones Gráficas Framework de Diálogos, Ribbon, Barra de Estado y Área de Notificación
  • 6.
  • 7.
    Desarrollando con Windows7 SharePoint Foundation o SharePoint Server Requiere SO de 64 bits No está soportado para producción Windows 7
  • 8.
    Visual Studio 2010Herramienta de desarrollo para SharePoint 2010 Soporte para Soluciones SandBox Empaqueta e instala proyectos SharePoint Diseñadores de WebParts, BDC y Workflows Genera WSP para deploy en producción Soporte para Business Connectivity Services (BCS) Integración con Team Foundation Server Soporte para Intellitrace Soporte para Unit Testing
  • 9.
    SharePoint Designer 2010Herramienta sin código para SharePoint 2010 Gratis para crear y editar artefactos SharePoint Nuevas herramientas: Entidades BDC Esquema de Listas Acciones personalizadas Diseñador de Tareas/Aprobación Herramientas mejoradas: Diseñador de Workflow Editor de páginas Trabaja en conjunto con Visual Studio 2010
  • 10.
    Panel del Desarrolladorstsadm -o setproperty -pn developer-dashboard -pv ondemand
  • 11.
    Herramientas Visual Studio2010 Panel del Desarrollador
  • 12.
    Tecnologías de DatosCliente Servidor Listas fuertemente tipadas Listas debilmente tipadas Listas fuertemente tipadas Listas debilmente tipadas Nuevo en 2010 Mejorado Métodos, MOSS LINQ Farm Site List Data External Lists Client OM REST APIs Web Services
  • 13.
    Server Object ModelArquitectura de Servidor
  • 14.
    SPSite SPWeb SPListSPField SPListItem Server Object Model Arquitectura de Sitio
  • 15.
    Tecnología de DatosServer Object Model
  • 16.
    Programación basada enentidades Intellisense y Tipos Fuertes Soporte de Joins de Listas y Proyecciones Join de listas por campo de búsqueda entre ellos Join múltiples listas (A -> B -> C) Proyecta cualquier campo desde listas enlazadas en un query sin cambiar el esquema de la lista LinQ to SharePoint Language Integrated Query
  • 17.
    LinQ to SharePointPasos para utilizar LinQToSharePoint
  • 18.
  • 19.
    Client Object ModelLibrería de lado cliente para llamar remotamente a SharePoint Subconjunto de objetos del lado del servidor Usable en JavaScript, .NET CLR, Silverlight Requests encolados para mejor rendimiento Usado por UI de SharePoint
  • 20.
    Client Object Model.NET CLR: 14\ISAPI Silverligh: 14\TEMPLATE\LAYOUTS\ClientBin Empaquetado en .XAP JavaScript: Usa <ScriptLink>/SP.SOD.execute para agregar archivos JS Microsoft.SharePoint.Client 281kb Microsoft.SharePoint.Client.Runtime 145kb SP.js 380kb SP.Core.js 13kb SP.Runtime.js 68kb
  • 21.
    Client Object ModelTres cosas a saber ClientContext es el objeto central Antes de leer una propiedad, debes preguntar por ella Todos los requests son enviados en un batch clientContext = new ClientContext( “ http://MiSitio ” ); clientContext.Load(list); clientContext.ExecuteQuery();
  • 22.
  • 23.
  • 24.
    Client Object ModelAccesando a Datos Servidor Aplicación Cliente Proceso resultados Ejecuta los comandos en el batch: Resultado de regreso comando 1; comando 2; comando 3; Client.svc Secuencia de comandos: context.ExecuteQuery(); comando 1; comando 2; comando 3;
  • 25.
    Tecnología de DatosClient Object Model
  • 26.
    Servicios REST DataServices Acceso a listas SharePoint y data de ellas: http://<sharepoint-server>/_vti_bin/ListData.svc Listas y List Items son mapeados a recursos http://sp2010/_vti_bin/ListData.svc/Tasks http://sp2010/_vti_bin/ListData.svc/Tasks(3) http://sp2010/_vti_bin/ListData.svc/Tasks(3)/Status http://sp2010/_vti_bin/ListData.svc/Tasks?$filter=StatusValue eq 'Completed‘ Operaciones son mapeadas a verbos HTTP GET, POST, PUT, DELETE
  • 27.
    Servicios REST Basadoen ADO .NET Data Services Múltiples representaciones JSON y Atom (completo soporte para AtomPub) Lectores de Feed, Excel Power Pivor (Gemini)
  • 28.
  • 29.
    Tecnología de DatosServicios REST
  • 30.
    Tipos de WorkflowList workflows Asociados a una la instancia de una lista Site workflows Asosiados al site (SPWeb) object
  • 31.
    Desarrollando Workflows Elmotor de workflow de SharePoint 2010 viene del .NET 3.5 Framework SharePoint 2010 Project Item Templates Sequential workflow State machine workflow Workflow Events Workflow_Initialized Workflow_Completed Improved nested logic
  • 32.
    Workflow Initiation FormsDiseñado con Visual Studio El método GetInitiationData retorna datos desde el formulario al Workflow Es típico retornar un XML o un valor discreto La data se obtiene a través del objeto SPWorkflowActivationProperties Hay ejemplos de códigos
  • 33.
    Sequential Workflows Puntosde inicio y fin bien definidos Rutas bien definidas y secuencia de pasos Pueden incluir: Decision-making Branching Parallel steps Loops
  • 34.
    State Machine WorkflowsSe refiere a maquinas de estados Las acciones ponen al workflow en un estado definido No hay una ruta o path definido para los cambios de estado
  • 35.
    Mejoras en WorkflowsPopular y base exitosa en SharePoint 2007 Crea con Visual Studio 2010 formularios de Iniciación y Asociación Nueva superficie de diseño de Workflows en SPD Importa Workflows hechos en SPD hacia VS Diseña workflows en Visio 2010 Crea workflows a nivel de sitios Mejor performance y escalabilidad Workflows totalmente customizables Visualización basada en browser
  • 36.
  • 37.
    Business Connectivity ServicesTrae información de la línea de negocios hacia SharePoint App. Office Web 2.0 DB WCF Web Service .NET LOB SharePoint Plataforma Desarrollo Business Intelligence Enterprise content mgmt Collaboration social Enterprise Search Herramientas
  • 38.
    Business Connectivity ServicesTrae información de la línea de negocios hacia SharePoint SharePoint List con datos externos Capacidades de lectura/escritura SharePoint Foundation Construído sobre Business Data Catalog de SharePoint 2007
  • 39.
  • 40.
    Soluciones Sandboxed Agilidadesencial Facil deployment Desarrollo iterativo Acceso a Servidores Compartidos SharePoint Online Estabilidad esencial Seguro para otros usuarios Acceso limitado a la API Recursos monitoreados Proceso separado Limites de la colección de sitios
  • 41.
  • 42.
    Desarrolladores tienen herramientaspobres para reproducir problemas y ambientes Desarrolladores gastan mucho tiempo enviando bugs de regreso a los testers para obtener mayor información Una vez que el problema ha ocurrido, es demasiado tarde ¿Porqué simplemente no puedo rebobinar mi aplicación? ¿Porqué no puedo volver al punto en donde ocurrió el problema? Intellitrace para SharePoint 2010 El mundo del desarrollo…
  • 43.
    Experiencia de debuggingde primera clase en Visual Studio 2010 SP1 Graba el funcionamiento de la aplicación y debuggeador Experiencia similar a SysInternals FileMon/RegMon Graba el flujo de ejecución del programa Graba datos del programa (parámetros y valor de retorno) Permite al usuario analizar y depurar código en el depurador familiar de Visual Studio 2010 Intellitrace para SharePoint 2010 ¿Qué es Intellitrace?
  • 44.
    Unit Testing paraSharePoint 2010 Soporte para Unit Testing ctxttxtxtxtxxtxttxxttxtxtxtx
  • 45.
    Visual Studio 2010SP1 Intellitrace en SharePoint 2010
  • 46.
    Links a másinformación
  • 47.
    Referencias Instalar SharePointFoundation en Windows 7 64Bits http:// blogsp.idea80.com/2010/02/instalacion-de-sharepoint-2010-sobre.html Crear paquetes de soluciones de SharePoint WSD http:// msdn.microsoft.com/es-es/library/ee231560.aspx LinQTosharepoint http :// msdn.microsoft.com/en-us/SP2010DevTrainingCourse_AccessingSharePointListData.aspx REST http :// msdn.microsoft.com/en-us/library/ff798339.aspx
  • 48.
    Referencias Sharepoint 2010Developer Tranning Kit

Notas del editor

  • #7 Andres Sitios y templates Ribon y contexto Popup modal que tiene ahora Areas de notificación
  • #9 Strars: SP1 WSP Con el Diseñador de paquetes, puede crear y personalizar paquetes de implementación. Por ejemplo, puede agregar elementos y características de proyecto de SharePoint, restablecer el servidor IIS, establecer los ámbitos de activación de las características e identificar las dependencias de las características. El diseñador también genera un manifiesto, un archivo XML en el que se describe cada paquete.
  • #12 JPGG Sharepoint Designer Estructura Nuevos artefactos VS Template Deploy Panel de desarrollador On / off Información
  • #14 http://msdn.microsoft.com/en-us/library/ms473633.aspx
  • #16 Andres Web Part Listas de cosas Filtro webpart conectada
  • #17 SP Metal Cuando la cláusula select genera algo distinto de una copia del elemento de origen, la operación se denomina proyección. El uso de proyecciones para transformar los datos es una eficaz funcionalidad de las expresiones de consulta LINQ
  • #19 LINQ SPMETAL LINQ
  • #26 Andres Cliente cambia tritulo del Site
  • #30 JPGG Consultas de Listas REST Leer escribir
  • #31 Module 7: Developing SharePoint 2010 Workflows Course 10175A
  • #32 Module 7: Developing SharePoint 2010 Workflows Course 10175A
  • #33 Module 7: Developing SharePoint 2010 Workflows Course 10175A
  • #34 Module 7: Developing SharePoint 2010 Workflows Course 10175A If you want to, you can show the completed solution from the lab, and explain how it works. This will be especially useful if students are new to workflows in Visual Studio.
  • #35 Module 7: Developing SharePoint 2010 Workflows Course 10175A
  • #37 Andres Workflow Importar desde Visio ?? Visio 2010 enterprise Estado Secuencia
  • #40 JPGG Visual Studio
  • #42 Andres Crear un Sandobox hola mundo
  • #45 TO DO…. Txt ……
  • #46 JPGG Intellitrance &amp; Unit test
  • #47 Andres Crear un Sandobox hola mundo