39
株式会社 野村総合研究所 情報技術本部 オープンソースソリューションセンター(OSSC) Mail : [email protected] Web: http://openstandia.jp/ オープンソースカンファレンス2008 Nagoya Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日 野村総合研究所 情報技術本部 オープンソースソリューションセンター 松野 洋希

Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

株式会社野村総合研究所情報技術本部 オープンソースソリューションセンター(OSSC)

Mail : [email protected] Web: http://openstandia.jp/

オープンソースカンファレンス2008 Nagoya

Struts, Springを活用した業務システム構築事例と成功のポイント

2008年8月9日

野村総合研究所 情報技術本部

オープンソースソリューションセンター

松野 洋希

Page 2: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

1NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

自己紹介と会場アンケート

Page 3: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

2NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

(事例の前に)

オープンソースの動向

Page 4: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

3NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

オープンソースソフトウェアの

おさらい

Page 5: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

4NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

Struts

MVC型Webアプリケーションフレームワーク

RequestProcessor

HTTP

JSP

Taglib

ActionForm

Action

Webアプリケーションコンテナ

Struts

struts-config.xml

Page 6: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

5NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

SpringFramework

SpringFramework

軽量DIコンテナ

Java

Web F/W連携

Java

Injection

ORM連携トランザクション AOP

メッセージングJMX

Page 7: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

6NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

Hibernate

Hibernate

O/Rマッピングフレームワーク

Java

キャッシュ

DB

hbm.xml

AOP

save insert

Page 8: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

7NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

導入事例1:

不動産情報提供サイト

Page 9: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

8NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

不動産情報提供サイト

プロジェクトの概要

•不動産情報を提供するインターネットサイト•50万ページビュー/日開発体制

•ピーク時は100人体制での開発オープンソースの採用

•初期コスト 数千万円 → 0円•保守コスト 数百万円/年 → 約半額

Page 10: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

9NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

ソフトウェア構成

UnixJBossAS

Struts EJB (SFSB)独自FW

アプリケーション

Oracle

WebAPサーバ DBサーバ

Page 11: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

10NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント

・・・その前に

Page 12: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

11NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

プロジェクトにおける標準化

目的

•ユーザから見た操作感の統一•品質の均質化対象範囲

•画面デザイン (フォーマット、色、文言、・・・)•アプリケーションの構成•開発方法 (開発環境、プログラム、・・・)•ネーミングルール、コーディングルール•共通部品

Page 13: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

12NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

プロジェクト体制

アプリケーションチーム

基盤チーム

アプリケーション基盤チーム

アプリケーションの開発APL共通部品設計書標準化

開発プロセス標準化アプリケーション方式(認証、文字コード、メッセージング・・・)

基盤設計・構築環境設計運用設計性能テスト、障害テスト

Page 14: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

13NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント1:プロジェクトの問題点

問題点

•COBOLに慣れた開発者が多く、Java開発に慣れていない

Page 15: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

14NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント1:アプリケーションアーキテクチャ

トランザクションスクリプトモデル

•手続き型処理独自FWによるEJB呼び出し処理の隠蔽

Action(独自FW)

EJB(独自FW) BL

BL

・・・

JSP

Page 16: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

15NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント2:プロジェクトの要望

アプリケーションチームからの要望

•画面のインタフェースを統一したい•機能で分割したチーム分けにしたい

PL

PL

PL

BL

BL

BL

チーム

Page 17: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

16NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント2:タイルシステムの採用

Strutsのタイルシステムを利用

ヘッダ ユーザ情報

ナビゲーション

メイン

フッタ

メニュー

ニュース

リンク集

お勧め物件

Page 18: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

17NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント2:定義ファイルの分割

定義ファイルを分割

ソース管理で競合を避ける

PL

PL

PL

BL

BL

BL

XML

XML

XML

XML

XML

XML

Page 19: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

18NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント2:機能テストの導入

PL+BLを一気にテスト

•画面単体テスト、Java単体テストを省略•工数削減モックを利用することで開発端末でも実施可能

PL BLCSV

JUnit

モックデータ

Page 20: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

19NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

チームビルディング

情報共有に重点

•メーリングリストは全員参加— 話題で宛先を変える (開発者、チーム別、・・・)

— コミットメール

