.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター Agenda 1. 2. 3. 4. 5. 6. SAP アプリケーションの3階層化の意義 3階層化を実現するためのテクノロジー 3階層化提案のポイント 3階層化がもたらす更なる付加価値 まとめ 最後に 1. SAP アプリケーションの3階層化 の意義 SAPアプリケーションの通常の導入方式 • 2階層のアーキテクチャ – APサーバー、DBサーバー • スケーラビリティ? ユーザービリティ? 管理性? ・SAP GUI の配布 と管理の問題 SAPサーバ SAP SAP GUI クライアント ・限定的な機能しか 利用しないユーザー にとっての、SAP GUI の 使い勝手の問題 ・APサーバーに UI 表示まで 行わせるため、APサーバーに スペックが必要となる (スケーラビリティの問題) DBサーバ 3階層アーキテクチャの組込み • 2階層アーキテクチャと3階層アーキテクチャを同居させ、 要件に応じて使い分ける – 少数のヘビーユーザーにだけ SAP GUIを配布、2階層での利用を促す – その他のカジュアルユーザー、インターネットユーザーには Web ブラウザ からの3階層での利用を促す SAPサーバ SAP SAP GUI クライアント ・負荷分散によるシステム 拡張が非常に容易 Web クライアント Webサーバ DBサーバ (※)3階層イメージ(Microsoft)(1) AMモジュール連携 DBサーバ ×1 APサーバ×11 FIモジュール連携 Webサーバ BW モジュール 連携 遠隔地複製 DBサーバ ×1 SDモジュール連携 HRモジュール連携 ※人事部、経理部等に属する「ヘビーユーザー」は通常通り SAP GUI を利用(named: 2000人) (※)3階層イメージ(Microsoft)(2) • 8つの SAP モジュール (FI, CO, AM, MM, SD, HR, BW, APO)に対して、80 カ国以上、全社員約 7万人(同時利用 ピーク時 600人)が 接続しているが、下記の通り非常に 経済的な H/W スペックで、稼働率 99.9 %を実現している – DB サーバー • 1台の Windows Server 2003, SQL Server 2000 (32-bit) • HP Proliant, Xeon 900 Mhz 8 way, 6GB メモリ, 1.2TB ディスク – AP サーバー • 11台の Windows Server 2003, SAP R/3 4.5B (32-bit) • HP Proliant, Pentium II 400Mhz 4 way, 3GB メモリ Web サーバーを介した3階層接続だからこそ可能な構成 (※)2階層/3階層クライアントの選別 • ユーザービリティ(UI の機能の数)と ディプロイアビリティ(UI 展開の範囲)との トレードオフ ヘビー ユーザー SAP GUI ユーザー Web ブラウザユーザー カジュアル・ インターネット ユーザー ユーザー数 2. 3階層化を実現するための テクノロジー SAP システムへの3階層の組込 • 密結合方式 – – • 本日のテーマ 疎結合方式(1) – – • SAP の ABAP/BAPI をコールする Connector を利用したリアルタイムな連携 リアルタイムの照会、更新、制御が必要とされる場合に選択 中間 DB から SAP へバッチインプット、SAP からダンプ出力して中間 DB へ Web サーバーと SAP とが原則 1:1の連携に限定される場合に選択 疎結合方式(2) – – EAI エンジン + SAP用アダプタ による SAP との システム連携 Non-SAP まで含めた多数システムを疎結合連携させる場合に選択 本日の テーマ Web アプリ コネクタ tRFC ABAP / BAPI バッチインプット ダンプ出力 ユーザー ファイル Web アプリ 中間DB SAP DB Server tRFC メイン フレーム 他システム Web アプリ Web&AP サーバ SAP アダプタ EAIエンジン IDoc他 SAP R/3 Server (※) SAP .NET Connector とは? • SAP にアクセスする .NET アプリケーションを開発 するために必要 – Visual Studio .NET のアドインとしての機能 • SAP の ABAP 汎用モジュール、BAPI インターフェースをラップ する .NET のクラス、メソッドなどを生成 – .NET アプリケーションのランタイムとしての機能 • .NET のメソッドが実行される事で、ABAP 汎用モジュール、BAPI インターフェースが裏でコールされる SAP ABAP / BAPI .NET アプリケーション SAP アプリケーション Demo • SAP の顧客情報を照会する Web アプリケーション を C# により開発 – SAP汎用モジュール:RFC_CUSTOMER_GET Windows Server 2003 .NET Framework, Visual Studio .NET 2003, Java VM, .NET Connector 本日は全て一つの筐体 (ThinkPad T40 Virtual PC)内に構成 開発環境 ASP .NET Webアプリ ケーションサーバ 実行環境 (クライアント) HTTP SAPサーバ RFC SAP インターネット Windows Server 2003 Internet Explorer 6.0 Netscape Navigator 7.0 Windows Server 2003 IIS 6.0, .NET Framework, Web アプリケーション (.NET Connector ランタイム含) Windows Server 2003 SQL Server 2000 MiniSAP (WebAS6.2) Demo:本日の構成 • H/W – ThinkPad T40, PentiumM 1.5GHz, 512GB RAM (Virtual PC) • S/W – Windows Server 2003 Enterprise Edition(日本語版) • IIS 6.0, ASP .NET 同梱 – – – – – – – SQL Server 2000 Enterprise Edition + SP3 (正式版、英語版) MiniSAP (Kernel : WebAS 6.20) Visual Studio .NET 2003 (正式版、日本語版) Java2 Runtime v1.4.1_01 SAP .NET Connector 1.0.1 Internet Explorer 6.0.3700.0 Netscape Navigator 7.02 Demo: 開発イメージ • ABAP 汎用モジュール、BAPI インターフェースを ラップする .NET のクラスを生成 (1)SAP Connect Wizard からABAP ディクショナリへ接続 しABAP/BAPI 汎用 モジュールを指定 (4)ビハインド コード記述 (5).NET から 汎用モジュールの クラスをコール するようCoding (3)Web ページの デザイン .NET (7)インター フェースへの 反映 インターフェース .NET Connector アドイン デザインコード ASP .NET Web アプリケーション ABAP/ BAPI ABAP/ BAPI ・・・・・・ (4)SAP への接続情報 をセット (6)戻り値 取得の コーディング (2).NET へ 汎用モジュール のクラスを生成 ABAP/BAPI ディクショナリ ABAP/ BAPI SAP R/3, APO, …. Demo: 開発イメージ (汎用モジュールの .NET クラスを生成) 1.SAP汎用モ ジュールの指定 2.Nextボタンを おして.NET側に クラスを生成 3..NET側に 汎用モジュール をコールするクラス (PG)が生成された Demo: 開発イメージ (汎用モジュールのクラスをコール) 次の一行で汎用モジュールをコールする。 proxy.Rfc_Customer_Get (“”,TextBox1.Text, ref brfcknA1Table1); ※ トランザクションのコールは出来ない。 Demo: 開発イメージ (SAP への接続情報(”Superuser”)の設定) 1.Webページの デザイン 2.SAPへ接続する ための”スーパーユーザー” のユーザー名、パスワード などを指定 Demo: 実行イメージ • .NET のメソッドが実行されることで ABAP汎用 モジュール、BAPIインターフェースがコールされる (1)ユーザー からのリクエスト、 アクセスコント ロール (2)ユーザーか らのアクション ABAP/BAPI ディクショナリ (3)メソッド コール ABAP/ BAPI .NET (6)インター フェースへの 反映 インターフェース .NET Connector ランタイム コンパイルコード ASP .NET Web アプリケーション (4)ABAP/BAPI リモートファンクション コール ・・・・・・ (5)戻り値 取得 ABAP/ BAPI ABAP/ BAPI SAP R/3, APO, …. Demo: 実行イメージ (アクセスコントロールの設定-1) • NT4 ドメイン、もしくは Active Direcoty 上で認証し、 Web アプリケーションサーバ 上でアクセスをコントロール – ユーザーが属する グループ、組織単位(OU) に応じた権限設定 • SAP サーバーへは 単一の ”SuperUser” の ID でログオン するよう、Web アプリケーションを開発・構成する – SAP のコネクションプーリングが利用可能になり、パフォーマンスとス ケーラビリティを確保 • SAP サーバー側と Web アプリケーションサーバー側とで、 アクセスコントロール(権限プロファイル設定)が2重管理と なる点、運用上の見極めが必要 – Web アプリケーションのアクセスコントロールが複雑でなければ、 導入はたやすい Demo: 実行イメージ (アクセスコントロールの設定-2) 2.AD上の (Domain名)\(グループ名)を 指定(ユーザー名を直接 指定してもOK) 1.エクスプローラより、 Webアプリケーションの 実体が存在するフォルダを右 クリック 4.ADとの統合認証の 設定が完了 3.権限を付加 中央拠点 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と してのセッション チケット提供 認証情報 SuperUser (password) R/3 アクセスコントロール情報 SuperUser 何でも○ 認証情報 SuperUser (password) Web ブラウザ (3) ADGroup1 のチケット提示 (4) (t)RFCで やりとり (SuperUser として接続、 (コネクション プーリング 利用) APO アクセスコントロール情報 SuperUser 何でも○ 認証情報 SuperUser (password) SRM アクセスコントロール情報 SuperUser 何でも○ (6) HTML NT Domain, Active Directory 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 読取/実行○ …………… 3. 3階層化提案のポイント 提案のターゲット • SAP サーバーの必要条件 – カーネルバージョンが 4.0B 以降 • RFC コールが可能 – OS/DB は Windows/SQL Server でなくても OK • OS/DBの種類は SAP R/3 によって抽象化される • ただし SQL Server は .NET アーキテクチャと圧倒的 な親和性をもつデータベースである – SQL Server には .NET にネイティブなデータプロバイダ メインフレーム オフコン 提案の業務シナリオ • 提案例(トランザクションコード単位でない事に注意) – – – – – – – – 予算実績対比表(CO) 経費清算(FI) 勤怠管理(HR) 人事情報(HR) 間接財購買(EBP) 在庫不足アラート(APO) 受注登録(SD) などなど・・・ 必要なシステムリソース • 開発環境&実行環境 (両者兼用も OK) – OS : Windows XP もしくは 2000、2003 • IIS のサービスを起動 – Visual Studio .NET もしくは Visual Studio .NET 2003 • 詳細:http://www.microsoft.com/japan/msdn/vstudio/default.asp • 正式リリース版である必要(※ MSDN 版でも OK) • .NET Framework 1.0 or 1.1 を含む – Java VM(最新バージョン) • 入手元:http://java.sun.com/j2se/ – SAP .NET Connector 1.0 もしくは 1.0.1 • 入手元:http://service.sap.com/connectors – 但し SAP Service Marketplace のUser IDが必要 必要な人的リソース • 業務コンサルタントの存在は不可欠 – ABAP/BAPI の特定、ない場合、設計 • (場合によっては) ABAP 開発者 – 設計された ABAP/BAPI の開発 (RFCコールを意識) • Visual Studio .NET の開発者 – ABAP が出来なくても、SAP 汎用モジュールのテスト実行だけできれば十分 • トランザクションコード:SE37 • 引数(Input)の渡し方の理解、戻り値(Output)の解釈 トランザクションSE37 において、汎用 モジュールの指定 引数に値セット、 テスト実行 戻り値の確認 3階層化の事例 • セコム株式会社様による DCOM Connector を利用した HR モジュール Web インター フェース作成の事例 – 時間外勤務申請業務 • Microsoft 社内ではDCOM/.NET Connector 双方を本番システムで利用している – Microsoft ITShowcase 4. 3階層化がもたらす更なる付加価値 ポータルへの応用 • 全システムのフロントに 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 R/3 SAP ポータル導入の効果 • ポータルが無い今・・・ – 様々な場所に散在する、様々な情報に対して、社員は それぞれにアクセスしなくてはならない • 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 の機能 SAP R/3 サーバ (t)RFC モバイルWeb アプリケーション ABAP / BAPI HTTPS F/W F/W Webアプリ ケーション サーバ アクセスしてきたデバイスをその場で認識し、 各デバイスごとに最適化されたインターフェー スをクライアントに対して提供 SAP モバイルインターフェースの構築 • アクセスしてきたモバイル機器に応じて、 適切なマークアップ言語のコードを生成 Web アプリケーション cHTML NTT ドコモ 携帯電話 HDML au 携帯電話 MML J-Phone 携帯電話 HTML PDA 5. まとめ まとめ • SAP アプリケーションは、2階層と3階層とを織り交ぜて 運用する事で、(1)スケーラビリティ、(2)ユーザービリティ、 (3)管理性、全ての面で最高の ROI を実現する ERP へと 変貌する – 3階層を実現するためのテクノロジーとしての ASP .NET と .NET Connector • SAP アプリケーションへの 3階層アーキテクチャの組込は ポータルの構築にも直結し、これまでの PULL 型オンリーの 弊害をカバーする、PUSH 型のメッセージングを新たに提供 – ポータルインターフェースを実現するためのテクノロジーとしての SharePoint Portal Server Go to MS/SAP Solution Site !! http://www.microsoft.com/japan/business/sap/default.mspx 6.最後に .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