PLAINセンターニュース第139号Page 1

DARTSの新規開発
−基盤の設計とAstro−E2向けの実装−

田村 隆幸
PLAINセンター


1. はじめに

 PLAINセンターの役割の一つは、宇宙科学データを保存・配布することです。これを実現するシステムをDARTSと呼び (http://www.darts.isas.jaxa.jp/)、1995年より開発を進め、1997年より「あすか」と「ようこう」のデータの公開を始めました。その後、各種の多様なデータが追加されました。また、2005年度以降は、Astro-E2, ASTRO-F, Solar-Bと大型プロジェクトでの利用がめじろ押しです。データ利用者も大幅に増える見込みです。これらに対応するため2004年度からDARTSの基盤の新規開発とそれを用いたAstro-E2向けのシステム構築をおこないました。主にデータの管理・検索・ユーザへの転送のためのソフトウエアの開発です。その開発について紹介します。図1がシステムの構成図です。なお、今回の記事では、複数のテーブルの集まりを「カタログ」と呼びます。テーブルは、複数の項目(カラム)からなります。DARTS関連では、Astro-E2の観測ログ、ASTRO-Fの赤外線天体カタログなどが相当します。

←click for details

図1 DARTS共通基盤と Astro-E2向けの実装:システム構成

2. 新規開発の目的・動機

 既存のDARTSの検索システムは、天文分野では、公開当初から使われている共通のPerl/CGI+Oracleで実現しています。一方、太陽観測分野は、Java Servlet+Oracle、Geotailと「あけぼの」データは、それぞれ別々のPerl/CGI+テキストカタログを用いています。すなわち、似たような機能を別々の方式で実装しています。既存の天文系システムを手直して、Astro-E2向けに拡張することも可能ですが、かなり手間がかかります。またのその設計も10年近く前に始められたもので、古くなっています。さらに、C言語やOracle専用のライブラリーに依存した部分があるため、OS間の移植が容易ではありません。そこで、この機会にDARTS全体で共通的に利用できる基盤システムを開発することにしました。

3. 基本機能

 2004年度の開発では、最低限、既存の天文系DARTSの機能・性能を実現することをめざしました。基本機能は以下のようになります。

  • カタログ・テーブルの天体座標、天体名、その他の条件での検索。
  • 複数のテーブルの同時検索。
  • 天体名から座標の変換に、外部データベースを利用する。
  • ユーザへのデータ転送。
  • データカタログとデータの整合性のチェック。
  • ODBを元に公開カタログ(観測ログ)を動的に作成する(Astro-E2に固有な機能)。

4. 設計

 共通基盤の開発は、PLAINの田村が全体取りまとめとAstro-E2実装、松崎がクラス配置などの設計を担当しました。設計・開発は(株)セックと共同でおこないました。以下のような優先順位で設計を開始しました。

  1. 信頼性 基本機能をユーザに確実に提供する。世界中のユーザから利用されるので、可用性が高い(障害によるシステムダウン時間の短い)ことが必須です。
  2. 適時性 新規のプロジェクトのデータ公開までには確実に運用試験を終わり、すぐに運用に入れるように開発スケジュールを立てました。
  3. 拡張性と管理の容易性 DARTSでは分野の異なる多様な衛星カタログ・データを扱います。また、個々の衛星においても、運用期間中に、カタログの項目が変る可能性があります。そのような拡張に柔軟にかつ容易に対応できる構成をめざしました。拡張性を高めるため、DARTSに固有な部分と科学データベースで汎用的に利用できる部分を切り分けて設計します。

5. Astro-E2向けの実装

 実装には、CGI/Perlに替え、Javaによるコード化を採用しました。また、システム内の情報管理および外部システムとのインターフェースには、XML形式を積極的に利用しました。Astro-E2の場合には、既存のOracleはそのまま利用します。

 Javaは、「オブジェクト指向」と「OS/CPUに依存しないこと」を基本姿勢としています。したがって、開発環境の移動が容易で、移植性が高いと期待できます。また、J2EEを核とする開発は、一般的なWebアプリケーションの標準となりつつあります。さらに、J2EEに利用できる多くのフレームワークや部品がフリーで公開されています。図1に示したように、いくつかのオープンソースを再利用することで、開発のコストを削ることができました。

 2004年の年度末にE2向けの検索・転送アプリケーションの製造を完了しました。図2に検索の開始と結果の画面を示します。


図2 新天文系検索システム。条件入力画面(左)と 検索結果画面(右)

見た目も使い方も、現在の天文系DARTSとほぼ同じです。Astro-E2のデータ公開までには、使い方マニュアルを整備します。データを直接転送できるだけでなく、コマンドラインより('wget'を用いて)転送するためのスクリプトを作成する機能を追加しました。

 加えてODBとのインターフェース部分も製造しました。Astro-E2の場合には、VOTable形式で公開カタログを管理し、検索のためにOracleを用います。

 目標であった既存のDARTSの機能・性能はおおよそ実現できました。拡張性はかなり向上したと思います。例えば、新しいカタログの追加は、数百行の設定ファイルの追加と若干のコードの編集だけで実現できました。ただし、サービスの公開までには、解決すべき設計ミス・不具合が残っています。

6. 仮想天文台(VO)との連携

 現在、国際VO連盟(IVOA)を中心に(ネットワークを経由した)天文データ利用の標準化が提案されています。また、宇宙研でもASTRO-Fのカタログの公開には、VOも積極的に利用する計画です。VO標準を利用することで、新たなものを設計するコストが減り、また、世界中のユーザにとって使いやすいシステムを公開できると考えました。そこで、今回の設計時には、XMLをベースにしたVOTableと呼ばれるVO標準を採用しました。これは、カタログを主にアスキーデータで保存する形式です。標準形式を用いることで、DARTSのカタログを外に公開するときに手間が省けます。また、すでに多くの天文カタログは、VOTable形式で公開されており、それらをDARTS内部で利用する手間も省けます。ただし、天文分野でのバイナリーデータの標準であるFITSは今後も利用されていくと思います。

 さらに、天文台のJVOプロジェクトと共同でDARTSのカタログとデータをVO標準のプロトコルで公開する実験もおこないました。(1) SkyNodeと呼ばれるプロトコルでの「あすか」カタログを公開しました。これによってDARTS以外のサイト(例えばJVO)から柔軟な(SQLを模したJVOQL形式での)カタログ検索ができます。例えば、天文台にある「すばる」カタログとのクロスマッチ検索が容易に実現できました。(2) SIAP (Simple Image Acess Protocol)で「あすか」のQLイメージを公開しました。DARTS以外のサイトからのイメージ検索と転送が可能になりました。これらの実現には、JVOで開発されたコードを大幅に利用しました。

7. 今後の課題

 2005年度以降も共通基盤の開発を進めます。2004年度に開発したシステムを基本に、ASTRO-F向けおよびSolar-B向けの拡張を順次おこないます。VOとの連携もさらに進めていきます。今回の天文データ向けのシステム開発・実装の経験を元に、あけぼの、Geotailなどの太陽・地球物理系のDARTSシステムも改良する予定です。将来的には、PLAINセンターで開発・運用している工学データベース・EDISON (PLAINセンターニュース1997年11月号参照)とDARTSシステムとのリソースの共通化も検討しています。

 DARTSのような公開システムは、実際のデータ利用者に使って頂かないと無意味です。ぜひ使用者の皆様のご意見をいつでもお聞かせください。



この号の目次 へ

宇宙研解析サーバの Astro-E2 向けの整備 (方針)


( 1.6Mb/4pages)

Next Issue
Previous Issue
Backnumber
Author Index

PLAINnews HOME