Proceedings of the 1st Annual Meeting of Particle Accelerator Society of Japanand the 29th Linear Accelerator Meeting in Japan (August 4 - 6, 2004, Funabashi Japan)

Zope Based Electronic Operation Log System - Zlog
K.Yoshii1,A), Y.SatohA)

S.Shimomura, T.Kitabayashi

A)A), T.Nakamura, K.SuginoA)

B), H.Iida

A), S.FukeA)A)

A), M.TanakaA), T.Kawasumi

A), T.Ohkubo , N.Yamamoto

B)

A), T.Aoyama, T.Obina

A),B)

Mitsubishi Electric System & Service Co., Ltd.
2-8-8 Umezono, Tsukuba, Ibaraki, 305-0045

High Energy Accelerator Research Organization (KEK)
1-1 Oho, Tsukuba, Ibaraki, 305-0801

Abstract
Since January 2004, the Zope based electronic operation logging system, named Zlog, has been running at the KEKB
and AR accelerator facilities. Since Zope is the python based open source web application server software and python
language is familiar for the members in the KEKB accelerator control group, we have developed the Zlog system rapidly.
In this paper, we report the development history and the present status of the Zlog system. Also we show some generalplug-in components, called Zope products, have been useful for our Zlog development.

ZopeベースWeb運転ログシステム−Zlog

１．はじめに2002年の秋から2003年冬まで、KEKB（高エネル
ギ ー 加 速 器 研 究 機 構 ・ Bフ ァ ク ト リ ー ） で は MSACCESS/MS-SQLで構築された電子運転ログシステ[1]
ムが稼動していた 。KEKBでは絶えずビーム調整を実施しているため、運転内容のほとんどが手入力を必要とするMS-ACCESS運転ログシステムでは、ビーム調整とログ記入とのタイムマネージメントが困難であった。2003夏、運転ログ記入にかかる時間の短縮を図るため、運転内容を自動で記録するシステムの開発が検討された。当時、既に定型運転内容をUnix上のファイルに自動記録する技術は確立して[2],[3]いた。当初は、MS-ACCESS運転ログシステムへファイル内データを自動インポートする機能の追加が検討されたが、開発期間が長期化すると見積もられた。そこで我々は、近年急速に技術開発が進んでいるZopeをベースにした電子運転ログシステムの新規開発に着手した。ZopeはRADが容易であるPythonベースのWebアプリケーションサーバであるため、Python言語を習得している我々は、電子ログの開発が短期間に完了可能と判断されたためである。

２．Zlogシステム構成
ZlogシステムはDatabase serverとしてPostgreSQL、Web server兼表示画面の開発を行うZopeから構成さる。図１に現在Zlogを使用するにあたってのKEKB制御システム及び、Zlogシステムの構成を示す。

1

図１：KEKB制御、Zlogシステム構成
Serverを稼動させる計算機はデスクトップPC-iMac
を 使 用 し た 。 今 回 使 用 し た iMac の 性 能 は 、CPU:1GHz、メモリ:768M、OSはMacOSXである。
Zlogに必要なデータは、制御対象となるHardware[3]
DeviceのパラメータがEpicsによってVME計算機 で処 理 さ れ 、 ネ ッ ト ワ ー ク を 通 じ て KEKB Control
Systemで取得できる。そのデータをAuto logging toolはモニタし、リアルタイムで変化をPostgreSQLへ登録する。登録されたデータはPostgreSQLから直接取得することもできるし、ZopeによってPostgreSQLからデータを取得することもできる。

E-mail: kenzi@post.kek.jp525Proceedings of the 1st Annual Meeting of Particle Accelerator Society of Japanand the 29th Linear Accelerator Meeting in Japan (August 4 - 6, 2004, Funabashi Japan)

３．開発過程と使用状況
3.1 開発過程
KEKBで既に利用中であったMS-ACCESSの電子運
転ログシステムからの移行を容易にするために、画面構成、画面の操作性などを旧システムと同じようにできることを開発の目標とした。また、旧システ
ムのWebで閲覧する機能は、データを定期的にWeb閲覧用にコンバートするプログラムを必要でとしたが、Zlogは直接Webページに書き込みをし、Zope自体がWeb serverであるので、コンバートするプログラムを別に用意する必要はない。
ネットワークにおけるトラブルの影響や、機器間の相性の問題などを確実に避けるため、PostgreSQLとZopeをiMac１台にインストールし立ち上げた。
ZopeはHTML、Java Script、Python、DTML、PageTemplate等多様な言語を併用して使用が可能である。
表示部はHTMLで、複雑な処理はDTML, Python、Java Scriptで開発を主に行った。
Zlogの開発期間は約2.5ヶ月で、2004年1月から運用を開始した。Zopeの習得とZlogの開発は同時並行で行ったが、内訳として下記の項目を行った。
・ Zopeの 仕 組 み 、 使 用方法の習得、DTMLに1.5ヶ月程
・ 画面は、主にHTML、CSSで開発し1ヶ月程開発に要した時間の大部分は、表示に関する部分であった。現在では、開発者の技術の向上によって、開発期間を1週間程度にまで短縮できた。
3.2 使用状況

