Java ME 8とInternet o

Java ME 8のおもな機能
ORACLE.COM/JAVAMAGAZINE ///////////////////////////// MARCH/APRIL 2014
Java ME 8 Platform Overview
Application
(Examples)
Logistics
Additional
APIs
(Examples)
Messaging
Wireless
Communication
Protocols and
Data Conversion
Location
Web Services
Sensors
On-Device I/O
Access
Device I/O
API
Java VM
Smart
Metering
eHealth
Generic Connection
Framework
GCF 8
Security and
Management
Additional
Optional JSRs
Application
Platform
Java ME Embedded Profile
(MEEP) 8 (JSR 361)
Telemetry
Additional
Optional APIs
Vertical Specific
APIs
Security and Trust
Services
SATSA
Java ME Connected Limited Device Configuration (CLDC) 8 (JSR 360)
図1
MEの言語やプラットフォーム
全体に精通した、900万人を超
えるJava開発者コミュニティ
があります。その全員が、多く
の人が予測する第3のIT革命
に備え、それを促進しようとし
ています。図1に、Java ME 8プ
ラットフォームの概要を示しま
す。以降では、Java ME 8のおも
な新機能について詳しく見て
いきます。
Connected Limited Device
Configuration 8
Java ME 8構成の基礎となる
Connected Limited Device
JAVA TECH
なしに多くの障壁もあるので
す。組込みデバイス分野のテク
ノロジーが広く普及、浸透する
と同時に、ハードウェア・アー
キテクチャ、デバイス、
システ
ム・ソフトウェア、インフラスト
ラクチャの細分化も進んでい
ます。そのため、
プログラミン
グ言語、
ソフトウェア・プラット
フォーム、ツール、テスト、デプ
ロイ、
スケーラビリティ、開発
者コミュニティの観点からの
統合的な開発標準が強く求め
られています。現在、組込み分
野でハードウェアとソフトウェ
アが細分化されていることか
ら、特定のハードウェア・プラッ
トフォームについて開発ス
タック
(ランタイム、
ツール、言
語、API、
プロトコル、接続性な
ど)の全貌を明らかにしなけ
ればならないケースも多く発
生しています。
Java ME 8は、柔軟性とス
ケーラビリティに優れた、組込
み分野専用の開発/デプロイ
環境です。言語、標準、
プラッ
トフォーム、ツール、セキュリ
ティ、
スケーラビリティなどが
統合されています。すでにJava
Configuration 8(CLDC 8)は、
Java SE 8の厳密な拡張サブ
セットです。CLDC 1.1.1をさら
に進化させながら、仮想マシン
(VM)、Java言語、
コアAPIライ
ブラリについてJava SE 8との
整合を図っています。CLDC 8
は、ツールとプログラミング・
モデルの観点でJava ME 8と
Java SE 8の整合をとり、同時
に組込み分野を対象とした多
数の新機能を提供し、下位バ
イナリ互換性も維持していま
す。CLDC 8は、
アサーション、
ジェネリクス、
アノテーション
などの新しいJava言語機能に
ABOUT US
米
国ネバダ州ラスベガスで
開催された2014年コン
シューマ・エレクトロニクス・
ショーのメイン・テーマはウェ
アラブル・コンピューティング
でした。睡眠状態を監視する
STEVE MELOAN、
幼児服、
スポーツ対応機能強
TERRENCE BARR
化型リストバンド、加速度計付
Steve Meloan:
きのペット用首輪などの多彩
元 C/UNIX ソフ
なハードウェア・デバイスや、
トウェア開発者。
ネット接続機能を持つ自動
Wired、Rolling
車、
スマート・アプライアンス、
Stone、Playboy、
医療センサー、
スマート・メー
SF Weekly、San
ター、産業用制御機器などの
Francisco Examiner
主力テクノロジーの中に、多
などの各誌に Web
岐にわたる組込み/インター
やインターネットに
ネット対応型計算デバイスが
関する記事を執筆し
搭載されています。
この状況
ている。
はInternet of Thingsと呼ばれ
Terrence Barr:オ
ることも多くなっています。そ
ラクルの Senior
のようなインターネット対応
Technologist 兼
型のモノ
(Things)は今後10年
Product Manager。
で数十億台に達し、多種多様
Internet of Things
なハードウェア仕様やメモリ
および組込みテクノ
仕様が利用されると各所で推
ロジーを担当。
測されています。
しかし、良い話は常に、ある
Java 8
種の困難から始まります。急成
Is Here
長している組込みデバイス分
BARRの写真:
野の未来や可能性には、例外
TON HENDRIKS
COMMUNITY
Java ME 8とInternet of Things
JAVA IN ACTION
//embedded /
blog
56
ORACLE.COM/JAVAMAGAZINE ///////////////////////////// MARCH/APRIL 2014
Micro Edition Embedded Profile 8
CLDC 8は、
コア・ランタイム、
コア言
語機能、
コアAPIの観点からのJava
基本プラットフォームですが、組込
みアプリケーション・プラットフォー
ムを完全に定義しているわけではあ
りません。Micro Edition Embedded
Profile 8(MEEP 8)はCLDC 8の上層
に位置し、
アプリケーション・モデル
およびコンテナに加え、
システムへ
のアプリケーションのプロビジョニ
ング、複数のアプリケーション間で
のコード共有、
システムのライフサ
イクル期間におけるソフトウェア・コ
ンポーネント更新(新機能の追加、
更新プログラムやバグ修正プログラ
ムのデプロイなど)を行うための手
段を提供します。
MEEP 8では、
アプリケーション内
の個々の機能コンポーネント
(セン
サーへのインタフェース、データ・
フィルタ・ロジック、サーバーへの
接続など)をパーティション化し、モ
ジュール化することもできます。
こ
の方法により、処理の粒度がアプリ
ケーション・レベルではなくサービ
COMMUNITY
ス・レベルで設定されます。そのた
め、組込みアプリケーションのプロ
ビジョニング、管理、更新が、
より簡
潔で洗練された処理になります。
同時に、
プロファイル・セットを使
用したライトサイジングによって、各
アプリケーションのユースケースに
必要となるメモリ・フットプリントを
高度にカスタマイズできます。
アプ
リケーションの中には、特定の機能
セットを必要としないか、
または利
用しないものもあります。その場合
に、適切なプロファイル・セットを選
択することで、不要な機能やメモリ
を利用しないで済みます。後でユー
スケースの機能が拡張された場合
は、オプション・パッケージ(テクノロ
ジー固有API)を追加して、
シームレ
スにスケーリングできます。
メモリ・フットプリントの最小化と
アプリケーション機能のモジュール
化の両方に関連して、MEEP 8では
共有ライブラリ
(LIBlets)
も提供され
ます。
この機能により、複数のアプリ
ケーションで共通のライブラリ・コー
ドを利用できます。読取り専用の
コードが、
メモリ内で個別のアプリ
ケーション領域ではなく、1箇所の共
有領域に配置されます。
さらなるメ
リットとして、そのような共有ライブ
ラリ領域を1回更新/変更するだけ
で、その領域にアクセスするすべて
のアプリケーションに更新/変更を
適用できます。
同時に、組込みデバイス上で実
行されるアプリケーションでコラボ
レーションや通信を最大限行えるよ
うに、MEEP 8では、非同期型イベン
JAVA IN ACTION
つInternet of Things内で数百万
台、あるいは数十億台のデバイス
が稼働するようになれば、セキュリ
ティの重要性はますます高まりま
す。そのため、GCF 8ではTransport
Layer Security(TLS)1.2、Datagram
Transport Layer Security(DTLS)1.2
によるセキュアなデータグラム接続
などの最新のセキュリティ標準も提
供し、高水準のネットワーク暗号化
と認証を実現します。
JAVA TECH
も対応します。Java ME 8は、Java SE
に求められる柔軟性を達成するた
とJava MEとの本格的な統合を行っ
めに、携帯電話回線、Wi-Fi、有線な
た初めてのバージョンです。今後の
ど、多岐にわたる接続方法や接続要
リリースでは、両プラットフォームの
件が提示されます(1つのデバイス
整合性がよりいっそう高められる計
で複数の接続オプションに対応する
画です。
ことも多くあります)。
Java開発者は、現在のスキルを
Generic Connection Framework 8
使って、急成長中の組込みデバイス
(GCF 8)のAccessPoint APIは、各
分野向けアプリケーションをより簡単
ユースケース、利用可能な接続オプ
に構築し始めることができます。使い
ション、ローミング仕様/コスト、デー
慣れた同じプラットフォーム、言語、
タ送信要件に応じた、粒度の細かい
プログラミング・モデル、ツールを利
最適化された接続制御を実現しま
用できるのです。そうすることで、製
す。
品化までの時間を大幅に短縮し、
ク
また、数十億台のインターネット
ロス・プラットフォームの互換性や組
対応型組込みデバイスの時代が来
込みデバイスのスケーラビリティも
ると予想される中で、IPアドレスによ
確保できます。適切な言
る検索や相互通信がで
語およびAPIのサブセット
きることが不可欠です。
組込み
を選択するように気を配
GCF 8では、IPv6の完全
常時900万人を
ることで、CLDC 8対応の
サポートにより、IPv4のア
超えるJava開
小型デバイスからJava SE
ドレス枯渇という積年の
8対応の大規模なデバイ
課題に立ち向かいます。
発者がすでに
スに至るまで、広範囲の
また、IPマルチキャスト
この分野に携
ハードウェア上で変更を
もサポートされます。
こ
わっている中
加えずに実行できるよう
のサポートにより、ネット
で、
Java
ME
8リ
なアプリケーションやライ
ワークへのデバイスのイ
リースは幅広
ブラリを作成できます。
ンストール、他のデバイ
い新しいキャリ スの検出や接続に加え
て、完全に暗号化された
Generic Connection
アの可能性を
セキュアなサーバー・ソ
Framework 8
開く
のみなら
ケット接続を利用する際
一般的に、デスクトップ
ず、
急成長する
にサーバーとして動作さ
やサーバーの世界では、
組込み業界全
せることも可能になりま
単純で安定したイーサ
す。
ネット・パイプがアプリ
体がさらに発
現在のワイヤレス接
ケーションやシステムに
展するきっかけ
続環境ではセキュリティ
組み込まれます。
しかし、
にもなります。
が重要です。
さらに、将
組込み分野では多くの場
来ネット接続機能を持
合、特殊なユースケース
ABOUT US
//embedded /
blog
57
Security privileges requested by
software components are governed
by device and client policies
Device
App 1
Client A
App 3
App 2
Device Policies
Client B
Client Policies
Code Privileges
図2
トベース・メッセージング(パブリッ
シュ・サブスクライブ・メカニズムに
類似)
と、同期型MIDlet間通信(略称
IMC、UNIXのパイプに類似)の両機
能が提供されます。
MEEP 8は、粒度の細かい洗練さ
れたセキュリティ・モデルにも対応
し、認証と認可のためにユースケー
ス固有のセキュリティ・ポリシーを
利用できます(図2)。サンドボック
ス内で実行することで、
コードのセ
キュアなロード、検証、データの型付
けが保証され、
リソースやデータへ
のアクセス権限を柔軟に設定でき
ます。個々のソフトウェア・コンポー
ネントは特定のクライアントに関連
付けられ、許可された権限を継承し
ます。
さらに、
アクセス・イベントが
発生するたびに権限の確認が行わ
れます。
Device Access API
過去のJava MEリリースですでに導
入されているDevice Access API for
Java ME 8は、
プラットフォーム非依
存の方法で組込みJavaアプリケー
ションから周辺機器(ボタン、
スイッ
チ、センサー、LED、液晶画面、オー
ディオなど)にアクセスするための
重要な機能です。Java ME 8では対
応デバイスの種類が増加し、新しい
機能も追加されました。
また、遅延
バインディング機能によって、APIを
変更せずに新しい種類の周辺機器
を追加できます。
Java ME SDK 8
Java ME SDK 8は、組込み開発専用
のフル機能搭載型ツールセットで
す。各種デバイスのエミュレート環
境やシミュレート環境が含まれて
いるため、
アプリケーションをハー
ドウェアと並行して開発でき、製品
化までの時間が大幅に短縮されま
す。開発者はシミュレート、テスト、デ
バッグをエミュレート・モードで実行
できます。その後、実際のハードウェ
ア・デバイスや周辺機器の準備が
整った際には、
より自信を持ってア
プリケーションの最終テストを実施
できます。
Java ME SDK 8では、セキュリティ、
ORACLE.COM/JAVAMAGAZINE ///////////////////////////// MARCH/APRIL 2014
まとめ
かつて携帯電話分野において、現在
の組込みテクノロジー分野と同様
に、多くの方面でハードウェアの細
分化が見られた時代がありました。
最終的にスマートフォンやモバイ
ル・アプリケーションの急成長を生
み出した要因の1つは、標準開発プ
ラットフォーム、言語、ツールが確立
されたことです。
Java ME 8は現在、インターネッ
ト対応型組込みデバイス、および
Internet of Things向けに、
まさに
そのような包括的な専用プラット
フォームを提供しています。
さらに、
常時900万人を超えるJava開発者
がすでにこの分野に携わっている
中で、
このリリースは幅広い新しい
キャリアの可能性を開くのみなら
ず、急成長する組込み業界全体が
さらに発展するきっかけにもなりま
す。
だからこそ、今始めるべきです。
現在、Oracle Java ME Embedded 8
(Java ME 8標準のオラクルによ
る実装)が提供されています。対
応プラットフォームは、Raspberry
Pi Model B(ARM11)および
Qualcomm IoE platform(ARM9)
で
す。
また、Oracle Java ME SDK 8も提
供されています。
このSDKは、Java
ME 8ベースのアプリケーションの
開発を支援します。Windows 7向
けのエミュレート・ランタイムのほ
か、前述のRaspberry Piデバイスや
STMicroelectronicsデバイスにも対
応します。
Oracle Java ME Embedded 8と
Oracle Java ME SDK 8のリリースは、
評価および開発の目的で、Oracle
Technology Network開発者ライセ
ンスの下で無償で入手できます。</
article>
COMMUNITY
メモリ、ネットワークの監視ツール
に加えて、Developer Agentによっ
て、通常の組込み開発環境にはない
高水準のアクセスや制御が可能で
す。たとえば、デバイスのリセット、画
面のないデバイス上のファイル・シ
ステムへのアクセス、設定変更など
を、すべてJava ME SDK 8から実施
できます。同時に、NetBeansプラグ
インにより、
フル機能搭載型のIDEを
Java ME SDKと統合できます。その
ため、使い慣れた統合開発環境を
Java ME、Java SE、Java EEにわたっ
て利用でき、EclipseのJava SE 8、
Java ME 8、Java ME SDK 8サポート・
タイムラインに従ったEclipse向け
のサポートを利用できます。
JAVA IN ACTION
Support for device- and client-specific security policies
JAVA TECH
Java ME 8 Security Domains
ABOUT US
//embedded /
MORE ON TOPIC:
Java 8
Is Here
LEARN MORE
• Oracle Java ME Embedded FAQ
blog
• JSR 360(Connected Limited
Device Configuration 8)
• JSR 361(Java ME Embedded
Profile)
58