NET は - Microsoft

Download Report

Transcript NET は - Microsoft

.NET による業務システムの構築メリット
Microsoft
APR,12,2005
アジェンダ





はじめに
アプリケーション開発基盤として必要な要件
業務システム を実現する SAP 連携 .NET テクノロジー
.NET による 業務システムの構築事例
まとめ
はじめに
アプリケーション・プラットフォームの現状

企業システムを支えるアプリケーション・プラットフォーム
– .NET : Microsoft
– J2EE : IBM WebSphere, BEA Weblogic

.NET, J2EE のどちらのアーキテクチャを採用すべきか?
.NET
J2EE
アプリケーション開発基盤として必要な要件
アプリケーション開発基盤の検討要素
開発生産性と
接続性
開発コストと
将来性
メンテナンス
効率
パフォーマンスと
スケーラビリティ
アプリケーション
開発基盤の要件
信頼性
アプリケーション開発基盤の検討要素
開発コストと将来性(開発者人口)

.NET と J2EE を比較する (米国における開発者人口の逆転)
Source: US DevTracker
アプリケーション開発基盤の検討要素
開発生産性
J2EE
スキルの伴った開発者の不足
- Servlet,JSP,EJB,JNDI,JDBC,RMI,Java Bean
など非常に多くのAPIを理解する必要がある
開発コスト、メンテナンス性、資産の流用性の懸念
- J2EE フレームワークの複雑化と独自拡張によるブラック・ボックス化
開発ツールが、全体最適化されにくい事情
- 各社独自の性能をアピールの結果、ユーザーの開発ツール選択が複雑化
.NET
エンタープライズシステムに必要な諸要素をあらかじめ組
み込んだ.NET Frameworkを用意しており、オールインワ
ンで、全ての機能をビジュアル開発環境とともに提供し、
技術習得が容易
オープン系システムに付きものの複雑さから解放される。
アプリケーション開発基盤の検討要素
開発生産性

Visual Studio .NET 2003/2005 統合開発環境
– .NETの様々な形態のアプリをコーディングから、テスト、配布用アプリまで開発
の下流工程全てをサポート
– フレームワーク部分に属するプログラムコードを自動生成するので、開発者は
業務ロジックのみに集中してコーディング可能
•マルチスクリーン
•追従型ヘルプ
•インテリセンス
•進む/戻る機能
•コードの折りたたみ
・
・
アプリケーション開発基盤の検討要素
開発生産性

全ての開発環境をオールイン・ワンで提供
– 複数言語対応,Office,スマートデバイス,データベースプログラム

開発に必要な機能をあらかじめテンプレート化
アプリケーション開発基盤の検討要素
開発生産性

様々なインテリジェンス機能による開発効率向上をサポート
–
–
–
–
自動補完
構文通知
自動メンバ表示
ダイアログからの選択
自動補完
構文通知(オーバーロード対応)
自動メンバ表示
ダイアログからの選択
アプリケーション開発基盤の検討要素
開発生産性( Pet shop Case Study )

Sun のJ2EEサンプル「Pet Store」を .NETに移植
–
–
J2EE
.NET
http://java.sun.com/j2ee/blueprints
http://www.gotdotnet.com/compare
15500
14,273
14000
Lines of Code Required
.NET Pet shop
Java Pet store
11500
9000
7500
5,891
5,404
4,410
5000
2,865
2500
2,566
710
Total
User Interface
Middle Tier
761
412
Data Tier
74
Configuration
アプリケーション開発基盤の検討要素
接続性

.NET の豊富なコネクティビティ
– SAP とのコネクティビティ
• SAP .NET Connector
– Non-SAP とのコネクティビティ
• 充実した OLEDB/ODBC ADO.NETプロバイダ
- Oracle, SQL Server, DB2/UDB, LDAP, ISAM, Access など、
• XML, Biztalk Server, MSMQ
アプリケーション開発基盤の検討要素
メンテナンス効率

アプリケーションのバージョンアップへのニーズ
–
–
–
–

お客様にはできるだけ新バージョンのソフトウェアを使ってほしい
下位互換性のテストまでしたくない
新バージョンを入れた結果、既存アプリケーションが動かなくなるのでは?
新バージョンに問題がある場合、簡単に以前のバージョンに戻したい
サイド バイ サイド テクノロジー
– 厳密なバージョン管理により複数の共有DLLを共存させるため、
DLL・HELL が解消される
従来のWindowsのシステム
旧A.DLL
.NET Frameworkのシステム
上書き
新A.dllは、旧A.dllに
上書きされる。
↓
不意の書き換えによ
り動作不正がおこる
新A.DLL
×
旧A.DLL
を要求
旧A.DLL
○
新A.DLL
を要求
新旧どちらでも正しく
動作する。
○
旧A.DLL
を要求
新A.DLL
○
新A.DLL
を要求
アプリケーション開発基盤の検討要素
メンテナンス効率

