Desarrollo 'NET sobre SharePoint 2003 WSS y SPS - PowerPoint PPT Presentation

1 / 52
About This Presentation
Title:

Desarrollo 'NET sobre SharePoint 2003 WSS y SPS

Description:

Dialogs. SideBar. Notification. System.Windows. Documents. Text ... UI Element. Explorer. Media. System.Windows.Forms. Forms. Control. Print Dialog. Design ... – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 53
Provided by: cesardelat
Category:

less

Transcript and Presenter's Notes

Title: Desarrollo 'NET sobre SharePoint 2003 WSS y SPS


1
Desarrollo .NET sobre SharePoint 2003 (WSS y SPS)
CĂ©sar de la Torre Software Architect Renacimiento
ctorre_at_renacimiento.com
2
Agenda
  • IntroducciĂłn de la Arquitectura de Microsoft
    SharePoint Portal Server 2003
  • Oportunidades de Desarrollo
  • Desarrollo de Web Parts Sharepoint 2003
  • Desarrollo de gestiĂłn de eventos de las
    Bibliotecas de Documentos
  • El Modelo de Objetos de SharePoint 2003
  • Los Web Services de SharePoint 2003
  • FUTURO Web Parts en Whidbey.NET

Que?
Por qué?
CĂłmo?
3
Por qué SharePoint 2003?
  • DistribuciĂłn y comparticiĂłn de informaciĂłn
  • ColaboraciĂłn
  • Espacios de trabajo de Documentos y reuniones
  • GestiĂłn Documental
  • Bibliotecas de Documentos (meta-data, versionado,
    aprobaciĂłn de documentos, check-in/check-out)
  • PersonalizaciĂłn y NotificaciĂłn
  • Encontrar informaciĂłn

4
Windows Sharepoint Services 2003 vs. SharePoint
Portal Server 2003?
  • Windows SharePoint Services 2003 (v2)
  • Microsoft SharePoint Portal Server (v2)

Soluciones Custom
Office 2003System
SharePointPortal Server
Windows SharePoint Services
SQL Server 2000 (SP3)
.NET Framework 1.1
Windows Server 2003
5
Arquitectura LĂłgica de SharePoint Portal Server
2003
vServer
App Web
IIS 6.0
vServer
ColecciĂłn de Sites SharePoint
Sub-Portal 1
Portal Principal
Sub-Portal 2
6
Oportunidad desarrollo 1 Web Parts
  • Puntos a ver
  • QuĂ© son los Web Parts?
  • Pasos Básicos
  • Cache
  • La TĂ©cnica de los User Controls

7
Qué son los Web Parts? (SPS2003)
  • Perspectiva de Usuario
  • Un Web Parts es un bloque de construcciĂłn (caja)
    en una página de un Portal de SharePoint
  • Perspectiva de Gestores de Contenido
  • Web Parts son contenedores de informaciĂłn que se
    pueden añadir a las páginas al igual que las
    Bibliotecas de Documentos y las Listas
  • Perspectiva de Desarrollo
  • Los Web Parts son Web-Controls extendidos basados
    en ASP.NET que implementan interfaces estandard
    de SharePoint 2003.
  • Interesantes SOLAMENTE si vamos a reutilizarlo

8
Trabajando con Web Parts
  • GalerĂ­as de Web Part
  • Web Part Page Gallery
  • Virtual Server Gallery
  • Online Gallery
  • Se sueltan en páginas
  • En Páginas ASP.NET divididas en zonas
  • PersonalizaciĂłn
  • Propiedades Comunes
  • ToolPart
  • ConexiĂłn entre Web Parts
  • ImportaciĂłn y ExportaciĂłn de Web Parts

9
Uso de Web-Parts
(1)
  • Web Parts ejemplo
  • Biblioteca de Documentos
  • Enlaces
  • Foros de DiscusiĂłn
  • etc.

10
Desarrollo de Web Parts
  • Plantillas de proyecto WebPart con VS.NET (MSDN
    Downloads)
  • Derivar de clase base de SharePoint
  • Implementar uno o mas interfaces de SharePoint

