DynamicDocument

DynamicDocumentとは、Webtribe,VisualFrame,OpenDeveloper 製品にて使用される リポジトリ情報 を ドキュメントとして表示するアプリケーションです。
リポジトリ情報 = 実装そのもの = 実装(詳細)仕様書 という 本製品の観点より作成された オプションツールです。

  1. 概要
  2. モジュールDownload
  3. 設定方法(Dynamic,Static共通 前準備)
  4. 設定方法(Dynamic)
  5. 設定方法(Static)
  6. 操作方法
  7. 動作確認済環境
  8. トラブルシューティング
  9. 免罪事項/著作権について

概要

実装(詳細)仕様書 は 顧客に提出が必要 のみならず、異なる人格が 保守/メンテ時を行う場合に、 アプリの全体を把握するためにも大切な資料です。
ですが、度重なる仕様変更などにより 実装と仕様書 の同期をとりつつ行うことは大変手間のかかる作業 です。
(実装と仕様書の同期が取れていないため、結局コードを見つつ使用を把握する事も 多々存在するかと思います)
そこで、実装が完了した時点で 実装内容から 仕様書を出力 することにより 開発工数低減&本当に正しい仕様書を作成 しよう という目的のために作成されました。

リポジトリ情報の参照機能のみで、更新作業などは行えません。
表示されるHTMLドキュメントは各種部品の関連情報なども表示する事が可能で、管理・保守ツールとしてもご活用いただけます。

●図1.表示イメージ
logic
リポジトリDBの内容は、実装の仕様書 の内容を表示するとともに、関連情報を表示します。
上記イメージ では 「値コピー という 処理部品」を使っている 「クライアント画面」はどれか?を表示しています。

表示方法として Dynamic表示 と Static出力 の2種類を用意しています。

Dynamic表示では 表示の度にリポジトリDBに接続し常に最新の情報を表示します。Servlet上で動作する Webアプリケーションになります。
表示の際には リポジトリデータベースが起動中であること、Servletが使用できること が必須の条件になります。

Static表示 では リポジトリDBに接続し全ての情報を 静的なHTMLファイル として出力します。
表示の際には リポジトリデータベース、Servletを使用しませんので、仕様書としてCDに焼いて顧客に提出することなどが可能です。

モジュールDownload

Dynamic

Static

更新履歴

  1. 2007/06/28 HtmlRegisterのユーザエージェントの設定がない場合でも表示されるように修正
  2. 2007/06/28 CAMC/グループのデータのラベルが初期値になっていたのを修正
  3. 2007/06/28 ブラウザのBACKボタンをおして画面を遷移していくと、サーバサブ名、CAMC画面名がおかしくなる時があるのを修正
  4. 2007/06/28 SAMC,SMCのサブトランザクションにて詳細表示画面を追加
  5. 2007/06/28 StaticExport(静的HTML) にて サーバ/トランザクション/詳細 のトランザクションのリンクがリンク切れになるのを修正
  6. 2007/06/28 SAMCのトランザクション詳細情報の構造化用定義にて詳細からサブトランザクションのリンク先が表示されない不具合を修正
  7. 2007/06/15 データの「関連クライアント」が表示できない不具合を修正
  8. 2007/06/15 初期表示時に 関連情報のタブが表示 されていたのを修正
  9. 2006/09/21 SAMC ディシジョンテーブルにて階層が深い場合にエラーが発生していたのを修正
  10. 2006/09/13 Itemデータフロー出力時、循環参照の定義がされていた場合用に階層の制限(5) を追加
  11. 2006/09/12 HTML/SOURCE を出力時にExceptionが発生する不具合を修正

設定方法(Dynamic,Static共通 前準備)

  1. JDK(Version 1.4以上) をインストールしてください。
    http://java.sun.com/j2se/1.5.0/ja/
  2. Dynamicの場合 Webサーバ+Servlet が必要です。tomcat などをインストールしてください。
    http://jakarta.apache.org/site/downloads/downloads_tomcat.html
  3. tomcatが正常に起動できるかどうか 確認してください
    http://localhost:8080 ※ホスト名、ポート名はインストールした環境に合わせて変えてください。
  4. 以下の情報、ライブラリ など を 用意してください。
    リポジトリDBの接続情報は、 Webtribe,VisualFrame,OpenDeveloper の 稼働環境の WEB-INF/conf/common.wdg の記述でも確認できます。

    • データベースの種類 以下のいずれか
      • PostgeSQL:pgsql
      • Oracle :ora
      • DB2 :db2
      • HSQLDB :hsql
    • JDBCドライバクラス名
      • PostgeSQL:org.postgresql.Driver
      • Oracle :oracle.jdbc.driver.OracleDriver
      • DB2 :COM.ibm.db2.jdbc.net.DB2Driver
      • HSQLDB :org.hsqldb.jdbcDriver
    • JDBC接続URL {hostname}{dbname} などは環境に合わせて記述しなおしてください。
      • PostgeSQL
        jdbc:postgresql://{hostname}/{dbname}?encoding=EUC_JP
      • Oracle
        jdbc:oracle:thin:@{hostname}:1521:ORCL
      • DB2
        jdbc:db2://{hostname}:6789/{dbname}
      • HSQLDB
        jdbc:hsqldb:hsql://localhost:9002:{dbname}
    • DBユーザ
    • DBパスワード
    • DB付属の JDBCのライブラリ (JAR,ZIPファイル)

