VB6ソースを利用したJava/Seasar2による SaaS/クラウド型システムの実現


最新情報

2009年10月5日
本ページでご紹介する内容の詳細資料をダウンロードできます。
ダウンロードはこちらから→ファイル名:vb2java_seasar2.pdfpdficon_small.gif
 ※要Adobe Reader

2009年9月15日

去る9月12日に開催されましたSeasar Conference 2009 Autumn にて
弊社訪問看護システムのWeb移行プロジェクトを開発事例として発表致しました。
発表資料はこちらをご参照ください。

■はじめに

過去にVisualBasic(以下VB)を用いて開発されたシステムにとって、マイクロソフト社による
サポート期限の問題、及びVista、Windows7など後発OSへの対応可否など、幾多の問題を抱えている
のが現状です。また、同じWindows プラットフォームであるVB.NETへの移行を行う場合においても、
言語仕様や実行環境の相違により、実際のシステム移行作業は容易ではありません。

本プロジェクトは、オープンソース・ソフトウェア(OSS)を中心としたシステム開発により、低コスト
でWebアプリケーションシステムの構築が可能である点に着目し、過去にVBで開発されたプログラム資産を、
効率的にJavaのフレームワークを用いたWebシステムへ移行する手法を開発することを目的としています。

■開発概要

本プロジェクトの対象となっている移行元と移行先のシステムは以下のものになっています。

【移行元旧システム】
言語
VB5、VB6
OS
VB5またはVB6の動作がサポートされているWindowsOS
データベース
ランダムファイル(テキストファイル)、Excel、Access
帳票
Windowsデバイスコンテキストを利用し描画印刷する帳票、Crystal Reports、Excel


【移行先新システム】
OS
Linux系、Windows
データベース
PostgreSQL
プラットフォーム
Apache、Tomcat、S2Container、SAStruts、S2JDBC
帳票
PDF、Excel及び
MS-Office互換ソフト(OpenOffice、StarSuite等)に含まれるExcel互換ソフト



■Seasar2の導入

JavaによるWebアプリケーションの開発においては、膨大な数の設定ファイルの編集やサーバの再起動
などにより、開発作業が煩雑になることがあります。そこで、本プロジェクトでは、オープンソースプロ
ジェクトであるSeasarプロジェクトが提供するSeasar2のプロダクト(S2Container、SAStruts、S2JDBC)を
導入することにより、VB6で開発されたソースをベースとして、必要最低限のコードを追加・修正することで、
スクラッチから新規で開発する場合と比べて、格段に少ない手間でのWebアプリケーションの開発を実現します。

Seasar2(S2Container)とは、Javaで提供される既存のフレームワーク上で動作するサブ・フレームワークであり、
Web画面の開発やデータベースにアクセスするプログラムの開発を円滑に進めるための支援を行います。




■弊社におけるVB→Java移行の試作開発について

本プロジェクトの一環として、弊社が過去にVB6にて開発を行った訪問看護ステーション向けのシステム
をベースとして、Java+SAStruts・S2JDBCを用いたプロトタイプの開発を進めています。このプロトタイプ開発
には、2名のエンジニアが携わり、両名ともエンジニアとしての開発業務未経験のメンバー(1名はSun認定のJava有資格者)
です。開発立ち上げから工程の初期段階においては、Webシステム開発に深い経験を有するメンバーの助力は
必要でしたが、その後は前出2名のみで開発を進めることができました。したがって、本プロジェクトで考案
された手法によるSessar2のプロダクトを用いたJavaへの移行開発には、必ずしも高い開発スキルを必要として
いません。
また、現行の訪問看護ステーションシステムでは、VBのAPIによって描画印字された帳票、及びExcelとCrystal
Reportの3種類の帳票出力を行っていますが、これらのいずれの帳票種類においても、Java上のシステムにてPDF
及びExcelを利用することにより帳票出力を実現しております。




■帳票出力機能のイメージ

・PDF出力
あらかじめ用意された帳票のひな型xmlファイルを用い、データを投入することにより帳票をPDFファイルへ出力する
方式をとっています。また、帳票の選択肢上へ'○'等の印字、'□''△'等の図形描画を実現しています。

・Excel出力
ApacheのPOIライブラリを用いることにより、Java上からExcel形式のファイルへデータを出力する方式をとっています。
また、POIのみでは実現が難しいグラフィック描画等の機能を、VBAマクロの埋め込みにより実現しています。

■訪問看護システムのWebアプリケーションシステム概要





■訪問看護旧システムの規模





<参考>訪問看護システムのWebシステム開発スケジュール