Insider's Eye

SharePointで開発する統合ポータル(2)

Peter Pawlak
2004/09/29
Copyright (C) 2004, Redmond Communications Inc. and Mediaselect Inc.

統合支援製品を利用して開発工数を減らす

 バックエンド・アプリケーションとの連携に必要なミドルウェア・コンポーネントやWebパーツは、Visual Studio .NET 2002(または、それ以降のバージョン)を使用して、独自に開発することができる。ただし、Microsoftやほかのベンダから提供されている既存のコンポーネントを利用すれば、ソリューションの開発の初期段階だけでなく保守期間にあっても、必要なコーディングの量が劇的に抑えられる。また、より高い安定性と拡張性を備えたソリューションを開発できるうえ、運用までにかかる時間も短縮される。

 Microsoftは、SPS 2003のほかにも、上記のすべての業務アプリケーション統合モデルに対して統合を支援する製品コンポーネントを提供している。具体的には、FrontPage、SQL Server、BizTalk Server、Host Integration Server(HIS)が挙げられる。また、SPS 2003、BizTalk 2004、HISには、シングル・サインオン(SSO)機能が実装されており、各ユーザーのWindowsアカウント情報を、各バックエンド・アプリケーションで使用されている認証スキーマのアカウント情報にマップできる。(SSOの詳細については、コラム「シングル・サインオンをサポートする統合支援製品」を参照)

コラム
シングル・サインオンをサポートする統合支援製品

 業務アプリケーションの多くは、独自の認証システムを備えているか、Windows認証以外の認証方式(IBMのメインフレーム用認証システム「RACF(資源アクセス管理機能)」など)を使用している。しかし、Webポータルをはじめ、これらの業務アプリケーションにアクセスするフロント・エンドのWebアプリケーションを開発する場合は、通常、バックエンド・システムによるユーザー認証を実行しながらも、ユーザーが複数のログオン情報を記憶・使用しないで済むようにしたい。つまり、Windowsのアカウント情報を使ったWindowsシステムへの最初のログオン時に1度ログオンしたら、その後はどの業務アプリケーションにアクセスしても、ログオン情報の入力を求められることなくアクセスできるようにしたい。

 この概念は、シングル・サインオン(SSO)と呼ばれ、SharePoint Portal Server 2003ベースのポータルとバックエンド・アプリケーションの統合を支援する以下のMicrosoft製品で、サポートされている。

■SPS 2003
 バックエンド・システムがSSL(Secure Sockets Layer)認証をサポートしている限り、SPS 2003は、Active Directory(AD)のユーザー情報と、各バックエンド・アプリケーションが認証に使用するセキュリティ情報をマップし、任意のアプリケーションに安全に認証情報を渡すことができる。この機能は、SPS 2003のパーソナライズ機能と連携させることができ、各ユーザーが参照するWebページには、そのユーザーがアクセス権を持つバックエンド・アプリケーションやデータしか表示されないようにできる。

 また、SPS 2003は、ユーザーのADグループ・メンバーシップをバックエンド・システムの任意の1アカウントにマップ可能だ。その際、このバックエンドのアカウント情報はユーザーには公開されない。

■BizTalk 2004
 BizTalk 2004を使用すると、SPS 2003のSSO機能を拡張して、認証情報が「チケット」を使ってバックエンド・システムに渡されるようにすることができる。チケットを利用することで、SSLをサポートしていないアプリケーションにパスワードを渡す場合でも、パスワードを暗号化しないままネットワークを通過させずにすむようになる。

■Host Integration Server(HIS)
 HIS 2000およびHIS 2004は、Windows NT 4.0ドメインのパスワードを、IBMのRACFやComputer AssociatesのACF/2またはCA-Top Secretメインフレーム・セキュリティ・データベースにマップするアカウント同期機能を提供することで、SSOを実現する。また、Windowsのパスワードが変更された場合は、ホスト側にあるIBMの標準のPassword Expiration Management(PEM)コンポーネントを使用して、ホストのパスワード・データベースを変更する。

SPS 2003の統合用Webパーツを活用

 SPS 2003では、Webクリッピング・モデルに基づき、アプリケーション統合に利用できるWebパーツがいくつか提供されている。

■ページ・ビューアWebパーツ
 このWebパーツを使用すると、UNIXプラットフォーム用のJavaアプリケーションだとしても、既存のWebアプリケーションをポータルに取り込むことができる。アプリケーションを取り込むには、このWebパーツにアプリケーションのURLを指定するだけでよい。

■XML Webパーツ
 このWebパーツには、XMLデータ・ソースのURLや、HTML形式でWebパーツ内にデータを表示するカスタムのXSLスタイル・シートのURLをパラメータとして指定できる。ただし、このソリューションは対話型ソリューションではないため、データは読み取り専用になる。

