Shindig を動かしてみる
というわけで「Shindig が出た」の続き。早速やってみます。
現状の実装では Let’s get this Shindig started にある通り、Gadget Container JavaScript と Gadget Server が提供されているとのことです。まずは iGoogle Gadget をホストする gmodules.com の自前版を作るところまで、ですね。
# Gadget Container JavaScript — core JavaScript foundation for general gadget functionality (read more about gadget functionality). This JavaScript manages security, communication, UI layout, and feature extensions, such as the OpenSocial API.
# Gadget Server — an open source version of gmodules.com, which is used to render the gadget xml into JavaScript and HTML for the container to expose via the container JavaScript.
環境は coLinux、Linux debian 2.6.17-co-0.8.0 #1 PREEMPT Sun Jul 8 14:00:12 CEST 2007 i686 GNU/Linux です。
Shindig の実装が現在 Java のみということで、まずは Java 環境を。Subversion も入ってなかったので入れときます。あと zsh でAUTO_CD してたり v は lv のエイリアスだったりするので、この辺は環境に合わせて適当に。
[maihara@debian:~] $ sudo aptitude install sun-java5-jdk subversion
// JAVA_HOME に /usr/lib/jvm/java-1.5.0-sun-1.5.0.10 を設定
[maihara@debian:~/work] $ vi ~/.zshenv
[maihara@debian:~/work] $ source ~/.zshenv
[maihara@debian:~] $ mkdir work
[maihara@debian:~] $ work
[maihara@debian:~/work] $ svn co http://svn.apache.org/repos/asf/incubator/shindig/trunk shindig
[maihara@debian:~/work] $ shindig/java/gadgets
[maihara@debian:~/work/shindig/java/gadgets] $ v README
するとこうなってます。
Installing and Running Shindig Gadget Server
============================================1) Install Maven 2.0 (see http://maven.apache.org)
2) Make sure the JAVA_HOME environment variable is set to the location of your
JDK/JRE, and that the maven executable is in your PATH.3) From java/gadgets/…
* mvn package - Builds Gadget Server and runs tests.
* mvn jetty:run - Builds Gadget Server (no tests), installs Servlet at localhost:8080.4) Hit server at http://localhost:8080/gadgets/ifr?url=
Example: http://localhost:8080/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xmlFor more information, see http://incubator.apache.org/projects/shindig.html
Maven(検索して何か知りました)つうのをインストールしてくださいとのことなので、使い方もよくわからないけどとにかく調べながらやってみます。
[maihara@debian:~/work/shinding/java/gadgets] $ ~/work
[maihara@debian:~/work] $ wget http://ftp.riken.jp/net/apache/maven/binaries/apache-maven-2.0.8-bin.tar.bz2
[maihara@debian:~/work] $ tar xjvf apache-maven-2.0.8-bin.tar.bz2
// /home/maihara/work/apache-maven-2.0.8/bin を PATH に追加
[maihara@debian:~/work] $ vi ~/.zshenv
[maihara@debian:~/work] $ source ~/.zshenv
[maihara@debian:~/work] $ mvn -h
usage: mvn [options] [<goal(s)>] [<phase(s)>]
...
と何となく動きそうになりましたよ。
というわけで Shindig の方に戻ります。
[maihara@debian:~/work] $ shindig/java/gadgets
// README に従って
[maihara@debian:~/work/shindig/java/gadgets] $ mvn package
// パッケージのダウンロード等が行われます
...
[INFO] [war:war]
[INFO] Packaging webapp
[INFO] Assembling webapp[gadgets] in [/home/maihara/work/shindig/java/gadgets/target/gadgets]
[INFO] Processing war project
[INFO] Webapp assembled in[361 msecs]
[INFO] Building war: /home/maihara/work/shindig/java/gadgets/target/gadgets.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 8 seconds
[INFO] Finished at: Thu Dec 13 10:48:32 JST 2007
[INFO] Final Memory: 5M/9M
[INFO] ------------------------------------------------------------------------
成功した模様。サーバ起動してみます。
// README に従って
[maihara@debian:~/work/shindig/java/gadgets] $ mvn jetty:run
// またもやパッケージのダウンロード等が行われます
...
[INFO] Started Jetty Server
起動した模様。
[maihara@debian:~/work/shindig/java/gadgets] $ lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
java 3068 maihara 10u IPv6 14320 TCP *:webcache (LISTEN)
と上がっております。
早速アクセス。README に従って http://localhost:8080/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml にアクセスしてみます。なのですが、coLinux を slirp で使っているので設定を
eth0=slirp,,tcp:2222:22/tcp:8080:80/tcp:8088:8080
な感じにして http://localhost:8088/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml にアクセス。すると表示されましたよこんなのが。
url に iGoogle のガジェット一覧から Google マップ検索とか適当なのを探して xml ファイルを指定してあげるとそれなりに表示されるみたいです。
とりあえず動いたようなので、次は仕組みを見ていきたいと思います。
というわけで、これって Servlet な実装だけど HTTP サーバってどうなってるのよとか思ったら、Jetty ってやつがあって、maven-jetty-plugin てのを使えばさくっと使えたりするんですね。Java って、2000 ~ 2001 年くらいに Tomcat を多少使ってたくらいでその後さっぱりだし、もう全然わかんないっす。Ning が PHP な実装提供したり、RoR のプラグインも実装中みたいだし、期待したいです。
About this entry
You’re currently reading “ Shindig を動かしてみる ,” an entry on forever 5 years old blog
- Published:
- 11am on 2007/12/13
- Category:
- OpenSocial, プログラミング
- Related Posts:


No comments
Jump to comment form | comments rss [?] | trackback uri [?]