web-dev-qa-db-ja.com

開発者の観点から見たSharepoint開発とは何ですか?

最近、Sharepointについて多くの話を聞いていますが、企業やマーケティングの専門用語全体を通して、それが何であるかを正確に把握するのに問題があります。ハンズオンで試してみるのも面倒です(無料でダウンロードできない重いソフトウェアパッケージがいくつかあります)。

誰かがSharepointとは何かについて開発者から開発者への良い説明を与えることができますか?特に、SharePoint開発者が一般的に行うことを知りたいです。

45
Svish

== 2017年編集==

これはかなり古い投稿であり、SharePointは過去数年で大きく変化しました。元の投稿のほとんどの部分はまだ有効ですが、一部は、将来のSharePointがSharePoint Onlineに傾いているように見えるオンプレミスインストールを行う場合にのみ適用されます。そうは言っても、ほとんどの機能はまだ改善されています。

==元の投稿==

SharePointは非常に複雑なCMS(コンテンツ管理システム)であり、多くのNice BSS(ビジネスサポートシステム)機能を備えています。それには非常に多くの利点があり、言及する内容を制限するのは困難です。ただし、いくつかの明らかなことは、同じサーバーで非常に多くの「環境」を混在させることができ、これらの環境はサイトとして分離されることです。

環境とはどういう意味ですか?

ロジスティクス会社を経営していて、ビジネスを維持するためだけにさまざまなシステムを用意することにうんざりしているとします。多くのシステムには異なるプロバイダーもあるため、企業のエコシステムも同様に複雑になります。SharePointは、必要なすべての環境を実際にホストできるシステムであるため、SharePointが助けになります。例では。

  • SharePointまたは統合Webページによってホストされる外部Webページ
  • 注文管理
  • カスタマーサポートと発券
  • 貨物の取り扱い
  • ドキュメント管理を備えたイントラネットサイト

これらの環境はすべて、ワークフローやカスタムコンテンツタイプなどのSharePointの組み込み機能の恩恵を受けることができます。

SharePointを選択する最大の理由は、さまざまな種類のデータを保存できる汎用性だと思います。ファーム内の複数のサーバーでパフォーマンスを大幅にアップグレードできる場合でも、毎秒100万のトランザクションを計画している場合、選択するシステムではありません。

開発者としての私の見解は、SharePointがリスト、ライブラリ、およびメタデータストアのほとんどすべてであるということです。なぜなら、SharePointはほとんどのデータが保持される場所だからです。これは、データを構造化する方法と情報モデルを実装する方法を学び、理解するために必要なものです。

私の世界で最も一般的な割り当ては、SharePointをEPIServerやJoomlaなどの外部CMSと統合して、訪問者がWebから直接SharePointにメッセージを送信できる統合をセットアップすることです。これらの割り当ては、カスタマーサポート/セールススタッフなどが受け取ったときにこのメッセージで何が起こるかを、ワークフローを作成するまで追跡します。これを完了したら、mschartを使用してカスタムWebパーツにいくつかのグラフを作成し、販売データまたはサポート用事の統計を表示します。現在、SharePointをWebショップとして使用してデータ構造を計画しています。そして、あなたは再び行きます、汎用性!

統合が必要な場合、SharePointには非常に強力なAPIもあります。私は、SharePointをSQLサーバーに変換して、開発者がCAMLの使用をスキップできるようにするADO.NET Connector for SharePointの制作に携わっています。そして、他にもたくさんのクールなツールがあります。

SharePointを使用する2番目の最大の利点を忘れないでください。将来の開発に集中できます。バックエンドはすでに存在します。

31
Eric Herlitz

エンドユーザー/ビジネスの観点からSharePointを説明する短いビデオがあります http://www.youtube.com/watch?v=s12Jb5Z2xaE

開発者の観点から見ると、SharePointはASP.NETの上にあるプラットフォームであり、ビデオ(およびその他)で説明されているサービスを提供します。開発者の仕事は、すぐに使用できる機能だけではビジネス上の問題を解決できない場合にプラットフォームを拡張することです。

SharePointはASP.NETの上にありますが、SharePointの開発はASP.NET開発とは多くの点で異なります。 SharePointは、プライマリストレージメカニズムとしてリストを使用し、独自のコンポーネントモデル(機能)、独自のパッケージ化および展開モデル(ソリューション)などを備えています。 ASP.NET開発に精通している人であっても、SharePoint開発者になるにはある程度の時間がかかります。

10
Rob Windsor

SharePointには、構築可能な拡張可能なパーツが多数付属しています。独自の認証、ワークフロー、負荷分散、サイトテーマ、ドキュメントのバージョン管理などを記述する必要はありません。

これにより、高レベルのソリューションを迅速に構築できます。

実際、開発者として最初に尋ねるべき質問は、コーディングせずに問題を解決できるかどうかです。ビジネスユーザーと管理者は、ブラウザー内またはSharePoint Designerを使用してソリューションを作成できます。開発者は、これらのロールが持っている作業と使用するツールに非常に精通するよう努める必要があります。多くの場合、独自の開発サーバーの管理者になり、AD、PowerShell、インストールおよび構成タスクにさらされます。

Visual Studioが必要な場合、開発するコードはSharePointのフレームワークに準拠し、html、JavaScript、C#に加えて、サーバーまたはクライアントサイドオブジェクトモデル、さまざまなXmlスキーマなどを使用する必要があります。たとえば、ASP.NET開発者のように単純なページを作成する代わりに、SharePointソリューションでは、ビジネスユーザーが別のページで再利用および構成できるWebPartでhtml/jsをラップする必要があります。

ホストされたバージョンのSharePoint(特に2013)は、SharePoint開発に別の側面を追加します。html/ js以外に、Azureを使用することもできます。

1
Erik Erkelens