Rodrigo Romano – MVP SharePoint Server

Registros de um Especialista SharePoint :)

Introdução ao desenvolvimento com SharePoint 2010

with 9 comments


Olá SharePointers,

Após analisar o mercado e participar de vários projetos com o SharePoint 2010, identifiquei que:

1) Na maioria das vezes, profissionais de .NET atuam em um projeto de SharePoint acreditando que é a “mesma coisa”.

2) Muitos desenvolvedores não entendem, realmente, o porquê do SharePoint 2010 ser considerado uma plataforma de desenvolvimento e, muito menos, quais tecnologias estão envolvidas.

 

Para desenvolvedores que estão começando a desbravar esse “novo” mundo, várias dúvidas surgem na cabeça: “Como alterar/manter o banco de dados da aplicação?”, “Qual linguagem devo utilizar?”, “Qual a extensibilidade da ferramenta?”, “Desenvolver em SharePoint é igual à desenvolver com .NET?”, entre outras.

Para responder todas essas perguntas, devemos primeiro entender  a arquitetura do produto:

SharePoint 2010 consiste em várias camadas de tecnologia. Basicamente, é uma aplicação ASP.NET que armazena os dados no SQL SERVER e roda em um servidor Windows.

 

SharePoint 2010: Recursos e tecnologias envolvidas

 

SharePoint é um produto, que como todos, precisa ser respeitado. Você precisa entender os seus limites e tirar proveito de suas funcionalidades ao seu favor. Devemos mudar nossa forma de pensar. Desenvolver em uma plataforma nova, pode ser um desafio bem interessante. Para isso, tente identificar similaridades com outras ferramentas que você possui experiência, bem como particularidades do produto.

Respondendo uma das perguntas: “O que preciso saber?”

Para entender melhor o que você precisa conhecer, vamos analisar a frase “Basicamente, é uma aplicação ASP.NET que armazena os dados no SQL SERVER e roda em um servidor Windows”.

Uma aplicação ASP.NET – ASP.NET é uma tecnologia do .NET Framework para aplicações WEB. Toda aplicação WEB precisa de um servidor para que a aplicação seja hospedada. Esse servidor é o IIS.

Visando uma melhor aparência do Site, precisamos entender e conhecer os Temas e Skins do ASP.NET de forma a garantir um “look-and-feel” consistente e para criar e aplicar “brandings”, por exemplo.

Como disse anteriormente, é uma aplicação WEB. Os browsers só entendem – de forma bem superficial e básica – HTML, CSS, JavaScript.

E, por fim, conhecer as Web Parts do ASP.NET. São como uma “mini-página” que utilizamos para customizar comportamentos, inserir funcionalidades com o SharePoint.

Então, resumidamente, precisamos conhecer:

ASP.NET, ASP.NET Temas e  Skins, Html, CSS, JavaScript, ASP.NET Web Parts e IIS.

 

Depois de estudar mais sobre a base do produto, podemos partir para o produto, própriamente dito.

Object Model do SharePoint – Como o SharePoint é um framework/plataforma de desenvolvimento, programaticamente, você deve usar a sua própria API (API = Object Model).

Um dos grandes diferenciais da versão 2010 do produto, é o Client Object Model. É uma API para rodar do lado do cliente – como o nome já diz – de forma que você consiga interagir com o servidor (Criar uma lista, inserir itens, excluir, editar, etc).

O SharePoint 2010 tem integração nativa com Silverlight e XAML, então vale a pena estudar essa forma de extensibilidade visual.

Workflows – os Workflows são utilizados para automação de processos longos.

Além de outros recursos como: Windows Communication Foundation, Web Services, REST APIs, Excel Services, Windows Identity Foundation, Claims, etc

Para entender melhor, as verticais do produto, as APIS e em qual versão do produto elas estão disponíveis, vejam a tabela abaixo:

Building Block

Description

SharePoint Foundation

SharePoint Server Standard

SharePoint Server Enterprise

Access Services

Publish Access databases to SharePoint

     

Administration

Programmatically administer SharePoint Foundation and Server

     

Alerts

Send email or SMS

     

ASPX Pages

Build Web pages with .NET code-behind

     

BCS

Bring external data into SharePoint

     

BCS Client-Side API

Access BCS data from client computers

     

CAML

Declarative query language expressed as XML

     

Column, Field Types

Define domain definitions for data in lists and libraries.

     

Content Types

Define prototypes for list items.

     

Custom Action

Create links, toolbar buttons, menu items

     

Custom Views

Define view for lists and document libraries

     

Dashboards and KPIs

Web part for reports, charts, and KPIs

     

Document Libraries

Storage for documents or files of any type

     

Document Metadata

Sophisticated document categorization

     

ECMAScript Client Object Model

Access SharePoint data from ECMAScript / JavaScript

     

Event Receivers

Provide behavior when SharePoint lists or libraries are updated

     

Excel Services

Load, calculate, and display Excel workbooks

     