図３：閲覧専用画面。日付と時間を指定しての閲覧ができる。

図４：検索画面。PostgreSQLに登録された運転ログのデータから、トピックで検索をする画面である。得たいデータのキーワードでの絞込みの検索が可能である。

もともとZlogはKEKB、ARの運転ログとして開発したのであるが、現在では、シフトリーダーログにも応用し、利用対象が増えた。
以下の図２〜６に、すでに我々が開発した、Zopeのアプリケーションを示す。

図５

シフトメンバー表示・管理画面

図５：シフトメンバー表示・管理画面。運転に従事するシフトのメンバー表の編集、閲覧ができる画面である。編集権限をパスワードの要求により制限し、セキュリティを考慮したユーザー管理の機能を装備させている。登録されたデータはZlogの表示などにも利用している。

図２：KEKB用Zlog入力画面。ネットワークがつながっていて、Webブラウザの使用できる端末でURLを指定すると、画面が表示され運転員は場所、端末を限定することなく編集、登録ができる。

526

Proceedings of the 1st Annual Meeting of Particle Accelerator Society of Japanand the 29th Linear Accelerator Meeting in Japan (August 4 - 6, 2004, Funabashi Japan)

図７のユーザー用掲示板は、Zlogなどの機能、画面に関する意見や修正案をやり取りする掲示板として採用し、改善に役立てている。
複数のユーザーが、Zlogに関する修正や変更の動向をこの掲示板によって確認、提案できる。
プロダクトには、他にもWiki、Blogなど現在のWebで一般に多く扱われている技術もあり、今後導入予定である。

６．今後の課題
図６：ネットワーク機器一覧：KEKBで使用されている制御機器の管理、閲覧をこの画面で実施している。ユーザーはPostgreSQLへ、SQLを意識せず登録できる。

４．Zlog導入による効果
Zlog導入により当初の目的であった運転記録の自動化が達成されたと同時に以下のような利点も実現された。
・ネットワーク端末（LAN）があれば場所を選ばず入力、閲覧、開発ができる。
・OSによる利用制限がない。
・直接Webで管理、表示しているので、Webへの変換の必要がない。
・オブジェクト指向であるため、保守性に優れている。

3 章 で 述 べ た よ う な Zlog 以 外 の Web ア プ リ ケ ーションの開発もあり、Zlog Systemのユーザーが増えている。また現在のKEK所内LANに限った使用から、インターネットを利用した外部ネットワークからの接続も検討しているので、Zlog Systemのユーザーはさらに増えることが予想される。接続制限などセキュリティ面の充実が必要である。
現在デスクトップPCであるiMacでDatabase、Webserverを稼動させているが、停電やPCの故障に備えて、UPSの導入や、データのバックアップ、より高性能で信頼性のあるServer計算機への移行が検討されている。
Zopeの開発は活発であり、バージョンアップが頻繁に行われている。新バージョンの導入や新規アプリケーション開発のためのテスト用環境を構築の検討をしている。
Zopeは比較的新しい技術のため、習得している人材が少ない。トラブル時等に対応できる人材の確保、育成が次の課題である。

５．Zopeプロダクトの有効活用事例

謝辞

Zopeにはプロダクトと呼ばれる、アプリケーションのテンプレートのようなものがある。1つのオブジェクトとして利用でき、そのオブジェクトは編集可能である。我々は数多くあるプロダクトの中で、掲示板にZchプロダクトを編集し使用している。

今 回 の 論 文 作 成 か ら Epics, Python 、 Zope 、PostgreSQL等多数の基礎知識のご教授をくださいました、KEK職員スタッフ、他たくさんの方々に心よりお礼申し上げます。

参考文献[1] S.Kusano et al.,”KEKB LinacとRingの運転ログブッ

クシステム”, Proceedings of the 28th Linear
Accelerator Meeting in Japan, Tokai, Aug, 2003.
[2] N.Akasaka, et al., “KEKB accelerator control system”,Nucl. Instr. and Meth. A499 (2003) 138.
[3] K.Yoshii, et al., “The Operator-developed Useful Tools atKEKB Accelerator”, Proceedings of Workshop onAccelerator Operation 2003, March 10-14, 2003.

図７：ユーザー用掲示板

527