— 課題システムメール (登録、割当、差戻、・・・)

•Wiki導入— 開発ガイドライン

— ページビューをあげる仕組み(俗語辞典、人物列伝、・・・)

Page 21: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

20NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

導入事例2:

ASPオンライントレードサイト

Page 22: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

21NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

ASPオンライントレードサイト

プロジェクトの概要

•証券会社のオンライントレードサイトをASPサービスとして提供

•最大 100ページビュー/秒開発体制

•日本+中国3拠点 分散開発オープンソースの採用

•自社ASPなのでコストを下げたい•サーバの増減を気軽に

Page 23: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

22NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

ソフトウェア構成

LinuxJBossAS

Struts Spring独自FW

アプリケーション

OracleHibernate

WebAPサーバ DBサーバ

Page 24: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

23NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント1:プロジェクトの問題点

問題点

•日本+中国3拠点の分散開発

Page 25: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

24NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント1:アプリケーションアーキテクチャ

インタフェース指向

•インタフェース配布により結合時の不整合発生を低減

•SpringFrameworkの利点

Action

JSP

Peer Function

Function

Function

DAO

DAO

DAO

Page 26: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

25NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント1:アプリケーションアーキテクチャ

単体テスト

•モックを利用することで拠点内でテストを実施•SpringFrameworkの利点

Action

JSP

Peerモック

Function DAOモック

Functionモック

Page 27: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

26NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化のポイント1:アプリケーションアーキテクチャ

連結テスト

•拠点内で疎通レベルの連結テストを実施•Javaの利点 (run anywhare)•OracleXE の利用

WindowsJBossAS

Struts Spring独自FW

アプリケーション

OracleXEHibernate

Page 28: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

27NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

Hibernate

標準化のポイント2:プロジェクトの要望

基盤チームからの問い合わせ

•Hibernateって性能出ないんじゃない?

Java DirtyCheckDB

hbm.xml

flushDirtyCheckDirtyCheck

Page 29: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

28NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

Hibernate

標準化のポイント2:Hibernateの利用方法

Hibernateを改修

コーディングルールを追加

JavaDB

hbm.xml

flush

DirtyCheck

flag

Page 30: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

29NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

Hibernate

標準化のポイント3:プロジェクトの要望

アプリケーションチームからの問い合わせ

•デッドロックが心配なんだけど・・・

JavaDB

hbm.xml

DeadLockDetected

Page 31: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

30NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

Aサブシステム

標準化のポイント3:Hibernateの利用方法

コーディングルールを追加

•ロックの順序を定義→ サブシステムの呼び出し順序を定義

DBBサブシステム

Nサブシステム・・・

Page 32: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

31NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

反省点

Page 33: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

32NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化の反省点:Hibernateは難しい?

Javaオブジェクトをテーブルにマッピングする

オブジェクトモデリングがちゃんとできないとダメ

Hibernate

JavaDB

Java

Java

Page 34: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

33NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

標準化の反省点:Hibernateの結果・・・

1リクエストでSQLが数多く発行される

•→ Hibernateのキャッシュを生かしていないJOINなどによる複雑化、性能劣化

•→ ビューの多用

Hibernate

JavaDB

Java

Java

Page 35: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

34NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

オープンソース・ワンストップサービス

OpenStandiaのご紹介

Page 36: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

35NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

OpenStandiaのサービス体系

救急サービス

オープンソースドックサービス

アプリ開発支援サービス

OSS基盤構築サービス

性能検証サービス

新規システム/再構築をお考えのお客様

パラメータチューニングサービス

すでにオープンソースをご利用のお客様

設計

開発

テスト

運用

OSS導入サポート

根本原因調査・解決

暫定対策障害復旧

フォロー再発防止

オープンソース年間サポート(定期メンテナンスサービス)

オープンソース・ワンストップサービス OpenStandia

設計・構築から、保守・運用フェーズまで、ワンストップでサポート

Page 37: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

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」の略です。

Page 38: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

37NRIオープンソースソリューションセンター Copyright©2008 Nomura Research Institute, Ltd. All rights reserved.

まとめ

Page 39: Struts, Springを活用した 業務システム構築事例と …...2008/08/15  · Struts, Springを活用した 業務システム構築事例と 成功のポイント 2008年8月9日

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/