Excel Services ECMAScript Interface

Access the Excel Web Access Web Part control from ECMAScript

     

Excel Services REST API

Access workbook parts or elements directly through a URL

     

Excel Services User Defined Functions (UDF)

Write high-performance functions for use in server-side spreadsheets

     

Excel Web Services

Access Excel Services programmatically using Web services

     

Features

Unit of deployment

     

Health Rules

Codify how you monitor health in a large installation

     

InfoPath Forms Services

Make forms to be filled out in a browser

     

LINQ to SharePoint

Use LINQ to query SharePoint lists and document libraries

     

Lists

User editable storage of data

     

Managed Client Object Model

Access SharePoint data from client computers

     

Mobile Pages, Controls, and Adaptors

Brings SharePoint data to phones

     

OData REST APIs

Provides REST access to SharePoint data using the OData proposed standard.

     

Office Client Managed Add-Ins

Enhance Office clients to use SharePoint data and documents

     

Open XML SDK

Use Open XML for document generation and transformation

     

Performance Point Services

Build dashboards, scorecards, reports, and key performance indicators (KPIs)

     

PowerPivot

Create business intelligence solutions

     

Sandboxed Solutions

The Sandbox infrastructure isolates and shuts down bad code, preventing it from taking down the farm

     

Search Customization

Enable search through varied content, including ECTs.

     

Secure Store Service

Securely access legacy systems

     

Security

Ensure that sensitive information is available only to authorized users

     

Server Object Model

Server-side .NET API for accessing data and content

     

Server Ribbon

Customize the SharePoint ribbon

     

Service Application Architecture

Create shared services that can be consumed by multiple SharePoint applications

     

SharePoint Dialog Framework

JavaScript programming interface for putting up dialog boxes and other client-side user interface elements

     

SharePoint Themes

Apply custom branding to a SharePoint site or site collection

     

SharePoint Web Services

Access SharePoint data through Web services

     

Silverlight Web Part

Create user interfaces that are better looking and easier to use

     

Site Definition

Create, configure, and provision SharePoint sites

     

Site Pages

User customizable pages that conserve resources

     

Timer Jobs

Execute code at specific times or intervals

     

Variations

Tailor sites for different cultures, markets, and languages

     

Visio Services

Share and view Microsoft Visio drawings

     

Visual Studio SharePoint Tools Extensibility

Extend Visual Studio to enable developers to create custom solutions more quickly

     

WebDAV

Upload and download files efficiently

     

Web Parts

Web parts and Web part pages enable users to customize their user interface.  Building Web parts is the most common way to extend SharePoint.

     

Web Services

Key component of building scalable, distributed, and loosely coupled SharePoint applications.

     

Windows Identity Foundation

Provides claims-based identity services based on trusted providers

     

Word Automation Services

Provides services to convert documents to and from various file formats

     

Workflows

Automate business processes using tasks and forms

     

 

Conclusão

Esse post foi mais uma ajuda de como começar a entender o SharePoint, como estudar, as verticais que ele engloba no mundo de desenvolvimento. Existem muitas referências boas no mercado sobre isso que valem a pena serem estudadas:

http://blogs.msdn.com/b/ericwhite/archive/2010/10/26/sharepoint-developer-building-blocks-technologies-for-creating-sharepoint-applications.aspx

http://office.microsoft.com/pt-pt/sharepoint-server-help/introducao-ao-sharepoint-server-2010-HA010371435.aspx

http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx

https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=pt-BR&EventID=1032456921&CountryCode=BR

https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=pt-BR&EventID=1032441652&CountryCode=BR

 

Abraços

Advertisements

Written by Rodrigo Romano

October 27, 2010 at 4:13 pm

9 Responses

Subscribe to comments with RSS.

  1. Fantástico! 🙂
    Parabéns Romano!

    Thiago Silva

    October 28, 2010 at 1:05 pm

  2. Muito bom!

    Tirou todas as duvidas que eu tinha a respeito de desenvolvimento para Sharepoint.

    Abraços,
    Alexandre Lopes

    Alexandre Lopes

    October 28, 2010 at 3:03 pm

  3. Bela abordagem de um assunto muito importante. 😉

    Parabéns Romano!

    Abs.
    André Coppola Périco

    André Coppola Périco

    October 30, 2010 at 9:14 pm

  4. Parabéns Romano!!!

    Belo post, me ajudou bastante a compreender mais o mundo do SharePoint.

    Abraços

    Nícolas

    November 17, 2010 at 1:47 pm

  5. Show de bola.
    Estará nos meus marcadores Sharepoint

    Alexandre

    December 17, 2010 at 3:34 pm

  6. Puxa! to surpreso… excelente.. .muito obrigado mesmo…

    Alexandre Matos

    June 10, 2012 at 5:20 pm

  7. Parabens !!!!!!!!!!!!Show de explicação!!!!

    Felipe Barbosa

    June 29, 2013 at 1:24 am


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: