Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス

Granite Data Services (GDS:Granite は花崗岩の意味)とは、Adobeの商用製品であるLiveCycle Data Servcices(LCDS:Adobeのデータサービス技術)やBlaze Data Sercvices(LCDSのリモート技術やメッセージ技術などをオープンソース化したもの)の代替となるオープンソースプロジェクトによって開発されたデータサービスです。GDSは LGPLライセンスの下で使用でき、2008年1月30日にはプロダクション版であるGDS 1.0がリリースされました。

「BlazeDS」 は強力なライバルとなるでしょうが、「GDS」 には 「BlazeDS」 では提供されないデータ管理機能も備わっているため、Flex 利用者の増加と共に、これまで以上に注目されることになりそうです。

プロジェクト創設者のFranck Wolff氏はまず最新のリリースで何が新しくなったのかをInfoQに語った。

gds-stack

Continue reading “Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス”

Flosc(Flash OpenSound Control): flashと他のプラットフォーム同士でデータを送受信するJavaサーバー

Flosc(Flash OpenSound Control)とは、Javaで開発され、OpenSound Controlというプロトコルを利用して、flashと他のプラットフォーム同士でデータを送受信できるサーバーです。 Max/MSP、Processing、C言語によるプログラムなどだけではなくて、FlashのXMLSocketを使ってAdobe Flash(Flash 5以降)とコミュニケーションも可能です。

flosc

OpenSound Control(以下、OSC)は、アプリケーション間、ハードウェア間をUDP/IP通信でコミュニケーションするためのデータ通信プロトコルです。

Floscを利用して、グラフィックの描画はFlashで行ない、音声はMax/MSPで実行する、3Dグラフィックの描画はC++やCocoa(Objective-C)で行ない、音声はMax/MSPで実行するなどはできるとなります。

Continue reading “Flosc(Flash OpenSound Control): flashと他のプラットフォーム同士でデータを送受信するJavaサーバー”

JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ

「JAGS Game Server」とは、JavaとActionScript 3で開発され、マルチプレイヤーソケットを用意して、キーボードイベントなどを受け取れるオープンソースのゲームサーバです。

ゲームならPCゲーム、PSPゲーム、携帯ゲームとオンラインゲームなどいろいろ形式があります。開発者に対して、特にJavaとActionScriptの開発者たちはマルチプレイヤーがサポートされてるゲームをどのようの仕組みで、どのようの構成で作れるのは興味があるかもしれないね。一番いいのは、最初開発言語を勉強したとき、簡単な「Hello、World!」から勉強すれば簡単ですね。

もちろんサーバ側の基本的な構成とクライアント側のものがあればもっといいですよね。そいうふうな気持ちを持って皆さん、今回紹介する「JAGS Game Server」をダウンロードして勉強しましょう。

Continue reading “JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ”

OpenAMF: オープンソースのJava Flashリモートツール

OpenAMFとは、JavaのオープンソースのFlash Remotingをするための代替されています。、多くのクライアントには、独自の能力のSWFミリのソリューションよりも、アプリケーションサービスを提供されているプログラムを生成することは、該当プロジェクトの目標です。

Carbon FiveのASTranslatorを組み込んでおり、Flash-Java間のクラス変換についてソース上で全く意識することなく使用できるオープンソースのプロジェクトです。Flash-Javaのクラス・マッピングの記述が必要なって、それは/WEB-INF/openamf-config.xmlに非常にシンプルな形で設定できます。Java側のクラス名が変更になっても、Flashのソースを一切いじらずに修正ができます。

このプロジェクト最初はAMF-PHPのJAVAのポートとしてから始まったです。インタネット中にちょっと探してみましたが、JavaDoc API以外のドキュメントがまだないようです。

Continue reading “OpenAMF: オープンソースのJava Flashリモートツール”

Javaでデータをエクセルにエクスポートするクラスと使用例

POIのHSSFWorkbookなどクラスを利用するとJavaでデータをエクセルに出力することはできますが、毎回自分でエクセルのシートを作成して、データをセルにセットしなければいけないです。ちょっと面倒じゃないかと思ってます。

その問題を解決するため、以下の共通できるJavaクラスを作りました。データを格納しているリストとシート名を指定して、エクセルを作れます。

※POIとは、Jakarta POIは総称であり、JavaアプリケーションからExcelなどのMicrosoft製品のフォーマットファイルを読み書きすることができます(Excelだけではなくて、Wordなども操作可能ということです)。Excelファイルを取り扱う場合はその中のHSSFを使います(Wordの場合はHWPFのようです)。

