目次


OCAP 入門

第 2 回 OCAP RI のためのアプリケーションを作成する

Java コードをクロスコンパイルする

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: OCAP 入門

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:OCAP 入門

このシリーズの続きに乞うご期待。

2010年 3月 18日: 著者からの要請で hostapp.properties をすべて hostapp.properties に変更しました。

この連載の第 1 回では、ケーブルテレビ用の双方向アプリケーションのプラットフォームである OCAP (OpenCable Application Platform) と OCAP RI (Reference Implementation) について紹介しました。その中で、OCAP の構造が標準的な Java ME 技術の一部である下記の 3 つの仕様に基づいていることを学びました。

  • CDC (Connected Device Configuration) は JVM と一連の基本的な API についての記述をします。
  • FP (Foundation Profile) は追加の API を提供します。
  • PBP (Personal Basis Profile) はグラフィックス機能を規定します。

Java SE (Java, Standard Edition) に関して言えば、CDC/FP/PBP は JDK (Java Development Kit) 1.4.2 とよく似ています。ただし、これをあまり文字どおりに受け取らないでください。私は CDC/FP/PBP スタックを理解しやすくするために、概略の話としてそう表現しているにすぎません。

第 1 回では、RI にバンドルされているデモ・アプリケーションをいくつか実行しました。今回の記事では、RI や他の OCAP 機器で実行できる独自のアプリケーションを作成する方法について説明します。最初はコマンドラインを使用する方法を説明し、次に Eclipse 用の OCAP プラグインを使って使用する方法を説明します。

クロスコンパイル

一般的な言葉を使って言えば、OCAP アプリケーションをビルドする作業とはクロスコンパイルを行う作業です。クロスコンパイルというのは、あるプラットフォームで実行することを目的として、そのプラットフォームとは別のプラットフォーム上でビルドすることを言います。クロスコンパイルの概念は、携帯電話などの小さなプラットフォームを考えると容易に理解することができます。携帯電話用アプリケーションのビルドは携帯電話そのものの上で行うわけではありません。通常はデスクトップ・コンピューター (ホスト) を使用して、携帯電話 (ターゲット) 上で実行されるアプリケーションを作成します。同様に、デスクトップ・コンピューター上の Java SE 開発環境を使用することで、OCAP プラットフォーム上で実行されるアプリケーションをビルドすることができます。

ここから話が少し複雑になりますが、第 1 回でダウンロードした OCAP RI もデスクトップ・コンピューター上で実行されますが、この OCAP RI は実際にはシミュレーターなのです。OCAP RI によって、コンピューターがセットトップボックスであるかのように振る舞うようにしているのです。

いずれにせよ、OCAP アプリケーションをビルドすると、そのアプリケーションはどのような OCAP プラットフォーム上でも動作するはずであり、そのプラットフォームが実際のセットトップボックスであるのか OCAP RI のようなシミュレーターであるのかは無関係です。

コマンドラインでアプリケーションをビルドする

親はよく自分の子供に対して、楽しくないものはすべて人格形成に有効だと言います。コマンドライン・ツールを使って OCAP アプリケーションをビルドする際には、それを頭に入れておきましょう。コマンドライン・ツールを使うことで、OCAP アプリケーションを作成する際の具体的なプロセスについて、多くのことを学ぶことができます。たとえ Eclipse を使って OCAP アプリケーションを作成する方法を選択した場合であっても (この記事の後の方でその方法を学びます)、コマンドラインでの手順を実際に試すことによって、Eclipse がどんな処理をしてくれるのかを深く理解することができます。

OCAP 実装の構造をビルドする

皆さんはまだ OCAP RI の完全なソース・コードはダウンロードしていませんが、第 1 回でインストールしたバイナリーの OCAP RI は、このソース・コードと似たディレクトリー構造を持っています。このディレクトリー構造を理解すると、重要なファイルやディレクトリーを容易に見つけられるようになります。

重要な場所の 1 つが、OCAP 実装のソース・コードのルートである OCAPROOT です。OCAPROOT は非常に複雑なツリーのルートであり、このツリーを基に、多様なターゲットのさまざまなホスト上でビルドをすることができます。例えば、特定の種類のセットトップボックス用に Linux コンピューター上で OCAP 実装をビルドすることができます。あるいは OCAP RI プラットフォーム用に Windows 上でビルドすることもできます。

