Http://msplatforma.ruMicrosoft Платформа 2010 Understanding the SharePoint 2010 Developer...
-
Upload
cecil-atkins -
Category
Documents
-
view
212 -
download
0
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.