The main benefit of the Java language is the portability of Java applications across hardware platforms and operating systems -- possible because the JVM installed on each platform understands the same bytecode.
The Java language and platform are impressively scalable. At the low end, existing applications can easily be adapted for devices with limited-memory resources. Scaling up, the language is an ideal framework for server-side Web programming. Because it was designed to run in a secure manner over networks, it affords this level of security when operating over the Internet. In essence, Java technology extends a user's computing power from the desktop to the resources of the Web. Web components are supported by runtime platforms called Web containers, whose services include request dispatching, security, concurrency, life-cycle management, and access to APIs such as naming, transactions, and e-mail. At the high end, Java application servers serve as Web containers for Java components, XML, and Web services that can interact with databases and provide dynamic Web content; they also provide an application-deployment environment for enterprise applications, with capabilities for transaction management, security, clustering, performance, availability, connectivity, and scalability.
The Java language was one of the first technologies to support open standards in the enterprise, opening the door to using XML and Web services to help share information and applications across business lines. Java technology serves as the backbone of many IBM products and technical consulting services and is critical to key IBM initiatives:
- Learn more about the IBM Service Oriented Architecture - SOA philosophy and how SOA helps users build composite applications that draw upon functionality from multiple sources within and beyond the enterprise to support horizontal business processes.
- IBM's Business Process Management enabled by SOA offers a component-based, comprehensive approach to strategic change. Offerings are based on a flexible, extensible, open standards-based software -- including Java technology -- and hardware infrastructure.
- Java SE (Java Platform, Standard Edition). Formerly called J2SE, Java SE lets you develop and deploy Java applications on desktops and servers, as well as embedded and real-time environments. Java SE includes classes that support the development of Java Web services and provides the foundation for Java Platform, Enterprise Edition (Java EE). Java SE 6 ("Mustang") is the current major release of the Java SE platform. Many Java developers use Java SE 5, also known as Java 5.0 or "Tiger."
- The Taming Tiger columns provide an excellent overview of Java SE 5.
- The Magic with Merlin series covers the previous Java SE platform version, known as J2SE 1.4 or "Merlin." Many existing Java applications are based on J2SE 1.4, and most of the concepts in this series are relevant to Java SE 5 and Java SE 6 programming.
- The Taming Tiger columns provide an excellent overview of Java SE 5.
- Java EE (Java Platform, Enterprise Edition). Formerly called J2EE, the enterprise version assists in the development and deployment of portable, robust, scalable, and secure server-side Java applications. Building on the foundation of Java SE, Java EE provides Web services, component-model, management, and communications APIs for implementing enterprise class SOA and Web 2.0 applications.
- The J2EE pathfinder columns add to your knowledge of Java EE.
- The Getting on the open road: Migrate to the Java platform article series is designed to help developers of .NET, Windows client/server, and ASP applications make the jump to the Java EE platform.
- The J2EE pathfinder columns add to your knowledge of Java EE.
- Java ME (Java Platform, Micro Edition). Formerly called J2ME, Java ME provides a robust, flexible environment for applications running on a broad range of mobile and embedded devices, such as mobile phones, PDAs, TV set-top boxes, and printers. The Java ME platform includes flexible user interfaces, a robust security model, a broad range of built-in network protocols, and extensive support for networked and offline applications that can be downloaded dynamically. Applications based on Java ME specifications are written once for a wide range of devices yet exploit each device's native capabilities.
- Learn more in the comprehensive four-part series of two tutorials and two companion articles that focus on J2ME and the Mobile Information Device Profile (MIDP).
- Another helpful resource is the two-part tutorial "Build smart J2ME mobile applications."
- Learn more in the comprehensive four-part series of two tutorials and two companion articles that focus on J2ME and the Mobile Information Device Profile (MIDP).