設定方法(Dynamic)

  1. 設定方法(Dynamic,Static共通 前準備) の設定、準備を行います。
  2. モジュールDownloadより dyndoc.war をダウンロードします
  3. ダウンロードしたwarの内容を tomcat の webapps に展開します
    webapps の 直下に warファイルを置くと、tomcatが自動的に解凍します。(tomcatを起動した状態の場合)
  4. 展開された webapps/dyndoc/WEB-INF/web.xml を エディタで開き 接続DB の設定を行います。
    <param-value> の値を 環境に合わせて修正してください。
    1. データベースの種類を定義 20~23行目
      <init-param>
      	<param-name>dbtype_</param-name>
      	<param-value>ora</param-value>
      </init-param>
    2. JDBCドライバのクラス名を指定 35~38行目
      <init-param>
      	<param-name>driver_</param-name>
      	<param-value>oracle.jdbc.driver.OracleDriver</param-value>
      </init-param>
    3. JDBC接続URLの指定 50~53行目
      <init-param>
      	<param-name>connectinfo_</param-name>
      	<param-value>jdbc:oracle:thin:@192.168.1.1:1521:ORCL</param-value>
      </init-param>
    4. DB接続ユーザ名の指定 59~62行目
      <init-param>
      	<param-name>dbuser_</param-name>
      	<param-value>dyndoc</param-value>
      </init-param>
    5. DB接続ユーザパスワード名の指定 50~53行目
      <init-param>
      	<param-name>dbpassword_</param-name>
      	<param-value>dyndoc</param-value>
      </init-param>
  5. DB付属の JDBCのライブラリ (JAR) を webapps/dyndoc/WEB-INF/lib に格納します。
    通常 JAR ファイルはアプリケーションの WEB-INF\lib ディレクトリに配置しますが、 ZIP として提供されている(Oracle 用, DB2用など)等の JDBC ドライバは 、そのままでは サーブレットから使用することができません。
    JDBC ドライバにサーブレットからアクセスできるようにするために、
    拡張子を .jar に変更
    または
    WEB-INF/class ディレクトリを作成し zipファイルのclassファイルを展開する
    ことによりサーブレットにて使用できるようにして下さい。
  6. tomcat の dyndoc をリロード もしくは tomcat を再起動 します
  7. http経由にて dyndocのエイリアス にアクセスします。 http://192.168.1.1:8080/dyndoc/
  8. 表示された ページ の [DynamicDocumentを表示] のリンクをクリックします