■WSRP Webパーツ
 このWebパーツを使用すると、OASISから最近発表されたWSRP(Web Services for Remote Portlets)標準に準拠しているポートレットにリンクを張り、これを任意のWebパーツ内で表示されるようにリダイレクトすることができる(なお、このWebパーツはMicrosoftが提供するgotdot net.comのサイトからダウンロード可能)。

開発スキルを必要としないFrontPage 2003

 MicrosoftのWebコンテンツ作成ツールであるFrontPageを使用すると、開発スキルのないユーザーでも、企業データを表示するWebページを作成およびカスタマイズできる。最新バージョンのFrontPage 2003には、Windows SharePoint ServicesおよびSPS 2003用のデータ・ドリブン型Webパーツの作成を支援する新しいテンプレートとウィザードが追加されている。

 特に、FrontPageの「データ・ビュー」Webパーツは、ADO.NETデータベース・クエリやXMLドキュメント、Webサービスなどにアクセスし、読み取り専用でデータを表示できるため、ポイント・ツー・ポイント、データ・キャッシュ、統合サーバの各アプリケーション統合モデルに適している。

SQL Server 2000の運用支援サービスを使う

 SQL Server 2000は、多くの一般的なビジネス・アプリケーションが利用するバックエンドのデータ・ストレージとして運用されているため、データ・ビューWebパーツから最新の運用データを取得する際に、データ・ソースとして利用できる。またSQL Server 2000では、SPS 2003によるポータル開発に役立つ、以下の2種類のコンポーネントが提供されている。

■Analysis Services
 SQL Server 2000は、データ・キャッシュ・モデルを利用してSPS 2003とバックエンド・アプリケーションを統合できる。このモデルの場合、まずSQL Server 2000が、運用環境のビジネス・アプリケーションからデータを取得し、データ・ウェアハウスに保存する。その後、SQL Serverがこのウェアハウスに対して、さらに高度な分析機能を実行する。これにより、SPSポータルはデータ・ビューWebパーツを使用して、運用データ・ソースに直接アクセスするのではなく、SQL Serverによってこのポータル用に作成されたデータ・セットを利用できるようになる。ポータルに表示されるデータは、リアルタイムのものではないが、多くの場合はこれが問題になることはないだろう。この方法だと、運用システムに対する負荷が軽減されるうえ、結果が表示されるまでの時間をかなり短縮できる。

■Reporting Services
 SQL ServerのReporting Servicesを使用すると、さまざまな企業データ・ソースのデータを基に、人間が実際に読めるレポート(HTML形式のレポート)を作成・管理できる。この機能をポータルで利用する場合は、Webクリッピング・モデルを使用することになる。具体的には、Reporting Servicesのレポート・テンプレートを作成し、これにSPS 2003のページ・ビューアWebパーツを使用してリンクを設定するだけでよい。なお、より直接的なReporting Servicesとの連携を実現するWebパーツは、現在開発が進められている。

BizTalk Server 2004の中間層サービスを利用

 BizTalk Server 2004は、統合サーバ・モデルを使用して、業務アプリケーションをSPSポータルに統合する場合に、複雑な中間層サービスを提供するサーバとして利用できる。特に次のような場合は、BizTalkの使用が有用である。

  • アプリケーションが、WebまたはWebサービス・インターフェイスやADO.NET対応APIを提供していない場合。特に、アプリケーション固有のAPIを使用して通信するWebパーツの作成がかなり困難で、BizTalk Serverで変換処理を一元的に実行する方が効率的な場合。なお、この場合は同じバックエンド・アプリケーションにアクセスするほかのWebパーツも、このBizTalk Serverを利用できる。

  • ユーザーからの要求にトランザクションが含まれるか、要求が非同期メッセージとして処理される場合。

  • アプリケーションのビジネス・ルールのいくつかが、すでにBizTalkのオーケストレーションによって処理されている場合(例えば、BizTalkにより例外処理を行う場合など)。

  • アプリケーションが固有のセキュリティ情報の暗号化を行わない場合。

  • アプリケーションのデータを何らかの方法で変換しなければ、Webパーツがデータを使用できない場合。

  • ポータルを介してバックエンドに送られるユーザー要求の負荷が高く、BizTalkのキャッシングおよびプーリング機能を使用することで、バックエンド・アプリケーションに対する負荷を軽減できる場合。

 BizTalkを使用する場合は、Webパーツにはプレゼンテーション・ロジックのみを実装する。そして、ポータルと業務アプリケーションとの連携は、まず、WebパーツがWebサービスを使用してBizTalkと通信し、続いて、BizTalkがサード・パーティから多数提供されているBizTalk「アダプタ」の1つを使用して、アプリケーションのネイティブAPIと通信することで実現される。

 Windows Server 2000および2003もASP.NETに対応しているため、バックエンド・アプリケーションと通信し、アプリケーションの機能をWebサービスとして提供する中間層サーバに利用できる。特にBizTalkを導入するほどのことがない場合は、Windows Serverを利用した方が効率がよいだろう。中間層コンポーネントはVisual Studioを使用して開発できるが、SAPなど、2、3の広く普及している業務アプリケーション用の中間層コンポーネントについては、有償で提供または無償でダウンロード提供されている。

