Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento...

52
Desarrollo .NET Desarrollo .NET sobre SharePoint sobre SharePoint 2003 2003 (WSS y SPS) (WSS y SPS) César de la Torre César de la Torre Software Architect Software Architect Renacimiento Renacimiento ctorre ctorre @renacimiento.com @renacimiento.com

Transcript of Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento...

Page 1: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Desarrollo .NET sobre Desarrollo .NET sobre SharePoint 2003 SharePoint 2003 (WSS y (WSS y SPS)SPS)

César de la TorreCésar de la TorreSoftware ArchitectSoftware [email protected]@renacimiento.com

Page 2: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

AgendaAgendaIntroducción de la Arquitectura de Introducción de la Arquitectura de Microsoft SharePoint Portal Server Microsoft SharePoint Portal Server 20032003

Oportunidades de DesarrolloOportunidades de DesarrolloDesarrollo de Web Parts Sharepoint 2003Desarrollo de Web Parts Sharepoint 2003

Desarrollo de gestión de eventos de las Desarrollo de gestión de eventos de las Bibliotecas de DocumentosBibliotecas de Documentos

El Modelo de Objetos de SharePoint 2003El Modelo de Objetos de SharePoint 2003

Los Web Services de SharePoint 2003Los Web Services de SharePoint 2003

FUTURO: Web Parts en Whidbey.NETFUTURO: Web Parts en Whidbey.NET¿Que?¿Que? ¿Cómo?¿Cómo? ¿Por qué?¿Por qué?

Page 3: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

¿Por qué SharePoint 2003?¿Por qué SharePoint 2003?

Distribución y compartición de Distribución y compartición de informacióninformación

ColaboraciónColaboraciónEspacios de trabajo de Documentos y Espacios de trabajo de Documentos y reunionesreuniones

Gestión DocumentalGestión DocumentalBibliotecas de Documentos (meta-data, Bibliotecas de Documentos (meta-data, versionado, aprobación de documentos, versionado, aprobación de documentos, check-in/check-out)check-in/check-out)

Personalización y NotificaciónPersonalización y Notificación

Encontrar informaciónEncontrar información

Page 4: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

¿Windows Sharepoint Services ¿Windows Sharepoint Services 2003 vs. SharePoint Portal Server 2003 vs. SharePoint Portal Server 2003?2003?

Windows SharePoint Services 2003 Windows SharePoint Services 2003 (v2)(v2)

Microsoft SharePoint Portal Server Microsoft SharePoint Portal Server (v2)(v2)

Windows Server 2003Windows Server 2003

.NET Framework 1.1.NET Framework 1.1 SQL Server 2000 (SP3)SQL Server 2000 (SP3)

Windows SharePoint ServicesWindows SharePoint Services

SharePointSharePointPortal Server Portal Server

Office 2003Office 2003System System

SolucionesSolucionesCustomCustom

Page 5: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Portal Portal PrincipalPrincipal

Arquitectura Lógica de Arquitectura Lógica de SharePoint Portal Server 2003SharePoint Portal Server 2003

IIS 6.0IIS 6.0

vServervServer

vServervServer

App WebApp Web

Colección de Sites Colección de Sites SharePointSharePoint Sub-Portal 1Sub-Portal 1

Sub-PortalSub-Portal 22

Page 6: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Oportunidad desarrollo 1: Web Oportunidad desarrollo 1: Web PartsPartsPuntos a ver:Puntos a ver:

¿Qué son los Web Parts?¿Qué son los Web Parts?

Pasos BásicosPasos Básicos

CacheCache

La Técnica de los ‘User Controls’La Técnica de los ‘User Controls’

Page 7: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

¿Qué son los Web Parts? ¿Qué son los Web Parts? (SPS2003)(SPS2003)

Perspectiva de UsuarioPerspectiva de Usuario

Un Web Parts es un bloque de construcción Un Web Parts es un bloque de construcción (caja) en una página de un Portal de SharePoint(caja) en una página de un Portal de SharePoint

Perspectiva de Gestores de ContenidoPerspectiva de Gestores de Contenido

Web Parts son contenedores de información Web Parts son contenedores de información que se pueden añadir a las páginas al igual que que se pueden añadir a las páginas al igual que las Bibliotecas de Documentos y las Listaslas Bibliotecas de Documentos y las Listas

