struts, springを活用した 業務システム構築事例と …...2008/08/15  · struts,...

Post on 24-Aug-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Mail : ossc@nri.co.jp 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 : ossc@nri.co.jpWeb: http://openstandia.jp/

top related