「BREW」とは「Binary Runtime Environment for Wireles」の略で、2001年1月にQUALCOMM社によって発表された「CDMA方式の携帯電話のワイヤレス・アプリケーション・プラットフォーム」です。
携帯電話向けのソフトウェア実行環境で、より高速なデータ通信を可能にする次世代携帯電話の新機能として注目されており、携帯電話間の仕様の違いをなくし多数の携帯電話に対応できるよう設計されています。世界的にもプログラマーの多い,C
や C++ の開発環境を採用していますが、JavaVM の搭載によって Java でも利用が可能になります。
BREW の目的はほとんどすべての携帯端末(ハイエンドの統合 PDA から低価格の大量生産向け携帯電話まで)にシームレスに移植できるアプリケーション開発のためのアプリケーション実行環境(AEE)および開発環境を提供することです。
現在、携帯端末のユーザはますます多くの機能を期待するようになってきています。しかし、最新の機能の実行はデバイスレベルで処理するのにはあまりに複雑で、コストがかかるものが多く、デバイスレベルでの開発を行うと異なったデバイスを使った端末上では動作しないため、また新たにアプリケーションを作り直す必要があります。BREWではアプリケーションとデバイスプラットフォーム間のやり取りはすべてクラスを介して行われるため、開発者は低レベルのプラットフォームのデータ構造やデバイスドライバを考慮せず、一度書けばどの端末でも動作させることが出来ます。
BREWの最新バージョンは2.0で、来年初頭には「BREW 2.0」を組み込んだ携帯電話が発売されます。
BREWを用いる事で様々な事が可能になります。
BREWの最大の特徴として,1つのアプリケーションがほかのアプリケーションを呼び出したり,あるいは携帯電話の中にある電話帳やユーザー情報などにアクセスできることが挙げられます。NTTドコモのiアプリでは,セキュリティ面からこうしたことを一律禁じる仕様になっていますが,そのためiアプリでできることが少ないというのも事実です。その他にも次のような様々な特徴があります。
現在、携帯電話上で動くプログラムでは携帯端末に搭載されているプラットフォームはメーカによって名称は違いますがJavaをベースとしたものを搭載しています。 それらの携帯Javaアプリケーションは携帯電話の内蔵プログラムとなるJava-VM(Java言語を実行する仮想マシンが動いている上でアプリケーションが動作しています。一方BREWは携帯電話のハードウェア自体が直接実行できるプログラム(ネイティブコード)を実行するのでJavaアプリケーションを動かすときと比べ、メモリの使用も減り、処理も二重ではなくなるため処理速度の向上も見込めます。
BREWアプリケーションとしてJavaVMを動かすことも可能で,既にBREW向けのJavaVMも発表されています。BREWの上でJavaVMを動かせばJavaVMに問題が起きても,BREWのダウンロード機能を使ってJavaVMをアップグレードすることもできます。
BREW と Java の違いの1つはセキュリティモデルです。Java では JavaVM が(ハードウェアなどへのアクセスを)ブロックしセキュリティを保ちますが,BREW では開発者を特定できます。つまり,BREWは開発者がキャリアに登録して初めてアプリケーションを動かせるセキュリティモデルを取っています。一般の開発者が自由にBREWを利用することはできませんが,デバイスのすべての特殊機能にアクセスできるという利点も持ちます。
機能 |
iアプリ | BREW |
言語 | Java | C/C++ |
実行環境 | 仮想マシン | ネイティブ |
プログラムサイズ | 10Kバイト | 制約なし・ハードウェアに依存 |
プログラム署名 | なし | あり |
セキュリティ | 動作範囲に制約 | 署名必須 |
開発環境 | 無償配布 | 無償配布 |
アプリの公開 | 誰でも可 | 認定を受けたプログラムのみ |
BREW はVisual C++などの一般的な開発環境で作成することができ、それをネットワーク上からダウンロードし、携帯端末上の BREW AEE(後述)で実行します。欧米や中国等では導入が進んでおり、日本では多機能なサービスを提供する必要があったため導入が遅れましたが、KDDIが「C3003P」のような最近のcdmaOne端末にBREWを導入し始めました。
開発において、BREW アプリケーションのコンパイルには DLL とヘッダファイルのみを使用(テストには BREW エミュレータが必要)するので、Visual C++ のような一般的な ソフトウェア開発環境 を使って開発することが可能です。そのため、実際に導入する際には比較的速やかに導入できるでしょう。
BREW アプリケーションは携帯端末上の BREW AEE を利用して実行されます。
BREW AEE は OS レベルのタスク管理、ファイル管理等を行い、それを操作するための API を提供します。
高度な機能を持つモジュールを提供し、アプリケーションの開発を容易にします。
Qualcommから無償で提供されており、これが現状では唯一の開発環境となります。
現在はWindows版しか存在しません。
BREWのアプリケーション開発環境は完全な拡張性を持つオブジェクト指向の環境で、アプレットと共有モジュールをCまたはC++で開発できます。また、BREWはモバイルデバイスでの効率とメモリ管理に注目して設計されています。
BREWはアプリケーションと共有モジュールをサポートします。アプレットとモジュールはスタンドアロンDLLとして開発し、実行時にBREWエミュレータにロードします。
アプレットの作成方法BREWアプレットは、BREW SDKや実機上でコンパイル、実行できるように開発します。
アプリケーションを作成するには、Windowsオペレーティングシステムで動作するソフトウェア開発ツールとBREW SDKに付属するアプリケーションの基盤を形成するいくつかのファイルも必要です。
アプリケーションはスタンドアロンDLLとして作成されます。
必要なものアプリケーションの配布をキャリアが制御・管理し、価格を決めて加入者へのサービス提供を認めることで、キャリアが開発者から容易にアプリケーションを入手して市場に出すことを可能にするシステム。
キャリアはBDSをニーズに合わせて調整できる。例えば、自分達で開発したアプリケーションに価格をつけて配布したり、それを管理するサードパーティーの選択をしたり、Extranetを通してクアルコムにアプリケーション配布と、キャリアに開発期間の管理を任せることも出来る。
起動時に読み込まずに、必要になったときにメモリ上にロードする仕組のこと。起動時に読み込む方法は静的ローディングと言う。
ハードウェア/ソフトウェアから渡されるイベントに応じて処理を行う方式
ソフトウェアやハードウェアを、特定の地域向けに修正する作業。たとえば英語のソフトウェアなら日本語を使えるように修正しマニュアルも翻訳版を作る作業が含まれる。
英語80文字、日本語なら40文字を携帯電話の液晶画面に送るサービス、顧客DBなどを活用した強力な情報伝達、及びmCRMのための手段で脚光を浴びている。
KDDIなどの提携会社のこと
アプリケーションを認証させるためのWeb上の窓口。IDとPassを取得する必要あり。