Perspectiva de DesarrolloPerspectiva de Desarrollo

Los Web Parts son Los Web Parts son Web-Controls extendidosWeb-Controls extendidos basados en basados en ASP.NETASP.NET que implementan que implementan interfaces estandard de SharePoint 2003.interfaces estandard de SharePoint 2003.

Interesantes SOLAMENTE si vamos a Interesantes SOLAMENTE si vamos a ‘reutilizarlo’‘reutilizarlo’

Page 8: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Trabajando con Web PartsTrabajando con Web PartsGalerías de Web PartGalerías de Web Part

Web Part Page GalleryWeb Part Page GalleryVirtual Server GalleryVirtual Server GalleryOnline GalleryOnline Gallery

Se ‘sueltan’ en páginasSe ‘sueltan’ en páginasEn Páginas ASP.NET divididas en zonasEn Páginas ASP.NET divididas en zonas

Personalización Personalización Propiedades ComunesPropiedades ComunesToolPartToolPart

Conexión entre Web PartsConexión entre Web PartsImportación y Exportación de Web Importación y Exportación de Web PartsParts

Page 9: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Uso de Web-PartsUso de Web-Parts

Web Parts ejemplo:Web Parts ejemplo:- Biblioteca de DocumentosBiblioteca de Documentos- EnlacesEnlaces- Foros de DiscusiónForos de Discusión- etc.etc.

(1(1))

Page 10: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Desarrollo de Web PartsDesarrollo de Web PartsPlantillas de proyecto WebPart con Plantillas de proyecto WebPart con VS.NET VS.NET (MSDN Downloads)(MSDN Downloads)

Derivar de clase base de SharePointDerivar de clase base de SharePoint

Implementar uno o mas interfaces de Implementar uno o mas interfaces de SharePoint SharePoint

Renacimiento.WebParts.MiWebPartRenacimiento.WebParts.MiWebPart

Microsoft.SharePoint.WebPartPages.WebPartMicrosoft.SharePoint.WebPartPages.WebPart

System.Web.UI.ControlSystem.Web.UI.Control

Tu assembly

Microsoft.SharePoint.dll

System.Web.dll

Page 11: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Los ficheros de un Web Los ficheros de un Web PartPart

Tu Web-PartTu Web-Part

Assembly .NET encapsulando encapsulando

el código servidor el código servidor y renderización y renderización

del HTML del HTML

Un fichero DWP (basado en XML) que

guarda algunas Propiedades y valores que se necesitan para

cargar el assembly .NET

Un fichero ‘manifest’ (basado en XML) que guarda datos

a fusionar con el web.config

Fichero CABFichero CAB

STSADM.EXESTSADM.EXEUtilidad de instalación

Page 12: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Desarrollo Básico - SimpleDesarrollo Básico - Simple

1.1. Definir Propiedades ‘custom‘ del Definir Propiedades ‘custom‘ del WebPartWebPart

2.2. Generar un ‘montón’ de HTML en el Generar un ‘montón’ de HTML en el método RenderWebPartmétodo RenderWebPart

Page 13: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Desarrollo de Web-Part Desarrollo de Web-Part ‘Hola Mundo’‘Hola Mundo’

- Creación de Web Part- Creación de Web Part- Métodos Base de un Web Part- Métodos Base de un Web Part- HTML renderizado manualmente- HTML renderizado manualmente

(2(2))

Page 14: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Desarrollo Básico – RealistaDesarrollo Básico – Realista(Uso de WebControls internos)(Uso de WebControls internos)

1.1. Definir Propiedades ‘custom‘ del Definir Propiedades ‘custom‘ del WebPartWebPart

2.2. Sobreescribir CreateChildControlsSobreescribir CreateChildControls1.1. Instanciar web-controls y añadirlos a la Instanciar web-controls y añadirlos a la

colección de controlescolección de controles

3.3. Implementar el gestionador(es) del Implementar el gestionador(es) del evento OnLoadevento OnLoad

Page 15: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Persistencia de PropiedadesPersistencia de Propiedades

Atributo WebPartStorage por Atributo WebPartStorage por propiedadpropiedad

