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 :

by: Benoy Jose

Java Client Provisioning

Introduction:

From the onset java had projected itself as an Internet language capable of providing reliable, robust, platform independent applications that would transcend the barriers of the Internet. To this end, java introduced developer friendly packages like Swing, AWT, Servlets, EJBs, JSPs to augment its power to easily develop web applications. These technologies have fared well and propelled java as the most suitable and reliable language to create web enabled high-end applications.

The advent of web services and Mobile devices has introduced a new twist to the field of distributed computing. Web services enable diverse applications to talk to and interoperate with each other. The increasing demand for mobile applications is opening a new era in distributed computing.

Java introduced technologies like JNLP (Refer article "Article on Java Web start") to cater to this increasing demand, but plug and play applications and mobile applications are still premature. The J2EE client provisioning specification is one such attempt to provide plug and play applications especially for mobile and small devices.

This specification defines the rules to allow application servers conforming to the J2EE specification to host client services and applications that can be delivered to micro and mobile devices. The way this can be accomplished is with the aid of a provisioning server that would allow client devices to discover services advertised on the server. The chosen service can then be delivered to the device based on parameters like application type, client type, subscription status, etc. The service could be in the form of java bytecodes or jar files that would be downloaded on to the client machine and run on the client.

The target device could be any J2EE compliant device capable of handling J2EE applications. Presently services are targeted for Java Micro edition devices, MIDP clients and JNLP enabled desktop clients. More would be included as the specification gains acceptance in the industry.

Architecture:

The client provisioning specification is designed to function as a non-intruding part of any J2EE compliant server. A provisioning server handles any request from client devices. When a request is received the provisioning server would check with the repository of applications registered with it and provide access to the application if it is available.

Though java can handle multiple platforms, provisioning applications may have to cater to different protocols on different platforms. A Mobile device may need data in XML format, while a JNLP application may need a JNLP file to process a request. The provisioning server would need to cater to the needs of all these kinds of requests and protocols. To alleviate this problem the specification defines a provisioning adapter. A provisioning adapter defines the provisioning protocol required to provisioning on particular client platform. Provisioning adapters are discussed in detail later in the article. The provisioning API provides a client/device independent API that uses the provisioning adapters to provide support for multiple platforms and protocols.

The Actors:

To understand the specification better we shall discuss the roles of people involved in client provisioning.

The Client user is the end user or the user of a client device. The client user interacts with the provisioning server to discover application bundles and have application bundles delivered to his or her device. The client user is not assumed to be technically trained. He typically would be a subscriber of services that are advertised by the provisioning server.

The provisioning application developer is familiar with J2EE programming and the provisioning API. Each server is based on a business model and the provisional application developer is the person who can program or customize the client applications to conform to the business model of the provisioning server. He or she develops J2EE components that use the provisioning API to customize the provisioning server.

The bundle developer is usually a programmer whose job is to build interesting client bundles that can be run on client devices. Since the client bundle needs to be in the format specified by the specification, it is bundled by a tool that would build it as per the provisioning specification. The bundle developer is not familiar with the business model of the company running the provisioning server; he just creates client modules that do specific tasks.

The Stocker is responsible for configuring/adding and sorting the client applications on the provisioning server. The stocker knows the environment in which the provisioning server is deployed, and may adjust the bundle packaging attributes to suit a particular deployment scenario.

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