Http://msplatforma.ruMicrosoft Платформа 2010 Understanding the SharePoint 2010 Developer...

28
http:// msplatforma.ru Microsoft Платформа 2010 Understanding the SharePoint 2010 Developer Platform An Introduction for ASP.NET Solution Architects Chappell & Associates David Chappell

Transcript of Http://msplatforma.ruMicrosoft Платформа 2010 Understanding the SharePoint 2010 Developer...

http://msplatforma.ru

Microsoft Платформа 2010

Understanding the SharePoint 2010 Developer Platform An Introduction for ASP.NET Solution Architects

Chappell & Associates

David Chappell

http://msplatforma.ru

Microsoft Платформа 2010

Goals

Describe the SharePoint 2010 development platform

Illustrate when it makes sense to build a SharePoint application instead of an ordinary ASP.NET application

http://msplatforma.ru

Microsoft Платформа 2010

What is SharePoint?Microsoft SharePoint Foundation 2010

The successor to Windows SharePoint Services 3.0Provides basic services for building SharePoint applicationsA free download for Windows Server 2008

Microsoft SharePoint Server 2010The successor to Microsoft Office SharePoint Server (MOSS) 2007Addresses more specialized problemsBuilt largely on SharePoint Foundation 2010Requires purchasing a license

SharePoint OnlineA Microsoft-hosted version of SharePoint technology

http://msplatforma.ru

Microsoft Платформа 2010

DataBusiness

LogicUser

Interface

Users

Development Tools

Developers

Execution Environment

Administrators

Web ApplicationsA general picture

http://msplatforma.ru

Microsoft Платформа 2010Execution Environment

Data

SharePoint Farm

IIS SQL Server

SharePoint Execution Environment

Web Servers

ApplicationServers (optional)

DatabaseServers

User Interface

Business Logic

http://msplatforma.ru

Microsoft Платформа 2010

Site Collection Site Collection

. . .

SharePoint Farm

Site

Site Site Site

Site

Site Site

Farms, Sites, and Site Collections

Farm Admin

Site Admin

Site Collection Admin

http://msplatforma.ru

Microsoft Платформа 2010

Customization vs. Building AppsCategorizing SharePoint developmentThe majority of development work

today on SharePoint consists of customizing sites

That’s not what this presentation is about

The focus here is on building SharePoint applications from scratch

Apps that might otherwise be built using raw ASP.NET and SQL Server

http://msplatforma.ru

Microsoft Платформа 2010

Lists

SharePoint Farm

DataUser

Interface

Relational Data

Business Logic

External List

Other Data

Business Connectivity

Services

Accessing Data

http://msplatforma.ru

Microsoft Платформа 2010

ListsThe basics

A SharePoint list is a list of items with fields

Examples: A list of student items with fields Name and GradeA list of product items with fields Product Number, Size, and ColorA document library, which is a predefined list type for documents such as Word files

Lists are accessed via:The SharePoint object modelLINQ to SharePoint

http://msplatforma.ru

Microsoft Платформа 2010

ListsAttractions

They’re simple to createA site/site collection admin can create oneA user can create one

Users can work with list data directlySharePoint Foundation 2010 provides built-in user interface elements for accessing lists from a browser

Lists can have links to other listsWith cascading deletes

http://msplatforma.ru

Microsoft Платформа 2010

ListsChallenges

They’re not relational databasesThere’s no SQL accessExposing lists to SQL Reporting Services can take work

If LINQ to SharePoint isn’t used, access is via the Collaborative Application Markup Language (CAML)They’re not designed for large scale transactional apps

http://msplatforma.ru

Microsoft Платформа 2010

External Lists

External lists allow access to data outside the SharePoint farm as if it were a list

Access must use CAML

External lists rely on Business Connectivity Services (BCS)

The successor to the Business Data Catalog BCS can access external data via Web services, ADO.NET, or custom code

http://msplatforma.ru

Microsoft Платформа 2010

Accessing Relational Data

A SharePoint application can use ADO.NET to access a relational database

Just like any other ASP.NET app

Using SharePoint lists isn’t required

http://msplatforma.ru

Microsoft Платформа 2010

Other SystemsWeb

ServersApplication

ServersDatabaseServers

… … …

Lists

SharePoint Client Object Model (JavaScript,

Silverlight, .NET)

Application

Accessing SharePoint DataInside and outside a SharePoint Farm

SharePoint Object Model

or LINQ

Application

http://msplatforma.ru

Microsoft Платформа 2010

DataUser

Interface

SharePoint Farm

Timer Jobs

Event Receivers

ASPX Pages/ Web Parts

<%@ Page …

ASMX Pages/WCF

<%@ WebService…

WF Workflows

Implementing Business LogicIllustrating the options

Business Logic

http://msplatforma.ru

Microsoft Платформа 2010

SharePoint Farm

DataBusiness

Logic

Web Parts

BannerNavigation

The SharePoint User Interface

User Interface

http://msplatforma.ru

Microsoft Платформа 2010

Farm and Sandboxed Apps

A farm solution (application) can be used from any site in a SharePoint farm

If the app has problems, it affects the entire farm

A sandboxed solution can be used only from sites in a particular site collection

If the app has problems, it affects only the sites in that site collectionSandboxing is new in SharePoint 2010

http://msplatforma.ru

Microsoft Платформа 2010

DatabaseServers

SharePoint Farm

Content Database

ApplicationServers

WebServers

Farm and Sandboxed AppsAn illustration

Installs sandboxed SharePoint

applications here

Site Collection Admin

Installs farm SharePoint applications here, in the

server file system

Farm Admin

http://msplatforma.ru

Microsoft Платформа 2010

More on Sandboxing

There are restrictions on what a sandboxed application can doExamples:

Limits on CPU time and SQL query execution time Limits on what parts of the SharePoint object model can be accessedInability to access data outside of its site collectionRestrictions on workflows

http://msplatforma.ru

Microsoft Платформа 2010

SharePoint OnlineAnother deployment option

Part of Microsoft’s Business Productivity Online Suite (BPOS)Provides a subset of:

Microsoft SharePoint Foundation 2010Microsoft SharePoint Server 2010

Sandboxed applications can run on SharePoint Online

http://msplatforma.ru

Microsoft Платформа 2010

DataUser

InterfaceBusiness

Logic

SharePoint Farm

Development Tools

SharePoint Designer

SharePoint User or

Developer

Visual Studio

.NET Developer

SharePoint Development Tools

http://msplatforma.ru

Microsoft Платформа 2010

SharePoint Server 2010Categorizing its services (1)

Content, such as enterprise content management (ECM)

Communities, with extra support for blogs and wikis, address books, etc.

Composites, including pre-defined WF workflows and Forms Services

http://msplatforma.ru

Microsoft Платформа 2010

SharePoint Server 2010 Categorizing its services (2)

Search, including a search engine for enterprise data

Insights, such as Web Parts for displaying KPIs and Excel Services

Sites, with extras for building Web sites, such as support for publishing Web content,

http://msplatforma.ru

Microsoft Платформа 2010

SharePoint ApplicationsExamples of where they’re appropriate

Collaboration applications for enterprisesPortals for accessing line of business (LOB) application data

Such as data in SAP or Oracle Applications

One Web Part solutionsSmall, specialized applications

Apps that can benefit from Microsoft SharePoint Server 2010

http://msplatforma.ru

Microsoft Платформа 2010

SharePoint Applications Examples of where they’re not appropriate

High-volume transactional systemsEspecially with data stored in SharePoint lists

Data-intensive applications without end users

Such as batch processes or parallel processing apps

Application integrationA Microsoft-oriented integration project should use BizTalk Server instead

http://msplatforma.ru

Microsoft Платформа 2010

Conclusions

The SharePoint 2010 development platform is a familiar world for ASP.NET developers

And it’s easier to use than previous versions

Some ASP.NET applications would make more sense as SharePoint applications

Because you can build on the foundation that SharePoint providesYou can focus on creating business logic rather than infrastructure

http://msplatforma.ru

Microsoft Платформа 2010

For Further Reading

The SharePoint 2010 Developer Platform: An Introduction for ASP.NET Solution Architects

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=5184cb27-98d9-4cc0-bb0b-4b24d5b62db6

http://msplatforma.ru

Microsoft Платформа 2010

About the SpeakerDavid Chappell is Principal of Chappell & Associates (www.davidchappell.com) in San Francisco, California. Through his speaking, writing, and consulting, he helps people around the world understand, use, and make better decisions about new technology. David has been the keynote speaker for many events and conferences on five continents, and his seminars have been attended by tens of thousands of IT decision makers, architects, and developers in forty countries. His award-winning books have been published in a dozen languages and used regularly in courses at MIT, ETH Zurich, and other universities. In his consulting practice, he has helped clients such as Hewlett-Packard, IBM, Microsoft, Stanford University, and Target Corporation adopt new technologies, market new products, train their sales staffs, and create business plans. Earlier in his career, David wrote networking software, chaired a U.S. national standards working group, and played keyboards with the Peabody-award-winning Children’s Radio Theater. He holds a B.S. in Economics and an M.S. in Computer Science, both from the University of Wisconsin-Madison.