desenvolvimento com sharepoint
DESCRIPTION
Oficina de Desenvolvimento com SharepointTRANSCRIPT
Desenvolvimento com Sharepoint 2010
Lucas Simões [email protected]://twitter.com/lucas_simoes
http://blogdopiruca.wordpress.com
Lucas Simões Maistro
◦ Especialista em Sistemas para Internet
◦ Bacharel em Administração de Empresas com Habilitação em Análise de Sistemas
◦ 11 anos de experiência em desenvolvimento de software
◦ Engenheiro de Software da Critical Software do Brasil
Apresentação
Sharepoint 2001◦ Microsoft adquire nCompass◦ Sharepoint Team Services (STS)
Sharepoint 2003◦ Front-end com ASP.Net◦ STS foi renomeado para Windows
Sharepoint Services (WSS) Sharepoint 2007
◦ Microsoft Office Sharepoint Server (MOSS 2007)
Histórico
17+mil clientes 100+milhões licenças 2/3 Fortune 1000 20.000 novos usuários por dia durante os últimos
5 anos 4.000+ Parceiros Líde do Gartner Magic Quadrants, Forrester Wave 1.000+ livros no Amazon U$1+Bilhão em receita U$6+ Bilhões em receitas para parceiros
◦ U$300+ milhões só no Brasil
Posicionamento de Mercado
Microsoft SharePoint Foundation 2010: é a tecnologia de base de todos os sites do SharePoint, com ele é possível criar rapidamente diversos tipos de sites.
SharePoint Server 2010 é um produto de servidor que depende da tecnologia do SharePoint Foundation para fornecer uma estrutura consistente e conhecida para listas e bibliotecas, administração e personalização de sites.
SharePoint Online é um serviço baseado em nuvem, hospedado pela Microsoft, para empresas de todos os portes que agora tem a opção de em vez de instalar e implantar o SharePoint Server no local podem simplesmente se inscrever no SharePoint Online.
SharePoint Designer 2010 é um programa grátis para projetar, criar e personalizar sites que executem o SharePoint Foundation e o SharePoint Server.
SharePoint Workspace 2010 é um programa de desktop que você pode usar para colocar o conteúdo do site do SharePoint offline e colaborar no conteúdo com outros enquanto está desconectado da rede.
Sharepoint 2010
Microsoft SharePoint 2010A Plataforma de Colaboração nas Empresas e na Internet
Conectar e habilitar pessoas
Infraestrutura Unificada -> menor custo
Responder rapidamente as necessidades de negócios
Comunidades
Busca
Sites
Composites
ConteúdoInsights
Sites - Experiência do usuário
Sites - “Theming and Branding”
Interface multi-idiomas
SharePoint Communities
•Promove compartilhamento com fácil autoria sociial•Navegar facilmente com recursos de marcação•Encontrar repostas mais rapidamente através de feedback do usuário
ConhecimentoInformal
•Conectando usuários através de perfis•Mantendo atualizado utilizando o feed de noticias e alertas•Tornar a descoberta de expertise mais fácil
Conexões sociais
•Colaboração pela Internet, Intranet e Extranet•Melhoria na interoperabilidade com suporte a padrões•A toque de caixa em conformidade com WCAG 2.0
Participação em qualquer lugar
Content - Metadados gerenciados
Search - Interface Fast Search
Resultados visuais conectam os usuários com o conteúdoThumbnails pra Word e PowerPointVisual Best Bets destacam conteúdos selecionados Preview no browser sem sair da página de resultados
Navegadores
Thumbnails
Previews
Classificar por qualquer campo
Resultados Semelhantes
Feito usando o SharePoint Search CenterAproveita todas as inovações do SharePointWeb Parts, Federação, autocomplete de buscas, buscas relacionadas, “Você quis dizer?”
Insights - SharePoint Business Intelligence
Insights - Performance Point Services
SharePoint Composites
• Melhores ferramentas para soluções de usuário final
• Automação de processos e validação de dados com formulários
• Integração com Visio services para visualização
Soluções direcionadas para usuários
• Business Connectivity Services para troca de dados
• Dados de sistemas externos no Outlook, Word & Workspace sem necessidade de código
• Dados do SharePoint expostos por web services & APIs
Conectividade com dados
• Sandboxed Solutions para instalação rápida e self-service
• Estabilidade da plataforma com gerenciamento de cotas de recursos
• Suporte a padrões para integração e acessibilidade
Deployment de soluções
Business Connectivity Services (BCS)
Visio 2010 Premium - Workflows
SharePoint Designer
Estrutura
Arquitetura Stand Alone
Todas essas funções em apenas 1 servidor
Active Directory
SQL Server SharePoint
Arquitetura Server Farm
Uma Server Farm é constituída de no mínimo 3 servidores
Active Directory SQL Server SharePoint
Medium Server Farm
Large Server Farm
SharePoint TerminologiaFarm
SPFarm
Web ApplicationsSPWebApplication
Site CollectionsSite collection
SPSite
Site SPWeb
Root Site
Sub sites
Field 1 Field 2 Field 3
Item 1
Item 2
Item 3
Item 4
Item -SPListItem
List - SPList
Field 1 Field 2 Field 3
File 1
File 2
File 3
File 4
File – SPFileFolder - SPFolder
Document Library - SPDocumentLibrary
Lists
Criação de Sites e Páginas
Gestão de Documentos
28
Master Pages
•Team site master page•User content pages (lists\content pages\etc)•_layouts pages (site settings, etc)
v4.master
•For app experiences, like Search or Office Web Applications•If you do not need site navigation•If you do not have a ribbon•If your app needs the space•Note. Does not work with team or with publishing sites
minimal.master
•For informative and simple pages – Access denied, confirmation, error, login, request access, signout, web deleted pages•Not customizable, but pages can be replaced
simple.master
•Show site using legacy interface•No Ribbon, no fluency•Provides easy upgrade from previous versions
default.master
•Publishing master page•Used oob in publishing sites
nightandday.master
Master Page - Tipos
On Web Front End
Contains OOB site wide Ribbon Implementation
Adicionando um Ribbon Control
CMDUI.XML
<CustomAction Location = (somewhere in Ribbon) Scope = (Farm to Web) <CommandUIExtension> <CommandUIDefinitions /> <CommandUIHandlers /> </CommandUIExtension></CustomAction>
Custom Action
Page with the Ribbon
SE existir, os componentes são adicionados aos handle commands da página
SENÃO Os handle commands devem ser declarados separadamente
JavaScript
Handles control
Page Component
Mesclado com a CMDUI
Adicionando um Ribbon Button
Onde?
O quê?
Ação
• Controles do ASP.NET 2.0• Funcionam como um UserControl, sendo
então extremamente flexíveis• São personalizáveis pelos usuários,
conseguindo manter as preferências de cada um individualmente
• São dispostas em Web Zones• São vinculadas a um WebpartManeger• Permitem conexão e comunicação entre
Webparts
Webparts
• Sharepoint utiliza amplamente Webparts em suas paginas
• Existem Webparts prontas no Sharepoint para exibir listas, fazer buscas, gerar relatórios, exibir folhas de dados do Excel, visualizar imagens, visualizar Slides, formulários, Silverlight, etc...
• Praticamente em todos os sites do Sharepoint existem zonas para inserção de novas Webparts.
Webparts no Sharepoint
API’s Sharepoint
• API de programação para interação com o Sharepoint
• Código funciona no servidor aonde o Sharepoint esta rodando
• Permite interagir com todas as estruturas do Sharepoint, listas, sites, permissões, Webparts, etc.
Server API Sharepoint
• Algumas classes são principais durante o desenvolvimento pois proporcionam interagir com os sites e listas do Sharepoint
• Elas são: ◦ SPSite ◦ SPWeb ◦ SPContext◦ SPList◦ SPListItem◦ SPListItemCollection
Server API – Objetos Comuns
• Collaborative Aplication Markup Language• Linguagem de marcação baseada em XML• Tem diversas funcionalidades como:
◦ Definir features◦ Definir Views para dados e paginas◦ Realizar Querys em listas do Sharepoint
• No Sharepoint 2010 foi incluída a função para Joins entre listas nas Querys
CAML Query e sua utilização
CAML – Exemplo Query
• O Objeto SPQuery é utilizado para usar as querys CAML nas listas
CAML – Querys em Listas
• Language Integrated Query• Simplificado, forma orientada a objetos para
consulta• Cria uma ponte entre POO e dados
relacionais• Querys validadas em tempo de compilação• Suporte ao IntelliSense do Visual Studio• Unificação de sintaxe para consultar
qualquer fonte de dados
LINQ
Versões do LINQ:• LINQ to Objects• LINQ to XML• LINQ to SQL• LINQ to Entity• LINQ to SharePoint
LINQ
• Permite fazer operações sem CAML, porem não o substitui
• Tipos e queries fortemente tipadas• Intellisense ajuda na construção das Queries• Microsoft.SharePoint.Linq.dll
◦ Encapsula as consultas realizadas pelo SharePoint object model com as classes geradas
• Lado Servidor apenas (Server-side), para o lado cliente a utilização do LINQ fica para facilitar a interação com o REST (listdata.svc)
LINQ to SharePoint
As aplicações Silverlight podem ser integradas ao Sharepoint de diferentes maneiras:◦ SharePoint 2010 Service integrado ao Silverlight;◦ Silverlight Client Objetc Model;◦ Consumindo dados com Silverlight;◦ REST services com Silverlight.
Silverlight no SharePoint
É um host para aplicações Silverlight; Simples de Implantar; Criar uma Web Part Silverlight para fazer o
upload do arquivo “.XAP” para qualquer biblioteca de documentos;
Web Part Silverlight
• Nova API de desenvolvimento para o Sharepoint 2010
• Permite interagir com dados e estrutura do Sharepoint remotamente
• Sintaxe similar a API Server Object• Possui versões para aplicações ECMS
Javascript, Silverlight e o .NET geral (WinForms,WPF,ASP.NET,etc)
Introdução Client Object Model
BCS Client
Business Data Connectivity
External Content Type Repository
External Lists
Dev Platform
Enterprise Search
Business Intelligence
Collaboration Social
Enterprise Content
Management
Web 2.0DBWCFWeb ServiceLOB
SharePoint Designer
Visual Studio
Business Connectivity Services Office Applications
Design Tools
SharePoint
Tipos de Conteúdo Externo
Office Clients (Rich)
SharePoint
External Content Type (ECT)
External Data Source(Web Service, DB, .Net
object, LOB system, Web 2.0 service, etc.)
BCS
BCSSoluções habilitadas para o BCS utilizam os ECTs para integrar dados externos com o SharePoint e outras aplicações Office
Descreve o esquema e as formas de acesso a dados e uma fonte de dados externa e os seus comportamentos em relação ao Office e ao SharePoint
*antigo BDC Entity do SharePoint 2007
Introdução aos Workflows
Workflow (Fluxo de Trabalho) é conjunto de passos/etapas a serem realizadas para atingir determinado objetivo.
A plataforma SharePoint utiliza os serviços do Windows Workflow Foundation (WF).
Trabalha atualmente com a plataforma .NET 3.5 (4.0 ainda em desenvolvimento na data de lançamento do SharePoint 2010).
Há dois tipos de Workflows
controlados pelo WF:•Sequential Workflows: São workflows que iniciam todos os seus passos sem praticamente nenhuma intervenção humana.•State Machine Workflows: Nestes workflows há uma grande interação humana entre os diversos passos executados pelo workflow.
Introdução aos Workflows
Pode-se criar um Workflow mais completo, que integra-se a outros elementos, bem como State-Machine Workflows
Permite a adição de códigos necessários ao seu workflow, bem como controlar eventos relacionados ao “lifetime” do Workflow
Através do External Data Exchange Services torna-se possível que eventos externos interfiram no estado de um Workflow
É possível converter Workflows criados com Visual Studio 2008 (para o SharePoint 2007) para o SharePoint 2010
Desenvolvendo Workflows com Visual Studio 2010
Muito Obrigado!!!
Lucas Simões [email protected]://twitter.com/lucas_simoes
http://blogdopiruca.wordpress.com