Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
株式会社野村総合研究所情報技術本部 オープンソースソリューションセンター(OSSC)
Mail : [email protected] Web: http://openstandia.jp/
オープンソースカンファレンス2008 Nagoya
Struts, Springを活用した業務システム構築事例と成功のポイント
2008年8月9日
野村総合研究所 情報技術本部
オープンソースソリューションセンター
松野 洋希
1NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
自己紹介と会場アンケート
2NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
(事例の前に)
オープンソースの動向
3NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
オープンソースソフトウェアの
おさらい
4NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
Struts
MVC型Webアプリケーションフレームワーク
RequestProcessor
HTTP
JSP
Taglib
ActionForm
Action
Webアプリケーションコンテナ
Struts
struts-config.xml
5NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
SpringFramework
SpringFramework
軽量DIコンテナ
Java
Web F/W連携
Java
Injection
ORM連携トランザクション AOP
メッセージングJMX
6NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
Hibernate
Hibernate
O/Rマッピングフレームワーク
Java
キャッシュ
DB
hbm.xml
AOP
save insert
7NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
導入事例1:
不動産情報提供サイト
8NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
不動産情報提供サイト
プロジェクトの概要
•不動産情報を提供するインターネットサイト•50万ページビュー/日開発体制
•ピーク時は100人体制での開発オープンソースの採用
•初期コスト 数千万円 → 0円•保守コスト 数百万円/年 → 約半額
9NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
ソフトウェア構成
UnixJBossAS
Struts EJB (SFSB)独自FW
アプリケーション
Oracle
WebAPサーバ DBサーバ
10NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント
・・・その前に
11NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
プロジェクトにおける標準化
目的
•ユーザから見た操作感の統一•品質の均質化対象範囲
•画面デザイン (フォーマット、色、文言、・・・)•アプリケーションの構成•開発方法 (開発環境、プログラム、・・・)•ネーミングルール、コーディングルール•共通部品
12NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
プロジェクト体制
アプリケーションチーム
基盤チーム
アプリケーション基盤チーム
アプリケーションの開発APL共通部品設計書標準化
開発プロセス標準化アプリケーション方式(認証、文字コード、メッセージング・・・)
基盤設計・構築環境設計運用設計性能テスト、障害テスト
13NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント1:プロジェクトの問題点
問題点
•COBOLに慣れた開発者が多く、Java開発に慣れていない
14NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント1:アプリケーションアーキテクチャ
トランザクションスクリプトモデル
•手続き型処理独自FWによるEJB呼び出し処理の隠蔽
Action(独自FW)
EJB(独自FW) BL
BL
・・・
JSP
15NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント2:プロジェクトの要望
アプリケーションチームからの要望
•画面のインタフェースを統一したい•機能で分割したチーム分けにしたい
PL
PL
PL
BL
BL
BL
チーム
16NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント2:タイルシステムの採用
Strutsのタイルシステムを利用
ヘッダ ユーザ情報
ナビゲーション
メイン
フッタ
メニュー
ニュース
リンク集
お勧め物件
17NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント2:定義ファイルの分割
定義ファイルを分割
ソース管理で競合を避ける
PL
PL
PL
BL
BL
BL
XML
XML
XML
XML
XML
XML
18NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント2:機能テストの導入
PL+BLを一気にテスト
•画面単体テスト、Java単体テストを省略•工数削減モックを利用することで開発端末でも実施可能
PL BLCSV
JUnit
モックデータ
19NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
チームビルディング
情報共有に重点
•メーリングリストは全員参加— 話題で宛先を変える (開発者、チーム別、・・・)
— コミットメール
— 課題システムメール (登録、割当、差戻、・・・)
•Wiki導入— 開発ガイドライン
— ページビューをあげる仕組み(俗語辞典、人物列伝、・・・)
20NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
導入事例2:
ASPオンライントレードサイト
21NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
ASPオンライントレードサイト
プロジェクトの概要
•証券会社のオンライントレードサイトをASPサービスとして提供
•最大 100ページビュー/秒開発体制
•日本+中国3拠点 分散開発オープンソースの採用
•自社ASPなのでコストを下げたい•サーバの増減を気軽に
22NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
ソフトウェア構成
LinuxJBossAS
Struts Spring独自FW
アプリケーション
OracleHibernate
WebAPサーバ DBサーバ
23NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント1:プロジェクトの問題点
問題点
•日本+中国3拠点の分散開発
24NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント1:アプリケーションアーキテクチャ
インタフェース指向
•インタフェース配布により結合時の不整合発生を低減
•SpringFrameworkの利点
Action
JSP
Peer Function
Function
Function
DAO
DAO
DAO
25NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント1:アプリケーションアーキテクチャ
単体テスト
•モックを利用することで拠点内でテストを実施•SpringFrameworkの利点
Action
JSP
Peerモック
Function DAOモック
Functionモック
26NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化のポイント1:アプリケーションアーキテクチャ
連結テスト
•拠点内で疎通レベルの連結テストを実施•Javaの利点 (run anywhare)•OracleXE の利用
WindowsJBossAS
Struts Spring独自FW
アプリケーション
OracleXEHibernate
27NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
Hibernate
標準化のポイント2:プロジェクトの要望
基盤チームからの問い合わせ
•Hibernateって性能出ないんじゃない?
Java DirtyCheckDB
hbm.xml
flushDirtyCheckDirtyCheck
28NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
Hibernate
標準化のポイント2:Hibernateの利用方法
Hibernateを改修
コーディングルールを追加
JavaDB
hbm.xml
flush
DirtyCheck
flag
29NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
Hibernate
標準化のポイント3:プロジェクトの要望
アプリケーションチームからの問い合わせ
•デッドロックが心配なんだけど・・・
JavaDB
hbm.xml
DeadLockDetected
30NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
Aサブシステム
標準化のポイント3:Hibernateの利用方法
コーディングルールを追加
•ロックの順序を定義→ サブシステムの呼び出し順序を定義
DBBサブシステム
Nサブシステム・・・
31NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
反省点
32NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化の反省点:Hibernateは難しい?
Javaオブジェクトをテーブルにマッピングする
オブジェクトモデリングがちゃんとできないとダメ
Hibernate
JavaDB
Java
Java
33NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
標準化の反省点:Hibernateの結果・・・
1リクエストでSQLが数多く発行される
•→ Hibernateのキャッシュを生かしていないJOINなどによる複雑化、性能劣化
•→ ビューの多用
Hibernate
JavaDB
Java
Java
34NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
オープンソース・ワンストップサービス
OpenStandiaのご紹介
35NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
OpenStandiaのサービス体系
救急サービス
オープンソースドックサービス
アプリ開発支援サービス
OSS基盤構築サービス
性能検証サービス
新規システム/再構築をお考えのお客様
パラメータチューニングサービス
すでにオープンソースをご利用のお客様
設計
開発
テスト
運用
OSS導入サポート
根本原因調査・解決
暫定対策障害復旧
フォロー再発防止
オープンソース年間サポート(定期メンテナンスサービス)
オープンソース・ワンストップサービス OpenStandia
設計・構築から、保守・運用フェーズまで、ワンストップでサポート
36NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
OpenStandiaのサポート対象オープンソース
■CentOS ■Fedora Core ■Debian
■FreeBSD ■RedHat Enterprise Linux ■その他Linux
■MySQL ■PostgreSQL
■Apache ■Squid ■PHP
■Perl ■Ruby on Rails
■Apache Tomcat ■Apache Geronimo/WAS CE※ ■iBATIS■JBoss AS(EAP) ■JBoss ESB ■JBoss jBPM■JBoss Cluster ■JBoss Seam ■Struts■Spring ■Hibernate ■Seasar2■Apache Axis
■Samba ■OpenLDAP ■BIND■sendmail ■postfix ■Dovecot■CVS ■Subversion ■Heartbeat
■Eclipse BIRT ■JasperReports ■osCommerce■OpenOLAP ■SugarCRM ■Liferay
OS
Java系
ネット、インフラ系
アプリ系
Web、スクリプト系
データベース
40種類以上のオープンソースを、ワンストップでサポート
※WAS CEは「WebSphere Application Server Community Edition」の略です。
37NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
まとめ
38NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.
お問い合わせは、NRIオープンソースソリューションセンターへMail : [email protected]: http://openstandia.jp/