BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Clojureで作成されたアプリケーションが実運用に入ったと発表

Clojureで作成されたアプリケーションが実運用に入ったと発表

先日Clojure Google Group(リンク)が、部分的にClojure(リンク)を使った病院サービス・システムが開発され大きな獣医院での実運用が始まったと発表した(リンク)。その製品は複数の開発言語と技術によって開発されているようだが、Clojureはその中でも重要な役割を担っているようである。

この発表には重大な意義がある。というのも大規模な製品の運用、とりわけ病院のような繊細な環境でClojureが使われたという報告はこれが初めてであるからである。開発言語としてのClojureはまだ若く、開発が始まってからまだ2,3年しか経っていない。

開発された製品の中心となっているのはHL7-compliantメッセージ・バス(リンク)である。メッセージのルーティング及びアーカイブに加えてメッセージ・バスのフォルト・トレランスやエラーのハンドリングなどが全てClojureによって制御されている。

私達はHL7メッセージ・バスが病院内のいくつものサービスとつなぐことが出来るように設計しました。現在は放射線科と診断履歴記録システムとをつないでいます。これによる主なメリットは患者の情報を再入力したりシステムごとに要求する必要がなくなるということです。

さらに利用者が日次業務でシステムを通して一貫した方法で情報を共有できるようにいくつかのカギとなるアプリケーションをメッセージ・バス上に提供しました。これはまるでバベルの塔のようなもので、放射線技師は放射線システムを使いたいのに対して事務局は請求業務のために診断履歴記録システムを使いたいでしょう。これらそれぞれのシステムは利用者の特定のニーズに応じたものです。しかし情報を共有するための基盤が必要となります。それこそが私たちの製品が提供するものです。

このアプリケーションで使われたその他の技術や仕様が挙げられており、以下のようなものが含まれている。

アプリケーションは現在6台のミニPCデバイスにデプロイされていて、フォルト・トレランスとしてマスタ/スレーブ方式を使っている。アプリケーションは並行処理モデルを採用していて少なくても1時間当たり2000トランザクションの処理が可能であると報告されている。著者はマスタ/スレーブ方式を完全に排除するためにClojureとTerracottaクラスタリング・ライブラリの並列処理機能の利用をさらに進め、マスタ/スレーブ方式の代わりに全てのデバイスで並行稼働することでシステム全体のフォルト・トレランスを向上させる計画について記述している。
Clojureは並列プログラミング(リンク)に重点を置いた開発言語である。ソフトウェアトランザクショナルメモリ(リンク)のモデルとエージェント・システム(リンク)と呼ばれるスレッド・ディスパッチ・フレームワークを利用することで一貫した安全な方法でスレッド間の状態をやり取りするための様々な機能をClojureは提供している。
Clojureに関するより詳細な情報はWebサイト(リンク)で入手できる。また、コミュニティの状況やその他の発表についてはClojure google group(リンク)を見るには最適である。
 

原文はこちらです:http://www.infoq.com/news/2009/01/clojure_production

この記事に星をつける

おすすめ度
スタイル

BT