Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas para Microsoft SharePoint...

Post on 22-May-2015

1.616 views 0 download

Transcript of Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas para Microsoft SharePoint...

1

Es todo acerca de los servicios:

Andrés IturraldeSenior Consultant - IKOMaiturralde@ikom.clhttp://aiturralde.com

Desarrollando aplicaciones personalizadas para Microsoft SharePoint Server 2010 usando Microsoft ASP .NET, WCF y REST

Agenda

SharePoint Web ServicesRESTModelo de objetos ClienteWeb Services Personalizados

WCFASP.NETMO ClienteREST

SharePoint Web Services

Internet

Navegador Otras Plataformas.NET CLR

4

REST

WCFASP.NETMO ClienteREST

REST

Acceso a listas SharePoint y data de listas…/_vti_bin/listdata.svc

Listas y List items son mapeados a recursoslistdata.svc/Employees(123)

Operaciones son mapeadas a verbos HTTPGET, POST, PUT, DELETE

Basado en ADO.NET Data Services

Convenciones de URL flexibles para consultar datos

listdata.svc/Employees?$filter=JobTitle eq 'SDE'$orderby=Fullname

Multiple representacionesJSON y Atom (completo soporte para AtomPub)

Lectores de Feed, Excel Power Pivot (Gemini)

Batching, ETags, Paging, Documents

7

REST: Feeds Atom en el Browser

demo

Ejemplo: Traducción Consulta

GET /_vti_bin/listdata.svc/Employees?$filter=Project/Title eq ‘Project1‘ HTTP/1.0

<Joins> <Join Type='LEFT' ListAlias=‘Projects'> <Eq> <FieldRef Name=‘Project'

RefType='ID'/> <FieldRef List=‘Projects'

Name='ID'/> </Eq> </Join></Joins>

<ProjectedFields> <Field

Name=‘ProjectTitle'Type='Lookup'List=‘Projects'ShowField='Title'/>

</ProjectedFields> <Query> <Where> <Eq> <FieldRef Name=‘ProjectTitle'/> <Value Type='Text'>Project1</Value> </Eq> </Where></Query>

Query REST Original:

Traducido a Query CAML

Experiencia de desarrollo Integrada

Visual Studio 2010 y 2008 SP1Librería cliente para .NET y SilverlightIntegración IDE, “Agregar Referencia a Servicio”

Programación basada en entidadesExperiencia tipada a través de generación de códigoSoporte a LinQActualizaciones

Librerías cliente para PHP y Java

10

REST: Aplicación maestro-detalle

demo

11

Modelo objeto cliente

WCFASP.NETMO ClienteREST

Modelo Objeto Cliente

MotivaciónRemueve la necesidad de wrappers personalizados alrededor de Web Services de SharePoint

Modelo de datos unificado para todos los clientesJavaScript.Net CLRSilverlight CLR

Covertura del modelo de objeto Cliente

Soporta un amplio set de objetos SharePointOperaciones sobre “Site”Lists, ListItemsContent Types, Fields, …Pero no un namespace de Administración, objetos de Granja

Implementado como un servicio WCF…/_vti_bin/client.svcUsa Web Binding para encolar request

Como funciona el modelo de objetos cliente

XML

JSON

Ejecuta los comandos en el batch:

Client.svcSecuencia de comandos:

context.ExecuteQuery();

comando 1;comando 2;comando 3;

Resultado de regreso

comando 1;comando 2;comando 3;

Proceso resultados

ServidorAplicación Cliente

15

Modelo de objetos cliente

demo

Otros Web Services SharePointWeb ServicesOperaciones avanzadasOperaciones de SharePoint Server

MO ClienteOperaciones avanzadas de ListasOperaciones sobre sitiosSeguridad

RESTData de las listas

•User Profiles•People•Search•Enterprise Metadata•Document Coauthoring•Excel REST web services•Publishing•Workflow•BCS web services…

17

Web Services Personalizados

WCFASP.NETMO ClienteREST