OCAPROOT の実際の値は OCAP RI のバイナリーをインストールした場所に依存します。デフォルトのインストール・ディレクトリーを使用した場合には、OCAPROOT の値は /CableLabs/tru2way/ocap-ri/ocap です (Windows では伝統的にパスの区切りとしてバックスラッシュを使用しますが、この記事では一貫性を持たせるために普通のスラッシュを使うことにします)。

OCAP 実装をビルドすると、その結果は ${OCAPROOT}/bin ディレクトリーに出力されます。具体的には、ビルドの結果はターゲット・プラットフォームを反映した名前のサブディレクトリーに置かれます。ターゲット・プラットフォームは OCAPTC によって表現されます。ビルドの結果は ${OCAPROOT}/bin/${OCAPTC} に出力されます。

例えば Windows の OCAP スタックをビルドする場合には、OCAPTC は CableLabs/simulator/Win32/debug になります。

OCAP のビルドに必要なものを見つける

OCAP 実装が適切にビルドされると、Java クラス・ファイルとネイティブ・ライブラリーが生成されます。OCAP アプリケーションをビルドするために実際に注意が必要なものは、プラットフォームを定義するクラス・ファイルのみです。

OCAP の Java プラットフォームは下記の 2 つの JAR ファイルにパッケージ化されています。

  • ${OCAPROOT}/bin/${OCAPTC}/env/cvm/lib/basis.jar は CDC/FP/PBP スタックです。
  • ${OCAPROOT}/bin/${OCAPTC}/env/sys/ocap-classes.jar は OCAP 実装の Java クラスをすべて含んでいます。

数行のコード

これらの JAR ファイルを使って OCAP アプリケーションを作成する前に、ビルドするためのソース・コードが必要です。リスト 1 のコードを src/HelloOcap.java として保存します (あるいはダウンロードします)。

リスト 1. ビルド用のソース・コード
import javax.tv.xlet.Xlet; 
import javax.tv.xlet.XletContext; 
import javax.tv.xlet.XletStateChangeException;

import org.havi.ui.HScene; 
import org.havi.ui.HSceneFactory;

import java.awt.*;
import java.awt.event.*;

import java.util.Vector;
import java.util.Random;

public class HelloOCAP implements Xlet {
  private HScene mScene;
  private HelloOCAPUI mContent;
  
  public void initXlet(XletContext ctx) throws XletStateChangeException {
    System.out.println("HelloOCAP initXlet");
    HSceneFactory factory = HSceneFactory.getInstance();
    mScene = factory.getDefaultHScene();
    
    mContent = new HelloOCAPUI();
    mContent.setVisible(true);
    
    mScene.setLayout(new BorderLayout());
    mScene.add(mContent, BorderLayout.CENTER);
    
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    Dimension d = toolkit.getScreenSize();
    
    mScene.setLocation(0, 0);
    mScene.setSize(d.width, d.height);
    mScene.validate();
  }
  
  public void startXlet() throws XletStateChangeException {
    mScene.setVisible(true);
  }
  
  public void pauseXlet() {
  }
  
  public void destroyXlet(boolean forced) throws XletStateChangeException {
  }
}

class HelloOCAPUI extends Container {
  private boolean mInitialized;
  private Font mFont;
  private int mX, mY;
  
  public HelloOCAPUI() {
    mInitialized = false;
    mFont = null;
    mX = mY = -1;
  }
  
  public void paint(Graphics g) {
    String s = "Hello, OCAP!";

    if (mInitialized == false) {
      mFont = new Font("Serif", Font.PLAIN, 96);
      int w = getWidth();
      int h = getHeight();
      FontMetrics fm = g.getFontMetrics(mFont);
      int sw = fm.stringWidth(s);
      int sh = fm.getHeight();
      int sd = fm.getDescent();
      mX = (w - sw) / 2;
      mY = (h + sh) / 2 - sd;
      mInitialized = true;
    }
    
    g.setFont(mFont);
    g.setColor(Color.blue);
    g.drawString("Hello, OCAP!", mX, mY);
  }
}

リスト 1 で、initXlet() のコードは HelloOCAPUI というヘルパー・クラスを使用して、このアプリケーションの表示を設定します。HelloOCAPUI は主に画面の中心にテキストを表示するための処理を行います。

ソース・コードをビルドする

HelloOcap.java をビルドするためには非常に長いコマンドラインが必要ですが、この方法で頻繁にビルドするつもりであればスクリプトが必要です (スクリプトは Windows ではバッチ・ファイルと呼ばれます)。