設定方法(Static)

  1. 設定方法(Dynamic,Static共通 前準備) の設定、準備を行います。
  2. モジュールDownloadより DyndocExport***.zip をダウンロードします。
  3. ダウンロードした zipファイルを解凍し、ローカルPCの任意の場所に 展開します。
  4. .\libフォルダに必要なjarを格納します。
  5. .\setenv.bat の内容を 環境に合わせて編集します。
    1. driver=org.postgresql.Driver ← JDBCドライバクラス名 を設定します。必須
    2. db_url=jdbc:postgresql://192.168.1.1/visualframerp?encoding=EUC_JP ← JDBC接続URLを設定します。必須
    3. db_user=username ← DBユーザ名 を設定します。必須
    4. db_pass=password ← DBユーザパスワード を設定します。必須
    5. content=html ← 出力形式を設定します。必須
      • html
        HTMLに変換して出力します。(JDKのXSLTを使用)
      • xml
        xml 形式にて出力します。Xsl指定込みにて出力します。IE6など、XMLパーサー込みのブラウザでは 変換後のHTMLの表示にて参照が可能です。
      • xml2
        xml形式にて出力します。MSXSLによるXSLTを目的としたXMLを出力します。[xml]との差は、リンクのパス が ***.html となる事だけです。
    6. product=0 ← 製品種別を指定します。必須
      • 0
        Webtribe
      • 1
        VisualFrame
      • 2
        OpenDeveloper
    7. dir_export=./ ← 出力パスを指定します。デフォルトはカレントパス[./]になります。
    8. dir_javadoc=http://www.pactera.jp/developer/docs/webtribe/release120/javadoc/ ← 製品標準ルールのJavaDocのリンクパスを指定します。
    9. dir_javadoc_user=../../javadoc/ ← ユーザルールのJavaDocのリンクパスを指定します。
      デフォルトは ../../javadoc/ になります。
    10. camc=testframe1 ← Export対象クライアント画面の 物理名称 を指定します。
      この指定は複数記述する事が可能です。
      設定無しで全ての画面が出力対象になります。
  6. BATファイルより実行します。
    実行のために3つのBATファイルが用意されています。目的に応じて適切なBATファイルより起動してください。
    • exportHtmlByMsXsl.bat
      XMLを出力し、HTML変換作業 は MSXSL を使用します。
      MSXSLとは Microsoft社のXMLパーサーになり、Windows上にて動作します。
      MSXSL3以上がインストールされているWindowsにて使用が可能です。(IE6以降をお使いのPCでは MSXSL3が既にインストールされています)
      (\lib\msxsl.exe が必要です)
    • exportHtml.bat
      HTMLを出力します。
      HTML変換作業は JDK1.4 に含まれるXMLパーサーを使用します。
      このXMLパーサーは時間がかかります。時間を優先したい場合には exportHtmlByMsXsl.bat を使用してください。
    • exportXml.bat
      XSLのリンクを含めて出力しますので、IE6などでは XML開くとHTMLにて表示ができます。
      HTML変換作業がないため、処理は一番高速になります。
    注意!
    Staticでの出力では、全ての情報を出力するため 出力ファイル数 が膨大 になります。
    アプリケーション規模 に 依存しますが、ディスク容量は G(ギガ)単位、出力時間は 数時間単位 で必要になる場合も あります。
    ディスク容量に十分余裕があるPCで、夜間に行うなど時間をとって 実行をお願いします。
  7. 出力が完了すると、実行ディレクトリに index.html が生成されます。そのHTMLのリンクより実行結果を参照する事ができます。
    HTML出力(上記(1)(2))した場合には以下のフォルダがあれば表示が可能です。
    • \css
    • \image
    • \html
    XML出力(上記(3))した場合には以下のフォルダがあれば表示が可能です。
    • \css
    • \image
    • \xml
    • \xsl (IEにてHTML表示したい場合には必要)

操作方法

DynamicDocumentが表示されると以下の画面が表示されます。
category

画面上部のgoto_main に 表示可能な項目の メニュー項目 が表示されています。
goto_main_selected は 現在選択されている状態 を示しています。

参照したい情報を探し出す手順としては、始めに 表示したいメニュー項目 を クリックして 一覧表示を行います

ロジッククラス・・・ OMC/ロジッククラス の情報を表示
テーブル・・・ DMC/テーブル の情報を表示
マッパー・・・ DMC/マッパークラス の情報を表示
データ・・・ DMC/データ の情報を表示
サーバ・・・ SAMC の情報を表示
クライアント(JAVA)・・・ CAMC の情報を表示
クライアント(HTML)・・・ HAMC の情報を表示
バッチ・・・ SMC の情報を表示
HTML・・・ HtmlRegister の情報を表示

※表示メニュー は 製品によって異なります

一覧表示されると、論理名などに リンク がつきます。
リンクをクリックすると、詳細情報表示ページに移動します。

例えば、「商品マスタ テーブルの詳細情報を知りたい」場合は、
始めに goto_mainテーブル をクリックし テーブル一覧を表示。
一覧の中の "商品マスタ" の リンクをクリック すると 詳細情報が表示されます。

詳細情報表示ページには "関連情報" のタブ が表示されるものがあります。
今回例のテーブルの場合、"関連マッパー" などのタブが表示されます。
これは、「表示部品 を 使っている(参照している) 部品」を参照する クロスリファレンス の機能です。 ※右図が表示イメージです。

今回の場合、"関連マッパー" のタブをクリックする事により、
「商品マスタ テーブル を使っている マッパークラス の一覧」 が表示されます。

サブメニュー が存在する場合には sub_category のような表示になります。
表示したい メニュー をクリックすることで、一覧を表示できます。
table_detail

メニュー 最右部 に [ html | xml ] のリンクがあります。
このリンクをクリックする事により、サーバからの受信データの形式 を変更します。
通常は html形式 にて データ受信します。
xml形式 を選択すると、サーバ側で行われていたXSLT作業 を行わなくなりますので サーバ負担を軽く することが出来ます。
xml形式 の場合でも xslファイル設定込みで返されますので、IE など XMLパーサー付き ブラウザで表示した場合には html形式にて確認が可能です。

動作確認済環境

Tomcat/JDK JDK1.4.2_12 JDK1.5.0_07
Tomcat5.5.16-
Tomcat5.5.12-
Tomcat5.0.30
Tomcat4.1.31
Tomcat4.1.29
Tomcat3.3.2
Tomcat3.2.4

ラブルシューティング

  1. java.lang.RuntimeException: DriverClass not found.Please set a driver as a class path. driver=[****]
    JDBCドライバのライブラリがクラスパスに含まれていないエラーです。
    JDBCドライバのライブラリが
    libに格納されているかどうか、
    Staticの場合はsetenv.bat のクラスパス設定に設定されているかどうか、
    ドライバクラス名(ex.oracle.jdbc.driver.OracleDriver)が正しいか
    確認してください
  2. Database was not connectable. dbUrl=[****] dbUser=[****] dbPass=[****]
    データベースに接続ができない エラーです。
    接続URL が間違っていないかどうか
    接続ユーザ名 が間違っていないかどうか
    接続ユーザパスワード が間違っていないかどうか
    データベースが起動している状態かどうか
    DBが別PCの場合、データベースのSoketポートがFireWallでCloseされていないか
    確認してください。
    指定JDBCドライバ で JDBC接続できるかどうか 確認してください。
  3. java.lang.RuntimeException: ServletClass not found.Please set a servletClass as a class path
    Servletクラスライブラリがクラスパスに含まれていないエラーです。
    Staticの場合のみ発生する可能性があります。
    setenv.bat のクラスパス設定に、Servletクラスライブラリ(ex.servlet-2_3-fcs-classfiles.zip)パスを記述してください。
    ライブラリが、指定したパスに存在するか確認してください。
  4. 指定されたパスが見つかりません。
    JAVA_HOMEのパス(setenv.bat)が正しいか確認してください。
  5. Exception in thread "main" java.lang.NoClassDefFoundError: jp/ne/mki/wedge/dyndoc/*****
    付属の DynamicDocument.jar がクラスパスに含まれていないエラーです。 setenv.bat のクラスパス設定に、DynamicDocument.jarパスを記述してください。 このエラーは実行コンソールに出力されます。error.logには出力されません。
  6. 'xslt.bat' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
    C:\*****\xslt.bat が見つかりませんでした。

    msxsl.exe が見つからないエラーです。 libディレクトリに、msxsl.exeをダウンロードし配置してください。 このエラーは実行コンソールに出力されます。error.logには出力されません。 このエラー exportHtmlByMsXsl.bat 実行時のみ発生します。
  7. java.lang.NoClassDefFoundError: org/apache/xpath/XPathAPI
    org/apache/xpath クラスが見つからないエラーです。
    JDK1.4以上をお使いであればこのエラーは発生しません。
    JDK1.4以上でお使いください。
  8. "ページを表示できません" の表示になる
    HTTP経由 (http://{hostname}:{port}/dyndoc/) で 表示しているかどうか確認してください。
    URLの ホスト名、ポート名が合っているかどうか確認してください。
    http://{hostname}:{port}/ のページも表示できない場合は tomcatが起動していません。tomcatが正常に起動しているか確認 してください。
  9. DBには値が入っている項目が、DynDocでは値無し(空文字)になる
    JDBCDriverが、ご使用のリポジトリDBのバージョンと一致していない場合、 この現象が発生することがあります。
    例えば、Personal Oracle Database 10g Release 10.2.0.1.0 のDBを使い、ojdbc920.jar のJDBCDriverを使用 した場合、OracleのCLOBカラムの情報を取得すると、取得結果は 値が空 になり、エラーも発生しない という事 を弊社環境にて確認しています。
    この現象に限らず、JDBCDriverのバージョンが 使用DBのバージョンと違う場合、予期せぬ不具合が発生 する可能性がありますので、必ず使用DB付属のJDBCDriverを使用するようにしてください。

免罪事項/著作権について

■免罪事項

本製品を利用して、損害が発生した場合、当社は一切の責任を負いません。
全て自己判断のもとでご利用して下さるようお願いいたします。


■著作権その他の権利について

本製品は フリー(無料) でご使用いただけますが、 画像、スタイル などについて、その全てまたは一部を、 法律にて定められる私的使用等の範囲を超えて、 使用・複製・公開することは、当社の事前許諾がないかぎり認められません。

Valid XHTML 1.1