Sunteți pe pagina 1din 4

Introduction

In this book we treat and express SharePoint as a development platform. This


includes that the applications developed on top of SharePoint must run in some
kind of runtime environment. Having the whole thing in mind this let us recognize
SharePoint as an application server platform too. It is, however, not an isolated
piece of software. It is built on top of a broad range of interconnected
technologies. First, this is ASP.NET as a platform for creating Web applications
and second .NET Framework as the underlying application platform that consists
of both, developer capabilities and a runtime environment. SharePoint adds a
bunch of functionality to these basic platforms. An application designed and built
for SharePoint is always built using .NET Framework and quite often ASP.NET. It
makes also usage of several services provides with SharePoint and exclusively
available there.

For developers the deep knowledge of ASP.NET is essential. If you already know it
or work for years with it you have everything to jump start into SharePoint
development. Apart from being forced to use SharePoint you may struggle with
the question whether it makes sense to use SharePoint as an application platform
or stay with the ASP.NET platform. Seeking what are the limitations of ASP.NET is
not feasible approach. It is powerful and still under heavy development by itself.
You can create amazingly powerful applications and using modern pattern like
Model-View-Controller (MVC) or Dynamic Data. Keeping this in mind you may
wonder what else SharePoint adds that makes it a better or at least alternative
choice.

You may have even heard of people struggle heavenly with SharePoint, moaning
that developing is a pain, too complex, with a way to step learning curve that
makes the development cycle error-prone and slow. Before start complaining
about the weak developer support and disadvantages it’s worth thinking of what
SharePoint is for end users.

SharePoint is a technology that let users create their own Web applications—
without knowing even a bit about classic Web site development. That sounds
crazy, as it was a work for experts to create even a simple page with some basic
functionality in the past. You have to deal with HTML, CSS, and JavaScript. Once a
database is coming into play a piece of relational thinking and languages such as
SQL are a requirement. And now everybody is able to create a site, knowing
nothing all about it? This is exactly right. Rather than seeking a developer users
just talk to the database admin and server administrator and start creating and
deploying sites. SharePoint provides several templates and features to modify
and customize almost everything, from simple layout to the data structure held in
lists. For the user, SharePoint acts like an application. Several tools accompany it,
such as Central Administration, SharePoint Designer, and the default site setting
dialogs. Empowering the power users, the innovation leaders, the fore thinkers in
a company is a key for company’s success. Demanding those people start coding
is nonsense and would block a lot otherwise helpful innovations.

The developer can do additional things with this platform. SharePoint is


extensible in many ways and it’s itself extending its own foundation, ASP.NET.
Both extensibility paths give developers a thorough access to almost all internal
modules. That brings you in a comfortable position. You can extend SharePoint
whenever a user cannot achieve a specific task with the embedded functions.
Whether it is slight modification or complete addition such as application pages
you can extend the platform endlessly.

That leads to the first conclusion. SharePoint is both, a powerful application


platform, and a developer platform. But what makes it what it is, especially
SharePoint 2010? Try understanding the platform by just teasing apart the main
parts:

* Windows SharePoint Foundation (WSF): Among with the other


foundations, like Windows Communication Foundation (WCF), Windows
Presentation Foundation (WPF), or Windows Identity Foundation (WIF), SharePoint
bundles a collection of class libraries, runtime environments, tools, and support
application. The various tools address different roles. While the SharePoint
Designer empowers power users the browser based UI is more for common end
users.

* SharePoint Server 2010: This is a product built on top of WSF that


delivers a basic stack of features required to create an Intranet or Internet aware
application with no or few coding effort. It’s a classic 20:80 ratio between effort
and effect. Using SharePoint Server you create 80 percent of what an average
site requires with 20 percent of the usual cost. That is, to be honest, a simplified
view. It is, however, what SharePoint consultants tell their customers first
introducing SharePoint. They are, though, quite right.

Recognizing SharePoint as development platform means primarily the WSF as the


basis. However, it means extending SharePoint Server as well. Having an
installation running let’s recognize SharePoint as an application platform, too.
This is, by the way, one of the reasons why SharePoint became such a success
worldwide. You can’t fail or at least reduce the risk of a software project
drastically using SharePoint. Either the SharePoint Server provides what you need
out-of-the-box, or one can extend the platform by coding what requirement
shows up. It might need some effort and will need some knowledge, but it will
work.

Developing SharePoint Applications

Using SharePoint ordinary users can do lot things by themselves. Creating Web
sites, modifying the look and feel, add certain features, and enter data. All
without any developers involved so far. If a developer equipped with at least
basic SharePoint knowhow is available, some more customizing is possible. This
includes things such as adding a new menu item in site menus, adding code that
invokes some custom action, create workflows beyond the built-in three state
limit, and so on. Creating Web parts adds another level of deployable power
created by developers to end users.

Yet writing code for these situations isn’t particularly the focus here. Imagine that
you’re supposed to write a Web based application using ASP.NET, the IIS, and
SQL Server as you probably did so many times. You can also decide to choose
WSF and create your application there. As you know you still have ASP.NET , the
IIS, and SQL Server in your development portfolio. So why consider SharePoint as
a development platform?

For a management pitch a brief presentation starts quite often with a big picture.
For SharePoint it looks like this:

Fig 1

The figure shows what an application typically includes. Users interact with some
user interface, the behavior is controlled by some business logic, and data being
stored in some data store. On top this are some development tools to empower
developers. That includes you have to have three different roles: users,
administrators, and developers.

WSF can now be recognized as a platform that supports all these parties:

* Widely support form administrators to maintain any installation from


single server to a hierarchical farm

* Built-in way to work with data including the schemas by end users

* Support to create and execute business logic, including workflows

* A basic user interface that is functional and easy to use, along with
sophisticated customization features

* A set of development tools around Visual Studio 2010 that support


everything from simple customization up to huge team based projects

While the developer support is not SharePoint specific the other features are an
enhancement of the existing infrastructure. This is why you should consider
SharePoint as a development platform. But that’s not everything you benefit
from.

There is more available, though. SharePoint is not only a huge piece of software.
There is also an ecosystem of communities, information sources, consultant
companies, third party developers, forums, books, and much more that provide
support, help, trainings, and ideas. That’s sometimes more valuable than all the
help files, features, and patterns altogether. You can find people to communicate
with, meet to exchange ideas, or discuss issues you don’t know whether it’s an
issue yet. There is a developer community, conferences exclusively devoted to
SharePoint, MVPs, and authors you can hire. There are patterns and best
practices available from Microsoft to teach not only how to do but also how to do
it right. It’s right that there is a steep learning curve but any way that’s hard to
go seems much easier if you don’t walk alone.

Windows SharePoint Foundation for Developers

Before you start coding you should understand what the pieces of the puzzle are.

The Execution Environment


The Data Layer

The Business Logic Layer

The User Interface Layer

The Security Layer

The Developer Toolbox

Microsoft SharePoint Server for Developers

The SharePoint is everything the Foundation is with no exception. Additionally, a


lot more high level features have added. Executive summaries express the fields
the server is serving as this:

* Content

* Communitiy

* Composites:

* Search

* Insights

* Sites

Applications Make the World Goes Round

SharePoint has been recognized and widely accepted for its support of some sort
of applications. This is not limited to but especially these fields are:

* Business Collaboration Applications

* Portal for Line of Business

* Web Part Solution

S-ar putea să vă placă și