討論區: 開発者 (Thread #27072)

プロジェクトの状況について (2010-08-12 09:42 by tenkoro #52447)

新しいメンバーの方も加わって頂きましたので、このスレッドで、openGionのプロジェクトの
現状を説明しながら、今後の方向性を議論していきたいと思います。

(1)開発メンバーについて
 まず、メンバーですが、現状、開発を行っているのは、
 chatrunさんと私(tenkoro)の2人です。

 後、udoneさんには、サーバー(自宅)を提供して頂き、wikiとデモ環境を動かしています。

(2)各種ドキュメント及びデモ環境について
 ドキュメントは、以下の2つのサイトに置いています。
 openGion @ Wiki : http://www.opengion.com/
 openGion @ Website : http://www.opengion.org/

 ドキュメント作成も、chatrunさんと私(tenkoro)の2人で行っています。
 (現状、書き続けているのは、私だけです。。。)

(3)デモ環境
 udoneさんのサーバーで動かしています。

 http://www.opengion.com:8824/gf/jsp/index.jsp
 # PostgreSQLで動いています。
 # 元々、openGion自体はOracleベースだったので、一部動かない画面があります。
 # ⇒ PostgreSQL、MySQL対応もまだ不十分な状態です。

(4)生い立ち
 プロジェクトのトップページにも書いてる通り、元々は社内の基幹システムを構築するために
 作られたものであり、クローズドに開発を行っていました。
 これを昨年8月にOSSとして公開し、現在に至ります。

 基幹システムがターゲットということもあり、標準のデザインはいまいちですが、
 機能的には、単なる画面作成だけでなく、定型帳票発行、DB定義管理、ソースコードチェックなど
 業務システム構築に必要な機能が1通り揃っています。

(4)今後の方向性と現状
 目指すところは、「プロトタイプ開発による最速なシステム開発」実現するためのフレームワークです。

 【構想】
  一般用語で言う内部設計完了後に、即座にプロトタイプとなる、実際に動く画面が作れるようにします。

  このプロトタイプを元に、画面周りのカスタマイズは当然のこと、業務ロジックの実装、その他の周辺の
  機能についても、容易に後から追加・変更ができるようにします。

 。。。と夢は大きいのですが、実装が追いついていません。
 現時点でメインとなる機能ついては、「ソースコードの自動生成」です。
 具体的には、DBの定義情報から、プロトタイプとなる画面のソースコードを自動的に生成する機能です。
 後は、チケットにもあるような諸々の改善です。

(5)その他
 また、私の方では、現在、openGion普及のため、これをベースにした実際に動くアプリケーションの開発に
 従事しています。
 # 広報活動をしているのも、プロジェクト内では、私だけなので。。

 Iacorner ( Webベースのアンケートシステム )
  URL : http://sourceforge.jp/projects/iacorner/

というような状態です。

RE: プロジェクトの状況について (2010-08-17 02:50 by tatsuya-kimura #52525)

参加したてのため、突拍子のない質問をして申し訳ないのですが、
今後、いつまでに何をすればよいか教えていただけますか?
回覆: #52447

RE: プロジェクトの状況について (2010-08-17 23:04 by tenkoro #52546)

項目の残管理と、その対応予定は、基本的にチケットで管理しています。

(1)最も優先度の高い項目 (チケットID:22090)
 現在、最も優先度の高い項目は、「画面自動作成機能の実装」(chatrunさん担当)です。
 具体的には、DBの定義情報からの画面ソースコードの自動作成です。

 DBの定義情報の管理機能は、まだ不十分ながらも実装済みです。
 (DB定義システムについて⇒http://www.opengion.com/102.html)

 また、DB定義情報からリソース情報を作成する機能もあります。
 (リソース定義とは⇒http://www.opengion.com/84.html)

 後は、DB定義情報から、JSP(画面)/Java(業務ロジック)のソースの雛形を作成する機能があれば、プロトタイプとなる画面を作成することができます。

(2)画面自動作成の先
 # これらについては、まだ構想段階のため、まだチケットも登録していません。
 ①システムのプロトタイプの自動作成
   特に大きな機能追加ではないのですが、コンテキストの作成から、DB定義情報の作成、
   リソース、ソースの自動生成までを一連の流れで行えるようにすることで、システムのプロトタイプを
   一気に作成する機能です。

 ②帳票システムのパッケージ化
  openGionの中の面白い機能として、OpenOffice.orgをベースにしたCalc帳票システムがあります。
  (Calc帳票システムについて⇒http://www.opengion.com/100.html
   JavaからOpenOfficeを制御する⇒http://www.opengion.org/article/calcrep/index.php)

  一言で言いますと、Calcで定型帳票の雛形を作成し、その雛形に対して、バッチから、または、画面の検索結果から
  データを埋め込み、印刷/PDF出力/Excel出力を行うための仕組みです。

  現時点では、この機能は、openGionのサブシステムという位置づけで、独立したものではないのですが、
  これをパッケージとして独立させたいと思っています。

  具体的には、画面自動作成の画面を利用して、テーブルと項目を選ぶことで、帳票に埋め込むデータをより直感的に、
  作成、管理するための機能を実装する予定です。

  また、雛形の作成から上記までの一連の流れをウィザード形式で実行させ、エンドユーザー自身が帳票を作成できる
  ところまで持って行きたいと思っています。

(3)その他
 ①バージョンアップ機能 (チケットID:20706)
  openGionでは、これをベースに構築されたシステムを容易に公開し、また利用することができるようにしたいと考えています。
  これには、容易にインストール、バージョンアップできる機能が必須です。

  現時点では、インストール機能は実装しています。
  具体的には、openGion本体及び各システムにおけるビルドプロセスの中で、DBスクリプトや、リソース情報などを自動生成し、
  openGionの初回起動時または、各システムのインストール時に、これらを自動実行する機能です。
  # DBスクリプトの作成には、DB定義システムを利用しています。

  しかし、現状は初回インストール時のみの対応であり、バージョンアップには対応していません。
  バージョンアップを行う場合、JSPなどファイルコピーで済むものは、初回インストール時と変わらないのですが、DBスキーマは、自動更新用の
  対応が必要です。

  バージョンアップ更新を行うためには、
  ①DB定義管理システムにおけるバージョン毎の差分管理
  ②①の情報からalter文の自動生成
  ③②で生成したalter文を所定の位置に配備することで、システム更新時に自動的にそれを実行する仕組み
  が必要です。

  後細かいですが、設定情報(web.xml)などの差分情報を反映させる機能も必要です。

 ②セッションの管理方法(チケットID:21338)
  現状、セッションの管理は、特別なことをしておらず、JSP/ServletのSessionオブジェクトが生成される単位で管理しています。
  この単位は、ブラウザのセッションクッキーと同じですが、この場合、ブラウザのプロセスが同じ場合は、セッションクッキーが同一になり
  結果、セッションIDも同じになります。
  これの弊害として、タブブラウザなどで複数タブで同時にオペレーションされた場合、データの不整合が発生する可能性があります。
  現状の実装では、これの対応として、エラーチェックを行っているのですが、これは後ろ向き名対応であるため、
  複数タブで処理された場合でも問題なく動作するように対応したいと考えています。
  これについては、技術的にも対応方法はまだ見えていません。

 ③項目並び替え機能 (チケットID:22220)
  画面に表示されている項目をユーザー自身がD&Dで並び替えることのできる機能があります。
  現状は、フラットなテーブルのみに対応されており、段組されているテーブルには対応していませんので、これを強化し、
  より複雑な画面でも、項目の並び替えができるようにします。

チケットにもあるように、上記以外にも色々あるのですが、まずは手をつけたいと思っている項目からざっくりと説明させて頂きました。
回覆: #52447