Continue reading “Javaでデータをエクセルにエクスポートするクラスと使用例”

Javaでsplitを使ってCSVファイル読み込み

その前の「JavaでCSV形式のファイルを読み書きするライブラリソースと使用例(BufferedReaderとFileReaderを利用する)」の中にBufferedReaderとFileReader利用して、CSV形式のファイル読み込む処理を紹介しました。

ある本によっては、JavaでCSVやタブ区切りファイルを読み込む場合、java.io.StreamTokenizerを利用して区切るようになる場合もありますが、StreamTokenizerなら数字と文字が混在する場合(住所など)は、ちと面倒になってきます。

実は、Javaのv1.4以降であれば、splitが入ってるので、こいつを使うと、簡単に処理できます。

Continue reading “Javaでsplitを使ってCSVファイル読み込み”

Eclipse: オープンソースの統合開発環境(IDE)である

Adobe Flexフレームワークを使って開発するリッチインターネットアプリケーション(RIA)のためのAdobe® Flex™ Builder™でもEclipse™ベースして開発されるので、以前紹介した「ASDT – ActionScript Development Tool: EclipseでActionScriptを開発するためのプラグイン」のような適当なプラグインと合わせて使うと、EclipseでAdobe Flex Builderと同じようなActionScript開発環境を作ることも可能になります。

Eclipse(「イクリプス」または「エクリプス」)は、IBMによって開発された統合開発環境(IDE)の一つ。高機能ながらオープンソースであり、Javaをはじめとするいくつかの言語に対応する。Eclipse自体はJavaで記述されている。

Continue reading “Eclipse: オープンソースの統合開発環境(IDE)である”

ServeBox Foundry (sbasfoundry): オープンソースのFlex 2/3アプリケーションを開発するActionScript 3 / Javaフレームワーク

ActionScript 3フレームワークの1つのPureMVCを知ってる人が多いと思います。ServeBox Foundry (sbasfoundry) は、PureMVC似てる、Flex 2/Flex 3アプリケーション開発のために作成されたActionScript 3 / Javaフレームワークです。デザインは、いくつかのデザインパターンに基づいています。また、Flex 2開発においてよく発生する問題を解決するためのツールも含まれています。例えば、モデルとビューの同期、スクリーンブラウズ、アクセス制御リスト、ローカライゼーション、およびラベルの外部化などの問題です。

Continue reading “ServeBox Foundry (sbasfoundry): オープンソースのFlex 2/3アプリケーションを開発するActionScript 3 / Javaフレームワーク”

JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション

JGenerator(jgenといわれた場合もある)とは、紹介したTransform(@see Flagstone Transform: 文字列からswfを生成するオープンソースライブラリ)、JavaSWF2(@see JavaSWF2: JavaによるFlash解析、生成ライブラリ)の開発言語と同じのJavaで実装されて、動的にテキスト、グラフィックおよび音を結合させて、Flash内容を生成するWebサーバの製品アプリケーションです。

機能方面、Ming(@see Ming: PHP、C/C++、Perl、Python、RubyからSWFフォーマットのFlashを作成するオープンソースのライブラリ(使用例を含む))とおなじ、サーバ動的生成することをできます。JGeneratorで作成したAdobeジェネレータよりもっと小さくて、スペードも速いですから、Adobe Flashのジェネレータのフリーの代わりへアナログ可能性もあります。

Continue reading “JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション”

Javaソース自身を出力するプログラム

以下のJavaソースはソースコード自身を出力するものです。実は全然意味がないソースコードですよね。

効率などため、個人的に、Javaはそんなに好きな開発言語ではないです。^^)!

解説

Javaとは、C言語に似た表記法を採用しているが、C言語など、既存の言語の欠点を踏まえて一から設計された言語であり、今までの言語にない完全なオブジェクト指向性を備えている。

また、強力なセキュリティ機構や豊富なネットワーク関連の機能が標準で搭載されており、ネットワーク環境で利用されることを強く意識した仕様になっている。

Continue reading “Javaソース自身を出力するプログラム”

Javaでiniファイルを読み書きクラスソース