System.Web.dll
System.Web.UI.Control
Microsoft.SharePoint.dll
Microsoft.SharePoint.WebPartPages.WebPart
Tu assembly
Renacimiento.WebParts.MiWebPart
11
Los ficheros de un Web Part
Tu Web-Part
Assembly .NET encapsulando el cĂłdigo servidor
y renderizaciĂłn 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 CAB
STSADM.EXE
Utilidad de instalaciĂłn
12
Desarrollo Básico - Simple
  • Definir Propiedades custom del WebPart
  • Generar un montĂłn de HTML en el mĂ©todo
    RenderWebPart

13
Desarrollo de Web-Part Hola Mundo
(2)
- CreaciĂłn de Web Part - MĂ©todos Base de un Web
Part - HTML renderizado manualmente
14
Desarrollo Básico Realista(Uso de WebControls
internos)
  • Definir Propiedades custom del WebPart
  • Sobreescribir CreateChildControls
  • Instanciar web-controls y añadirlos a la
    colecciĂłn de controles
  • Implementar el gestionador(es) del evento OnLoad

15
Persistencia de Propiedades
  • Atributo WebPartStorage por propiedad
  • Storage.Shared
  • Storage.Personal
  • Storage.None
  • Los ficheros .DWP persisten valores de
    propiedades para realizar importaciones/exportacio
    nes

16
Web-Part ejemplo Visor de Noticias RSS
(3.1)
  • UtilizaciĂłn de Web-Controls dentro de WebPart
  • Propiedades persistentes de WebParts
  • - Debugging de WebParts

17
Cache de Web Parts (1)
  • Tenemos dos opciones tecnolĂłgicas para el CACHE
  • Cache estandard de páginas ASP.NET
  • Cache de Web-Parts (soporta cache por usuario)

18
Cache de Web Parts (2)
  • Los Administradores no los desarrolladores
    establecen el tipo de cache en el web.config
  • ltSharePointgt
  • ltWebPartCache StorageCacheObject"/gt
    lt/SharePointgt
  • Tenemos 2 tipos de cache
  • CacheObject (Cualquier objeto .NET)
  • Database (El objecto tiene que ser serializable)

19
Cache de Web Parts (3)
  • Los valores de Cache se pueden guardar como
  • Shared
  • Personal
  • MĂ©todos de la clase base WebPart
  • PartCacheRead()
  • PartCacheWrite()
  • PartCacheInvalidate()

20
Web-Part Visor de Noticias RSS
(3.2)
- CACHE de WebParts
21
Trabajo con User Controls
  • No hay un diseñador para las clases Web Part
  • Truco Podemos utilizar User-Controls de
    ASP.NET
  • Situar .ascx en Directorio de AplicaciĂłn Web
  • Definir el Managed Path
  • Dentro del Web Part, utilizar this.Page.LoadContr
    ol(/tu path)
  • Instala el Assembly del Web User Control en el
    GAC
  • Añade la referencia del assembly en el web.config

22
Web Part con User Controls (web)
(4)
Ejemplo de WebPart utilizando un User-Control de
formulario complejo
23
ConexiĂłn de Web Parts
  • Los Web Parts se pueden conectar si implementan
    los interfaces para conexiones (estandard
    SharePoint)

24
Interfaces Soportados
  • ICellProvider, ICellConsumer
  • IRowProvider, IRowConsumer
  • IListProvider, IListConsumer
  • IFilterProvider, IFilterConsumer
  • IParametersOutProvider, IParametersOutConsumer
  • IParametersInProvider, IParametersInConsumer

25
Seguridad en páginas de Web Parts
  • Se permite a los usuarios modificar páginas
    directamente
  • No se permite ejecutar cualquier cĂłdigo
  • No se permite inline script
  • Code behind si se permite
  • No se permite usar cualquier control de servidor
  • Lista de SafeControls en Web.Config
  • Dá a los administradores control sobre quĂ© clases
    pueden utilizarse
  • Code behind
  • Controles de Servidor
  • Web Parts