.NET Frameworkの互換性
– .Net FrameworkそのものがSide-by-Side
.NET Framework 2.0で
作成されたアセンブリ
.NET Framework 1.1で
作成されたアセンブリ
.NET Framework 1.0で
作成されたアセンブリ
アセンブリ自身
がどのフレーム
ワークで動作
すればよいか
判断する
異バージョン
の指定も可能
.NET Framework 2.0
.NET Framework 1.1
.NET Framework 1.0
ひとつの筐体の
中で複数のバ
ージョンの
Frameworkが存
在可能
アプリケーション開発基盤の検討要素
メンテナンス効率

64bitマネージドコードアプリケーション開発
–
–
–
Visual Studio 2005 でサポート
純粋な.NETアプリケーションは
リコンパイルの必要も無く動作する
プロセッサのアーキテクチャに依存しない
•
•
開発機
(32-bit Windows)
コード作成
単体テスト
X86⇔IPF⇔AMD64
プラットホームに特化したオプションを
つけることも可能
リコンパイルは
必須ではない
ソースコード
IPF
コンパイル
Visual Studio 2005
(64-bit)
2.0
MSIL
JITコンパイル
X64
(64-bit)
X86
(32-bit)
結合テスト機
(64-bit Windows)
結合テスト
デバッグ
実行可能
ファイル
アプリケーション開発基盤の検討要素
パフォーマンスとスケーラビリティ