Storage.SharedStorage.Shared

Storage.PersonalStorage.Personal

Storage.NoneStorage.None

Los ficheros .DWP persisten valores Los ficheros .DWP persisten valores de propiedades para realizar de propiedades para realizar importaciones/exportacionesimportaciones/exportaciones

Page 16: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Web-Part ejemplo Web-Part ejemplo ‘‘Visor’ de Noticias RSSVisor’ de Noticias RSS

- Utilización de Web-Controls dentro de WebPartUtilización de Web-Controls dentro de WebPart- Propiedades persistentes de WebPartsPropiedades persistentes de WebParts- Debugging de WebParts- Debugging de WebParts

(3.1(3.1))

Page 17: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Cache de Web Parts (1)Cache de Web Parts (1)

Tenemos dos opciones tecnológicas para Tenemos dos opciones tecnológicas para el CACHE:el CACHE:

Cache estandard de páginas ASP.NETCache estandard de páginas ASP.NET

Cache de Web-Parts (soporta cache por Cache de Web-Parts (soporta cache por usuario)usuario)

Page 18: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Cache de Web Parts (2)Cache de Web Parts (2)Los AdministradoresLos Administradores – no los – no los desarrolladores – establecen el tipo desarrolladores – establecen el tipo de cache en el de cache en el web.configweb.config<SharePoint> <SharePoint>

<WebPartCache <WebPartCache Storage=“CacheObject"/> </SharePoint>Storage=“CacheObject"/> </SharePoint>

Tenemos 2 tipos de cacheTenemos 2 tipos de cacheCacheObject (Cualquier objeto .NET)CacheObject (Cualquier objeto .NET)

Database (El objecto tiene que ser Database (El objecto tiene que ser serializable)serializable)

Page 19: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Cache de Web Parts (3)Cache de Web Parts (3)Los valores de Cache se pueden Los valores de Cache se pueden guardar como:guardar como:

SharedShared

PersonalPersonal

Métodos de la clase base WebPartMétodos de la clase base WebPartPartCacheRead()PartCacheRead()

PartCacheWrite()PartCacheWrite()

PartCacheInvalidate()PartCacheInvalidate()

Page 20: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Web-Part Web-Part ‘‘Visor de Noticias RSS’Visor de Noticias RSS’

- CACHE de WebParts- CACHE de WebParts

(3.2(3.2))

Page 21: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Trabajo con ‘User Trabajo con ‘User Controls’Controls’

No hay un diseñador para las clases Web No hay un diseñador para las clases Web PartPart

‘‘Truco’: Podemos utilizar User-Controls de Truco’: Podemos utilizar User-Controls de ASP.NETASP.NET

Situar .ascx en Directorio de Aplicación WebSituar .ascx en Directorio de Aplicación Web

Definir el ‘Managed Path’Definir el ‘Managed Path’

Dentro del Web Part, utilizar Dentro del Web Part, utilizar this.Page.LoadControl(“/tu path”)this.Page.LoadControl(“/tu path”)

Instala el Assembly del Web User Control Instala el Assembly del Web User Control en el GACen el GAC

Añade la referencia del assembly en el Añade la referencia del assembly en el web.configweb.config

Page 22: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Web PartWeb Partcon User Controls (web)con User Controls (web)

Ejemplo de WebPart utilizando un Ejemplo de WebPart utilizando un User-Control de formulario complejoUser-Control de formulario complejo

(4)(4)

Page 23: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Conexión de Web PartsConexión de Web Parts

Los Web Parts se pueden conectar si Los Web Parts se pueden conectar si implementan los interfaces para implementan los interfaces para conexiones (estandard SharePoint)conexiones (estandard SharePoint)

Page 24: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Interfaces SoportadosInterfaces Soportados

ICellProvider, ICellConsumer ICellProvider, ICellConsumer

IRowProvider, IRowConsumerIRowProvider, IRowConsumer

IListProvider, IListConsumer IListProvider, IListConsumer

IFilterProvider, IFilterConsumer IFilterProvider, IFilterConsumer

IParametersOutProvider, IParametersOutProvider, IParametersOutConsumerIParametersOutConsumer IParametersInProvider, IParametersInProvider, IParametersInConsumerIParametersInConsumer