26
Seguridad en páginas de Web Parts (cont.)
  • GestiĂłn de Identidad para acceder a datos
    externos
  • Impersonation true
  • Delegation
  • Kerberos si configurado por admin
  • SSO en SharePoint Portal Server

27
Deployment (Inst. En ProducciĂłn)
  • Assemblies, Recursos y su localizaciĂłn
  • Los Assemblies pueden instalarse en el GACo en
    el directorio bin del WebSite
  • Los Recursos se instalan en /_wpresources o
    /wpresources respectivamente
  • DWPs se instalan en el directorio /wpcatalog

28
Deployment (cont.)
  • GAC
  • Por defecto Fully trusted
  • Los Assemblies necesitan estar firmados con un
    strongname.
  • Disponible para todos los servidores virtuales de
    la máquina
  • Bin
  • Por defecto Partial trust
  • Disponible solo para un WebSite especĂ­fico

29
Deployment (cont.)
  • WPPacks son ficheros cab que contienen
  • Manifest
  • Assemblies
  • Recursos
  • DWPs
  • La creaciĂłn de .cabs permite a los
    administradores usar la utilidad stsadm.exe
    para el deployment

30
Deployment (cont.)
  • Mas allá, crear un .msi
  • Contiene el .cab
  • Usar el objeto SPGlobalAdmin del namespace
    Microsoft.SharePoint.Administration
  • AddWPPack
  • RemoveWPPack
  • EnumWPPacks
  • Deployment de politicas CAS usando el .msi

31
Deployment de Web Parts
(5)
Ejemplo de uso de stsadm.exe
32
Oportunidad desarrollo 2 GestiĂłn de Eventos de
Bibliotecas de Documentos
  • LibrerĂ­as de clases .NET
  • Utilizando el Modelo de Objetos de SharePoint se
    puede manipular programáticamente contenido de
    Bibliotecas y Listas

33
Pasos de Desarrollo
  • Crear una LibrerĂ­a de clases .NET
  • Añadir referencia a Microsoft.SharePoint.dll
  • Implementar el interfaz IListEventSink
  • Añadir tu cĂłdigo en el mĂ©todo OnEvent()
  • Se llama a este mĂ©todo cuando ocurre algo en la
    Biblioteca de Documentos
  • Firma tu Assembly
  • Registralo en el GAC
  • Habilita el soporte para Doc Lib Event Handlers
    en tu servidor virtual
  • Especifica el Doc Lib Event Handler a la
    Biblioteca de documentos o Formularios

34
Libreria .NET de gestiĂłn de Eventos de LibrerĂ­a
SharePoint
(6)
35
Oportunidad desarrollo 3 Acceso a SharePoint
desde aplicaciones .NET
  • Dos opciones
  • Modelo de objetos (assemblies) de SharePoint
  • (p.e. acceder a SharePoint desde mi app.
    ASP.NET)
  • XML Web Services de SharePoint
  • (p.e. acceder a SharePoint desde mi app.
    WinForms)

36
Oportunidad desarrollo 3
- Acceso a SharePoint desde aplicaciones .NET -
Assemblies vs. Web Services
37
Modelo de Objetos .NET de SharePoint
  • Modelo de Objetos de codigo gestionado en el
    servidor
  • Accessible desde ASP.NET o cualquier otro proceso
    en el servidor
  • Implementado en C
  • Expone practicamente todos los datos guardados en
    Windows SharePoint Services

38
Que se puede hacer con este Modelo de Objetos?
  • Ejemplos
  • Añadir, editar, borrar, y devolver datos de las
    Listas de SharePoint
  • Crear nuevas listas y establecer metadatos de
    listas (e.j. los campos en una lista)
  • Establecer propiedades de web
  • Trabajar con documentos en una Biblioteca de
    documentos.
  • Realizar tareas administrativas como crear webs,
    añadir usuarios, crear roles, etc.

