The Symbian OS (779886), страница 37
Текст из файла (страница 37)
Inboth cases, secure versions of the protocols are also supported. Withina session, message-based transactions are conducted with the remote148THE APPLICATION SERVICES LAYERURL. A message is a generic abstraction that packages contents of anytype.As well as the Core API, clients can configure a session to use FilterPlug-ins that are loaded by the framework and used by applications tohandle, process or modify message content. Default filters are providedfor message authentication, redirection and validation.Beneath the Core API, protocol handlers and transport handlers interface to the underlying transport.
WSP and HTTP protocol handlers aresupplied by default. WAP Stack, WAP WTLS, HTTP and HTTPS transportsare available. WAP and WTLS use the WAP Stack interface directly; HTTPand HTTPS use the Socket Server to provide TCP/IP sockets or securesockets, in all cases using an appropriate network interface.Real-time transport protocolThe real-time transport protocol (RTP) is a network transport service thatprovides real-time guarantees on packet latency to support uses suchas interactive audio and video, for example, web conferencing. TCPbased packet services have a (relatively) high potential latency. For manyapplications, heuristics (buffering, selective dropping and repeating ofpackets, etc.) can be used to maintain service quality at a satisfactorylevel, even for demanding applications such as streaming. However,two-way interactive services have effective real-time requirements whichcannot be met simply by smoothing packet arrival latencies.RTP implements reliable and real-time bound transport using UDPpackets over IP.
RTP services support payload-type identification,sequence numbering, time stamping, and delivery monitoring of packets.From a system perspective, RTP is provided to support the MultimediaFramework introduced in Symbian OS v8. It is designed as a core softwarestack that implements RTP/RTPC packet creation and handling using theunderlying network infrastructure, and an upper API used by applications,which link to it.RTP is available to applications using a socket interface. From the userperspective, it is created and used in essentially the same way as anysocket-based transport.
Within a socket server session, an RTP subsessionis opened.RTP provides APIs to:• create and manage RTP sessions• register for and handle events• manage and access RTP packets and reports• create, send and receive packet streams• manage, send and receive reports.RTP was introduced in Symbian OS v9.COMPONENT COLLECTIONS149Session initiation protocolSession Initiation Protocol (SIP) is a simple but powerful protocol enablingpeer-to-peer, multiple-participant sessions to be created over a TCP/IPpacket network. The protocol is reminiscent of HTTP (in its use of URLsto identify participants) and SMTP (plain text messages).
SIP messages areused to set up and terminate sessions.The SIP Framework integrates a plug-in implementation into the underlying network infrastructure, including RTP. The operating system provides only the framework; licensees supply the service implementation.The SIP Framework was introduced in Symbian OS v9.2.Other Application ServicesImproved secure installation services provided by the App Installer and aSystem Starter that manages server startup at boot time were introduced inSymbian OS v9.1 to improve the supporting infrastructure for applications(although they do not expose APIs directly to applications).The App Installer uses the Certificate and Key Management services(see Chapter 8) provided by lower layers of the system to managecertificate- and key-secured applications.The System Starter, while it does not expose public APIs, is configurableby licensees.
In the original design of Symbian OS, true reboots wereassumed to be rare events. The operating system was designed to supportdevices that would run for months and even years at a time betweenreboots. Booting-up time was therefore an insignificant cost. However,the phone use case is very different. Phone users switch phones offfrequently and expect a fast boot when they switch them on.Symbian’s server model – ubiquitous use of servers to manage allsystem resources, logical and physical – leads to multiple servers beingstarted at device boot time with a cascade effect. (Any server can arbitrarilystart many other servers; in the past, some have.)The System Starter allows a start-up policy to be specified and enforced.This enables careful management of the start-up sequence, to enable adevice to become maximally responsive in minimum time, even if loadingof the full server set continues in the background.
If a server run list isfound, it is used to select which servers start and in which order. In thisscenario, some servers are not started until they are first called by a client.7.7 Component CollectionsThe Application Services layer contains the component collections shownin Figure 7.2.• System level services:Ž Application Framework150THE APPLICATION SERVICES LAYERApplicationServicesPIM ApplicationServicesOtherApplicationServicesPIM ApplicationSupportApplicationservicescontinuedFigure 7.2DeviceManagementOfficeApplicationEnginesTextData SyncServicesMessaging Application SupportClientProvision-ingContent HandlingInternet & Web Application SupportApplication FrameworkProtocolsServicesSupportComponent collections in the Application Services layerŽ Application Launch ServicesŽ Multimedia Protocols• Application services and engines:Ž Data Sync ServicesŽ Device ManagementŽ Client ProvisioningŽ PIM App ServicesŽ Other Application ServicesŽ Office Application Engines• Lower-level application support:Ž PIM Application SupportŽ Messaging Application SupportŽ Content HandlingŽ Internet and Web Application SupportŽ Printing SupportApplication Framework Collection• The Application Architecture component defines the key applicationresponsibilities and interactions with data and the user interface.Application FrameworkSecureSoftwareInstallJavaMIDletInstallerAppArchitectureViewServerFileCnvter.Frmwk.ContentHndlng.Frmwk.Figure 7.3 Application Framework componentsCOMPONENT COLLECTIONS151Table 7.1 Application Framework ComponentsComponent NameDevelopment NameApplicationArchitectureAPPARCView ServerVIEWSRVFile ConverterFrameworkCONARCContent HandlingFrameworkCONTENT HANDLINGSecure SoftwareInstallSECURESOFTWAREINSTALLJava MIDlet InstallerJAVAMIDLETINSTALLERIt encapsulates the key application classes, which are abstracted viaUikon and, ultimately, by a vendor-specific variant user interface.• The View Server component provides a mechanism for view sharingand view switching between applications.
A running application canswitch into and use a view belonging to another application.• The File Converter Framework component supports creation of fileconverter plug-ins that enable applications to request file-to-file conversion based on the MIME types of the files. It is typically usedto support conversion between Microsoft Office and Symbian OSproprietary formats.• The Content Handling Framework component contains the File Converter and Content Handling frameworks, which are used to provideapplications with common framework behavior independent of theuser interface.
The Content Handling Framework supports the finding, loading, processing and displaying of typed content by contenthandlers on behalf of applications.• The Secure Software Install and Java MIDlet Installer componentsenable the installation of native applications and Java MIDlets. SISfiles, based on versions of Symbian OS that do not include platformsecurity, do not install on devices based on Symbian OS v9.Application Launch Services CollectionThis collection (see Figure 7.4) contains only one component, whichenables policy-based startup of system servers at boot time.
The serverstartup sequence is defined in a policy file, which can be customized by152THE APPLICATION SERVICES LAYERApp. LaunchServicesSystemStarterFigure 7.4 Application Launch Services componentslicensees to tune boot-up time and ensure that the device is responsiveto the user as quickly as possible after switch on.Table 7.2 Application Launch Services ComponentsComponent NameDevelopment NameSystem StarterSYSSTARTMultimedia Protocols CollectionThis collection (see Figure 7.5) provides support for the real-time transportprotocol (RTP) and the session initiation protocol (SIP).Table 7.3 Multimedia Protocols ComponentsComponent NameDevelopment NameRTPRTPSIP FrameworkSIP COMSIP Connection ProviderPlug-insSIPCPR, SIPDUMMYPRT,SIPSTATEMAC, SIPPARAMS,SIPSCPR• The RTP component is a server- and user-side API providing socketbased access to RTP services.
It provides an IP-based real-time networktransport service.• The SIP Framework and SIP Connection Provider Plug-ins providesupport for SIP and integration into the networking infrastructure. ItMultimediaProtocolsRTPSIPFrmwk.SIPConnection Prov.PluginsFigure 7.5 Multimedia Protocols componentsCOMPONENT COLLECTIONS153does not provide the protocol implementation (which is provided as aplug-in by licensees). SIP is the main signaling protocol for 3GPP andis used by phone, multimedia and messaging applications.Data Sync Services CollectionThis collection (see Figure 7.6) provides support for data synchronization.Table 7.4 Data Sync Services ComponentsComponent NameDevelopment NameSync InitiationSYNCMLINITSERVEROMA SyncMLFrameworkSYNCMLCLIENTOMA SyncML DMInterfaceSYNCMLDMCLIENTOMA Data SyncSYNCMLDSCLIENTSyncML is an open industry standard, primarily for data synchronization but extending to device management. SyncML has been adopted andstandardized by the Open Mobile Alliance.The SyncML protocol supports data providers (for example, applicationengines) and components requiring remote management (for configuringsettings, for example) over various transports.
It is implemented as a server,with a supporting plug-in framework, that supports synchronization anddevice management over HTTP, WSP and OBEX.Client Provisioning CollectionThis collection (see Figure 7.7) provides components for client provisioning.Client Provisioning is an OMA standard for configuring applicationand network settings on mobile devices. It overlaps to some extentData Sync ServicesSyncInitiationFigure 7.6OMASyncMLFrmwk.OMASyncMLDM InterfaceOMADataSyncData Sync Services components154THE APPLICATION SERVICES LAYERClient ProvisioningClientProvisioningFrmwk.Figure 7.7ClientProvisioningAdapts.Client Provisioning componentsTable 7.5 Client Provisioning ComponentsComponent NameDevelopment NameClient ProvisioningFrameworkDEVPROV CLIENTPROV FRAMEWORKClient ProvisioningAdaptorsDEVPROV CLIENTPROV ADAPTERSwith SyncML and competes with proprietary alternatives (Nokia SmartMessaging and Nokia and Ericsson OTA).Client Provisioning supports components requiring either one-off settings configuration (network settings setup, for example) or continuousprovisioning (for example, settings management plug-ins to applicationsor Symbian OS services) over various transports.Device Management CollectionThis collection (see Figure 7.8) provides a framework and plug-ins implementing OMA Device Management based on SyncML and supportingRemote Terminal Management and continued provisioning of devices bynetwork operators.PIM Application Services CollectionThis collection (see Figure 7.9) provides specialized support specificallyfor the Agenda and Contacts applications.DeviceManagementDeviceMgmt.Frmwk.DeviceMgmt.Adapts.Figure 7.8 Device Management componentsCOMPONENT COLLECTIONS155Table 7.6 Device Management ComponentsComponent NameDevelopment NameDevice ManagementFrameworkDEVPROV DEVMAN FRAMEWORKDevice ManagementAdaptorsDEVPROV DEVMAN ADAPTERSPIM Application ServicesCalendarFigure 7.9AgendaModelvCalPluginContactsModelPIM Application Services componentsTable 7.7 PIM Application Services ComponentsComponent NameDevelopment NameContacts ModelCNTMODELCalendarCALINTERIMAPIAgenda ModelAGNMODELvCal Plug-inAGNVERSIT• The Contacts Model component is an application model providing acommon contact or address book API implemented over an underlyingdatabase.• The Calendar component is intended to replace the previous AgendaModel API.