.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
ダウンロード

3階層化 - Microsoft