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