- Shopping Bag ( 0 items )
Discover how to take advantage of the many new features in SharePoint 2010
SharePoint 2010 is a significant leap forward from the 2007 release, and 'you will find that there are a ton of features built into the platform for you to leverage in your solution development. Because SharePoint is a broad platform that covers a lot, this book also covers quite a bit of ground. As a Wrox Beginning book, the goal of Beginning SharePoint 2010 Development is to get you started with many of...
Discover how to take advantage of the many new features in SharePoint 2010
SharePoint 2010 is a significant leap forward from the 2007 release, and 'you will find that there are a ton of features built into the platform for you to leverage in your solution development. Because SharePoint is a broad platform that covers a lot, this book also covers quite a bit of ground. As a Wrox Beginning book, the goal of Beginning SharePoint 2010 Development is to get you started with many of the fundamentals so that you can continue on to advanced programming beyond this book.
The book's goal is to quickly take you from the basics of SharePoint, to installing and configuring a development environment, and then into how you can develop for SharePoint. The book is heavy on coding exercises, but tries to stick to a common set of .NET patterns to ensure you walk away with understanding the different ways in which you can code for SharePoint. Moving from beginning to advanced means that you can expect the walkthroughs and chapters to become increasingly more complex within each chapter and throughout the book. The walkthroughs have been created to be concise and to guide you through all of the steps you must accomplish to complete a coding task.
WHAT YOU'LL LEARN IN THIS CHAPTER:
* Getting familiar with the core functionality and features of SharePoint * Understanding the basics of SharePoint architecture * What's available to developers in SharePoint 2010
SharePoint is an exciting Web-based technology. In its fourth version, SharePoint has undergone quite an evolution since the 2003 release, and the types of things you can do with SharePoint run far and wide. Those who have had the chance to see the product grow up will be surprised and happy with many of the changes that are now built into the platform. In fact, existing SharePoint developers will witness what arguably is a significant change in the features and functionality that SharePoint provides, as well as an evolution in the tools supported and the developer community that rallies around the technology. Aspiring SharePoint developers will realize there is quite a bit of power in the platform that you should be able to put into practice by the end of this book.
SharePoint has matured into a first-class platform that will enable you to build and deploy a wide array of solutions, as well as take advantage of the build-and-publish model that SharePoint users and developers have come to enjoy. In fact, SharePoint 2010 offers such a wide array of features that it is challenging for any one person to claim to be an expert across all of the SharePoint workloads. You will need to dedicate some time to becoming an expert, but the journey will be worth it.
With that in mind, this chapter introduces you to what SharePoint is and examines some of the high-level features for the developer. This chapter will also describe the capabilities that make SharePoint a platform that is interesting and compelling for you, the developer, to learn. Specific topics include the types of platform services to expect, data programmability, and the ways in which you can build and deploy a SharePoint solution. Toward the end of this chapter, you'll be introduced to Central Administration, where you'll find an array of administrative capabilities for SharePoint.
GETTING TO KNOW SHAREPOINT
Microsoft describes SharePoint 2010 as the business productivity platform for the enterprise and the Internet. To provide you with an idea of the types of things that you can do with SharePoint, Figure 1-1 breaks down SharePoint into three separate areas:
* Collaborate - As you move throughout this book, you'll see the notion of collaboration is a very strong theme for SharePoint. This is because SharePoint is about bringing people together through different types of collaboration, such as enterprise content management (ECM), Web content management (WCM), social computing through the use of wikis or blogs, creating dashboards to fulfill your business intelligence (BI) needs, and so on.
* Interoperability - SharePoint is also about bringing this collaboration together through interoperability. This means Office client and Web-based document integration, and the capability to build and deploy Office business applications (OBAs) - custom solutions that integrate line-of-business (LOB) data with SharePoint and Office, integrating with Web 2.0 technologies, or deploying applications to the cloud. It also means enhanced security through an evolved security model called Claims-Based Authentication that helps facilitate integration with other line-of-business (LOB) systems.
* Platform - As you'll see, SharePoint is a platform that supports not only interoperability and collaboration but also extensibility, through a rich object model, a solid set of developer tools, and a growing developer community.
These are three key themes that you will find crop up throughout most discussions of SharePoint and implicitly through many of the capabilities you'll get to explore throughout this book.
At its essence, SharePoint is a Web-based platform that provides the following:
* A set of native capabilities to support productivity and collaboration
* An extensible set of APIs and services
* A configuration engine that provides rich administrative abilities
However, depending on the role of the person who is using SharePoint (for example, the end user versus the developer versus the IT professional), the stated definition may take on a slightly different hue.
For example, for the end user, SharePoint enhances productivity by providing a core set of connected applications that essentially act as the Web-based application platform. The applications enable people to connect using wiki sites, workspaces, lists, document libraries, and integration with Microsoft Office applications, such as Outlook, Excel, and Word 2010.
From an organizational point of view, the unified infrastructure enables the organization to rally around a central point of collaboration - be it through an organizational portal, a team site, or a personal My Site. It also enables organizations to integrate LOB systems, such as SAP, Siebel, PeopleSoft, and Microsoft Dynamics, into the information worker experience through SharePoint.
The response to business needs arrives through the capability to use SharePoint as a toolset in the everyday work lives of an organization's employees - for example routing documents through managed processes, providing BI dashboards, or supplying audit tracking for documents in the Record Center. In essence, SharePoint 2010 represents a platform that offers the organization a lot of functionality to do many different things, with collaboration lying at the heart of them.
By stating that SharePoint is the platform for the enterprise and the Internet, Microsoft is implying that SharePoint has predominantly excelled in two spaces.
The first (and historically predominant) is the enterprise, which means that many large companies are attracted by what SharePoint offers, and are attracted to its lower cost compared to competitive products or technologies. This is because, for example, the platform is tightly integrated with Office, other Microsoft technologies (such as SQL Server and Silverlight), and external technologies and LOB systems.
While the enterprise has been an historical stronghold for SharePoint, there have been some interesting movements into the small and medium-sized business (SMB) space for SharePoint as well. This is evidenced by the fact that SharePoint comes in a variety of flavors and editions, as shown in Figure 1-2, and some of these can be leveraged by SMB developers to deliver some great experiences for SharePoint consumers. (Note that these were the editions as of this writing, and may be subject to change. For the latest editions, see http://sharepoint2010.microsoft.com.)
For example, among the different SharePoint editions shown in Figure 1-2 is SharePoint Foundation 2010. SharePoint Foundation (roughly equivalent to Windows SharePoint Services 3.0 in the 2007 release) is a free version of SharePoint and offers a baseline set of capabilities such as a set of site templates, security and administration, and web collaboration capabilities. Further, SharePoint Server 2010 (which is roughly equivalent to Microsoft Office SharePoint Server (MOSS) in 2007) is an edition that provides richer capabilities built into the platform such as a wider array of server-side services and collaboration options. You need to pay for SharePoint Server 2010, but the key is that these different editions offer you some choice as to where you want to start and the types of solutions you can build. Thus, companies have great flexibility when deciding upon what flavor of SharePoint to implement.
Because SharePoint is essentially a Web-based technology, you interact with SharePoint from your Internet browser. The Web-based experience is managed through an intranet, an extranet, or the Internet. For example, Figure 1-3 shows the SharePoint 2010 interface invoked from the Internet Explorer browser. (SharePoint is cross-browser, so you can use other Internet browsers such as Safari or Firefox with SharePoint.) This view is the default Team Site template (one of the site templates that ships with SharePoint) that is typical of a SharePoint intranet site.
As you can see in Figure 1-3, the main portion of the page consists of three different components:
* Some text ("Hello World!!!"),
* A link to Microsoft Office documents
* A default image
Also note that, down the left-hand side of the page, you have the Quick Launch navigation pane, which enables you to link to other functionality and sites within the SharePoint site. A ribbon at the top (very similar to the Office 2007 and 2010 Office client ribbon) provides centralized groups of elements that also load different functionality into the main content window. There is also a search option that connects you to other core SharePoint sites, functionality, and content within the site located in the top right of the page. And, lastly, you also have a set of other links, such as one to your My Site on this Web site, located in the upper right-hand corner of the page. As you'll find out throughout this book, SharePoint is very user-friendly. The view you see in Figure 1-3 can be edited and customized by the user, it can be integrated with Office documents, and it can be branded with a specific theme.
Thus, the Web-based experience that SharePoint provides intrinsically facilitates an out-of-the-box experience and integrates core (as well as external) applications and functionality that end users can employ during their daily work lives.
In Figure 1-4, you'll note that the default view has changed. This is because the site is now in Edit mode, which enables you to customize the SharePoint site. In this view, you can see that the user has clicked a part of the SharePoint page, and is now trying to insert an instance of the Content Editor Web part (which provides HTML and source-code editing capabilities) from the Authoring Web part category. The fact that you can quickly put a site into Edit mode, make some changes, and then save those changes back to the server is one of the great advantages of SharePoint.
While the experiences in Figure 1-3 and Figure 1-4 are the out-of-the-box default intranet site experiences (for viewing and editing), SharePoint also offers a full publishing-to-the-Web experience. This manifests in a special publishing template to meet your WCM needs, and provides you with templates, theming, a default site experience, workflow, and so on, so that you can create and publish content to your Internet Web sites.
You may be surprised to learn that innumerable companies are using SharePoint for their Internet-facing Web sites. For example, Figure 1-5 shows the Ferrari Internet Web site that is built using SharePoint. You'll also note that the site is rendered in Firefox.
For organizations, this can provide a one-stop shop for leveraging the SharePoint infrastructure both for internal sites, to manage your day-to-day project needs, and as an external publishing workflow and infrastructure to manage your publicly facing sites as well. The key point is that SharePoint provides the infrastructure for both intranet and Internet publishing and development, as well as many different options provided through a set of product editions to map to a host of scenarios and budgets.
As you'll see throughout this book, the native SharePoint experience is, in many ways, customizable. For example, Figure 1-4 shows the default site that SharePoint creates for you. However, you can apply your own master page to this default view to customize and brand the user's experience. This could be as simple as changing the colors, or it could be as deeply branded as the Ferrari site. You could even reconstruct the navigation through the use of Silverlight to simply leverage the SharePoint infrastructure and re-create your own customized user experience through the user interface (UI). And this is just the tip of the iceberg.
ADDRESSING THE NEEDS OF THE DEVELOPER
If you define SharePoint as a business productivity platform, you may be wondering exactly where the developer fits into this description. Although it seems like a convenient and common-sense way of viewing SharePoint from an end-user perspective, what about the needs of the developer? To understand how SharePoint applies to the developer, you must get past the surface definition and drive toward the platform capabilities. Here, you'll begin to see some interesting and compelling pivots for the developer.
Let's look at a practical example. As you have seen, a business productivity platform implies having a platform for end users to make them more productive in their day-to-day work lives - and SharePoint can certainly do that. In short order, it can be used as an application for end users. For example, a Human Resources (HR) department might use SharePoint to manage employee reviews, or a sales team might use it to manage a monthly sales-forecasting dashboard for BI.
In both of these scenarios, SharePoint represents an end-user application (or bundle of applications), but developers are not necessarily called out at this level. However, because SharePoint represents a platform, you know that you can build on this platform, or extend its capabilities.
So, when your HR manager comes to you and asks you to design a SharePoint site collection that integrates data from SQL Server or SAP, you get excited. When that same HR manager asks you to map a custom document template to a SharePoint 2010 content type (that also pulls data in from PeopleSoft), you become equally excited. And when the sales manager asks you to get data from an Excel 2010 worksheet and then render that data inside of a Silverlight application in SharePoint, you really start to jump up and down.
Extension and Enrichment for Developers
While SharePoint 2010 represents a set of connected applications (such as dashboards, document libraries, and the like), it still has a vast array of opportunities for developers to extend and enrich that end-user experience at multiple levels. This experience is obviously important when you think about SharePoint in the context of the enterprise developer. However, when the independent software vendors (ISVs) begin to think about that custom experience they want to deploy to their customers, it becomes vital that they have a reliable platform beneath their feet that they can deploy to and use to customize their SharePoint solutions. Their business depends on this stability and predictability. Thus, SharePoint 2010 has done a very good job of providing a scalable platform that supports multiple types of developers with different end goals and design ambitions.
So, SharePoint provides both an end-user paradigm (where the applications that make up SharePoint serve the needs of the end user) and a development paradigm (where developers can develop on top of SharePoint).
In a paper available through Forester Research (www.forrester.com/rb/Research/ now_is_time_to_determine_sharepoints_place/q/id/45560/t/2) entitled "Now Is the Time to Determine SharePoint's Place in Your Application Development Strategy," John R. Rymer and Rob Koplowitz reinforce this model. The two authors propose that SharePoint has an application level, where end users integrate with the out-of-the-box collaboration and productivity applications. They then add a customization layer, where either power users or developers can begin to customize the SharePoint experience for the end user. And lastly, they have a third layer, which is the application development layer.
It is at this application development layer where things get very interesting for developers. Here is where you'll find the solution developer who builds and deploys (or integrates through existing SharePoint artifacts) applications or business solutions - such as creating a SharePoint list that is capable of reading and writing data into an external LOB system, such as SAP or Siebel, or a Silverlight-enabled business application that is deployed as a Web part into your SharePoint infrastructure.
Excerpted from Beginning SharePoint 2010 Development by Steve Fox Copyright © 2010 by John Wiley & Sons, Ltd. Excerpted by permission.
All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.
Part I: Welcome to SharePoint 2010
Chapter 1: Introduction to SharePoint 2010 3
Getting to Know SharePoint 4
Addressing the Needs of the Developer 8
Extension and Enrichment for Developers 9
Breaking It Down for Developers 10
SharePoint 2010: The Platform 12
SharePoint 2010 Capabilities 14
Site Collection and Sites 15
Server APIs and Client APIs 17
Data Modeling and Programmability 18
SharePoint Central Administration 19
Application Management 20
General Application Settings 21
System Settings 21
Backup and Restore 21
Upgrade and Migration 22
Configuration Wizards 22
Recommended Reading 24
Chapter 2: Getting Started with SharePoint 2010 Development 25
Core Developer Features for SharePoint 2010 26
Developer Productivity 26
Rich Platform Services 30
Flexible Deployment 32
Key Skills for the SharePoint Developer 34
Your Development Environment 36
Installing and Configuring Windows Server Hyper-V 37
Installing SharePoint Server 2010 42
Getting Familiar with SharePoint 2010 45
Working with SharePoint Sites 46
Working with SharePoint Lists 50
Working with SharePoint Web Parts 58
Setting Permissions for a SharePoint Site 63
Recommended Reading 66
Part II : Getting Started with SharePoint 2010 Development
Chapter 3: SharePoint 2010 Developer Tools 69
SharePoint Development Across Developer Segments 70
Web-Based Development in SharePoint 71
Site Settings 72
Inline Rich Text and HTML Editing 74
Adding Multimedia to a Site 76
Developing SharePoint Applications Using SharePoint Designer 2010 78
Customizing a Site Page 80
Managing Other Data Sources in SharePoint Designer 85
Master Pages 91
Developing SharePoint Applications Using Visual Studio 2010 98
Development Using the Expression Blend Suite 116
Recommended Reading 127
Chapter 4: Common Developer Tasks in SharePoint 2010 129
Creating Web Parts 130
Standard and Visual Web Parts 130
Data View Web Parts 133
Creating Lists, Site Columns, and Content Types 135
Working with SharePoint Data 141
Creating Event Receivers 147
Creating aspx Pages 150
Creating Master Pages 153
Recommended Reading 158
Chapter 5: Programming Against SharePoint 2010 Lists 159
Overview of SharePoint Lists 159
Programmatically Accessing Lists 162
Programming Against Lists Using the Server-Side Object Model 163
Programming Against Lists Using ASP.NET Web Services 171
Programming Against Lists Using the Client Object Model 186
Programming Against Lists Using a Custom WCF Service 197
REST-Based Services and List Development 202
Creating Event Receivers for a SharePoint List 210
Recommended Reading 216
Chapter 6: Building and Deploying SharePoint Web Parts 217
Understanding Web Parts 217
Web Part Architecture 220
Custom Web Parts 223
Visual Web Parts 233
Custom Web Part Properties 244
Recommended Reading 248
Chapter 7: Creating Your First SharePoint 2010 Application 249
Solution Design 251
Customer Sales and Total Sales Lists 252
Building the Application 254
Adding a Record to the Sales List 254
Viewing the Customer Sales 258
Viewing the Total Sales 262
Adding a Chart Web Part 268
Final Dashboard 271
Recommended Reading 274
Part III : Advanced Topics for SharePoint 2010 Development
Chapter 8: Integrating Line-of-Business Data Using Business Connectivity Services 277
Understanding Office Business Applications (OBAs) 278
OBAs and BCS 280
Anatomy of an External Content Type 284
Connectivity Options with BCS 287
Developing Your First Application Using BCS 289
Creating the External Data Source 290
Creating the External Content Type 291
Setting Permissions for External Content Types 306
Taking the External List Offline 307
Recommended Reading 315
Chapter 9: Creating Enhanced User Experiences for SharePoint with Silverlight 317
Understanding Silverlight 317
Why Integrate Silverlight and SharePoint? 325
Integrating Silverlight with SharePoint 326
No-Touch Integration 328
Low-Touch Integration 331
High-Touch Integration 343
Recommended Reading 362
Chapter 10: Developing Service-Oriented Applications for SharePoint 2010 363
ASP.NET Web Services 365
Native Web Service 366
Custom ASP.NET Services 370
WCF Web Services 378
RESTful Web Services 387
Azure and SharePoint 390
Recommended Reading 398
Chapter 11: Integrating SharePoint with Microsoft Office 399
Content Type as a Document Template 400
Using InfoPath in Your SharePoint Solutions 404
Managing Office Documents through a SharePoint Workflow 406
Integrating Office Documents with SharePoint List Data 410
Server-Side Services 418
Visio Services 418
Excel Services 420
Word Services 426
Access Services 427
Recommended Reading 431
Chapter 12: Securing Your SharePoint 2010 Applications 433
Solution Trust 436
Secure Store Service 440
Federated Authentication 442
Forms-Based Authentication 442
Claims-Based Authentication 443
Recommended Reading 446
Part IV : Appendix
Appendix : Where to Go from Here 449
Posted September 22, 2010
No text was provided for this review.
Posted March 25, 2011
No text was provided for this review.