Page 25: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Seguridad en páginas de Web Seguridad en páginas de Web PartsPartsSe permite a los usuarios modificar Se permite a los usuarios modificar

páginas directamentepáginas directamenteNo se permite ejecutar cualquier código:No se permite ejecutar cualquier código:

No se permite ‘inline script’No se permite ‘inline script’

‘‘Code behind’ si se permiteCode behind’ si se permite

No se permite usar cualquier control de No se permite usar cualquier control de servidorservidor

Lista de SafeControls en Web.ConfigLista de SafeControls en Web.ConfigDá a los administradores control sobre qué Dá a los administradores control sobre qué clases pueden utilizarseclases pueden utilizarse

Code behindCode behind

Controles de ServidorControles de Servidor

Web PartsWeb Parts

Page 26: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Seguridad en páginas de Web Seguridad en páginas de Web Parts (cont.)Parts (cont.)

Gestión de ‘Identidad’ para acceder a Gestión de ‘Identidad’ para acceder a datos externosdatos externos

Impersonation = trueImpersonation = true

DelegationDelegationKerberos si configurado por adminKerberos si configurado por admin

SSO en SharePoint Portal ServerSSO en SharePoint Portal Server

Page 27: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Deployment (Inst. En Deployment (Inst. En Producción)Producción)

Assemblies, Recursos y su Assemblies, Recursos y su localizaciónlocalización

Los Assemblies pueden instalarse en el Los Assemblies pueden instalarse en el GACGACo en el directorio ‘bin’ del WebSiteo en el directorio ‘bin’ del WebSite

Los Recursos se instalan en Los Recursos se instalan en /_wpresources o /wpresources /_wpresources o /wpresources respectivamenterespectivamente

DWPs se instalan en el directorio DWPs se instalan en el directorio /wpcatalog/wpcatalog

Page 28: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Deployment (cont.)Deployment (cont.)

GAC GAC Por defecto ‘Fully trusted’Por defecto ‘Fully trusted’

Los Assemblies necesitan estar firmados Los Assemblies necesitan estar firmados con un strongname.con un strongname.

Disponible para todos los servidores Disponible para todos los servidores virtuales de la máquinavirtuales de la máquina

BinBinPor defecto ‘Partial trust’Por defecto ‘Partial trust’

Disponible solo para un WebSite específicoDisponible solo para un WebSite específico

Page 29: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Deployment (cont.)Deployment (cont.)WPPacks son ficheros ‘cab’ que WPPacks son ficheros ‘cab’ que contienen;contienen;

ManifestManifest

AssembliesAssemblies

RecursosRecursos

DWPsDWPs

La creación de .cabs permite a los La creación de .cabs permite a los administradores usar la utilidad administradores usar la utilidad ‘stsadm.exe’ para el deployment‘stsadm.exe’ para el deployment

Page 30: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Deployment (cont.)Deployment (cont.)

Mas allá, crear un .msiMas allá, crear un .msiContiene el .cabContiene el .cab

Usar el objeto SPGlobalAdmin del Usar el objeto SPGlobalAdmin del namespace namespace Microsoft.SharePoint.AdministrationMicrosoft.SharePoint.Administration

AddWPPackAddWPPack

RemoveWPPackRemoveWPPack

EnumWPPacksEnumWPPacks

Deployment de politicas CAS usando el .msiDeployment de politicas CAS usando el .msi

Page 31: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Deployment de Web PartsDeployment de Web Parts

Ejemplo de uso de stsadm.exeEjemplo de uso de stsadm.exe

(5)(5)

Page 32: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Librerías de clases .NETLibrerías de clases .NET

Utilizando el Modelo de Objetos de Utilizando el Modelo de Objetos de SharePoint se puede manipular SharePoint se puede manipular programáticamente contenido de programáticamente contenido de Bibliotecas y ListasBibliotecas y Listas

Oportunidad desarrollo 2: Oportunidad desarrollo 2: Gestión de Eventos de Bibliotecas de DocumentosGestión de Eventos de Bibliotecas de DocumentosOportunidad desarrollo 2: Oportunidad desarrollo 2: Gestión de Eventos de Bibliotecas de DocumentosGestión de Eventos de Bibliotecas de Documentos