Host Integration ServerでIBM製品と連携

 バックエンドの業務アプリケーションが、IBM互換のメインフレームやAS/400システム(現在の名称はiSeries)上で稼働している場合、または、アプリケーション・データがIBMのDB2リレーショナル・データベース・システムに保存されている場合は、MicrosoftのHost Integration Server(HIS)を統合サーバとして使用し、業務アプリケーションとSPS 2003 Webパーツとを連携できる。

 現在のバージョンはHIS 2000であるが、この次のバージョンとなるHIS 2004は2004年後半にリリースされる予定だ。HIS 2004は、.NET Frameworkをサポートし、メインフレームで稼働しているホスト・アプリケーションをWebサービスとして公開する機能を備えている。SPS 2003のWebパーツからHISへは、直接アクセスできる場合もあるが、BizTalkの機能が必要な場合は、BizTalk経由でアクセスする。

 ただし、HIS 2000では、ホスト上のレガシー・アプリケーションとの統合にCOMを使用しているため、HIS 2004へのアップグレードを行わない場合は、BizTalkを使用してHIS 2000のCOMインターフェイスをWebサービス・インターフェイスでラップする必要がある。

統合を加速するサード・パーティ製品

 上記のMicrosoftのインフラ製品は、いずれもSPS 2003ベースの企業ポータルとバックエンドのビジネス・アプリケーションを統合するうえで役に立つが、サード・パーティから多数提供されているBizTalkアダプタや.NETコネクタ、Webパーツを使用することで、さらに効率よく開発を進められる可能性がある。

■BizTalkアダプタ
 BizTalkは「アダプタ」というモジュール型のアーキテクチャを採用している。このため、現在BizTalkとバックエンド・アプリケーション間で、データ変換を行うさまざまなアダプタがサード・パーティから提供されている。これらの市販のアダプタを利用すれば、開発にかかる時間とコストを大幅に削減できる。iWay Softwareだけでも、Baan(現、SSA Global)、BEA Systems、IBMのWebSphereやMQSeries、J.D. Edwards、Oracle、PeopleSoft、SAP、Siebel Systemsをはじめとして、250種類以上のアプリケーションや製品に対応するBizTalk 2000および2004用のアダプタが販売されている。

■.NETコネクタ
 BizTalkを利用する以外にも、Webサービス・インターフェイスとバックエンド・アプリケーションのネイティブAPIを連携させる方法はある。例えば、Windows Server対応のSAP .NET Connectorは、多くのSAPのネイティブAPI(BAPIインターフェイスおよびRFCインターフェイス)とWebサービス・インターフェイスを連携できる。

■Webパーツ
 サード・パーティのWebパーツには、手を加えなくてもそのままポータルで利用できるものや、テンプレートとして使用し、特定の要件に合わせてカスタマイズできるものがある。例えば、最近リリースされたSAP iView Consumer Web Partを使用すると、SAP Enterprise Portalを実行してSAPの(Webパーツに相当する)「iView」をSPS 2003ベースのポータルに表示できる。また、Siebel用のWebパーツも現在開発が進められている。

統合するアプリケーションについての詳細な知識が必要

 SPS 2003とMicrosoftまたはサード・パーティが提供するコンポーネントを組み合わせて使用すれば、業務アプリケーションや企業データと連携するポータルの開発にかかる時間と手間を劇的に削減できる。また企業は、これらの基幹システムへの投資をさらに活用できるようになる。

 しかし業務アプリケーションにすでに何らかのWebまたはWSRPインターフェイスが用意されていない限り、業務アプリケーションとの統合を果たすポータルのインターフェイスを開発することは、容易な作業ではない。ポータルの開発には、統合するアプリケーションに対する深い理解、特にアプリケーション固有のAPIとデータスキーマの知識が必要になる。またどのようなアーキテクチャを採用するかを決める前に、すべての要件を丹念に洗い出し、アプリケーションのインターフェイスと重複する機能を作成することがないように、開発プロジェクトの範囲を制限する必要もある。End of Article

関連リンク

Directions on Microsoft日本語版
本記事は、(株)メディアセレクトが発行するマイクロソフト技術戦略情報誌「Directions on Microsoft日本語版」から、同社の許可を得て内容を転載したものです。『Directions on Microsoft 日本語版』は、同社のWebサイトより定期購読の申し込みができます。
 
 

 INDEX
  Insider's Eye
  SharePointで開発する統合ポータル(1)
SharePointで開発する統合ポータル(2)
  
 「Insider's Eye」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間