Excel と Excel Services を使ったデータベース連携

SharePoint におけるさまざまな活用場面 例1 : InfoPath と Forms Services を使ったデータベース連携 例2 : Excel と Excel Services を使ったデータベース連携  こんにちは。  今回は Excel Services を使って、前回登録したデータベース上のデータを閲覧する機能を作成してみましょう。 勉強会でも話が出たのですが、SharePoint 上でデータベースのデータ表示をおこなう方法は、実は、非常にさまざまです。まずは、その点を補足しておきます。 データビュー単に表を扱う場合には、SharePoint Designer のデータビューを使用して作成することができます。データビューを使用すると、データベースの内の SQL やストアドプロシージャを使用したデータの表示や、さらに作成したデータビュー上でのフィルターの設定なども可能など、細かなビューの設定が可能です。(注 : ただし、データビューのフィルターでは、データベースへの検索のフィルターではなく、取得したデータをフィルターして表示しているため注意してください)このデータビューは、SharePoint Designer を扱える 業務管理者 (現場の管理者) による 実装を想定した仕組みです。 ビジネスデータカタログ (BDC)エンタープライズビジネス向けの Microsoft Office SharePoint Server 2007 でのみ使用可能です。このシナリオでは、プロフェッショナル開発者により構築されたアプリケーション定義 (xml) を SharePoint にインストールして検索などの設定をおこなうことで、SharePoint を使用する現場の担当者(エンドユーザー)がこのデータを使用した Web パーツ挿入によるデータの表示や、Web パーツどうしの接続、look-up 列としての使用、検索・閲覧 などの使い方が可能になるというもので、開発者 /管…

1

InfoPath と Forms Services を使ったデータベース連携

SharePoint におけるさまざまな活用場面 例1 : InfoPath と Forms Services を使ったデータベース連携 例2 : Excel と Excel Services を使ったデータベース連携  こんにちは。  では、実際に、InfoPath を使って、企業のリレーショナルデータと連携する InfoPath の簡単な Web (ブラウザ互換) フォームを作成してみましょう。作成するシナリオは単純で、InfoPath の Web フォームで入力をおこなったら、データベースにその情報を反映するというものです。 InfoPath の Web フォームを使ってデータ登録 (変更) をおこなうには、実は、コードや Web サービスを使った実装が必要になります。(今回は Web サービスを使用します。) ということは、「開発」が必要になります ! 通常、InfoPath の開発では、エンドユーザーのみでノンコーディングで作成できるというメリットがありますが、こうした処理 (単純な「参照」以外の処理) を含む業務を実装する場合には、開発者が更新部分のコンポーネントを構築して、これをエンドユーザー (現場の業務管理者) が InfoPath を使って組み合わせるといった処理が必要になります。さらに、こうしたコードや Web サービスを使った実装では、エンドユーザーが勝手にフォームを登録することもできません。管理者用のフォームとして SharePoint に登録する必要があるという点も憶えておきましょう。(管理者による設定作業も必要です) 開発者の作業  まず、テーブルとストアドプロシージャを作成しておきましょう。今回は以下の簡単なテーブルを使用します。create table TestTbl…

1

SharePoint の活用方法