この前の「JavaでCSV形式のファイルを読み書きするライブラリソースと使用例(BufferedReaderとFileReaderを利用する)」には、JavaでCSVファイルの読み書きすることを紹介しました。今回は、Javaでiniファイルを読み書きクラスソースです。JavaでXMLファイルの操作、DOM (Document Object Model) とSAX (Simple API for XML)のようなライブラリがありますので、一般的なJavaで開発されているシステムの設定ファイルなどは、XMLがよく使われていますが、iniファイルをいじって開発するプログラム/システムもあるし、DOM、SAXのような別のライブラリをインポートしたくない場合もありますね。

javaのjava.util.Propertiesなら、下記のようなソースで簡単なiniファイルを読めますが、「セッション」の概念がないことは、残念ですよね。

※XMLとは、文書やデータの意味や構造を記述するためのマークアップ言語の一つ。マークアップ言語とは、「タグ」と呼ばれる特定の文字列で地の文に構造を埋め込んでいく言語のことで、XMLはユーザが独自のタグを指定できることから、マークアップ言語を作成するためのメタ言語とも言われる。

Continue reading “Javaでiniファイルを読み書きクラスソース”

Javaでカレントディレクトリを移動することは可能?

Javaの中で、カレントなディレクトリを移動させ、相対PATHで既存ディレクトリを認識させる場合がありませんか?

成功しましたか?

多分、OSのコマンド”CD”などを使えばできますが、OS依存になってしまいます。Javaの中でカレントディレクトリを移動する場合、System.setProperty()メソッドを利用して、”user.dir”を書き換えれば良いと思った方がいらっしゃるかもしれないですが、

実は、プログラムでカレントディレクトリを変更するのは、基本的に不可能です。

下記のソースと実行結果を見るとすぐ分かると思います。

Continue reading “Javaでカレントディレクトリを移動することは可能?”

Groovyでプログラムソースコード行数の計算をすっごく簡単で実現する

開発者に対して、自分は何行ぐらいソースを書くのは、気になってるはずです。Googleで検索するとそのようなツールも多いと思います。

開発者として、自分のソース行数計算ツールを作ってほしいですね。Groovyだったらすごっく簡単の何行ソースで実現できます。

※Groovyとは、Java言語の実行環境であるJava仮想マシン(JVM)上で動作するスクリプト言語である。Java言語とほぼ同じで、スクリプト言語として使いやすいよういくつかの拡張が行なわれている。

変数の型宣言の省略と動的な型付け、メソッド呼び出しの括弧や行末のセミコロンの省略、リストやマップを宣言時に初期化するための特殊な構文、正規表現のための構文、クロージャなどである。

Continue reading “Groovyでプログラムソースコード行数の計算をすっごく簡単で実現する”

JavaでCSV形式のファイルを読み書きするライブラリソースと使用例(BufferedReaderとFileReaderを利用する)

一般的なプロジェクトの設定ファイルとか、メッセージファイルとか、普通はXMLファイルに保存としますが、マイクロソフトのOffice Ecxelが広くて使用されてますので、CSVを操作するところも多いです。

CSVでは、データの各要素をカンマ(「,」)で区切り、改行がそのままデータ行の区切りを表します。

CSVデータは、一般に「.csv」という拡張子の付いたテキストファイルとして保存されます。テキストエディタだけでなく、Microsoft Excelなどの表計算ソフトでも読み込むことができ、閲覧や編集が簡単なため、よく利用されます。

以下のクラスには、BufferedReaderとFileReader利用して、CSV形式のファイルを読みかけます。

Continue reading “JavaでCSV形式のファイルを読み書きするライブラリソースと使用例(BufferedReaderとFileReaderを利用する)”

JavaServer Faces(JSF) 2.0中にAjaxを利用するサンプルソースコード

JavaServer Faces (JSF) はJavaベースの Webアプリケーションフレームワーク であり、Java EEアプリケーションのユーザーインターフェイスの開発を簡単にする。表示技術として使用するが、JSFはXULなどの他の表示技術を利用することもできる。

Ajax(エイジャックス、アジャックス)は、ウェブブラウザ内で非同期通信とインターフェイスの構築などを行う技術の総称。XMLHttpRequest(HTTP通信を行うためのJavaScript組み込みクラス)による非同期通信を利用し、通信結果に応じてダイナミックHTMLで動的にページの一部を書き換えるというアプローチを取る。

最近、Web 2.0の発展にしたがって、Ajaxも広くてよく使われている。もともとWeb上で実現できない操作も、Ajaxを利用して素敵な実現できた。下記はJSF中にAjaxを利用するサンプルである。

Continue reading “JavaServer Faces(JSF) 2.0中にAjaxを利用するサンプルソースコード”