リスト 2 は HelloOCAPUI.java ソース・ファイルをビルドするスクリプトの一例です。このスクリプトを src ディレクトリーと同じレベルに build.bat として保存します。最後の行 (javac を含む行) は非常に長いので、ここでは複数の行に分割して見やすくしてあります。

リスト 2. ビルド・スクリプト
@echo off

set JAVA_HOME=C:/Progra~1/Java/jdk1.6.0_16

set OCAPROOT=/CableLabs/tru2way/ocap-ri/ocap set OCAPTC=CableLabs/simulator/Win32/debug

set OCAP_ENV=%OCAPROOT%/bin/%OCAPTC%/env

if not exist bin mkdir bin

%JAVA_HOME%/bin/javac
    -source 1.4
    -target 1.4
    -bootclasspath %OCAP_ENV%/cvm/lib/btclasses.zip;
                   %OCAP_ENV%/cvm/lib/basis.jar;
                   %OCAP_ENV%/sys/ocap-classes.jar
    src/*.java
    -d bin

JDK や OCAP RI が異なるディレクトリーにある場合には、それに合わせてスクリプトを調整する必要があります。

アプリケーションをインストールする

次のステップは OCAP RI にアプリケーションを実行させることです。そのためにはまず、先ほど作成したクラス・ファイルを OCAP RI のディレクトリー構造の中にコピーします。次に、hostapp.properties ファイルを提供します (リスト 3 の内容を bin/hostapp.properties として src ディレクトリーと同じレベルに保存します)。

リスト 3. hostapp.properties
app.0.application_identifier=0x000000015205 app.0.application_control_code=AUTOSTART 
app.0.visibility=VISIBLE
app.0.priority=220
app.0.base_directory=/syscwd/usr/HelloOCAP 
app.0.application_name=HelloOCAP 
app.0.initial_class_name=HelloOCAP

最後に、クラス・ファイルと hostapp.properties ファイルを OCAP RI のディレクトリーにコピーするスクリプト (リスト 4) を src ディレクトリーと同じレベルに install.bat として保存します。

リスト 4. install.bat
@echo off

set OCAPROOT=/CableLabs/tru2way/ocap-ri/ocap 
set OCAPTC=CableLabs/simulator/Win32/debug

set OCAP_ENV=%OCAPROOT%/bin/%OCAPTC%/env

if not exist %OCAP_ENV%/usr/HelloOCAP mkdir %OCAP_ENV%/usr/HelloOCAP

xcopy /s /y bin/* %OCAP_ENV%/usr/HelloOCAP

リスト 4 で、OCAP_ENV は hostapp.properties の /syscwd と同じです。このスクリプトは単にファイル群を usr サブディレクトリーにコピーしているにすぎません。

最後のステップ

最後の (重要な) ステップは、上で作成した hostapp.properties ファイルを OCAP RI に参照させることです。そのためには mpeenv.ini ファイルを編集します。第 1 回で OCAP RI をインストールした際にデフォルトの場所を使用した場合、mpeenv.ini が $OCAPROOT/bin/$OCAPTC/env、つまり /CableLabs/tru2way/ocap-ri/ocap/bin/CableLabs/simulator/Win32/debug/env にあったことを思い出してください。

このファイルの先頭近くでクラスパスを定義する必要があります。単純に usr/HelloOCAP ディレクトリーを先頭に追加します (リスト 5)。この場合も 1 行が非常に長いため、読みやすくするために何行かに分割してあります。

リスト 5. クラスパスの定義を変更する
VMOPT.0=-Djava.class.path=/syscwd/usr/HelloOCAP;
                          /syscwd/sys/ocap-classes.jar;
                          /syscwd/sys/ocap-rez.jar;
                          /syscwd/sys/support.jar;
                          /syscwd/qa/ocap-test.jar;
                          /syscwd/qa/support-test.jar;
                          /syscwd;
                          /syscwd/usr;
                          /syscwd/apps/eas

次回 OCAP RI を起動すると、アプリケーションのコードが適切に実行され、図 1 に示すような画面が表示されます。この表示を見ると、これまでの作業が報われるはずです (図 1)。

図 1. Hello, OCAP! の画面
アプリケーション画面に「Hello, OCAP!」と表示された OCAP RI のスクリーン・ショット
アプリケーション画面に「Hello, OCAP!」と表示された OCAP RI のスクリーン・ショット

Eclipse プラグインを使う

スクリプトやコマンドラインをいじることが誰にとっても楽しいわけではありません。幸いなことに OCAP RI プロジェクトには、コマンドラインに代わる素晴らしい代替手段として Eclipse プラグインが用意されています。Eclipse プラグインは面倒な詳細部分の多くを処理してくれるため、開発者はアプリケーション・コードの作成に集中できるようになります。

OCAP RI プロジェクトでは、このプラグインを TWB (<tru2way> Workbench) と呼んでいます。TWB をインストールするためには、まず Eclipse をインストールし、Eclipse に対して TWB のある場所を設定してから、TWB に対して OCAP RI のある場所を設定すればよいだけです。

Eclipse をインストールして実行する

TWB で使用するための Eclipse のバージョンとして特に推奨されるのは、Eclipse for Java Developers 3.4.2 Ganymede SR2 です。この Eclipse のダウンロードは zip ファイル (約 85MB) として提供されています。Eclipse のインストールは、このファイルを解凍するだけで済みます。ここではこのファイルを C:/eclipse に置きました。

c:/eclipse/eclipse.exe を実行して Eclipse を起動します。Eclipse はワークスペースの場所を指定するように要求してきます。ワークスペースは単に Eclipse が設定やファイルを保存するための場所にすぎません。ここでは c:/eclipse-workspace を選択しましたが、他にも任意の場所を選択することができます。

TWB をインストールする

Eclipse が起動したら、メニューから「Help (ヘルプ)」 > 「Software Updates... (ソフトウェア更新...)」の順に選択します。「Available Software (使用可能なソフトウェア)」タブをクリックします。「Add Site... (サイトの追加...)」をクリックし、下記の URL を入力します。

http://ri.opencable.com/sdk/updates/eclipse.3.4.2/stable/latest/

OK」をクリックすると、Eclipse は OpenCable の Web サイトを調べ、TWB を発見し、TWB をリストに表示します (図 2)。

図 2. TWB を追加する
「Software Updates and Add-ons (ソフトウェア更新およびアドオン)」ウィンドウに TWB を追加したことを示すスクリーン・ショット
「Software Updates and Add-ons (ソフトウェア更新およびアドオン)」ウィンドウに TWB を追加したことを示すスクリーン・ショット

「tru2way Workbench Feature」にチェックを入れ、「Install... (インストール...)」をクリックします。しばらくすると Eclipse は TWB をダウンロードし、TWB をインストールするかどうかを確認する画面が表示されます (図 3)。

図 3. TWB をインストールするかどうかを確認する画面
TWB をインストールするかどうかを確認する画面のスクリーン・ショット
TWB をインストールするかどうかを確認する画面のスクリーン・ショット

「Next > (次へ >)」をクリックします。ご使用条件を読み、「I accept the terms of the license agreement (使用条件に同意する)」を選択し、「Finish (完了)」を選択します。Eclipse は TWB のインストールを完了し、Eclipse を再起動するかどうかを尋ねる画面が表示されます。そこで、「Yes (はい)」をクリックします。

OCAP RI を登録する

これで、OCAP アプリケーションのビルドを開始する準備がほぼ整いました。次のステップは、Eclipse に対して OCAP RI の設定を行い、アプリケーションの実行に OCAP RI を使えるようにすることです。この OCAP RI は、この連載の第 1 回でダウンロードしてインストールした OCAP RI と同じです。Eclipse は OCAP RI にアプリケーションをインストールし、起動してくれます。

Eclipse メニューから、「Window (ウィンドウ)」 > 「Preferences (設定)」の順に選択します。左側のリストから「RI Bundle Registry (RI バンドル・レジストリー)」を選択します。「New... (新規...)」をクリックし、RIBundleManifest.xml というファイルを見つけます。

OCAP RI をデフォルトの場所にインストールした場合には、このファイルは c:\CableLabs\tru2way\ocap-ri\twb_support\RIBundleManifest.xml にあります。ファイルが見つかったら、「Open (開く)」をクリックし、「OK」をクリックします。

mpeenv.ini を回復する

最後に、この記事の最初のセクションに従って作業した場合には、mpeenv.ini のクラスパスに加えた変更を元に戻す必要があります。mpeenv.ini のクラスパス定義の先頭から /syscwd/usr/HelloOCAP を削除します。

新しいプロジェクトを作成する

これでようやく、Eclipse を使って新規に OCAP アプリケーションを作成するための準備がすべて整いました。

まず、新しいプロジェクトを作成します。Eclipse メニューから「File (ファイル)」 > 「New (新規)」 > 「Project... (プロジェクト...)」の順に選択します。そして「OCAP」の項目を開き、「New OCAP Project (新規 OCAP プロジェクト)」を選択したら、「Next > (次へ >)」をクリックします。

「Project name (プロジェクト名)」「HelloOCAP」と入力したら、「Next > (次へ >)」をクリックします。そして「Hello World Template (Hello World テンプレート)」を選択し、「Finish (完了)」をクリックします。

Eclipse が、org.ocapproject.xlet.HelloWorld という名前の Xlet クラスを含むプロジェクト全体をセットアップします。あとは OCAP RI のためのセットアップをすればよいだけです。

サービスの構成を作成する

Eclipse メニューから、「Run (実行)」 > 「Package Services (パッケージ・サービス)」 > 「Open Services Dialog... (サービス・ダイアログを開く...)」の順に選択します。要するに、hostapp.properties ファイルに追加されるフィールドをセットアップするのです。

左側のリストで「Xlet Service Configurations (Xlet サービスの構成)」を選択し、「new (新規)」アイコンをクリックします (図 4)。

図 4. 「new (新規)」アイコン
「new (新規)」アイコンの例

表 1 の例と同じになるように値を入力します。

表 1. サービスの構成を作成する
エントリー
アプリケーションの名前HelloOCAP
アプリケーションの ID0x5025
組織の ID0x1
制御コードAutostart
表示/非表示Visible (表示)
タイプUnbound (バインドなし)
ベース・ディレクトリーEclipse のワークスペースとして別の場所を選択した場合には、プロジェクトへのパスが異なる可能性があることに注意してください。
Xlet クラスorg.ocapproject.xlet.HelloWorld

これらのフィールドに値を入力したら、「Apply (適用)」をクリックし、続いて「Package (パッケージ化)」をクリックします。

実行構成を作成する

最後のステップとして、Eclipse に対し、上記で作成したサービス構成 (hostapp.properties ファイルのようなもの) を使用するように設定します。そのための手段は「実行構成」と呼ばれます。

Eclipse メニューから「Run (実行)」 > 「Run Configurations (実行構成)」の順に選択します。「OCAP Simulation (OCAP シミュレーション)」を選択し、「new (新規)」アイコンをクリックします。

「Name (名前)」「Hello-1-run-configuration」に設定します。「Unbound Xlets (Xlet のバインド解除)」を選択し、「Add... (追加...)」を選択します。ドロップダウン・ボックスで、先ほど作成したサービス構成 (HelloOCAP-service-configuration) を選択します。

「Apply (適用)」をクリックし、次に「Run (実行)」をクリックします。OCAP RI がポップアップ表示され、しばらくすると、単純な「Hello World!」が画面に表示されます。

OCAP RI を適切に停止するためには、Eclipse メニューから「TWB」 > 「Stop Emulator (エミュレーターの停止)」の順に選択します。

開発サイクルを理解する

開発サイクルを理解するために、ソース・コードを変更し、変更された Xlet を OCAP RI 上で実行してみます。

まだ Eclipse の「Welcome (ようこそ)」画面が表示されていたら、ワークベンチ・アイコンをクリックします (図 5)。

図 5. Eclipse のワークベンチ・アイコン
Eclipse のワークベンチ・アイコンの例

HelloOCAP プロジェクトの中で src を展開し、続いて org.ocapproject.xlet を展開します。ソース・エディターの中で HelloWorld.java をダブルクリックして開きます。

ソースに少し変更を加えます。(簡単な変更として、HELLOWORLD_STR の定義を変更します。) 変更されたソース・ファイルを保存し、Eclipse メニューから「Run (実行)」 > 「Run History (ヒストリーの実行)」 > 「HelloOCAP-run-configuration」の順に選択します。Eclipse は、このプロジェクトをリビルドして適切にパッケージ化し、OCAP RI を起動してくれます。変更の結果が即座に表示されるはずです。

デバッガーを使う

Eclipse を利用すると、ブレークポイントの設定、コードのステップ実行、変数の検証など、いろいろと便利なことができます。そのためには単純に実行プロファイルの代わりにデバッグ・プロファイルを作成すればよく、そのプロセスは実行プロファイルを作成する場合とほとんど同じです。

Eclipse メニューから「Run (実行)」 > 「Debug Configurations (デバッグの構成)」を選択します。先ほど作成した実行構成が左側のリストに表示されているはずです。「OCAP Simulation (OCAP シミュレーション)」を選択し、「New launch configuration (新規の構成)」アイコンをクリックします。

「Name (名前)」には、「HelloOCAP-debug-configuration」と入力します。「Unbound Xlets (Xlet のバインド解除)」をクリックしたら、「Add... (追加...)」をクリックします。ドロップダウン・ボックスの中で、先ほど作成したサービス構成 (HelloOCAP-service-configuration) を選択します。

「Apply (適用)」をクリックし、「Close (閉じる)」をクリックします。

実行する前に、デバッガーの動作がわかるように、ソース・コードにブレークポイントを設定します。ここで例えば、HelloWorld のユーザー・インターフェースを作成する動作をデバッグしたいとします。コード・エディターをスクロールし、initGUI() メソッドの最初の行である 198 行目に移動します。テキスト領域の左側にある灰色の帯部分をダブルクリックし、ブレークポイントを設定します。ブレークポイントは小さな青い丸のように見えます (図 6)。

図 6. ブレークポイントを設定する
ブレークポイントを設定する例
ブレークポイントを設定する例

今度はデバッガーを起動します。「Run (実行)」 > 「Debug Configurations (デバッグの構成)」の順に再度選択し、「HelloOCAP-debug-configuration」を選択したら、「Debug (デバッグ)」をクリックします。すると OCAP RI が起動し、デバッガーがブレークポイントに達し、Eclipse は「Debug (デバッグ)」パースペクティブを開くかどうかを指示するように促す画面を表示します。「Remember my decision (決定を記憶)」にチェックを入れ、「Yes (はい)」をクリックします。

デバッガーは、実行中のすべてのスレッドのリスト、変数を検証できる領域、さらに別の場所としてソース・コードをステップ実行できる場所を表示します。ツールバーのボタンを使用すると、コードをステップ実行したり、次のコードへステップ・インしたり、あるいはコードの実行を継続したりすることができます。

Eclipse の使い方とデバッガーについての詳細は Eclipse のドキュメントを参照してください。

操作を終えたら、先ほどと同じように「TWB」 > 「Stop Emulator (エミュレーターの停止)」の順に選択し、OCAP RI を終了します。

第 2 回のまとめ

この記事では、OCAP 機器用の独自のアプリケーションを作成する方法と、それらのアプリケーションを OCAP RI を使ってデスクトップ・コンピューターで実行する方法について説明しました。これらをコマンドラインで行うことも可能ですが、Eclipse 用のプラグインを使用した方が、はるかに容易になります。また Eclipse を使用すると、優れたデバッグ機能も利用することができます。

これで、OCAP によってどんなことが可能か、そして望み通りのアプリケーションを作成するためにどんなツールが必要かの一端を理解することができました。OCAP が CDC/FP/PBP をベースにしているということは、一連の豊富な API を利用してアプリケーションを作成できるということです。ぜひ実際に OCAP を使用して素晴らしいアプリケーションを作成してみてください。そして OCAP RI のソース・コードを掘り下げる第 3 回にご期待ください。


ダウンロード可能なリソース


関連トピック

  • OCAP 規格は CableLabs からオンラインで入手することができます。
  • tru2way は 一般消費者向けの OCAP のブランド名です。
  • CableLabs には OCAP-RI 専用のウィキが用意されています。
  • Creating Interactive TV Applications With the Tru2way Platform and OCAP」(Bruce Hopkins 著、Sun Developer Network、2009年4月) は、双方向テレビの概念と、OCAP/tru2way の開発を開始するための方法を解説した記事です (ただし RI は使用していません)。
  • Blu-ray Disc Application Development with Java ME, Part 1: Creating Your First Application」(Bruce Hopkins 著、Sun Developer Network、2008年9月) には、ブルーレイ・アプリケーションの開発を始めるためのヒントが含まれています。
  • Cable Technology - Why Tru2way Will Explode In The U.S. In 2009」(Jeff Bonin 著、TMCnet、2009年5月) は、なぜ OCAP によって新しい製品やサービスへの需要が喚起されているのかについて、ケーブルテレビ業界内部の目で解説しています。
  • developerWorks の Java technology には、Java プログラミングのあらゆる側面を網羅した記事が豊富に用意されています。
  • OCAP RI プロジェクトは java.net でホストされており、このプロジェクトからバイナリー・インストーラーや Eclipse プラグインをダウンロードすることができ、またソース・コードの入手方法を知ることができます。

コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Java technology
ArticleID=480422
ArticleTitle=OCAP 入門: 第 2 回 OCAP RI のためのアプリケーションを作成する
publish-date=04052010