Transcript PowerPoint

オープンソースCMS「ZOMEKI」を利用した
業務システムの開発手法
第2版 2013年11月25日
サイトブリッジ株式会社
Ruby / Rails を利用した業務システム開発の課題
開発での各種の課題
1.プログラマが中心の作業となり、開発期間と開発費の圧縮が難しい。
2.Webページの構成がプログラムにより固定となり、システム完成後に変更しにくい。
3.公開画面や管理画面の枠組みをシステムごとに毎回作ることになり、開発効率が悪い。
4.Ruby / Rails のバージョンアップへの対応方法が個々のシステムで異なり、対応が容易ではない。
とりあえずデータを表示するの
が優先であり、完成度の高い
ページを作る余裕がない
設計の枠組みがないため、
ゼロから考えることになる
システム設計
プログラミング
サイト構築
システムが完全に完成
しないと、データの入力
が行えない
データ入力
総合試験
Railsの機能を使い、ゼロから
全部作ることになる
担当プログラマだけが簡単な総合試験
を行うだけになることがある
ZOMEKIの機能階層
ZOMEKIにて業務システムの開発を行う場合、業務システム専用のコンテンツ(プログラム・モジュール)を開発し、そ
のコンテンツを利用して、管理画面および公開画面の機能を実現する。
一般的なホームページ制作の場合、ZOMEKIに標準的に実装されている記事コンテンツやカテゴリタイプコンテンツを
利用して、ホームページを構築している。
Rails上にてスクラッチで業務システムを開発すると、これら3つの階層の枠組みがないため、すべての機能を開発す
ることとなる。
業務システム専用の
コンテンツを開発
業務システムの画面を
CMS機能で構築
ホームページ用コンテ
ンツを利用して構築
業務システム
ホームページ
業務システム用コンテンツ
記事コンテンツなど
ZOMEKI
Ruby on Rails
Ruby
CentOS
スクラッチでの開発では3つ
の階層が新規開発となる
業務システム
コンテンツによる管理画面と公開画面の対応
コンテンツはデータの入力画面とデータの表示画面を生成する。
業務処理をコンテンツとして実装することにより、入力データを処理して、その結果を画面に表示できる。
コンテンツのデータ入力画面からのデータを格納するテーブルが存在する。
データ入力
画面
管理画面にコンテンツ
のデータ入力画面の基
本的な枠組みがある
コンテンツ
データ
データ表示
画面
コンテンツ
CMSの機能により、柔軟なデー
タ表示画面の構成が可能
業務処理をコンテンツ
として実装
コンテンツによる公開画面の生成
コンテンツに入力した各種のデータは、CMS機能により公開画面に表示する。
CMSの画面レイアウト機能により、多様な画面構成が可能となる。
また管理画面にてレイアウトを変更すると、公開画面の表示形式を柔軟に変更できる。
#container
header#pageHeader
#pageHeaderContainer
#pageHeaderBody
カテゴリ一覧ピースに
より分野一覧を表示
nav#pageNav
#pageNavContainer
#pageNavBody
#main
カテゴリタイプコンテンツ
カテゴリ一覧ピース
#wrapper
#menu
#menuContainer
#menuBody
#content
#contentContainer
#contentBody
[[piece/
category]]
記事ページを生成し、
記事の内容を表示
[[content]]
汎用記事コンテンツ
footer#pageFooter
#pageFooterContainer
#pageFooterBody
#links
#linksContainer
#linksBody
コンテンツとピースの違い
業務ロジックは、ZOMEKIのコンテンツまたはピースとして実装する。
コンテンツとピースの違いは次に示すものである。
コンテンツと対応するピースを開発し、それらをレイアウトに配置して公開画面を構成する。
■コンテンツ
・ページを作成できる。
・ページ送りを生成できる。
・データの登録UIを持ち、登録されたデータを管理する。
・レイアウトに[[content]]で記述
・ステータスを持つ場合がある。
(カテゴリタイプコンテンツの現在のページのカテゴリなど)
・管理画面のコンテンツメニューから操作
■ピース
・ページを作成できない。
・ページ送りを生成できない。
・日々の運用で利用するようなデータ登録UIは
持たない。
・レイアウトに[[piece/xxx]]で記述
・ステータスを持たない。
・管理画面のデザイン-ピースメニューから操作
記事一覧を表示するピース
記事を管理するコンテンツ
汎用記事一覧
汎用記事コンテンツ
新着タブ
ホームページ用コンテンツの種類
ZOMEKIのホームページ向けのコンテンツとして、下記の種類がある。
作成したコンテンツは、CMS機能により公開画面に自由に配置することができる。
コンテンツ作成画面
現在、サイト構築に利用しているコン
テンツは次のもの。
作成するコンテンツの
種別を選択する
<コンテンツ一覧>
汎用記事
汎用カテゴリタイプ
グローバルナビ
汎用カレンダー
汎用アンケート
マップ
アクセスランキング
広告バナー
承認フロー
関連ワード
コンテンツ一覧画面
コンテンツ種別は、コンテンツの雛形となっているため、それぞれのコンテンツ種別から複数のコンテンツの実体を生
成することができる。
複数のコンテンツを作成し、用途ごとに使い分けることができる。
コンテンツ一覧画面
作成したコンテンツはコンセプトと呼ぶ
論理的なフォルダに格納される。
コンセプトの選択
汎用記事コンテンツの種別で、
3つのコンテンツを作成
管理画面の左上のコンセプトの選択を
行うと、選択したコンセプトに含まれる
コンテンツの一覧が表示される。
記事コンテンツを分けると、記事一覧
など記事の管理がそれぞれ別になる
お知らせ・注目情報記事
汎用記事コンテンツ
各種記事コンテンツを作成
定型記事
災害・被災情報記事
コンテンツの画面構成
コンテンツは専用のデータ登録、一覧画面を保有し、データの各種操作が行えるようになっている。
データ登録
画面
データ一覧
画面
汎用記事コンテンツ
汎用記事一覧ピース
データ詳細
画面
コンテンツ専用の
各種テーブル
コンテンツのデータ登録画面(汎用記事コンテンツ)
記事登録画面
この部分のメニューがコンテンツ
専用のメニューに切り替わる。
コンテンツには専用のデータ入力画面があり、コンテンツが処
理する対象のデータを入力できるようになっている。
入力項目が多い場合は
タブに分ける
コンテンツを選択すると、管理画面メニューの第2階層が選択
したコンテンツに関する専用のメニューに切り替わる。
業務フローにより状態が遷移する場合などは、この第2階層
のメニューを業務フェーズごとに分けて、業務項目の選択に
利用する。
入力項目が多数にあり、入力画面が縦に長くなりすぎる場合
は、タブにより入力画面を切り替える。
コンテンツのデータ一覧画面(汎用記事コンテンツ)
記事一覧画面
記事一覧の各種絞り込みコマンドを配置
コンテンツに入力したデータ
は、それぞれのコンテンツで
のデータ一覧画面にて一覧
表示する。
データ一覧の絞り込みや検
索をデータ一覧画面にて行
えるようにする。
データの詳細は、データ一覧
右端の詳細を選択して表示
する。
詳細を選択すると、詳細情報を表
示する画面に切り替わる
コンテンツに入力した
データを一覧表示
コンテンツのデータ詳細画面(汎用記事コンテンツ)
記事詳細画面
記事に対する各種コマンドを配置
コンテンツに入力したデータを詳細画面で確認できる。
個々の記事に対する操作コマンドは詳細画面に配置している。
この画面はビューであるため、編集
を行うには編集コマンドを選択する
コンテンツのデータ登録画面(カテゴリタイプコンテン
ツ)
カテゴリタイプ登録画面
カテゴリタイプコンテンツは、分野などのカテゴリのツリー
を作成するコンテンツである。
各分野での記事表示の形式などを登録する。
この部分のメニューがコンテンツ
専用のメニューに切り替わる。
コンテンツのデータ一覧画面(カテゴリタイプコンテン
ツ)
カテゴリタイプ一覧画面
カテゴリは階層構造であるため、
カテゴリ一覧で分野名を選択する
と、下層の分野一覧が表示される。
複数のコンテンツの連携での画面表示
右の「届出・登録・証明」のページでは、複数の記事コンテンツのデータ
から、カテゴリタイプコンテンツにより、特定のカテゴリのデータのみを絞
り込み、公開画面に表示している。
このように複数のコンテンツを連携させて、一つの公開画面を生成する
こともできる。
お知らせ・注目情報記事
定型記事
カテゴリタイプ
コンテンツ
FAQ記事
記事コンテンツ側から利用するカテゴリ
タイプコンテンツを指定する。
コンテンツ間連携の設定(汎用記事コンテンツの場合)
汎用記事コンテンツとカテゴリタイプコンテンツの連携の場合、汎用記事コンテンツの記事設定にて、連携するカテゴ
リタイプコンテンツを選択する。
「カテゴリタイプ」という名称のカテゴリタ
イプコンテンツを選択している。
利用するカテゴリを設定
管理画面に表示するカテゴリを設定
管理画面に表示しない場合、初期値と
して設定を固定
開発の期間と費用の圧縮
コンテンツの設計なのでわかりやすい
システム設計
コンテンツのみのプログ
ラミングなので速い
プログラマだけでなく、Webクリエイ
タやデザイナなど多くのメンバーで
検証や対応が可能
プログラミング
総合試験
管理画面の枠組みがあ
るので、早期のデータ
入力が可能
コンテンツやピースが出来
たらすぐサイトに構築に利
用可能
データ入力
サイト構築
従来はプログラマが順次行っていた開
発作業を多様な担当者が分業し、並行
して進められる。
このような共同作業は、ZOMEKIという
共通の開発プラットフォームがあること
により実現できる。
高いレイアウトの自由度(公開画面)
公開画面は、テンプレートとそこに配置するコンテンツおよびピースにより構成する。
すべての操作を管理画面から行えるため、管理画面を操作することにより、システム完成後も自由に公開画面の構
成を変更することができる。
一般に、スクラッチで開発した業務システムでは公開画面の構成を変更することが容易ではないが、ベースにCMSを
利用すると、Webクリエイタによる画面構成の変更が可能となる。
ZOMEKIの画面構成の構造
管理画面の基本的な枠組みを標準化
ZOMEKIの管理画面には、物理ディレクトリの管理、ユーザ/グループの管理、複数サイトのドメイン管理など、汎用的
な管理機能が標準的に実装されている。
これらの各種機能を活用すると、開発しなければならない管理機能を省略することができる場合がある。
また開発フェーズの初期の段階から、開発中のプロダクトの管理業務に利用することができる。
物理ディレクトリの一覧画面
Ruby/Railsのバージョンアップへの対応
Ruby / Railsを利用したシステムは、Ruby / Railsのバージョンアップに長期的に対応するためのコストが大きい。
ZOMEKIを開発ベースとして利用することにより、ZOMEKI以下の部分の保守コストを削減でき、業務システム固有の
部分の保守に注力することができる。
ZOMEKIと業務用コンテンツのインタフェース部分の仕様が変わらなければ、ZOMEKI以下をバージョンアップしても、
問題なく稼働すると考えられる。
ZOMEKIとのインタフェースに変更がなければ、
ZOMEKIをバージョンアップしても問題なく稼働する。
ZOMEKI以下の階層については、ZOMEKI
の開発プロジェクトで動作試験済み
業務システム
業務システム用コンテンツ
ZOMEKI
Ruby on Rails
Ruby
CentOS
バージョンアップ可能
今後の開発構想
現在、存在するコンテンツはすべてデータを管理画面から入力し、公開画面でデータを表示するのみの動作となって
いる。
公開画面においてすべてのデータを操作を行うことを前提とするコンテンツはまだ存在しない。
公開画面からのデータ操作は操作するユーザを特定し、そのユーザの権限に応じた操作範囲を設定する必要があ
るため、公開画面でのログイン認証を行うこととなる。
公開画面にてログイン認証を行い、ユーザに対応した公開画面を動的に生成するコンテンツは、グループウェア対応
コンテンツとして、来年度開発する計画で仕様の検討を進めている。
サイトブリッジ株式会社概要
http://www.sitebridge.co.jp/
ZOMEKIについてのお問い合わせは、下記までお願いします。
市町村公式サイト、地域・観光ポータルの構築などを承っており
ます。