Java EconomicsHow important is portability? Since the release of J2EE, vendors have claimed adherence to standardization, while telling customers how to implement special features only available on their platform. But beyond specification compatibility, what is portability and how does it relate to developers?
First, portability is simply the ability for applications to be deployed on two or more app servers. Second, the measurement of this rests with Sun's Application Verification Kit (AVK). This is all that needs to be known about portability. If a vendor does not provide a standard run-time, then it does not support the value proposition of portability. If an application does not deploy on two or more app servers, then the developer has chosen not to adhere to J2EE standards. The implications of non-portability are nearly always higher maintenance costs, whether or not the customer re-deploys on a different app server at any point in the application's lifecycle. To avoid non-portability, customers should use the AVK to test all of their J2EE applications and components, and take steps to correct for non-portability. If the AVK certifies that the application is 100% J2EE, and it can be determined that the app server is non-compliant, then the customer should switch platforms. If the application or component proves to be less than 100% J2EE, steps should be taken to make the application compatible, and thus portable.
Developers, more than any other IT constituency, understand the benefits of portability, especially as it relates to maintainability. It cannot be epected that the same developer will manage the app throughout the lifecycle, and therefore developers monitor portability to enable other developers to make changes and enhancements. However, the best means to ensure portability and save customers many hours of development work is to use Sun's AVK.
What are web services? Java web services defines the specifications necessary to enable inter-operability of applications and components. The specifications to allow Java applications and components to be exposed as web services are the Java API's for XML, known as the JAX technologies. The JAX technologies to map, bind, register, and issue remote procedure calls on web services. JAX became a standard implementation with J2EE 1.3, and will provide additional capabilities with the release of J2EE 1.4. The key point for customers, developers, and system integrators is to get started with utilizing the ease and flexibility of Java web services by learning the capabilities of JAX.