AdaとWeb

AdaのWeb関係ライブラリについて少し調べてみた。どうやら、必要十分なライブラリが既に用意されているらしい。

まず、CGI用のバインディングならばAdaCLの一部として公開されている。ライセンスはLGPLなので比較的使いやすい。AdaCLにはCGIバインディングの他にも、コマンドラインのパラメータパーサーなども含まれているので、いろいろとチェックしてみると良さそうだ。

AdaCoreが公開しているAWSもすごい。スタティックなHTMLページを提供するウェブサーバの機能から始まって、SSLはもちろんMVCに必須のテンプレートや、SOAPにWSDLの自動生成、さらにはバーチャルホスティングと、思いつきそうな機能は何でもそろっている。ここまで高機能なフレームワークにも関わらず、AdaCoreのWebサイトがApacheで運営されているのは全く不思議な話であるが、ここはあえて気にしないでおこう。この記事を書き終わったら「15週間で作るweblog」と題したチュートリアルを制作する予定なので、興味のある読者の方は楽しみに待っていて欲しい。

ちなみに、AWSにはHTTPクライアントのライブラリも含まれているので、Webから情報を取ってくる必要があるプログラムを制作する際には活用すると良いだろう。ライセンスがGPLなので、使いにくいと言えば使いにくいが。もっとも、GNAT GPL Editionを使用してコードをコンパイルした時点で、あなたのプログラムは強制的にGPLとなるので、細かいことは気にしなくて良い。

さて、AWSの段にSOAPの話が出てきた事からも分かるとおり、XML関係のライブラリも既に用意されている。XML/Adaというそのまんまな名前のこのライブラリは、SAX2.0とDOM2.0をサポートしている。XMLということで、Uicodeを扱うためのモジュールまで含まれているのだが――そういえば、Adaの多言語サポートはどうなっているのだろうか・・・・・・。このライブラリもGPLだが、やはり細かいことを気にしてはいけない。

というわけで、HTTPとXMLのライブラリ十分用意されているので、Web関係は何とかなりそうだ。