Blackberry デバイスから HTTP リクエストを送信するとどうなるか、誰か説明してもらえますか?
非常に多くのことを聞いて、MDS 接続サービスなどの用語に混乱しました。http 要求を受信するには、BES でいくつかの設定を変更する必要があるとさえ聞きました。本当に設定を変更する必要がありますか?
ブラックベリーのアプリケーション開発は初めてなので、わかりやすく説明してください。
Blackberry デバイスから HTTP リクエストを送信するとどうなるか、誰か説明してもらえますか?
非常に多くのことを聞いて、MDS 接続サービスなどの用語に混乱しました。http 要求を受信するには、BES でいくつかの設定を変更する必要があるとさえ聞きました。本当に設定を変更する必要がありますか?
ブラックベリーのアプリケーション開発は初めてなので、わかりやすく説明してください。
BES: 組織のすべての BB デバイスで構成されるプライベート ネットワークと考えてください。企業は通常、独自のネットワーク内に配置され、制御下にある独自の BES サーバーを実行します。BES 内の各デバイスは、このネットワーク内のデバイス、BES サーバー、および BES サーバー経由でアクセスできるネットワーク リソース (通常は他の企業アプリケーション サーバー) にのみ接続できます。通信は暗号化されます。また、エンタープライズ メール システムとの統合も提供します。さらに、BES 内のすべての BB は、各デバイスのポリシーを制御する BES 管理者によって管理されます。たとえば、特定のデバイスの GPS やインターネットを無効にすることができます。また、デバイスからアプリケーションをリモートでデプロイまたは削除することもできます。
MDS: BES のコンポーネントです。
BIS: これは特定の顧客を対象としています。BB が BIS にある場合、データは圧縮されて RIM サーバーに送信され、そこから目的地に中継されます。プロキシです。また、プッシュ メールやメッセージを可能にするものでもあります。BB を BIS に登録するには、携帯通信会社を通じて契約する必要があります。
詳細:
http://docs.blackberry.com/en/admin/deliverables/7335/BES_overview_658676_11.jsp
BlackBerryデバイスからHttpリクエストを送信すると、BlackBerryクライアントアプリはHTTPを使用してWebサービス/サーブレットに接続し、クライアント–>サーブレット–>クライアントからbyte[]を転送します。クライアントアプリは、接続を試みる前に、まずネットワークカバレッジをチェックします。
BlackBerryデバイスからHTTPサーバー(Webサービス、サーブレットなど)へのHTTPネットワーク接続を作成するにはさまざまな方法があります。これには、Wifi、APN / Direct TCP、BlackBerry Internet Service(BIS)、BlackBerry Enterprise Server(BES / MDS)を介したHttpリクエストの送信が含まれ、BlackBerryをBESに接続する必要があります。
BlackBerry Mobile Data System(MDS)は、アプリケーション開発用の柔軟なフレームワークであり、BlackBerry Enterprise Server(BES)のコンポーネントです。BlackBerry MDSは、セキュリティ、ワイヤレス接続、および管理機能のオプションを提供します。BlackBerryMDSサービスはBlackBerryEnterpriseServerソフトウェアに含まれており、すべてのブラウザーまたは接続要求を処理し、それに応じて要求をルーティングします。BISやその他の接続とは異なり、BlackBerryスマートフォンとBlackBerry Enterprise Serverの間を流れるデータは暗号化され、BlackBerry MDSを介して行われる接続により、BlackBerryスマートフォンサービスをサポートするワイヤレスサービスプロバイダー間でローミングが提供されます。この接続では受話器をBESに登録する必要があるため、すべてのユーザーが登録されているとは限らないため、アプリの実行にいくつかの制限があります。したがって、
次のメソッドを呼び出して、使用可能な接続でhttpリクエストを作成できます。最初にWifi、2番目にBIS、3番目にTCP、最後にMDSが優先されます。
public String checkInternetConnection()
{
String connectionString = null;
if ((WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED)&& RadioInfo.areWAFsSupported(RadioInfo.WAF_WLAN))
{
//WiFi is available
connectionString = ";interface=wifi";
}
// Is the carrier network the only way to connect?
else if((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_DIRECT) == CoverageInfo.COVERAGE_DIRECT)
{
//Carrier coverage
String carrierUid = getCarrierBIBSUid();
if(carrierUid == null)
{
// Has carrier coverage, but not BIBS. So use the carrier's TCP network
connectionString = ";deviceside=true";
}
else
{
// otherwise, use the Uid to construct a valid carrier BIBS request
connectionString = ";deviceside=false;connectionUID="+carrierUid + ";ConnectionType=mds-public";
}
}
// Check for an MDS connection instead (BlackBerry Enterprise Server)
else if((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_MDS) == CoverageInfo.COVERAGE_MDS)
{
connectionString = ";deviceside=false";
}
// If there is no connection available abort to avoid bugging the user unnecssarily.
else if(CoverageInfo.getCoverageStatus() == CoverageInfo.COVERAGE_NONE)
{
Dialog.alert("There is no available connection.");
}
return connectionString;
}
/**
* Looks through the phone's service book for a carrier provided BIBS network
* @return The uid used to connect to that network.
*/
public String getCarrierBIBSUid()
{
ServiceRecord[] records = ServiceBook.getSB().getRecords();
int currentRecord;
for(currentRecord = 0; currentRecord < records.length; currentRecord++)
{
if(records[currentRecord].getCid().toLowerCase().equals("ippp"))
{
if(records[currentRecord].getName().toLowerCase().indexOf("bibs") >= 0)
{
return records[currentRecord].getUid();
}
}
}
return null;
}