39
SPGlobalConfig
SPWebServer
SPVirtualServer
SPSite
SPWeb
SPList
SPListItem
40
Web-Part Acceso a Profiles de usuarios de
SharePoint
(7)
- Modelo de Objetos de SharePoint 2003
41
Resumen OM
  • El modelo de objetos tiene tres objetos
    principales de alto nivel
  • SPWeb (representa un site individual)
  • SPSite (representa una colecciĂłn de sites, que es
    un conjunto de web sites)
  • SPGlobalAdmin (utilizado para administraciĂłn de
    configuraciĂłn global)
  • Para poder realizar acciones en los datos de un
    web, primero hay que obtener siempre un objeto
    SPWeb.

42
Web Services de WSS (Windows SharePoint Services)
  • La capa de web services publica la capa de OM.
  • Permite manipulaciĂłn de Lists, Webs, Vistas, etc.
  • La Funcionalidad es similar al OM, pero algunos
    interfaces están optimizados para minimizar las
    transacciones.
  • Office 2003 (e.j. Excel, DataSheet, Work,
    Outlook, FrontPage, etc) utilizan dichos web
    services para acceder a los datos de WSS.

43
Ejemplos
  • GetListCollection
  • GetListItems
  • GetWebCollection
  • UpdateList
  • UpdateListItems
  • GetWebInfo
  • GetWebPart
  • GetSmartPageDocument
  • Otros

44
Uso de XML Web Services Acceso a Profiles de
usuarios de SharePoint
(8)
- XML Web Services de SharePoint 2003
45
Ver contenido de SharePoint en un Pocket PC
46
Single Sign-On
  • Servicio de valor añadido en SharePoint 2003
  • Proporciona una Ăşnica autenticaciĂłn para todas
    las aplicaciones custom en un entorno Intranet.

B.D. SQL de Single Sing On (Es un Cache de
Credenciales)
ObtenciĂłn credenciales Cacheadas
Entramos en la Intranet
App. Custom 1
IE
1.
Login Automático Challege-Response
Login programat. App. 1
Cacheamos las credenciales
2.
b.
Login visual para App 1
a.
App. Custom n
47
Demo de Single Sign-On
48
FUTURO Web Parts en Whidbey.NET
49
Qué tenemos hoy?
  • Sin tener en cuenta a Whidbey.NET
  • Los Web Parts tienen que ser Web-Controls custom
    basados en ASP.NET
  • Las páginas para Web Parts tienen que estar
    obligatoriamente alojadas en Sites de SharePoint
  • Es escalable, está soportado, y tenemos
    disponible una infraestructura completa de
    servicios de SharePoint
  • Las Zonas son estrictamente plantillas visuales
    de contenedores