Page 33: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Pasos de DesarrolloPasos de DesarrolloCrear una Librería de clases .NETCrear una Librería de clases .NETAñadir referencia a Microsoft.SharePoint.dllAñadir referencia a Microsoft.SharePoint.dllImplementar el interfaz IListEventSinkImplementar el interfaz IListEventSinkAñadir tu código en el método ‘OnEvent()’Añadir tu código en el método ‘OnEvent()’

Se llama a este método cuando ocurre Se llama a este método cuando ocurre algo en la Biblioteca de Documentosalgo en la Biblioteca de Documentos

Firma tu AssemblyFirma tu AssemblyRegistralo en el GACRegistralo en el GACHabilita el soporte para ‘Doc Lib Event Habilita el soporte para ‘Doc Lib Event Handlers’ en tu servidor virtualHandlers’ en tu servidor virtualEspecifica el ‘Doc Lib Event Handler’ a la Especifica el ‘Doc Lib Event Handler’ a la Biblioteca de documentos o FormulariosBiblioteca de documentos o Formularios

Page 34: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Libreria .NET de gestión Libreria .NET de gestión de Eventos de Librería de Eventos de Librería SharePointSharePoint

(6)(6)

Page 35: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Oportunidad desarrollo 3: Oportunidad desarrollo 3: Acceso a SharePoint desde aplicaciones Acceso a SharePoint desde aplicaciones .NET.NETDos opciones: Dos opciones:

Modelo de objetos (assemblies) de Modelo de objetos (assemblies) de SharePoint SharePoint (p.e. acceder a SharePoint desde mi app. (p.e. acceder a SharePoint desde mi app. ASP.NET)ASP.NET)

XML Web Services de SharePointXML Web Services de SharePoint(p.e. acceder a SharePoint desde mi app. (p.e. acceder a SharePoint desde mi app. WinForms)WinForms)

Page 36: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Oportunidad desarrollo Oportunidad desarrollo 3: 3:

- Acceso a SharePoint desde aplicaciones .NET - Assemblies vs. Web Services

Page 37: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Modelo de Objetos .NET de Modelo de Objetos .NET de SharePointSharePoint

Modelo de Objetos de ‘codigo Modelo de Objetos de ‘codigo gestionado’ en el servidorgestionado’ en el servidor

Accessible desde ASP.NET o cualquier Accessible desde ASP.NET o cualquier otro proceso en el servidorotro proceso en el servidor

Implementado en C# Implementado en C#

Expone practicamente todos los Expone practicamente todos los datos guardados en Windows datos guardados en Windows SharePoint ServicesSharePoint Services

Page 38: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

¿Que se puede hacer con este ¿Que se puede hacer con este Modelo de Objetos?Modelo de Objetos?

Ejemplos:Ejemplos:Añadir, editar, borrar, y devolver datos Añadir, editar, borrar, y devolver datos de las Listas de SharePointde las Listas de SharePoint

Crear nuevas listas y establecer Crear nuevas listas y establecer metadatos de listas (e.j. los campos en metadatos de listas (e.j. los campos en una lista) una lista)

Establecer propiedades de web Establecer propiedades de web

Trabajar con documentos en una Trabajar con documentos en una Biblioteca de documentos. Biblioteca de documentos.

Realizar tareas administrativas como Realizar tareas administrativas como crear webs, añadir usuarios, crear crear webs, añadir usuarios, crear roles, etc.roles, etc.

Page 39: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

SPVirtualServer

SPWebServer

SPGlobalConfig

SPSite

SPWeb

SPList

SPListItem

Page 40: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Web-Part Web-Part ‘‘Acceso a Profiles de Acceso a Profiles de usuarios de SharePoint’usuarios de SharePoint’

- Modelo de Objetos de SharePoint 2003- Modelo de Objetos de SharePoint 2003

(7)(7)

Page 41: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Web Services de WSS Web Services de WSS (Windows SharePoint Services)(Windows SharePoint Services)

La capa de web services ‘publica’ la La capa de web services ‘publica’ la capa de OM.capa de OM.

Permite manipulación de Lists, Webs, Permite manipulación de Lists, Webs, Vistas, etc.Vistas, etc.

