.NET テクノロジーを利用した SAP ソリューションの拡張 (詳説) マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター Agenda 1. 2. 3. 4. 5. 6. SAP .NET Connector を利用した UI 拡張 SAP .NET Connector を利用した API 拡張 SAP .NET Connector を利用したサービス 拡張 SAP .NET Connector 詳細 FAQ SAP ポータル構築提案例 1. SAP .NET Connector を利用した UI の拡張 (この章の狙い) SAPのユーザーインター フェースを、次の5パターンに拡張可能で ある事を説明する。 (1) Windows フォームアプリケーション (2) ASP .NET Web アプリケーション (3) コンソールアプリケーション (4) ポータルインターフェース (5) モバイルインターフェース SAP UI 拡張の必要性 SAP R/3 システムを運用するにあたって、 • UI の使い方はユーザーにより様々 –大量のデータ入力が必要 or 特定の機能のみ利用できればよい • UI の展開範囲も企業により様々 –部門限定の展開でよい or 全社展開が必要 • UI 操作を自動化したい場合もある –夜間のバッチ処理の自動化 これら3つの条件を総合して勘案し、 カスタマーにとって真に最適な ユーザーインターフェースを提供する必要性 SAP UI 拡張 SAP GUI アプリケーション Windows アプリケーション Web アプリケーション コンソール アプリケーション SAP UI 拡張 • SAP GUI を .NET のユーザーインターフェー スで拡張する VS .NET & .NET Connectorで SAP汎用モジュールをコールする Windowsフォームアプリケーションを 開発、関連ファイルを配置 Windows アプリケーション (t)RFC (t)RFC Web アプリケーション HTTPS F/W コンソール アプリケーション VS .NET & .NET Connectorで SAP汎用モジュールをコールする ASP .NET Webアプリケーションを 開発、関連ファイルを配置 F/W ABAP / BAPI Webアプリケーションサーバ (t)RFC VS .NET & .NET Connectorで SAP汎用モジュールをコールする コンソールアプリケーションを 開発、関連ファイルを配置 コンソールアプリケーションサーバ SAP SAP R/3 サーバ .NET における UI の選択 • ニーズに応じてインターフェースを選択 UIの 使いやすさ 展開の 容易さ △ Windows ◎ 各PCに アプリ どのように ファイルコピー、 ケーション でも作りこみ可 イントラネット内 操作の 自動化 × Web アプリ ケーション ◎ △ サーバーのみ Web ならでは ファイルコピー、 の制約は存在 インターネット コンソール アプリ ケーション × △ ◎ コマンドライン サーバーのみ バッチジョブ ならでは ファイルコピー、 エンジンから の制約は存在 イントラネット内 起動可能 × 最適な UI の例 ・大量の会計伝票を入力する 経理アプリケーション ・その他入力効率が要求される アプリケーション ・全社員向けの単純な経費清算 アプリケーション ・パートナー企業向け案件情報 ポータル ・ジョブ実行エンジン、スクリプト から制御する月次締め処理 などの定型的バッチ処理 リッチクライアント/シンクライアントの選択 • ユーザービリティ(UI の使いやすさ)と ディプロイアビリティ(展開の容易さ)との トレードオフ ヘビー ユーザー Windows アプリ ユーザー Web アプリケーション ユーザー カジュアル ユーザー ユーザー数 Windows アプリケーションの展開と管理 • SAP 汎用モジュールを call する Windowsフォーム アプリケーションを開発 • 各ユーザー のPC に関連ファイル(exeなど)をコピーすれば インストールが完了 – レジストリ書込み無し(従来と比べると非常に容易) – アンインストールはファイルを削除するだけ • .NET Framework がセットアップされている Windows 98 以降の PC であれば、どんな Windows 上でも 稼動する – .NET Framework が OS の違いを隠蔽 (t)RFC Windows アプリケーション ABAP / BAPI .NET Framework がセットアップ されている、Win98以降のPCに Windowsフォームアプリケーション をファイルごとコピーする SAP SAP R/3 サーバ Web アプリケーションの展開と管理 • SAP汎用モジュールを callする ASP .NET Web アプリケーションを開発 • Web サーバー上に作成した仮想ディレクトリ上に関連ファイル(exeなど) をコピーすればインストールは完了 • アクセスするクライアントにはブラウザのみがあればよい – どんなブラウザ、OS でもアクセス可能、クライアントが低スペックでもOK • インターネット環境でのシステム展開 • Web サーバーを複数ノード設け、冗長構成&負荷分散構成にする事に よって、可用性&パフォーマンス向上を実現可能 ユーザーのPCには ブラウザのみ (.NET Framework など不要) インターネット環境での 展開が可能 (ただし暗号化、認証の 仕組みが必要) (t)RFC Web アプリケーション HTTPS F/W F/W Webアプリ ケーション サーバ ABAP / BAPI 殆どの処理をサーバー側で行なわせて、ユー ザー側の要件(ブラウザ、OS、必要 スペックなど)を無くした大規模展開が可能 (ただしスケールアウト構成を考慮すること) SAP SAP R/3 サーバ SAP UI 更なる拡張の必要性 SAP R/3 システムを含め 必要な情報を共有しようとしても 情報が多すぎて効果的に ユーザーに伝わらない SAP R/3 ユーザーがオフィスの デスクトップに座っているとは 限らない ユーザーが必要とする情報を、 集約して瞬時に提供する メッセージング手段の必要性 ユーザーが必要とする情報を、 いつでもどこへでも どんなデバイスへでも提供する メッセージング手段の必要性 SAP UI 更なる拡張 Web インターフェース Exch ange SAP Web Exchange File ポータル インターフェース モバイル インターフェース ポータルの構築 • 全システムのフロントに SharePoint Portal Serverを配置 • 基幹系+情報系のポータル構築 – SAP 関連情報のポータルへの 組み込みは、 .NET Connector を 利用する事で格段に容易に 情報系システム Web Server File Server HTML ASP JSP Lotus Notes / Domino Database MS Exchange Server メール 予定表 連絡先 仕事 テーブル ビュー Exch ange SAP Web Exchange File Exch Exchange SAP ange 基幹系システム HTTP ポータル メール 予定表 連絡先 仕事 Office 文書 HTTP (t)RFC ABAP / BAPI SharePoint Portal ServerをWebサーバー のフロントに配置 Webアプリ ケーションサーバ SAP SAP R/3 SharePoint ポータルテクノロジー • メッセージングの一形態:ポータル – 様々な場所に散在する・・・(Where?) • – 様々な異なるデータを・・・(What?) • – Active Directory とのシングルサインオン 様々なレイアウトで・・・(How?) • – ASP(X) (SAP UI含む), JSP, HTML, Officeドキュメント, PDF, 一太郎, 受信トレイ, 予定表, 連絡先, 仕事, テーブル, ビュー 様々なユーザーに対して・・・(Who?) • – Web (SAP のフロント含む), File, Domino, Exchange, DB 属するグループに応じてレイアウトをカスタマイズ 一つの Web UI の中で提供する ポータル導入の効果 • ポータルが無い今・・・ – 様々な場所に散在する、様々な情報に対して、社員は それぞれにアクセスしなくてはならない • Pull型ナレッジマネジメント (ボトムアップ) • Mail, File, Web, SAP ・・・・ – 情報過多の状況において、「これだけは伝えたい」 「この辺は知ってほしい」情報の伝達には向かない • ポータル導入後は・・・ – 必要な情報を一つにマージして一箇所で一挙に見せる • Push 型ナレッジマネジメント (トップダウン) • .NET Connector のおかげで、SAP のような基幹系の情報まで もが Portal を用いて伝達できる モバイルインターフェースの構築 • モバイル機器と通信する Web アプリケーションを 容易に構築可能 – Visual Studio .NET を利用する場合、Mobile Internet Toolkit を利用 • http://www.microsoft.com/japan/msdn/vstudio/device/mitdefa ult.asp – Visual Studio .NET 2003 では組込み済みの機能 • .NET Framework 1.1 の機能 (t)RFC モバイルWeb アプリケーション ABAP / BAPI HTTPS F/W F/W Webアプリ ケーション サーバ アクセスしてきたデバイスをその場で認識し、 各デバイスごとに最適化されたインターフェー スをクライアントに対して提供 SAP SAP R/3 サーバ モバイルインターフェースの構築 • アクセスしてきたモバイル機器に応じて、 適切なマークアップ言語のコードを生成 Web アプリケーション cHTML NTT ドコモ 携帯電話 HDML au 携帯電話 MML J-Phone 携帯電話 HTML PDA 2. SAP .NET Connector を利用した API の拡張 (この章の狙い) 次の non-SAP システム が SAP へアクセス可能である事を説明する。 (1) .NET/COM クライアント (2) Web サービスクライアント (3) レガシーアプリケーション SAP API 拡張の必要性 • 企業システムを SAP R/3 ただ一つに集約する事は 理想的ではあるが現実的ではない • SAP システムと Non-SAP システムの混在はまず 避けられない Non-SAP アプリケーションがシステム的に SAP R/3 へアクセスするための アプリケーションプログラミングインターフェース (API)拡張の必要性 SAP API 拡張 ABAP / BAPI SAP ABAP/BAPI SAP SAP SAP .NET COM XML Web サービス SAP API 拡張 • SAP の ABAP/BAPI インターフェースを .NET の API で拡張 • SAP のシステム連携範囲が大幅に拡大 .NET クラス ライブラリサーバ .NET クライアント SAP R/3 サーバ .NET Remoting COM クライアント ラッ パー VS .NET & Connectorで クラスライブラリを開発 (t)RFC VS .NET & .NET Connector でXML Web サービスを開発 XML Web サービス クライアント メイン フレーム F/W SOAP F/W XML Web サービスサーバ ABAP / BAPI SAP .NET/COM クライアントからのアクセス • .NET クライアントの範囲 – Visual Studio .NET など .NET 環境で開発するアプリケーション • VB, C#, C++, J#, Delphi, Pascal, Fortran, Perl, COBOL …. • COM クライアントの範囲 – Visual Studio 6.0 などCOMが利用できる環境で開発した既存アプリ – Office XP VBA, BizTalk Server 2002, SQL Server 2000 DTS など – COM <-> .NET のラッパーを介在させる必要があるため、多少の 変換の負荷がある • パフォーマンステストの実施 • イントラネット内、Windows 同士の連携 などなど・・ Web サービスクライアントからのアクセス • Web サービスクライアントの範囲 – Visual Studio .NET などを用いたアプリケーション – Web Services Toolkit を利用したアドオン • Office XP, BizTalk Server 2002, SQL Server 2000 – Microsoft だけでなく、SAP, IBM, BEA, Sun, Oracle等殆 どの主要ベンダーが、XML Web サービステクノロジーに 既に対応済み • インターネット、ファイアーウォール、異種 プラットフォームの壁を越えた連携が可能 (参考) Web サービス対応製品一覧 • • • • • • • • • • • • • • • • • • • • Orbix E2A Application Server 5.0 (アイオナテクノロジズ) WebSphere Application Server 4.0 (IBM) Web Services Toolkit 3.0 (IBM) eXtensible Information Server (エクセロン) Oracle 9i Application Server R2.0 (オラクル) iPlanet Application Server 6.3 (サンマイクロシステムズ) Java Web Service Developer Pack EA2 (サンマイクロシステムズ) SilverStream eXtend Application Server 3.7.3 (シルバーストリームソフトウエア) SilverStream jBroker Web 1.1 (シルバーストリームソフトウエア) ActiveGlobe WebOTX4 (日本電気) WebLogic Server 7.0J (BEAシステムズ) Cosminexus 5.0 (日立製作所) Hp Web Services platform (ヒューレットパッカード) INTERSTAGE Application Server 4.1 (富士通) Borland Enterprise Server AppServer Edition (ボーランド) .NET Framework 1.0 (マイクロソフト) SOAP Toolkit 2.0 (マイクロソフト) GLUE 2.3 (マインドエレクトリック) ColdFusion MX Server (マクロマディア) Enhydra Application Server 4.1 (ルトリステクノロジズ) 出典:日経BP社 Webサービス完全ガイド(2002年6月30日発行) (参考) Web サービス対応製品一覧 • • • • • • • • • • • • • • WebSphere Studio Application Developer (IBM) eXcelon Stylus Studio (エクセロン) Oracle 9i JDeveloper (オラクル) Forte for Java 3.0 (サンマイクロシステムズ) SilverStream eXtend Workbench (シルバーストリームソフトウエア) Cosminexus Studio 5.0 (日立製作所) INTERSTAGE APWORKS V4.0L20 (富士通) NetCOBOL (富士通) C++ Builder (ボーランド) Delphi6 (ボーランド) JBuilder (ボーランド) Kylix2 (ボーランド) Visual Studio .NET (マイクロソフト) Rational Suite v2001A (ラショナルソフトウエア) 出典:日経BP社 Webサービス完全ガイド(2002年6月30日発行) SAP API 更なる拡張の必要性 • API にアクセスできないアプリケーションの存在は 無視できない –特にレガシーシステムに多い – 外部との連携機能はエクスポート – 特有の通信手法 Non-SAP アプリケーションが (1)エクスポート、もしくは、(2)「特有の」通信手法で SAP へアクセスするための、 EAI 導入の必要性 SAP API 更なる拡張 SAP COM SAP BizTalk を用いたエクスポートに よるアクセス、 アダプタを介したアクセス レガシーを含めた EAI の構築 (1) • BizTalk の受信・送信アーキテクチャによる、レガシーシステムまで 含めたシステム連携 tRFC レガシー クライアント アプリケーション ABAP / BAPI .NET クラス ライブラリ データ入力の都度、 外部ファイルを 吐き出し、BizTalk宛 にファイル転送 SAP SAP R/3 サーバ SAP 会計データ更新の クラスを準備しておく レガシー サーバー アプリケーション TXT CSV FILE FILE MSMQ MSMQ XML他 XML HTTPS ・様々なプロトコルでの受信 ・様々なファイル形式の取扱 ・様々なプロトコルでの送信 ・プロトコル/ファイル形式変換 ・ルーティング ・マッピングなどデータ加工 ・ビジネスプロセス実行 ・再送信管理 TXT CSV HTTPS 「ビジネスプロセス実行」の過程の中で、 1.SAPに登録する必要のあるデータのみ抽出し 2.メソッド呼び出し、その他のデータを他システムへ送信 XML レガシーを含めた EAI の構築 (2) • BizTalk が持っているアダプタを活用したノープログ ラミングでのシステム連携 – 現在マイクロソフトやパートナーから、多数のアダプタが 提供されている レ ガ シ ー ア プ リ ケ ー シ ョ ン メイン フレ ーム Host Integration Server など アダ プタ (t)RFC オフコン アダ プタ ABAP / BAPI アダ プタ UNIX Services for UNIXなど .NET クラス ライブラリ SAP SAP R/3 サーバ BizTalk EAI テクノロジー • システム連携の主流: EAI – 様々な通信プロトコルによる受信と送信 • File, HTTP(S), MSMQ, DCOM, .NET, SMTP(送信) – 様々なファイル形式の認識 • 固定長 (IDoc 含む), CSV, XML, EDI – ルーティング送信 – スキーママッピング、集計、ソート等データ加工 – 複数システム間のビジネスプロセス実行と管理 (参考) BizTalk Server アダプタ一覧 ●EAI AS/400 SAP Ora cle Ap p lica t ions DB2 DB 全般 ADO JDBC HAC L(5250 API) C IC S / IMS MQ Series 製品名 提供元 Microsoft BizTalk Adapter for MQSeries EAI Base Adapters for Biztalk Server Microsoft BizTalk Adapter for SAP iOrchestrator for SAP R/3 iOrchestrator for Oracle Applications Taviz Adapter Offering for Microsoft BizTalk Server Microsoft Host Integration Server iOrchestrator for Microsoft ActiveX Data Objects iOrchestrator for JDBC EAI Base Adapters for Biztalk Server EAI Base Adapters for Biztalk Server iOrchestrator for Microsoft ActiveX Data Objects iOrchestrator for JDBC EAI Base Adapters for Biztalk Server Microsoft Host Integration Server Microsoft BizTalk Adapter for MQSeries マイクロソフト(株) 製品名 提供元 日立ソフトウェアエンジニアリング(株) マイクロソフト(株) コンパック(株) ときわ情報(株) マイクロソフト(株) コンパック(株) 日立ソフトウェアエンジニアリング(株) コンパック(株) 日立ソフトウェアエンジニアリング(株) マイクロソフト(株) ●B2B Arib a C ommerce One C la rus BizTalk Server Accelerator for Suppliers cXML マイクロソフト(株) x C BL C IDX Ros et t a Net BizTalk Accelerator for RosettaNet ●EDI 手順 ANSI.X12 全銀手順 全銀 TCP/IP 手順 JCA 手順 JEDICOS CII 標準 製品名 提供元 BizTalk Server 標準機能 マイクロソフト(株) ACMS/NT for BizTalk Server (株)データ・アプリケーション 3. SAP .NET Connector を利用した サービス拡張 (この章の狙い) SAP からも次の non-SAP システムへアクセス可能である事を説明する。 (1) OLEDB/ODBC/FILE/XML (2) COM/.NETサーバ (3) Web サービス (4) レガシーアプリケーション SAP サービス拡張の必要性 • Non-SAP システムから SAP システムへのアクセス だけではシステム連携といえない • SAP システムから Non-SAP システムへのアクセス も必要 SAP システムから Non-SAP システムへのアクセスを 可能にするテクノロジーにより、 両者間で完全にインタラクティブな連携を構築 SAP サービス拡張 • SAP が提供するサービスを .NET のパワーで拡大 OLEDB/ ODBC/ File/XML COM / .NET サーバ SAP ABAP / BAPI メイン フレーム XML Web サービス ひとつの SAPサービス として提供 SAP サービス拡張 • ABAP プログラムが .NET アプリケーションと連携する事で、 (SAP 内部に限らず)様々なデータソース、システムに アクセス可能になる OLEDB/ • SAP が提供できるサービス自体を拡張 ODBC/ File/XML .NET Remoting / DCOM (t)RFC SAP SAP R/3 サーバ COM / .NET サーバ ABAP / BAPI コンソール アプリケーション サーバ F/W SOAP F/W メイン フレーム XML Web サービス OLEDB/ODBC データソース • • • • • • • • • SQL Server SQL Server Analysis Services Access Oracle DB2 ディレクトリサービス ISAM Indexing Service 他 .NET/OLEDB/ODBC データソース アプリケーション SQL Server .NET データ プロバイダ SQL Server用 OLE DB プロバイダ SQL Server ODBC .NET データ プロバイダ OLE DB .NET データ プロバイダ Access用 OLE DB プロバイダ Access Oracle / DB2用 OLE DB プロバイダ ODBC用 OLE DB プロバイダ Oracle / DB2 Oracle / DB2用 ODBC ドライバ ODBC ドライバ ODBC データベース SAP サービス拡張 具体例(1) • ABAP でレポートを作成する際、顧客マスタ Oracle データベースに接続する – OLEDB 接続 • SAP HR で社員追加処理を行なった後、 Active Directory と Visual Studio .NET で 開発した人事アプリケーションと への社員 追加作業を自動化 – OLEDB, .NET サーバー接続 SAP サービス拡張 具体例(2) • ABAP で抽出した顧客に対して Exchange Server からダイレクトメールを送信する – COM サーバー接続 • ABAP で受注処理を行なった後、IDoc ドキュメント を BizTalk Server に送信する – COM サーバー接続 • ABAP で有価証券の再評価を行なう際、 株価 Web サービスに接続する – XML Web サービス接続 ABAP プログラミングイメージ (t)RFC SAP SAP R/3 サーバ ABAP / BAPI コンソール アプリケーション サーバ レガシーを含めた EAI の構築 • BizTalk の受信送信アーキテクチャによる、レガシーまで含めた EAI – BizTalk へ IDocドキュメントを送信する.NET クラスを配置 – SAP の ABAP プログラムの中で上記クラスをcallするよう プログラム修正 – BizTalk は IDoc ドキュメントを受信すると 各システムへルーティング、加工、そして送信 IDOC コンソール アプリケーション サーバ (t)RFC SAP 経理アプリ ケーション HTTPS ラッ パー 引数として受けた IDoc ドキュメントを BizTalk へ送信する クラスを準備する ケーション MSMQ DCOM etc XML他 ユーザーがあるトランザクション を実行した時、ABAP プログラム の中で.NET アプリをラッピング するファンクションをコール、 IDoc ドキュメントを送信する。 TXT 人事アプリ CSV FILE ABAP / BAPI 各システムに対して ほぼリアルタイムで更新が なされる ・様々なプロトコルでの受信 ・様々なファイル形式の取扱 ・様々なプロトコルでの送信 ・プロトコル/ファイル形式変換 ・ルーティング ・マッピングなどデータ加工 ・ビジネスプロセス実行 ・再送信管理 XML 財務アプリ ケーション SMTP TXT メール サーバ 4. SAP .NET Connector 詳細 SAP .NET Connector 詳細 • ユーザービリティ – 非同期メソッド実行 • スケーラビリティ – 接続プーリング • リライアビリティ – tRFC 通信 • セキュリティ – シングルサインオン • マネージアビリティ – ABAP デバッガとの連動 通常のメソッド実行 ユーザービリティ • 同期メソッド実行 – Java Connector や DCOM/.NET Connector – たとえば、大量レコードを検索するアプリケー ションにおいて、ユーザーは長時間待たされる JAVAアプリ ケーション ① ② SAP もしくは ?? ユーザー インターフェース ⑤ ④ .NETアプリ ケーション SAP R/3 サーバ ③ 非同期メソッド実行 ユーザビリティ • .NET Connector のみ • メソッド ”Begin<RFC名>” をコールすると、戻り値を 待つことなくひとまず制御が戻される • しばらくして戻り値が返ってくれば通知される ① この検索には 時間が かかります・・ ユーザーを待た せず迅速に返 答 ② SAP ③ OK! 検索が完了 しました! ユーザー インターフェース ⑥ .NETアプリ ケーション ⑤ SAP R/3 サーバ ④ 2階層の接続方式 スケーラビリティ • 都度接続が確立される – 接続確立の負荷が無視できないケースも多い 接続 確立 接続 確立 接続 確立 SAP コネクションプーリング スケーラビリティ • 3階層の場合、.NET アプリケーションサーバ において R/3 サーバへの接続を貯めておき 使いまわすことで、接続確立の時間を節約 予めOpenし ておいた接続 を 使いまわし SAP .NETアプリ ケーション サーバ Pooling 接続 Pooling 接続 Pooling 接続 SAP R/3 サーバ RFC Quality of Service リライアビリティ • RFC: – 同期コール – プロセスが完了するまでクライアントは待機 – インプット、アウトプットパラメータをサポート – ABAPでの呼び方: Call ....DESTINATION Dest ..... – Cでの呼び方: RfcCallReceive() – VB, Scriptでの呼び方: DCOM Connector, SAP Automation, C call RFC Quality of Service リライアビリティ • エラーが起こったときのRFC の問題 – エラーがどこで起きたのか – 失敗した呼び出しは再試行されるのか client server Can retry client server Check data + customizing and retry client server Don't retry RFC Quality of Service リライアビリティ • tRFC – 一回のみの送信、実行を保証 • 2重登録はあり得ない – – – – External tRFC は常に同期 ABAP tRFC は非同期 インプットパラメータのみサポート ABAPでの呼び方: Call ... DESTINATION Dest IN BACKGROUND TASK ...... – Cでの呼び方: RfcCallIndirectEx () – VBでの呼び方: SAP DCOM Connector, C call – 外部プログラム(ABAP からコールされる .NET のプログラム)は 通常の RFC 通信のみサポート • Transaction ID の管理とエラー時の再試行のロジックが必要 tRFC通信 client リライアビリティ server RfcCreateTransID Get TID RfcIndirectCallEx Insert TID, + Call Execution Store TID and DATA Delete TID and DATA RfcConfirmTransID Delete TID tRFCによる更新 リライアビリティ • RFC 通信は、途中でネットワーク障害などが 起きた場合、整合性が保証されない – 2回更新がかかると、そのまま2重で登録される – 参照処理であればこれで十分 • tRFC (t: transactional)通信は、正確に1回 のみ実行される事が保証される – 更新処理(受注追加、IDOC のサブミット)に おいて tRFC は必須であるといえる 通常サポートする認証方式 セキュリティ • SAPユーザー名、パスワードによるログオン SAPユーザー名& パスワードの指定 Windows フォーム アプリケーション SAP SAPユーザー名& パスワードの指定 ASP .NET Web アプリケーション インターネット ASP .NET Webサーバ SAP R/3 サーバ シングルサインオン X.509 認証による SSO セキュリティ • PKI 環境であれば X.509認証 – インターネット環境で運用が可能 – クライアント証明書の配布、 運用が必要 認証局 SAPユーザー へのマッピング SAP 証明書 パススルー 証明書の 指定 ASP .NET Web アプリケーション SAP R/3 サーバ 6.20~ SSO 他サーバ インターネット X.509証明書 ASP .NET Webサーバ シングルサインオン Kerberos/NTLM 認証によるSSO セキュリティ • Active Directory 環境であれば Kerberos 認証 – データの整合性と機密性を保証 – 通常イントラネット環境で運用 Active Directory • NT4 ドメイン環境であれば NTLM 認証 SAPユーザー へのマッピング ドメイン ログオン& Kerberos チケット提示 Windows フォーム アプリケーション SSO Kerberos チケット パススルー ドメイン ログオン& Kerberos チケット提示 ASP .NET Web アプリケーション SAP SAP R/3 サーバ 6.20~ SSO 他サーバ イントラネット Kerberosチケット ASP .NET Webサーバ その他サポートする認証方式 • SAP ログオンチケット • .NET Passport セキュリティ シングルサインオン導入の効果 セキュリティ • SSO のフレームワークが提供されない場合・・・ – ユーザーはそれぞれのシステムにログインする必要 • ディレクトリが多すぎるとユーザーはパスワードを忘れる – ディレクトリを複数持つため、セキュリティ面で不安 • いつかどこかで Crack される可能性 • SSO 導入後は・・・ – ユーザーは1回だけ認証を求められる • ディレクトリが一つであればパスワードは忘れない – ディレクトリを一つに統一するため、そのディレクトリだけ をセキュア&堅牢に管理すればよい ABAP デバッガの起動 マネジアビリティ • .NET アプリケーションのデバッグから ABAP 汎用モジュールのデバッグへスイッチ 5. FAQ Frequently Asked Questions (1) • DCOM Connector との違いは何か? – 基本的な考え方は同じ • .NET Connector は Version 2 のツール • Load Runnner 等を利用した十分なパフォーマンステストが既に なされている – DCOM へのラッピングから .NET へのラッピングへ • ※ .NET から DCOM を呼び出す事も、その逆も可能 – インターフェースが開発環境に統合され、非常に使い易くなった – コネクタ自体の不具合について、SAP 社からのサポートが得られる ようになった – (.NET から SAP のコールだけでなく) SAP から .NET のコールを 構成できるようになった Frequently Asked Questions (2) • Java Connector との違いは何か? – .NET (Connector) は Java 言語のみに縛られない • C#, C++, VB, J#, Delphi, Perl, COBOL, … – 非同期実行機能は .NET Connectorのみ • Common Language Runtime の機能を利用して実装 Java VB, VC, C#, J#, Jscript, Delphi, COBOL, Pascal, Perl, Haskell, SmallTalk, Pascal, APL, Mercury, StandardML, Oberon, Eiffel, Python, Scheme, etc… Application Application 上下方向の ポータビリティ を実現 下方向のみの ポータビリティ JVM JVM JVM Common Language Runtime Common Language Runtime Common Language Runtime Windows モバイルデバイス Unixなどその他 Windows モバイルデバイス Unixなどその他 Frequently Asked Questions (3) • .NET Connector はサポートされるのか? – コネクタ自体は SAP 社によりサポートされる – コネクタ上のアプリケーションの不具合について は自己責任となる Frequently Asked Questions (4) • ASP .NET Web アプリケーションにアクセス する Web ブラウザの必要条件は? – サーバーサイドでアプリケーションがロジックを 動かすのであれば、Webブラウザの指定は無い • Netscapeでも可 • 低スペックのPCでも十分 6. SAP ポータル構築提案例 ゴールと2つの懸案 ゴール SAP サーバ (R/3, APO, EBP)のポータル構築 課題1 Webのユーザーインター フェース有無の確認、 無ければ構築の手法? 課題2 NT ドメイン、 Active Directory との シングルサインオン、 ユーザー情報管理の 仕組み? 中央拠点 NT Domain, Active Directory (1) ADUser1 としてログ オン 認証情報 認証情報 ADGroup1 ADUser1 (password) ADUser2 (password) ADUser3 (password) ADGroup2 …………… ADGroup1 ADUser1 (password) ADUser2 (password) ADUser3 (password) ADGroup2 …………… Active Directory レプリケーション(同期) (2) ADGroup1と してのセッション チケット提供 認証情報 SAPUser (password) R/3 アクセスコントロール情報 SAPUser 何でも○ 認証情報 SAPUser (password) Web ブラウザ APO (4) (t)RFCで やりとり (SAPUser として接続) (6) HTML アクセスコントロール情報 SAPUser 何でも○ 認証情報 SAPUser (password) EBP +ITS (3) ADGroup1 のチケット提示 NT Domain, Active Directory アクセスコントロール情報 SAPUser 何でも○ I P V P N や 専 用 線 な ど Web ブラウザ アクセスコントロール情報 Webアプリ ケーション サーバ IIS 6.0/ .NET Framework ADGroup1 読取/実行○ ADGroup2 読取/実行○ …………… 他拠点 アクセスコントロール情報 Content Management Server 2002 を利用 してコンテンツ同期 イ ン タ ー Webアプリ ケーション サーバ IIS 6.0/ .NET Framework ADGroup1 読取/実行○ ADGroup2 読取/実行○ …………… 課題の解決 • R/3 と APO と EBP は ABAP のアーキテクチャであるため、 .NET Connector を利用してこれらのサーバーに (t)RFC でアクセスする (ASP .NET )Web アプリケーションを開発し、Web の UI を提供する • R/3, APO, BW, EBP へは 単一のユーザーIDでログオンするよう、 ASP .NET Web アプリケーションを構成する – SAP サーバー側でのユーザーマッピングは不要 – SAP のコネクションプーリングが利用可能になり、パフォーマンスとスケーラ ビリティを確保 • SAP 関連のサーバーで持たせる認証&アクセスコントロールの情報は 最低限にする • 実質 Active Direcoty 上のみで認証させる事とする • 実質 ASP .NET Web アプリケーションサーバ 上のみでアクセス コントロールさせる事とする (※)汎用モジュールのコール(1) Visual Studio .NET SAP Connection Wizard 1.SAP汎用モ ジュールの指定 2.Nextボタンを おして.NET側に クラスを生成 3..NET側に 汎用モジュール をコールするクラス (PG)が生成された (※)汎用モジュールのコール(2) Visual Studio .NET 次の一行で汎用モジュールをコールする。 proxy.Rfc_Customer_Get (“”,TextBox1.Text, ref brfcknA1Table1); トランザクションのコールは出来ない。 (※)Webアプリケーションサーバへの アクセスコントロール設定イメージ エクスプローラ 1.エクスプローラより、 Webアプリケーションの 実体が存在するフォルダを右 クリック 2.AD上の (Domain名)\(グループ名)を 指定(ユーザー名を直接 指定してもOK) 4.ADとの統合認証の 設定が完了 3.権限を付加 (※) Superuser 接続の設定 Visual Studio .NET 1.Webページの デザイン 2.SAPへ接続する ための”スーパーユーザー” のユーザー名、パスワード などを指定 SharePoint Portal Server の追加提案 • 部門別パーソナライズ機能の提案 – コーディングするよりも運用管理が楽 • いわゆるポータル以外の2大ソリューションの提案 – Office, PDF などのドキュメントのサーチ機能 – ドキュメントストア・管理機能 • SharePoint 2003 の場合、 .NET Framework と完全統合 される為、SAP サーバーに RFCプロトコルで通信する Web パーツを開発する事が出来るようになる – SAP にアクセスする既成の Web パーツも提供予定 – Version 1 では、Web パーツはあくまでHTML を表示しているのみ 中央拠点 NT Domain, Active Directory 認証情報 認証情報 ADGroup1 ADUser1 (password) ADUser2 (password) ADUser3 (password) ADGroup2 …………… ADGroup1 ADUser1 (password) ADUser2 (password) ADUser3 (password) ADGroup2 …………… NT Domain, Active Directory 他拠点 認証情報 SAPUser (password) R/3 アクセスコントロール情報 SAPUser 何でも○ 認証情報 SAPUser (password) Web ブラウザ APO SAPUser 何でも○ (4) (t)RFCで やりとり (SAPUser として接続) 認証情報 SAPUser (password) EBP +ITS (5) ユーザーが 所属する部門に 応じて様々な レイアウトを提供 アクセスコントロール情報 アクセスコントロール情報 SAPUser 何でも○ I P V P N や 専 用 線 な ど SharePoint Portal Server Web ブラウザ SharePoint Portal Server アクセスコントロール情報 Webアプリ ケーション サーバ IIS 6.0/ .NET Framework ADGroup1 読取/実行○ ADGroup2 読取/実行○ …………… アクセスコントロール情報 Content Management Server 2002 を利用 してコンテンツ同期 イ ン タ ー Webアプリ ケーション サーバ IIS 6.0/ .NET Framework ADGroup1 読取/実行○ ADGroup2 読取/実行○ …………… 提供される SAP 用 Webパーツ 1. 2. 3. 4. 5. Accounts Receivable Account Payable Open Orders My Benefits Expense Report Status and Expense Reports to Approve Go to MS/SAP Solution Site !! http://www.microsoft.com/japan/business/sap/default.mspx .NET について知る • • • • http://www.microsoft.com/japan/net/ (.NET) http://www.gotdotnet.com/japan/ (Gotdotnet) http://www.microsoft.com/japan/msdn/default.asp (MSDN Online) http://www.atmarkit.co.jp/fdotnet/index.html (Insider .NET) トレーニングを受ける • http://www.microsoft.com/japan/partners/mtc/training/ (トレーニング) • http://www.mstep.net/mstep/jpn_partner/ (MSTEP: パートナー様向け 無償トレーニング) Microsoft のテクノロジーを評価する • MSDN サブスクリプション(MS 製品評価の為の S/W 配信プログラム) – http://www.microsoft.com/japan/msdn/subscriptions/default.asp Microsoft のサービスを利用する • アドバイザリーサービス – 設計および開発中のシステムに対するアーキテクチャレビュー、 設計・開発・デバッグ支援、最適化(パフォーマンスチューニング)等 – 1時間 27,000 円(税別) – http://support.microsoft.com/default.aspx?scid=http://www.micros oft.com/japan/support/supportnet/AS.asp • マイクロソフトコンサルティングサービス – http://www.microsoft.com/japan/consulting/ 皆様へのお願い • .NET テクノロジを利用した SAP ソリューション拡張の ビジネスインパクトを想像してみて下さい • MS テクノロジーを評価するために、MSDN Subscription を 是非ご購入下さい • 特に SAP の開発環境として、Visual Studio .NET (2003) を評価してみて下さい – .NET は Java と同等に SAPにアクセスできます – Java よりも充実した開発環境を体感できます • 実案件で提案する際には、MS アドバイザリーサービスの 導入を是非ご検討下さい • 他に何かあれば、下記メールアドレスまでご連絡を下さい! – mailto:[email protected] Questions and Answers
© Copyright 2024 ExpyDoc