| 1 | = Web Service Hackathon 開催趣旨 = |
| 2 | |
| 3 | == 背景 == |
| 4 | |
| 5 | ライフサイエンスにおけるデータベースは、多様かつ巨大になりつつあり、これらを統合したデータベースを構築するにあたり、実際に既存のデータベースをミラーして利用するだけでなく、ウェブサービスにより分散環境のまま利用可能な形で統合するシステムを構築する必要に迫られている。 |
| 6 | |
| 7 | このため、バイオインフォマティクスの様々なデータベースやツールが日本では、DDBJ XML や KEGG API, PDBj, CBRC など、海外では EBI や NCBI などを中心として、SOAP/WSDL によるウェブサービスとして公開されるようになってきている。 |
| 8 | |
| 9 | また、myGrid プロジェクトや、BioMOBY プロジェクトなどにより、世界中で公開されている数十のウェブサービスを統合的に利用するためのインフラ整備が行われてきており、この分野の統合はウェブサービスで推進するのが現実的である。 |
| 10 | |
| 11 | この際に問題となってきているのが、サービスプロバイダごとの仕様や命名規則のバラツキと、受け渡しされるデータ構造が標準化されていないことである。 |
| 12 | さらに、サービスが一時的に利用不可能だったり処理に失敗した場合などの挙動もサーバ依存である他、これら多くの仕様は十分にドキュメント化されていない。 |
| 13 | また、ウェブサービスは本来プログラミング言語に依存しないものであるが、 実際には言語により利用できないサービスも散見される。 |
| 14 | |
| 15 | これらのサービス毎に異なる使い方の違いや、データ型変換、例外処理を利用するユーザが個々人で対応することは非効率であり、ウェブサービス化されているデータベースやツールがまだ少ないこともあって、各サービスを組み合わせたワークフローの構築は現状では非常に困難となっている。 |
| 16 | |
| 17 | == DBCSLの取り組み == |
| 18 | |
| 19 | このため、統合データベースセンターにおいて、既存のウェブサービスの使い方とデータ型を調査し、命名規則や使い方が統一されたプロキシー的なサーバを構築することを予定している。この際に、 |
| 20 | |
| 21 | * ドキュメントを十分に整備する |
| 22 | * エラー処理については極力サーバ側で面倒を見る |
| 23 | * できるだけ多くの主要な言語 Perl, Ruby, Python, Java で定期的な動作確認を行う |
| 24 | * それぞれのサービス間での連携ができるよう、データ型の変換は極力サーバ側で行う |
| 25 | * 複数ステップにわたるパイプライン処理をサーバ側で済ませることで効率化を図る |
| 26 | |
| 27 | といった点を考慮したいと考えている。 |
| 28 | |
| 29 | すでに BioMOBY がウェブサービスのレポジトリとして同様な試みを行っているが、一次データベースである GenBank に対して二次データベース RefSeq が必要なように、一次的にウェブサービスを収集したあと、使えるサービスに整理し直すウェブサービスの二次データベース化が求められているといえる。 |
| 30 | |
| 31 | これらを実現することにより、多くの研究者に使いやすい環境を提供できるだけなく、ワークフロー構築のためのインフラとして機能することができ、結果的に、統合DBセンターと国内外の様々なウェブサービスプロバイダ、それぞれのアクセス数が飛躍的に向上することが見込まれる。 |
| 32 | |
| 33 | 一方で、サービスの種類や質の増加も課題であり、統合DBセンターで開発される様々な統合データベースやサービスに対するウェブサービスの提供も並行して進めていくのが良いと思われる。 |
| 34 | |
| 35 | == Hackathon の目的 == |
| 36 | |
| 37 | サービスプロバイダごとの |
| 38 | |
| 39 | * メソッドの命名規則のバラツキ |
| 40 | * 受け渡しされるデータ構造が標準化 |
| 41 | * ジョブ管理方法 |
| 42 | |
| 43 | などの統一を図る。 |
| 44 | |
| 45 | このため、各ウェブサービスの開発者、BioMOBY の開発者、BioPerl など、各 Open Bio*ライブラリの開発者など、国内外の主要なメンバーを集めた開発会議を、1月か2月に1週間程度開催する。 |
| 46 | |
| 47 | 現在、オープンバイオ(BioPerl, BioPython, BioJava, BioRuby)の各プロジェクトで、バイオインフォのデータ型(クラス設計)はそれぞれバラバラに作られているが、ウェブサービスの型を基本として標準的なオブジェクト仕様を定義し、各言語でそれに準拠すればよいのではないか。 |