La Funcionalidad es similar al OM, La Funcionalidad es similar al OM, pero algunos interfaces están pero algunos interfaces están optimizados para minimizar las optimizados para minimizar las transacciones.transacciones.

Office 2003 (e.j. Excel, DataSheet, Office 2003 (e.j. Excel, DataSheet, Work, Outlook, FrontPage, etc) Work, Outlook, FrontPage, etc) utilizan dichos web services para utilizan dichos web services para acceder a los datos de WSS.acceder a los datos de WSS.

Page 42: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

EjemplosEjemplosGetListCollectionGetListCollection

GetListItemsGetListItems

GetWebCollectionGetWebCollection

UpdateListUpdateList

UpdateListItemsUpdateListItems

GetWebInfoGetWebInfo

GetWebPartGetWebPart

GetSmartPageDocumentGetSmartPageDocument

Otros…Otros…

Page 43: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Uso de XML Web Services Uso de XML Web Services ‘‘Acceso a Profiles de Acceso a Profiles de usuarios de SharePoint’usuarios de SharePoint’

- XML Web Services de SharePoint 2003- XML Web Services de SharePoint 2003

(8)(8)

Page 44: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Single Sign-OnSingle Sign-OnServicio de valor añadido en SharePoint Servicio de valor añadido en SharePoint 20032003

Proporciona una única autenticación Proporciona una única autenticación para todas las aplicaciones ‘custom’ en para todas las aplicaciones ‘custom’ en un entorno Intranet.un entorno Intranet. B.D. SQL de Single Sing On

(Es un Cache de Credenciales)

IE Login Automático Challege-Response

Entramos en la Intranet

Login programat.App. 1

App. Custom 1

App. Custom n

Obtención credencialesCacheadas

Login visual para App 1

Cacheamos lascredencialesb

. a.

1.

2.

Page 45: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

FUTURO: FUTURO: Web Parts en Whidbey.NETWeb Parts en Whidbey.NET

Page 46: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

¿Qué tenemos hoy?¿Qué tenemos hoy?Sin tener en cuenta a Whidbey.NET Sin tener en cuenta a Whidbey.NET

Los Web Parts tienen que ser Web-Los Web Parts tienen que ser Web-Controls custom basados en ASP.NETControls custom basados en ASP.NET

Las páginas para Web Parts tienen Las páginas para Web Parts tienen que estar obligatoriamente alojadas que estar obligatoriamente alojadas en Sites de SharePointen Sites de SharePoint

Es escalable, está soportado, y tenemos Es escalable, está soportado, y tenemos disponible una infraestructura completa disponible una infraestructura completa de servicios de SharePointde servicios de SharePoint

Las ‘Zonas’ son estrictamente Las ‘Zonas’ son estrictamente plantillas visuales de contenedoresplantillas visuales de contenedores

Page 47: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Tools

Client Application Model

Avalon Windows Forms

Web & Service Application Model

ASP.NET / Indigo Win FSCompact

FrameworkYukon Mobile PC Optimized

System.HelpSystem.Help

System.DrawingSystem.Drawing

System.NaturalLanguageServicesSystem.NaturalLanguageServices

Data Systems Application Model

Presentation Data

Mobile PC & Devices Application Model

Communication

Command Line

NT Service

DataSetDataSet

MappingMapping

ObjectSpacesObjectSpaces

ObjectSpaceObjectSpace

QueryQuery

SchemaSchema

ItemItem

RelationshipRelationship

MediaMedia

AudioAudio

VideoVideo

ImagesImages

System.MessagingSystem.Messaging System.DiscoverySystem.Discovery

System.DirectoryServicesSystem.DirectoryServices

System.RemotingSystem.Remoting

System.Runtime.RemotingSystem.Runtime.Remoting

ActiveDirectoryActiveDirectory

UddiUddi

System.Web.ServicesSystem.Web.Services

Web.ServiceWeb.Service

DescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

System.MessageBusSystem.MessageBus

TransportTransport

PortPort

ChannelChannel

ServiceService

QueueQueue

PubSubPubSub

RouterRouter

System.TimersSystem.Timers

System.GlobalizationSystem.Globalization

