什么是黑莓企业服务器?

时间:2012-11-13 05:29:35

标签: blackberry

任何人都能解释一下当我从黑莓设备发送Http请求时会发生什么吗?

我听到了很多东西,我对MDS conncetion服务等术语感到困惑。我甚至听说我们需要更改BES中的一些设置来接收http请求。是否真的需要更改设置?

请以明确的方式解释,作为黑莓应用程序开发的新手。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

当从BlackBerry设备发送Http请求时,BlackBerry客户端应用程序使用HTTP连接到webservice / servlet并从客户端传输byte [] - > servlet - >客户。在尝试连接之前,客户端应用程序首先检查网络覆盖。

有多种方法可以创建从BlackBerry设备到HTTP服务器(Web服务,servlet等)的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提供安全性,无线连接和可管理性选项。 BlackBerry MDS Services包含在BlackBerry Enterprise Server软件中,可处理所有浏览器或连接请求并相应地路由请求。与BIS或其他连接不同,BlackBerry智能手机和BlackBerry Enterprise Server之间流动的数据经过加密,通过BlackBerry MDS建立的连接可在支持BlackBerry智能手机服务的无线服务提供商之间进行漫游。由于此连接要求手机在BES中注册,因此对运行应用程序提出了一些限制,因为并非每个用户都可以注册。因此,在为Http请求创建应用程序时,您可以键入选项以检测可用的连接(Wifi,TCP,BIS,MDS等)并确定方法的优先级以发出请求。

可以调用以下方法使http请求具有可用连接。首先是Wifi,第二个是BIS,第三个是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;
}