Accounting App Deployment
One of the driving factors that led to Web applications' current domination of the market was ease of deployment. When the business logic of a Web application changes, only the server end of an application needs to be updated and redeployed. The same cannot be said for standalone applications. When a new version is released, the user usually has to go through some sort of manual update or installation process. Smart-client applications, on the other hand, can update themselves when online, and they require no user intervention to do so.
A technology called Java Web Start (JWS) enables no-touch deployment in a J2EE architecture. Developing an application for deployment with JWS is almost identical to developing a standalone Java application. The key differences are that your application and its resources must be delivered via one or more jar files. These jar files must be signed to grant the application full system access, and you will need to provide a JNLP file to detail deployment information.
In order to implement no-touch deployment using JWS, you must do the following (Click here for additional information on no-touch deployment with JWS.):
- Install JWS on the client machine.
- Make your application's JNLP and jar files available via the Internet.
The following is the JNLP file for the firm's tax-return-processing application:
|JNLP File for Tax-return-processing Application|
A true benefit of this approach is that it is easy to convert an existing application, simply by launching and deploying it with JWS. By comparison, the .NET framework is not as effective at separating deployment logic from application code.
Instead of repackaging an existing application to be deployed and run though a standard startup application like JWS, the .NET framework provides a means to perform no-touch deployment programmatically with the Assembly.LoadForm method in the System.Reflection class (Click here for additional information on no-touch deployment in .NET). In order to implement no-touch deployment in .NET you must do the following:
- Create a lightweight application containing no business logic, only deployment logic.
- Install that application on the client machine.
- Make the fully functional business logic of your application available via the Internet in the form of DLLs.
The following sample code is from the deployment application for the firm:
|Sample Code from the Deployment Application|
Although writing a deployment application is fairly simple in .NET, JWS clearly gives J2EE the upper hand. However, the almost even match-up between .NET and J2EE swings in the other direction when you deal with data synchronization.