System.SerializationSystem.Serialization

System.ThreadingSystem.Threading

System.TextSystem.Text

System.DesignSystem.Design

Base & Application Services

Fundamentals

System.ComponentModelSystem.ComponentModel

System.CodeDomSystem.CodeDom

System.ReflectionSystem.Reflection

System.EnterpriseServicesSystem.EnterpriseServices

System.TransactionsSystem.Transactions

Security

System.Windows.TrustManagementSystem.Windows.TrustManagement

System.Web.SecuritySystem.Web.Security

System.MessageBus.SecuritySystem.MessageBus.Security

AuthorizationAuthorization

AccessControlAccessControl

CredentialsCredentials

CryptographyCryptography

System.Web.ConfigurationSystem.Web.Configuration

System.MessageBus.ConfigurationSystem.MessageBus.Configuration

System.ConfigurationSystem.Configuration

System.ResourcesSystem.ResourcesSystem.ManagementSystem.Management

System.DeploymentSystem.Deployment

System.DiagnosticsSystem.Diagnostics

Configuration Deployment/Management

System.WindowsSystem.Windows System.WindowsSystem.WindowsSystem.Windows.FormsSystem.Windows.Forms

System.ConsoleSystem.Console

System.ServiceProcessSystem.ServiceProcess

System.Windows.FormsSystem.Windows.Forms System.WebSystem.Web System.StorageSystem.Storage System.Data.SqlServ

erSystem.Data.SqlServer

AnimationAnimation

ControlsControls

ControlControl

DesignDesign

PanelPanel

ControlsControls

DialogsDialogs

SideBarSideBar

NotificationNotification

System.WindowsSystem.Windows

DocumentsDocuments

Text ElementText Element

ShapesShapes

ShapeShape

InkInk

UI ElementUI Element ExplorerExplorer MediaMedia

System.Windows.FormsSystem.Windows.Forms

FormsForms

ControlControl

Print DialogPrint Dialog

DesignDesign

System.Web.UISystem.Web.UI

PagePage

ControlControl

HtmlControlsHtmlControls

MobileControlsMobileControls

WebControlsWebControls

AdaptorsAdaptors

DesignDesign

PortsPorts

InteropServicesInteropServices

System.RuntimeSystem.Runtime

System.IOSystem.IO

System.CollectionsSystem.Collections

GenericGeneric

System.SearchSystem.Search

AnnotationsAnnotations

MonitoringMonitoring

LoggingLogging

RelevanceRelevance

System.DataSystem.Data

SqlClientSqlClient

SqlTypesSqlTypes

SqlXMLSqlXML

OdbcClientOdbcClient

OleDbClientOleDbClient

OracleClientOracleClient

CoreCore

ContactContact

LocationLocation

MessageMessage

DocumentDocument

EventEvent

System.StorageSystem.Storage

System.WebSystem.Web

PersonalizationPersonalization

CachingCaching

SessionStateSessionState

System.XmlSystem.Xml

SchemaSchema

SerializationSerialization

XpathXpath

QueryQuery

PermissionsPermissions

PolicyPolicy

PrincipalPrincipal

TokenToken

System.SecuritySystem.Security

System.CollaborationSystem.Collaboration

RealTimeEndpointRealTimeEndpoint

TransientDataSessionTransientDataSession

SignalingSessionSignalingSession

MediaMedia

ActivitiesActivities

HttpWebRequestHttpWebRequest

FtpWebListenerFtpWebListener

SslClientStreamSslClientStream

WebClientWebClient

System.NetSystem.Net

NetworkInformationNetworkInformation

SocketsSockets

CacheCache

System.WebSystem.Web

AdministrationAdministration

ManagementManagement

NavigationNavigation

Peer GroupPeer Group

PolicyPolicy

SerializationSerialization

CompilerServicesCompilerServices

RecognitionRecognition

System.SpeechSystem.Speech

SynthesisSynthesis

Page 48: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Compatibilidad Futuro Compatibilidad Futuro WebPartsWebParts

Los Web Parts para WSS/SPS de hoy Los Web Parts para WSS/SPS de hoy funcionarán en las versiones de funcionarán en las versiones de WSS/SPS del futuroWSS/SPS del futuro