PC Magazine Nile Test
–
–
2800
2400
Nile アプリケーションのベンチマーク テスト
Web アプリ開発テクノロジの総合的パフォーマンス ベンチマーク
2 CPU (左)
Pages Served per Second(1秒間に配信するページ数)
4 CPU (中)
8 CPU (右)
8-CPU Compaq ProLiant 8500 Application Server
8-CPU Compaq ProLiant 8500 Database Server
1989
2000
1600
1200
800
400
2781
Microsoft
ASP
(VBScript)
SQL Server 2000
748
637
330
RH Linux 7.0
WebSphere 3.5
JSP
Oracle 8i
789
603
370
Microsoft
ASP .NET
(C#)
SQL Server 2000
1154
アプリケーション開発基盤の検討要素
信頼性
Windows 2000 Serverと比較して64%ダウンタイムを削減
可用性を実現するアーキテクチャ
Windows 2000 Serverでのリブート要因(上段)と
Windows Server 2003における機能強化(下段)
計画的なリブート: 76%
OSのアップグレード/
SP/ホットフィックス: 37%
OS & ドライバ/アダプタ
の障害: 9%
QFE の一括適用
Windows
Security Push
アプリケーションの
導入 / メンテナンス: 13%
サイドバイサイド
インストール
アイドル時にシェル
アンロード可能に
計画外のリブート: 24%
Driver verifier +ドライバのロール
バック
76%
OSの構成変更: 12%
アプリケーションの障害: 6%
24%
COM+ アプリケーションの
リサイクリング
WSRM
システム コンポーネント
の障害: 5%
IIS 6 プロセス リサイクリング
リブート回数の減少
ハードウェアの
インストール/構成: 7%
ホットプラグ PCI, 稼動中のメモリ追加
その他: 予期しないリブート:
4%
シャットダウン イベント
トラッカー (SET)
SET System State Data
アプリケーション開発基盤の検討要素
信頼性

.NET プラットフォームのセキュリティ
– 動的、且つ詳細なセキュリティシステムに拡張
• コード・アクセス・セキュリティ
– 信頼できる配布元についてはファイルへのアクセスを許可する一方、信頼でき
ない配布元からのアクセスを拒否
• ロールベース・セキュリティ
– あるユーザは、.NET アプリが低レベルの機能にアクセスできる一方で、別のユ
ーザについては、アセンブリからのアクセスを拒否

Windows Server 2003 SP1
– Windows Server 2003 更新プログラム
– XP SP2 セキュリティ強化機能の反映
– Post-Setup Security Updates
– Security Configuration Wizard
– リモートアクセス検疫機能
アプリケーション開発基盤の検討要素
信頼性

ガーベージ・コレクション
– プログラムが使用しなくなったメモリ領域や、プログラム間の隙間のメモ
リ領域を集めて、連続した利用可能なメモリ領域を増やす行為を実施
従来のWindowsアプリケーションのメモリ管理
.NET Framework環境でのメモリ管理
オブジェクトの消去
し忘れで使われない
メモリ領域が残る
アプリケーションからの
ヒープ領域への参照状
態を監視
オブジェクトを消去し
てメモリ領域を開放
アプリケーション
開
放
済
み
メ
モ
リ
・
リ
ー
ク
使
用
中
未
割
り
当
て
アプリケーション
開
放
済
み
開
放
済
み
.NET Framework
Windows
Windows
使
用
中
未
割
り
当
て
参照されない
領域を発見す
ると開放する
アプリケーション開発基盤の検討要素
信頼性
プロセスリカバリ_メモリリーク

可用性の向上 (Webサーバー)
– IIS 6.0 新しいアーキテクチャ
– カーネル モード キャッシュによる高速な応答
– アプリケーションの稼動状況を常に監視
プロセスリカバリ_メモリ保護違反
業務システム を実現する SAP 連携
.NET テクノロジー
.NET によるハブ & スポークと SOA モデル
顧
シ 客情
ス
テ 報
ム
発
注
管
理
Se
rv
ic
e
利
用
者
在
庫
Hu
b
管
理
そ
の
他

システムの柔軟性向上
– 業務要件の変更に即時に対応可能
– 呼び出し順序・分岐処理・ループ処理などの
ロジックは、全てサービスハブに任せる。
サ 利用
ー
ビ
ス
.NET が提供する SAP 拡張ソリューション(1)
SAP GUI
クライアント
Portal
ABAP/
BAPI
Webサービス
ABAP/
BAPI
.netコネクタ
様々なDB
ファイル
中間DB
Web & Windows フォーム
EAIエンジン
IDoc
PDA&Smart Phone
その他
システム
クライアント
Web&アプリサーバ
SAP アプリサーバ
.NET が提供する SAP 拡張ソリューション(2)
カーネルが 6.2 以降で、SAP WebAS の機能を利用して XML
Web サービスを構築可能。HTTPベースで通信できるため、
FWに新たなポートを開く必要がない。
プロキシ・クラスで
XML Web サービス利用
(HTTP/HTTPS)
その他
システム
Web & Windows フォーム
Webサービス
の実装
PDA&Smart Phone
クライアント
Webサービス
の実装
ABAPプログラムの汎用モジュールを
プロキシコンポーネントとして利用
(RFC)
カーネル6.2未満の場合、あるいは、6.2以降でも、SAP 側で開発を行い
たくない、その他システムとの連携、新たな BU を容易に追加したい、
IIS6.0 のパフォーマンスの観点から選択するケースもある。
ABAP/
BAPI
SAP アプリサーバ
幅拾い選択肢と配布ソリューションの提供

Web アプリケーションのメリット
– アプリケーション配布が容易
– アプリケーション実行クライアントへのトラブルが少ない
– 緩やかな動作条件の制限

Web アプリケーションの問題
–
–
–
–
–
–
–

メニューやボタンの機能をカスタマイズできない
ドラッグ & ドロップ などの操作ができない
入力データを反映させるためにページのリフレッシュが必要
オンライン環境が必須
ブラウザのバージョンの問題
サーバやネットワーク・リソースの問題
パフォーマンスの問題
Office
Web Form
Windows
Form
System
.NET のメリット
– Web ではできない 機能を Windows Form によって実現できる。
– 業務システムのインターフェースとして、使い慣れた Office System を利用できる。
– Click Once
– ノータッチ・デプロイメント
アプリケーション配布・更新 機能
Click Once デプロイメント

利便性の向上
–
Web サイト上のリンクからインストール
• .NET Framework のインストールも同時に可能
–
–

アプリケーションの更新をアプリケーション自身が検知し、自動的に適用
オンラインまたはオフラインで実行可能
管理の容易性
–
–
–
クライアント アプリケーションの集中管理
インストール用の Web サイトは Visual Studio が自動的に生成
ロールバックが可能
発行
インストール
更新
アプリケーション配布・更新 機能
ノータッチ・デプロイメント
クライアント
サーバー
①exe のURLを指定
一
回
目
利用者
②HTTP 要求を送信
③アセンブリを送信
④ダウンロードキャッシュに保存
⑤ダウンロードキャッシュの exe を起動
⑥exeのURLを指定
二
回
目
⑦If-Modified-Since を付けて
HTTP 要求を送信
⑧304 Not Modified
⑧ダウンロードキャッシュの exe を起動

厳密なセキュリティに基づいて実行されるため、ゾーンでそのアプリケーションの
振舞うことのできる制限がことなる
– インターネットの場合は、原則、Webアプリを採用
– イントラネットの場合で、入力系が中心の場合は、ノータッチデプロイメントを検討
Office System InfoPath 2003

XML ベースのテンプレート作成ツール
– コーディングすることなく、リッチでダイナミックなフォームを作成

InfoPathで実現
– 容易な入力と効率化かつ正確な情報収集

利用用途
– 業務アプリケーションのフロントとして
• 人事システム、在庫管理、資産管理、勤怠管理,etc
– チームの情報共有のフロントとして
• 業務報告書、アンケート、議事録管理、案件履歴,etc
InfoPath 2003 のご紹介

経費明細書による
– InfoPath のインターフェースの特徴
– InfoPath のXML連携
SAP & Office/.NET 連携

SAP の顧客情報を照会する為の
– (1)Web アプリケーション、
– (2)InfoPath フォーム、
– (3)モバイル Web アプリを開発
•
SAP汎用モジュール:RFC_CUSTOMER_GET
Visual Studio
.NET 2003
実行環境
(クライアント)
開発環境
HTTP(S)
(SOAP)
Web ブラウザ
実行環境
(クライアント)
SAPサーバ
RFC_CUSTOMER_GET
HTTP(S)
SAP
RFC
BAPI,
RFC
Office 2003
(InfoPath2003)
実行環境
HTTP(S)
(mobile
(cHTML)
クライアント)
NTT ドコモ
i-mode シミュレータ
ASP .NET Webアプリケー
ション/Web サービスサーバ
MiniSAP
(WebAS6.2)
SAP画面
Infopath画面
SAP画面
Infopath画面
.NET による 業務システムの構築事例
事例紹介1 :美和電気工業株式会社 様

新しい営業管理システムを .NET で実現
【導入背景】
–
–
業務パッケージで構成されていた旧システムは、計画系の機能がない受発注管理
のみが可能で、「ビジネスの正確な状況を、時系列にそってリアルタイムに把握する
には難がありました」
パッケージ製品の常として、機能のカスタマイズをすることが困難
【導入成果】
–
–
–
それまで使用していた業務パッケージを廃止し、自社開発の Web アプリケーション
システムに刷新
わずか 9 か月で開発を完了
原価管理システムも、同じ方式で開発する計画
【プロファイル】
–
北海道と東北地域の 20 か所の拠点ネットワークを通じて、計測機器などの機器の
販売とエンジニアリング、メンテナンスを行っている企業
http://www.microsoft.com/japan/showcase/miwadenki.mspx
事例紹介2 :株式会社クボタ 様

大型コンピュータによる人事情報管理、給与計算処理のう
ち、給与計算処理を除く部分を、.NET と IA サーバーで、ダ
ウンサイジング
【導入成果】
– 年間約 1 億円に上る管理、運用コストを削減することに成功
– 本社機能のスリム化や将来的な人事制度改革にシステムが柔軟
に対応
【プロファイル】
– 機械やパイプシステム、環境エ
ンジニアリング、住宅機材、素形
材など、さまざまな分野に事業を
拡張し、1 万 3000 人を超える
従業員からなる関西の老舗企業
http://www.microsoft.com/japan/showcase/kubota.mspx
Web アプリケーションとして
実現されたインターフェイス
事例紹介3 :オリンパス株式会社 様

試作品製作の依頼、見積、データ管理等をシステム化するこ
とで開発リードタイムの短縮を図る
【システム構築への要件 】
•
•
•
•
•
限られたリソース、知識で品質の高いシステムが短期に構築できること
拡張性、柔軟性の面から将来にわたって投資保護ができること
多様なクライアントアプリケーション利用面でレバレッジが図れること
バックエンドシステムやポータルとの親和性があること
低い投資で高い効果を実現できるプラットフォームであること
【導入成果】
• Visual Studio .NET の開発効率の高さにより
限られたリソースで短期間に高品質のシステムを開発
• .NET の高い開発生産性により、3ヶ月で構築
http://www.microsoft.com/japan/showcase/olympus2.mspx
試作管理システムの利用画面
まとめ ・・・Cool Down
まとめ
Point 1
.NET は開発生産性が高く、業務シ
ステムに求められるその他の要件
も満たしている!!
Point 2
.NET は、将来性があり、エンジニ
アとアプリケーション資産の投資
に対する流用度が高い!!
Point 3
.NET は、クライアントアプリケーシ
ョンと、SAP テクノロジーに対し、
高い親和性がある!!
Point 4
.NET は、多くの業務アプリケーショ
ンで、既に導入されている実績の
あるテクノロジーである!!
まとめ
.NET は、業務アプリケーションの基盤として
多くのアドバンテージがあります。
.NET は、SAP 拡張ソリューションを提供して
おり、SAP ABAP アドオン開発見直しのテク
ノロジーとして有効です。
ぜひご活用ください。
Thanks For Attending !
© 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.