50
Tools
Client Application Model
Web Service Application Model
Data Systems Application Model
Mobile PC Devices Application Model
Command Line
Compact Framework
System.Console
Win FS
Yukon
Mobile PC Optimized
Avalon
Windows Forms
ASP.NET / Indigo
NT Service
System.Windows
System.Windows.Forms
System.Data.SqlServer
System.Windows
System.Windows.Forms
System.Web
System.Storage
System.ServiceProcess
Data
Communication
Presentation
System.Discovery
System.Search
System.Collaboration
System.Data
System.Messaging
System.Windows
DataSet
SqlClient
RealTimeEndpoint
UI Element
Explorer
Media
Annotations
System.DirectoryServices
ActiveDirectory
TransientDataSession
Mapping
SqlTypes
Animation
Controls
Documents
System.Remoting
Monitoring
SignalingSession
ObjectSpaces
SqlXML
Controls
Dialogs
Text Element
System.Runtime.Remoting
Logging
Uddi
Media
ObjectSpace
Control
SideBar
Shapes
OdbcClient
Relevance
Activities
Query
Panel
Notification
Shape
OleDbClient
Navigation
Schema
System.Web.Services
Design
Ink
OracleClient
System.MessageBus
Transport
Queue
Web.Service
System.Storage
Port
PubSub
System.Web.UI
System.Windows.Forms
Description
Item
Core
Channel
Router
Page
WebControls
Forms
Discovery
Relationship
Contact
Service
Policy
Control
Adaptors
Control
Protocols
Media
Location
Peer Group
Print Dialog
HtmlControls
Design
Audio
Message
MobileControls
Design
Video
Document
System.Net
System.Web
Images
Event
HttpWebRequest
NetworkInformation
System.Help
System.Speech
Personalization
System.Xml
FtpWebListener
Sockets
System.Drawing
Recognition
Synthesis
Caching
Schema
Xpath
SslClientStream
Cache
SessionState
System.NaturalLanguageServices
Serialization
Query
WebClient
Fundamentals
Security
Base Application Services
Configuration
Deployment/Management
System.Timers
System.Text
System.Windows.TrustManagement
System.Web.Configuration
System.Collections
System.Web
System.Security
System.Globalization
System.Design
System.MessageBus.Configuration
Generic
Administration
Authorization
Permissions
System.Web.Security
System.Serialization
System.IO
System.Configuration
Management
System.ComponentModel
AccessControl
Policy
System.Threading
Ports
System.Resources
System.CodeDom
System.Management
Principal
System.MessageBus.Security
Credentials
System.Runtime
System.Reflection
Token
Cryptography
System.Deployment
System.EnterpriseServices
InteropServices
Serialization
System.Diagnostics
System.Transactions
CompilerServices
51
Compatibilidad Futuro WebParts
  • Los Web Parts para WSS/SPS de hoy funcionarán en
    las versiones de WSS/SPS del futuro
  • Los Web Parts de Whidbey de mañana funcionarán
    en los siguientes versiones de WSS/SPS
  • Los Web Parts de Whidbey de mañana funcionarán
    también en las versiones actuales de WSS/SPS
    después de aplicar una actualización ó SP
    correspondiente.

52
Web Parts ASP.NET(Futuro a partir de
Whidbey.NET)
  • Ya no se dependerá de SharePoint 2003 para
    desarrollar WebParts
  • Son bloques de construcciĂłn para cualquier Web
    ASP.NET dinámico.
  • Completamente integrado en el modelo de controles
    web de ASP.NET
  • Cualquier control-web puede ser un WebPart
  • Cualquier user-control-web puede ser un WebPart
  • Podemos utilizar los nuevos servicioes ASP.NET
  • PersonalizaciĂłn, Roles, Membership, etc.

53
Windows SharePoint Services
  • La siguiente versiĂłn de WSS y SPS estará basada
    en ASP.NET Whidbey
  • Los Web Parts actuales de WSS 2.0
  • Funcionarán en la siguiente versiĂłn de WSS
  • Los Web Parts de ASP.NET Whidbey
  • Funcionarán sobre ASP.NET Whidbey
  • Funcionarán sobre la siguiente versiĂłn de WSS
  • Funcionarán sobre WSS 2.0 (Service Packs)

54
Conclusiones desarrollo .NET sobre SharePoint 2003
  • SharePoint 2003 tiene muchas oportunidades para
    desarrolladores .NET permitiendo extender y crear
    soluciones propias basadas en SharePoint 2003.
  • Web Parts Custom (Aplicaciones propias)
  • Acceso a elementos internos de SharePoint
  • Compatibilidad con futuros WebParts de .NET
    Whidbey

55
Recursos
  • Centro de Downloads de SharePoint Products and
    Technologies en MSDN
  • http//msdn.microsoft.com/sharepoint
  • Ejemplos de desarrollo en GotDotNet
  • Desarrollo Web Parts y Whidbey.NET WebParts
  • http//www.asp.net
  • http//www.asp.net/whidbey
  • Proyectos y/o FormaciĂłn de Renacimiento
  • http//www.renacimiento.com
  • ctorre_at_renacimiento.com
Write a Comment
User Comments (0)
About PowerShow.com