Los Web Parts de Whidbey ‘de Los Web Parts de Whidbey ‘de mañana’ funcionarán en los mañana’ funcionarán en los siguientes versiones de WSS/SPSsiguientes versiones de WSS/SPS

Los Web Parts de Whidbey ‘de Los Web Parts de Whidbey ‘de mañana’ funcionarán también en las mañana’ funcionarán también en las versiones actuales de WSS/SPS versiones actuales de WSS/SPS después de aplicar una actualización después de aplicar una actualización ó SP correspondiente.ó SP correspondiente.

Page 49: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Web Parts ASP.NETWeb Parts ASP.NET(‘Futuro’ a partir de Whidbey.NET)(‘Futuro’ a partir de Whidbey.NET)

Ya no se ‘dependerá’ de SharePoint Ya no se ‘dependerá’ de SharePoint 2003 para desarrollar WebParts2003 para desarrollar WebPartsSon ‘bloques de construcción’ para Son ‘bloques de construcción’ para cualquiercualquier Web ASP.NET dinámico. Web ASP.NET dinámico.Completamente integrado en el Completamente integrado en el modelo de controles web de ASP.NETmodelo de controles web de ASP.NET

Cualquier control-web puede ser un Cualquier control-web puede ser un WebPartWebPartCualquier user-control-web puede ser un Cualquier user-control-web puede ser un WebPartWebPart

Podemos utilizar los nuevos servicioes Podemos utilizar los nuevos servicioes ASP.NETASP.NET

Personalización, Roles, Membership, etc.Personalización, Roles, Membership, etc.

Page 50: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Windows SharePoint ServicesWindows SharePoint ServicesLa siguiente versión de WSS y SPS La siguiente versión de WSS y SPS estará basada en ASP.NET Whidbeyestará basada en ASP.NET Whidbey

Los Web Parts actuales de WSS 2.0:Los Web Parts actuales de WSS 2.0:Funcionarán en la siguiente versión de Funcionarán en la siguiente versión de WSSWSS

Los Web Parts de ASP.NET Whidbey:Los Web Parts de ASP.NET Whidbey:Funcionarán sobre ASP.NET WhidbeyFuncionarán sobre ASP.NET Whidbey

Funcionarán sobre la siguiente versión de Funcionarán sobre la siguiente versión de WSSWSS

Funcionarán sobre WSS 2.0 * (Service Funcionarán sobre WSS 2.0 * (Service Packs)Packs)

Page 51: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

Conclusiones desarrollo .NET Conclusiones desarrollo .NET sobre SharePoint 2003sobre SharePoint 2003

SharePoint 2003 tiene muchas SharePoint 2003 tiene muchas oportunidades para oportunidades para desarrolladores .NET permitiendo desarrolladores .NET permitiendo extender y crear soluciones propias extender y crear soluciones propias basadas en SharePoint 2003.basadas en SharePoint 2003.

Web Parts ‘Custom’ (Aplicaciones Web Parts ‘Custom’ (Aplicaciones propias)propias)

Acceso a elementos internos de Acceso a elementos internos de SharePointSharePoint

Compatibilidad con futuros WebParts Compatibilidad con futuros WebParts de .NET Whidbeyde .NET Whidbey

Page 52: Desarrollo.NET sobre SharePoint 2003 (WSS y SPS) César de la Torre Software Architect Renacimiento ctorre@renacimiento.com @renacimiento.com.

RecursosRecursosCentro de Downloads de SharePoint Centro de Downloads de SharePoint Products and Technologies en MSDNProducts and Technologies en MSDN

http://msdn.microsoft.com/sharepointhttp://msdn.microsoft.com/sharepoint

Ejemplos de desarrollo en GotDotNetEjemplos de desarrollo en GotDotNetDesarrollo Web Parts y Whidbey.NET Desarrollo Web Parts y Whidbey.NET WebPartsWebParts

http://www.asp.nethttp://www.asp.net

http://www.asp.net/whidbeyhttp://www.asp.net/whidbey

Proyectos y/o Formación de Proyectos y/o Formación de RenacimientoRenacimiento

http://www.renacimiento.comhttp://www.renacimiento.com

[email protected]@renacimiento.com