ASP.NET vs WCF

Web Services ASP.NET son soportadosWCF es recomendado para nuevos web services

SharePoint 2007 no soporta WCF directamenteEs requerida una aplicación Web separada oVirtual Path Provider Personalizado/Módulo HTTP

SOAP REST OtrosBindings

SimpleConfiguración

ASP.NET

WCF

Desarrollo de Web Service ASP.NET

SOAPEl mismo que en SharePoint 2007Instala servicio ASMX en la carpeta ISAPIAgrega ServiceWSDL.aspx y ServiceDisco.aspx para representar el WSDL de tu archivo

RESTUbica tu manejador de request ASHX en la carpeta ISAPI

WCF

ProblemaAdministrador IT configura IIS

Diferentes esquemas de autenticación pueden ser configurados

Basic, Forms, Claims, Windows Integrated, Digest, …Multiples IIS vinculadas a una dirección

Desarrollador configura el endpoint del servicio WCF

> Solución> Configuración dinámica

> RTM solamente, no está disponible en Beta2

?

Desarrollo de servicios WCF

SOAPEspecificar Service Factory en archivo SVCAgrega atributo MEX en la clase de servicio

BasicHttpBindingServiceMetadataExchangeEndpointInstala servicio SVC en carpeta ISAPI

RESTEspecificar Service Factory en archivo SVCInstala servicio SVC en carpeta ISAPI

Configuració de servicio WCFTipo de Servicio Service FactoryServicio SOAP MultipleBaseAddressBasicHttpBindingServiceHostFactory

Servicio REST MultipleBaseAddressWebServiceHostFactory

Servicio ADO.NET Data MultipleBaseAddressDataServiceHostFactory

Behavior AttributeModo Compatible [AspNetCompatibilityRequirements(RequirementsMode =

AspNetCompatibilityRequirementsMode.Required)]Habilita endpoint MEX [BasicHttpBindingServiceMetadataExchangeEndpoint]

Personaliza los parametros de endpoint WCFSPWebService.WcfServiceSettings

23

Servicio personalizado WCF

demo

Detalle de configuración servicio WCF

Service.svc

Fábrica de servicios SharePoint

HTTP MóduloSharePointHTTP POST

http://server/_vti_bin/Service.svc

http://server/_vti_bin/Service.svc/negotiate

http://server/_vti_bin/Service.svc/ntlm

http://server/_vti_bin/Service.svc/anonymous

SumarioSharePoint 2010 es diseñado para Aplicaciones Basadas en Servicios

El nuevo REST y Modelo de Objetos de Cliente proveen fácil acceso a SharePoint desde aplicaciones cliente

Listas SharePoint han mejorado sus capacidades relacionales

WCF es soportado y es fácil

26

Preguntas

http://microsoft.com/spanish/msdn/latam/mediacenter/

Microsoft MSDN Latinoamérica te ofrece los últimos recursos multimedia en español para desarrolladores: presentaciones y demostraciones en directo o diferido, vía Internet, brindadas por expertos de Microsoft, las cuales te ayudarán a mantenerte al día con información sobre los productos y tecnologías que utilizas a diario en el desarrollo de tus aplicaciones.

Recursos para los desarrolladores

28

© 2008 Microsoft Corporation. Todos los derechos reservados. Microsoft, Windows, Windows Vista y otros nombres de producto son y pueden ser marcas registradas y registros en Estados Unidos y en otros países.La información contenida en el presente es sólo para fines informativos y representa la visión actual de Microsoft Corporation a la fecha de esta presentación. Debido a que Microsoft debe responder a las cambiantes condiciones del mercado, no se debe interpretar como un compromiso por parte de Microsoft, y Microsoft no puede garantizar la precisión de ninguna información provista después de la fecha de esta presentación. MICROSOFT NO OFRECE

GARANTÍA ALGUNA, EXPRESA, IMPLÍCITA O DE LEY, RESPECTO A LA INFORMACIÓN EN ESTA PRESENTACIÓN.