SharePoint におけるさまざまな活用場面 例1 : InfoPath と Forms Services を使ったデータベース連携 例2 : Excel と Excel Services を使ったデータベース連携  こんにちは。 昨日、実際に業務適用を検討されている皆さんと SharePoint の勉強会を実施し、当方からは SharePoint を使用したさまざまな活用シーンや、実際の設定方法などいくつかをご紹介させて頂きました。 ここでは、その中でご紹介した、データベース上のデータと組み合わせた業務活用の一例を記載しようと思いますが、その前に、まずは補足として、SharePoint そのものの活用シナリオについて本投稿で記載しておきましょう。(皆さんはどのようにお使いでしょうか ? 今回ご紹介する使用方法以外にも、さまざまな観点で活用が行われています)無論、これが「すべて」ではありません、、、 お馴染み、ファイルデータの管理 まずは、皆さんご存じ (今さらですが) バイナリファイルの管理DBとしての役割です。SharePoint では、登録したファイル、カスタマイズしたページなどは、SQL Server 上に一元管理されるため、アプリケーションサーバーの負荷分散、データベースのクラスタ構成やバックアップなどの管理性を考慮したシステムレイヤ分割が可能です。(下図) こうしたシステムをベースに、ユーザーレイヤも意識したいくつかのツールや仕組みが提供されています。例えばバックアップでは、サーバー管理者/IT Pro によるサーバー環境のバックアップ/復元 (大規模向けには DPM、中小規模は SharePoint の管理コマンド) と、現場の各サイトなどの管理者向けには SharePoint Designer を使用したサイトレベルのバックアップ/復元の機能が提供されているといった具合です。 内部統制、ECM、、、 “きちんと” 管理 ファイルなどが保管庫に管理されているということは、 当然これらの『管理』についても豊富な機能を提供できます。 例えば、「情報管理ポリシー」と呼ばれるものを設定することで、ドキュメントの作成・変更などがあった場合のログの記録 (監査) や、監査項目の設定 (どのタイミングを監査するか) といった設定が可能です。つまり、勝手な閲覧や削除はすべて管理されています。ドキュメントの有効期限なども設定できます。これらは、「コンテンツタイプ」と呼ばれるドキュメントの「型」に相当するものを定義して、使用するテンプレートや情報管理ポリシーなどのコンテンツポリシーをまとめて管理、階層化することもできます。また、RMS (Rights Management…

5

[T2-401 デモ (4)] Custom の SharePoint Workflow Editor

環境 :Visual Studio 2008 (.NET Framework 3.5)SharePoint Server 2007 こんにちは。 WCF の Transport レベルの Custom Channel Sample Rehosting を使ったエンドユーザへのワークフロー公開 WF による Rule Base のアプリケーション Custom の SharePoint Workflow Editor 製品開発者向けということで実施した Tech Ed の T2-401 セッションですが、お約束通り、デモを添付しておきます。 ここまでの内容を元に、これを SharePoint に応用した、さいごにお見せしたサンプルです。(ライセンスの問題もお約束通り修正しておきました . . .) download sample (20080826_SampleSPWorkflowCreator) セッションの中で 1 つ言い忘れてしまったのですが、xoml の作成部分については、これまでの説明とまったく同様、普通にワークフローを構築して、いつものように WorkflowMarkupSerializer にお任せで OK です。(その部分のコードは、ソースをじっくりとみておいてください。) 違っている点とすれば、SharePoint 用のアクティビティを使っているという点だけです。 配置方法ですが、セッションでご説明したように、製品向けなどで SharePoint…

5

[T2-401 デモ (3)] WF による Rule Base のアプリケーション

環境 :Visual Studio 2008 (.NET Framework 3.5) こんにちは。 WCF の Transport レベルの Custom Channel Sample Rehosting を使ったエンドユーザへのワークフロー公開 WF による Rule Base のアプリケーション Custom の SharePoint Workflow Editor 製品開発者向けということで実施した Tech Ed の T2-401 セッションですが、お約束通り、デモを添付しておきます。 つぎは、WF の説明で 2 番目にご紹介した、ルールベースアプリケーションのサンプルです。 download sample (20080826_CustomRulebaseService) WF で、コード条件と、宣言型の条件に分かれている理由についてはセッションでご説明した通りです。このサンプルは、その後者のメカニズムを使用した製品サンプルでした。  コードは以下の通りです。 WF の Rule は、CodeDom を使って編集することができました。ここでも、前回のサンプルで登場した WorkflowMarkupSerializer を使って .rules ファイルへの変換と読み込みが可能です。このサンプルでは、Excel 上の各行 (4 行目…

3

[T2-401 デモ (2)] Rehosting を使ったエンドユーザへのワークフロー公開

環境 :Visual Studio 2008 (.NET Framework 3.5) こんにちは。 WCF の Transport レベルの Custom Channel Sample Rehosting を使ったエンドユーザへのワークフロー公開 WF による Rule Base のアプリケーション Custom の SharePoint Workflow Editor 製品開発者向けということで実施した Tech Ed の T2-401 セッションですが、お約束通り、デモを添付しておきます。ここからは WF でお見せしたデモです。 まずは、WF のリホスティングによるワークフロー公開とエンドユーザーによるワークフロー作成のデモで使用したサンプルプロジェクトのダウンロードを掲載しておきます。 download sample (20080826_CustomWorkflowService) ワークフローの公開には、いろいろと実装方法の選択肢と、それぞれのメリット・デメリットがありましたが、ここでの説明は割愛します。ここでは、 WorkflowView を使用したリホスティングを使用しています。 コードは以下の通りです。 ワークフローデザイナーへの xoml のワークフローのロードをおこないますが、まず、WorkflowView を使った場合には、ロードやアンロードの処理のために、必ず Workflow Loader が必要でした。デザイナー上の「アイテム選択」、「コンテキストメニュー選択」、などの機能は、「サービス」として追加 (AddService) をおこないます。(下記で、WorkflowMenuCommandService はカスタムで作成したメニュー表示のためのクラスであり、後述でそのクラスを実装しています。)さらに WorkflowView でデザイナーリホスティングをする場合の面倒なもう…

2

[T2-401 デモ (1)] WCF の Transport レベルの Custom Channel Sample

環境 :Visual Studio 2008 (.NET Framework 3.5) こんにちは。  WCF の Transport レベルの Custom Channel Sample Rehosting を使ったエンドユーザへのワークフロー公開 WF による Rule Base のアプリケーション Custom の SharePoint Workflow Editor 製品開発者向けということで実施した Tech Ed の T2-401 セッションですが、お約束通り、デモを添付しておきます。 まずは、最初にお話した、WCF の TransportBindingElement を継承したバインディング要素のカスタムチャネルをみて頂くための BakaChannel というあまりきれいな名前ではないサンプルです。チャネルのメカニズムを詳しくみていくための簡単なサンプルです。 download sample (20080826_WCFBakaChannelDemo)  「WCF がその内部でどのようなパイプラインで処理されるか ?」、「WCF のチャネルとは何か ?」 については、申し訳ありませんが、ここでは記載しません。(何某かのドキュメントを参照して事前に理解しておいてください) セッションでもご説明しましたが、上位のチャネル (TransportBindingElement 以外の層の Channel) の構築は仕組みを理解しておけば一般にそれほどむずかしいものではありませんでした。セッションの中でお見せしたように、こうしたチャネルでは、大元で呼び出される BindingElement に渡されてくる…

1

[T2-302 follow-up (2)] WCF トレースの見方

環境 :Visual Studio 2008 (.NET Framework 3.5) WCF の ASP.NET Compatibility Model を使用した Stateful な N-tier アプリケーション (WCF による Load Balancing 全般の考察) WCF トレースの見方 WF の Activity Execution Context (AEC) とクローンに要注意  こんにちは。 (1) で記載しました通り、本日できなかったデモのフォローアップを記載します。 本日のデモで、WCF サービスのパフォーマンスを早くする簡単なデモをおこないましたが、実際にどこか速くなったのでしょうか ?ここではそれを WCF のトレースを使用して確認したいと思います。 まず本日のデモの復習ですが、以下のように Visual Studio がデフォルトで作成した wsHttpBinding を <system.serviceModel>   <services>   途中省略 . . .        …

2

[T2-302 follow-up (3)] WF のコンテキスト (Activity Execution Context, AEC) とクローンに要注意

環境 :Visual Studio 2008 (.NET Framework 3.5) WCF の ASP.NET Compatibility Model を使用した Stateful な N-tier アプリケーション (WCF による Load Balancing 全般の考察) WCF トレースの見方 WF の Activity Execution Context (AEC) とクローンに要注意  こんにちは。 (1) で記載しました通り、本日できなかったデモのフォローアップを記載します。 T2-302 のセッションでは、全般に、スケーラビリティ、パフォーマンスなどのエンタープライズ開発のネタを中心にまとめましたが、これだけ異質なテーマだと思われるかもしれません。実は、この内容については、大変よくご質問を受けますので、あえて Tips 的な内容ですがセッションに含めました。(しかし、これもまったく説明の時間がありませんでした . . .すみません) まず、くどくどと説明をおこなう前に、以下の簡単な WF のサンプルをご覧ください。 While の条件 (コード条件としています) と、各 CodeActivity では、以下のような処理をおこなっています。 public int CalcValue = 0;…

1

[T2-302 follow-up (1)] WCF の ASP.NET Compatibility Model を使用した Stateful な N-tier アプリケーション (WCF による Load Balancing 全般の考察)

環境 :Visual Studio 2008 (.NET Framework 3.5) こんにちは。 毎年同じようなことを書いているようですみません。またまた Tech*Ed でデモの多くを取りこぼしましたので、デモ/説明ができなかった残り分を掲載したいと思います。(今、翌日のリハーサル待ちです . . .) 以下の順番で掲載していきます。 WCF の ASP.NET Compatibility Model を使用した Stateful な N-tier アプリケーション (WCF による Load Balancing 全般の考察) WCF トレースの見方 WF の Activity Execution Context (AEC) とクローンに要注意 あと、最後の BizTalk を組み合わせた内容は BizTalk の B の字もデモできませんでしたので、明日の T2-401 のセッションで Oracle Adapter やカスタムの Adapter を使ったデモとその仕組みの説明を実施しようと思います。(もしここも時間がなくなってしまったらすみません。諦めてブログに掲載します . ….

2