1
Es todo acerca de los servicios:
Andrés IturraldeSenior Consultant - [email protected]://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.
Top Related