Home XML/FrameMaker FileMaker SI会社様へ 事例ご紹介 企業情報 お問い合わせ Twitter
【XML/FrameMaker事例】
文書管理Webアプリケーション
◎背景

社内外向けの各種文書は、現状、印刷して配布を行っていますが、改訂版の配布や変更情報などの配布にコストや時間がかかり、タイムリーな情報提供が難しくなっています。
文書の配布をWEB化することにより、いつでも、どこからでも最新の情報をタイムリーに提供し、かつ、情報の集中化、ペーパーレス化による、業務品質の向上とコストダウンが求められています。

一般的に製品のマニュアルは、製本された時点での情報だけが記載されます。
客先にリリースした後の修正は、紙ベースでは補足資料を添付するなどの方法が取られます。
Webベースでマニュアルを配信することにより、いつ、どこが、どのように変更されたかを、すばやくしかも確実に利用者に伝えることができるようになります。

↑ ページ先頭へ

◎要求仕様

汎用のwebブラウザからの操作で、下記の機能が動作するシステムを構築したい。

管理機能
文書データ、関連する画像ファイルの登録および更新
文書や商品単位での変更などの補足情報の登録
変更履歴管理、など
検索機能
製品名や製品番号、文書種類などから、目的の文書を表示
商品指定で、その商品を使用している文書の一覧表示や該当箇所を表示、など
発注機能
Cookie(クッキー)を利用し、買い物かご方式でWeb発注できる
各種メンテナンス機能

さらに、文書に使われている商品単位に、検索や付加機能(在庫管理や発注処理など)を実現したい。

↑ ページ先頭へ

◎機能概要
文書の登録、更新
指定されたフォルダ内にある文書データから細分化を行い、必要情報を取り出します。
取り出した情報をデータベースへ格納、文書データをサーバへコピーします。
更新処理実行時には、抽出した情報と既にデータベースに登録されている同一商品の内容を比較し、差分があった際には変更情報をデータベースに格納します。
文書の検索
指定されたキーワードに該当する文書の一覧を表示します。
細分化した商品の検索
様々な条件の入力ができる画面を提供し、指定された商品の該当箇所を表示します。
変更情報の詳細を最新の情報と同じ画面で表示します。
検索結果画面から、商品の発注処理の指示を行います。
発注処理
発注処理が指示された商品の一覧を表示します。
リストからの項目削除や印刷イメージ(帳票)の作成を行います。
その他
変更情報や補足情報の追加機能
商品の価格表一括取り込み機能
操作ログの表示機能
多言語対応

↑ ページ先頭へ

◎開発作業

導入コストを抑えることを念頭におき、オープンソースなアプリケーションを使用したサーバ構築を目指します。

↑ ページ先頭へ

システム構成の検討

今回は、以下の構成を選定しました。

  • OS : Windows 2000 Server
  • Webサーバ : Apache+Tomcat
  • DBサーバ : MySQL

取り扱う文書データとして、

  • 商品単位に分割して管理する事を可能とするために、記述するデータはXMLファイル
  • 文書内で使用するグラフィックは、Webブラウザ上で拡大/縮小表示が可能なSVGファイル
  • 閲覧用データとしては、PDFファイル

※XMLの記述およびPDF作成には、アドビシステムズ社FrameMakerを使用
※SVG表示のため、Webブラウザにアドビシステムズ社SVGViewerプラグインが必要

↑ ページ先頭へ

設計・製造
基本コンセプト
まず、サーブレットフレームワークを構築します。
MVCModel View Controler)アーキテクチャに基づく弊社独自のフレームワークを採用しました。
すでに実装した経験もあり、画面追加や機能変更にも臨機応変に対応が可能で、今回のようなシステムには非常に向いています。
サーブレットと表示するページの関連付けやリクエストパラメータの取得などを共通化し、グループによる作業の効率化および機能追加への対応に力を発揮しました。
データベース設計
データベースへのアクセス(問い合わせ)は、あまり複雑にするとレスポンスが悪くなってしまうため、シンプルかつ機能性を重視した設計が必要です。
登録文書の情報や補足情報等の格納ももちろんですが、文書を細分化したパーツをどのように格納するか、そこが今回のデータベース設計で悩ましいところでした。
ページ(操作画面)の作成
お客様から提示された機能から、操作画面となるページを作成します。
今回は、総ページ数の90%をJSPJava Server Pages)で実装しています。
操作画面にはFrame分割されたページもあり、Frameからのリクエストを同じページの別Frameに反映させて表示を更新する部分の実装には苦労しました。

また、検索機能の一部のページでは、データベースへアクセスすることなく、データ内容を表示するようにしました。 これは、検索レスポンスをすばやく返す目的で、あらかじめデータベースから検索用にXMLデータを生成しておき、XSLTXML Stylesheet Language Transformations)でページ整形を行う方法で実現しました。
クラスおよびパッケージの実装
単機能毎にクラスを作成し、仕様変更や機能追加に柔軟に対応できるような実装を行いました。
普段インターネットを使っているとなかなかレスポンスが戻らなくてイライラする事があると思います。今回はそのような事のないように、文書コピーなどの時間のかかる処理はバックグラウンドで行うように制御し、ブラウザへのレスポンスが極力速くなるようにデータベースへの接続や検索処理を工夫しています。
商品単位への細分化
XML文書から必要情報を抽出する手段として、SAXSimple API for XML)を利用し、巨大な文書でも高速な処理を実現しています。
今回の場合はSAXを選択しましたが、DOMDocument Object Model)を使う実装に変更すれば、要素の上下関係(木構造)を意識するような場合にも対応できます。
多言語対応
英語/日本語ブラウザでの検索機能を実装しています。
内部的なロジックは共通で利用していますが、画面に表示される文言やサイト入口の切り分けを行いました。

↑ ページ先頭へ

負荷テスト

Webブラウザを使用して稼動するシステムに最も重要なのは、『多量のトラフィックが発生してもサーバが停止せず安定して動作する』事です。
今回は、マイクロソフト社が配布している Web Application Stress ツールを使用して、システムの負荷テストを実施し、実運用に耐えうるシステムか検証を行いました。

↑ ページ先頭へ

実績
要求分析:1〜2ヶ月
どんな機能が必要か、ユーザ要求のヒアリングを充分に行い、製造工程での作業をいかに抑える事ができるかがポイントになります。 もちろん、そのためには、サーバサイドの知識やWebブラウザで可能な機能などに熟知したエンジニアが必要です。 当社のエンジニアには、要求仕様と機能の実現方法を瞬時に繋げていくノウハウがあり、 また、XMLやPDF、SVG等の知見があり、要求分析の作業はスムーズに進めることができました。
設計・製造:2〜3ヶ月
開発作業には、オープンソースでフリーの統合開発環境(IDE)であるEclipseを使用しました。 Eclipseでは、デバッガ、JSPエディタ、XMLエディタ、バージョン管理にCVSConcurrent Versions System)など、様々なプラグインツールが提供されており、開発効率を上げ、また、エンハンス対応の工数を抑えることができました。
また、今回実装したフレームワークは、Model(処理)にJavaBeans、View(表示)にJSP、Contoroller(入力)にサーブレットのMVCアーキテクチャとしており、対話型アプリケーションを効率よく実現しています。

↑ ページ先頭へ

◎あとがき

文書管理に限らず、データベースを併用した各種Webアプリケーションをご提供します。
当社では、品質の高いものを追求する事に労力は惜しみません。
処理する文書の形式や実装する機能によってシステムの構成や作業工数は変動しますが、必ず、お客様にご満足のいくシステムをご提案できる自信をもっております。

システムの設置から導入後のサポートまで、是非、当社にお任せください。

↑ ページ先頭へ

Copyright © 2002-2016 Asahi Project, Inc. All rights reserved.

HomeXML/FrameMakerFileMakerSI会社様へ事例ご紹介企業情報お問い合わせサイトマップ

Twitter

◇当サイトのコンテンツ内に記載している企業名、製品名、ブランド名、ロゴマークなどは、一般に各社の商標または登録商標です。
◇当サイトの全てのコンテンツ(記事・情報・画像・プログラム等)の無断複写・転載を禁じます。