<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Go towards a Word-Progress &#187; JOSH</title>
	<atom:link href="http://wordprogress.org/archives/tag/josh/feed" rel="self" type="application/rss+xml" />
	<link>http://wordprogress.org</link>
	<description>　～言霊とプログラム言語の共進化!?</description>
	<lastBuildDate>Fri, 22 Jan 2010 03:37:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>「RESTful MVC」、「JOSH」、JSON</title>
		<link>http://wordprogress.org/archives/112</link>
		<comments>http://wordprogress.org/archives/112#comments</comments>
		<pubDate>Tue, 03 Nov 2009 08:09:17 +0000</pubDate>
		<dc:creator>kyon</dc:creator>
				<category><![CDATA[JVM]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[JOSH]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[RESTful]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=112</guid>
		<description><![CDATA[中島氏の　「restful-mvcなアーキテクチャの話」を読んで。
わたしも若干似たようなことを考えていたのだが、　やや細かなことが気になってしまった。それは、メッセージング・フォーマットがJSONであること。
※ちょっとした話題になっているらしい、本筋の似非MVCの件はさておく
[こちらはこちらで、OSGi+JSONという組み合わせについて別途調査予定]。
JSONは、オープンななデータ・フォーマットではあるがXMLと比べるとマイナーで、Google Protocol Bufferなどのバイナリ形式に比べると、(まともにオブジェクトの永続化をしようとする際に)パフォーマンスに劣ると考え、二の足を踏んでいたのだ(ということで、わたしは、文書形式のデータの扱いにはXMLを、オブジェクトの永続化にはProtocol Bufferを好んで使ってきている)。アップルがリーダーシップを発揮するWebkitを絶賛している氏が、その名の通りJavaScriptのオブジェクト表記に端を発するJSON(JavaScript Object Notation)を推すのは理解できるにしても。
JSONは、調べてもらえはすぐわかるとおり、実に簡易でゆるいデータ・フォーマットである。そのため、JavaScript以外のオブジェクトを永続化するために、JSONの「オレオレ拡張」がいくつも登場している。XMLでは、メッセージング・フォーマットがさまざまに「標準化」(SOAPからSAML/XACML、さらには近時のAtomPubまで)されている。それを多少なりともかじった身としては、JSONのオレオレ拡張にいささか不安を覚えてきた。
だが、マイ言語であるScalaでの、同趣のアーキテクチャ提案といえるJOSHを見ながら、近時の状況を思い返すうちに考えが変わりはじめた。わたしは、近時、Scalaベースの分散メッセージング環境Akkaと、JSONデータ(正確にはJSONに制約を加えたBSONデータ)を扱うMongoDBに注目している。AkkaやMongoDBは「まだまだこれから」のフレームワークである(両者が、いかなるものであるかについては別にエントリーする)。こうした「まだまだこれから」の対象を扱おうとするとき、やり取りするデータフォーマットが「たかがJSON」であることは、心強いことなのだ(いざとなれば、「まだまだこれから」なフレームワークを置き換えることも、自前でパッチをあてることもできそうである)。ゆるく簡易なデータフォーマットであるJSONならである。XMLではオーバーヘッドが気になる世界、Protocol Bufferではテストに不安がある場合に、まずは使って見るというはリーズナブルに思えた。
JavaはXML webサービスをそれなりに普及させてきた。.NETは、イントラネットに閉じてはいるが便利な世界をMS仕様で普及させてきた。こうした世界からすると、JSONは頼りない簡易なフォーマットである。だが、オープンで簡易であることは、スピードが求められる開発においては、「今ここ」のニーズを満たす限りにおいて正義なのだ。
そう理解したわたしは、JSONに頭から猜疑の目を向けることをやめることとした。実際にXML+Protocol Bufferで確立させつつあった俺流RESTfulサービスにJSONを組み込むことがあるのか、はたまた全てのデータをJSONで扱うサービスを作ることがあるかはさておいて。
]]></description>
			<content:encoded><![CDATA[<p>中島氏の　<a href="http://satoshi.blogs.com/life/2009/10/restful-mvc%E3%81%AA%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E3%81%AE%E8%A9%B1.html">「restful-mvcなアーキテクチャの話」</a>を読んで。</p>
<p>わたしも若干似たようなことを考えていたのだが、　やや細かなことが気になってしまった。それは、メッセージング・フォーマットがJSONであること。<br />
※ちょっとした話題になっているらしい、本筋の似非MVCの件はさておく<br />
[こちらはこちらで、OSGi+JSONという組み合わせについて別途調査予定]。</p>
<p>JSONは、オープンななデータ・フォーマットではあるがXMLと比べるとマイナーで、Google Protocol Bufferなどのバイナリ形式に比べると、(まともにオブジェクトの永続化をしようとする際に)パフォーマンスに劣ると考え、二の足を踏んでいたのだ<em>(ということで、わたしは、文書形式のデータの扱いにはXMLを、オブジェクトの永続化にはProtocol Bufferを好んで使ってきている)</em>。アップルがリーダーシップを発揮するWebkitを絶賛している氏が、その名の通りJavaScriptのオブジェクト表記に端を発するJSON(JavaScript Object Notation)を推すのは理解できるにしても。</p>
<p>JSONは、調べてもらえはすぐわかるとおり、実に簡易でゆるいデータ・フォーマットである。そのため、JavaScript以外のオブジェクトを永続化するために、JSONの「オレオレ拡張」がいくつも登場している。XMLでは、メッセージング・フォーマットがさまざまに「標準化」(SOAPからSAML/XACML、さらには近時のAtomPubまで)されている。それを多少なりともかじった身としては、JSONのオレオレ拡張にいささか不安を覚えてきた。</p>
<p>だが、マイ言語であるScalaでの、同趣のアーキテクチャ提案といえる<a title="JOSHのInfoQ記事" href="http://www.infoq.com/jp/news/2009/03/JOSH">JOSH</a>を見ながら、近時の状況を思い返すうちに考えが変わりはじめた。わたしは、近時、Scalaベースの分散メッセージング環境Akkaと、JSONデータ(正確にはJSONに制約を加えたBSONデータ)を扱うMongoDBに注目している。AkkaやMongoDBは「まだまだこれから」のフレームワークである(両者が、いかなるものであるかについては別にエントリーする)。こうした「まだまだこれから」の対象を扱おうとするとき、やり取りするデータフォーマットが「たかがJSON」であることは、心強いことなのだ(いざとなれば、「まだまだこれから」なフレームワークを置き換えることも、自前でパッチをあてることもできそうである)。ゆるく簡易なデータフォーマットであるJSONならである。XMLではオーバーヘッドが気になる世界、Protocol Bufferではテストに不安がある場合に、まずは使って見るというはリーズナブルに思えた。</p>
<p>JavaはXML webサービスをそれなりに普及させてきた。.NETは、イントラネットに閉じてはいるが便利な世界をMS仕様で普及させてきた。こうした世界からすると、JSONは頼りない簡易なフォーマットである。だが、オープンで簡易であることは、スピードが求められる開発においては、「今ここ」のニーズを満たす限りにおいて正義なのだ。</p>
<p>そう理解したわたしは、JSONに頭から猜疑の目を向けることをやめることとした。実際にXML+Protocol Bufferで確立させつつあった俺流RESTfulサービスにJSONを組み込むことがあるのか、はたまた全てのデータをJSONで扱うサービスを作ることがあるかはさておいて。</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/112/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
