advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

Tutorials : Java Client Provisioning :

Discovery:

One of the main functions done by the Provisioning server is to discover a client service and make it available to a device. Discovery is the process by which client devices discover the services that are advertised on the provisioning server. The discovery process will:
  • determine the characteristics of the device of the target user
  • use the provisioning API to generate URIs for the target device that it can subsequently use to initiate delivery of bundles
  • use the repository API to query the repository and build lists of suitable bundles that can be delivered.

There are different ways by which the discovery process can be accomplished; the most common among them is the browser based discovery. Here a web based servlet/JSP website is created and dedicated to provide discovery services. The actual discovery is done by a servlet that is registered with the provisioning server as a named URL using servlet mapping so that any discovery request made to the provisioning server can be handled by the servlet. The provisioning API provides an interface named javax.provisioning.ProvisioningContext which can be used by the developer to find the system capabilities of the system making the request. The provisioning context is available as a attribute in the ServletConfig of the named servlet. The ProvisioningContext is useful in getting device information like the client platform, memory available, preferred locales and the network address of the device.

Based on the information gathered the servlet makes a call to the registry of client services and determines the services that can be made available to this client device and then displays the list to the client.

Other forms of discovery that can be used are technologies like SMS, MMS, and SMTP. Here a notification is sent to the client device with a link to the client application of interest. The client device may at its discretion make a call to the service and initiate delivery.

Repository:

The specification provides a Bundle Repository API which provides access to the repository of client bundles and their associated meta-data. The API supports the matching of bundle requirements against device capabilities, and it allows other search criteria to be implemented in Java.

The repository is where the all the client applications registered with the provisioning server are stored. It contains the details of all client applications with their multiple versions and variants.

A client bundle may have the same ApplicationID but different versions stored in the repository. Usually the latest version is the one returned when a request is made. However the Bundle Repository API has methods to download versions other than the latest one. Added to this, a client bundle may have multiple versions and each version may have multiple variants. Variants are applications with the same ApplicationID and version but with different requirements. Examples of variants are applications for different screen sizes or locales.

The Bundle Repository API has an important method Collection getBundlesFor(Capabilities capabilities, List matchpolicies); The method returns a collections of BundleDescriptor objects that match the capabilities provided. matchPolicies is a list of objects implementing the MatchPolicy interface. They are used to filter the Collection. Capabilities may be null, in which case no filtering is done based on matching bundle requirements against capabilities. MatchPolicies may also be null, in which case no filtering is done based on MatchPolicy objects. Therefore, if both arguments are null, the method will return all bundles in the repository.

The Delivery:

Discovery helps in discovering the service after which the next step is for the client to choose the service and allow it to be delivered to the client device. The discovery process produces a list of allowed URI's that are displayed to the client device. The URI is provided by the FullfillmentTask.getDeliveryURI() method. The FullfillmentTask does the job of delivering a particular client bundle to a particular user using the specified provisioning model.

Each Fullfillment task is uniquely identified by a fulfillment ID string. After initial creation of a fulfillment task to deliver a client bundle, the provisioning framework is responsible for maintaining fulfillment tasks across delivery interactions with the provisioning server. The provisioning server must ensure that the fulfillment ID is unique for every new fulfillment task created by the provisioning developer.

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Microsoft Visual Studio 2010 Showcase
 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 39
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Windows 7: From Beta to Final Code in One Year
Google Shows Off Chrome OS, Releases Source
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?
Fedora 12 Takes Aim at Linux Networking
Top Supercomputer Nearly Doubles in Speed
Fedora 12 Linux Tackles Virtualization
Apple Gives iPhone Developers App Status Tracker
Novell Sets OpenSUSE 11.2 Free

Creating Custom Export Filters for StarOffice with XSLT
WPF Wonders: Using DataTemplates
Crystal Reports Family Offers Options for Developers
Avaya Aura Session Manager video
Avaya Aura Overview video
Exploring HTML 5's Audio/Video Multimedia Support
Overriding Virtual Functions? Use C++0x Attributes to Avoid Bugs.
Understanding the Cloud Computing Security Vulnerabilities
Cisco and IBM Target a Greener World
Upgrade to Visual Studio 2010 with the Ultimate Offer

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs