Tuesday, December 6, 2011

How to Learn WebSphere in 31 Days - Part Three: A Quick Java and WebSphere Review or Overview

-->
This is a quick review or overview of Java and WebSphere Application Server to get you prepare for this technical training program of WebSphere. You do not need to have in-depth understanding of all the technologies of Java and WebSphere to be a good WebSphere engineer. However, a basic knowledge helps. 

What is Java SE 6 or JSE 6? Can you tell the differences between Java SE 6 and Java EE 6? Is the JRE 6 a synonym of JDK 6? What is the connection between Java technologies and WebSphere Application Server?

Over the years I have seen experienced WebSphere system engineers who cannot confidently answer these questions. I agree that you may never have to directly answer these questions, as a WebSphere system engineer. However, WebSphere Application Serve, from a knowledge acquisition perspective, is an implementation and subset of JEE technology. As a result, if you can identify foundational Java concepts, it significantly helps with your learning of WebSphere Application Server technologies.

For example, if you can identify the technical characteristics of a “stand alone” JVM, you may avoid making a mistake in agreeing to support a Java application that executes in a JVM outside WebSphere Application Server. Many WebSphere engineering organisations specialise in supporting WebSphere systems with containers for JEE applications and may have a policy of not supporting Java applications that run in “stand alone” JVM instances. To be able to follow this policy, you first and foremost have to be able identify a “stand alone” JVM from an application server.

In addition, from a learning perspective, to have a bird eyes view of the WebSphere technologies help speed up the learning of technical details as a kind of “top down” approach.

This chapter will help you identify, as an overview and a refresh, JSE 6, JEE 6, and WebSphere Application Server as a preparation for you to work through the rest of this WebSphere training program.

JDK 6.0

A WebSphere engineer needs to know JDK 6.0 for two practical purposes. Firstly, provide consulting services to the application developers on the new features supported by different version of JDK. Secondly, to identify which JDK is supported by the WebSphere Application Server release under discussion. Different WebSphere Application Server releases may support different JDK releases. The application developers need JDK new feature information to decide which WebSphere release to target as the execution environment. Beside, you need to know the JDK to help with important decision such as WebSphere system upgrade.

Now let’s review Java basics, then, have a look at the new features of JDK 6.0.

Java SE 6 stands for Java Platform Standard Edition 6. This Java platform is also referred to as Java Development Kit, or JDK, that includes three major components.
  • Java tools and tools API, for example compilers and debuggers
  • A set of standard libraries of Java API
  • Java Virtual Machine (JVM) - the execution environment of a Java application
Java Runtime Environment, JRE, has the standard Java API libraries as well as the JVM, but does not include the Java tools or tools API. JRE is a subset of JDK.

JSE 6 is used for developing and executing Java applications on the desktops or on the server as “stand alone” Java applications that does not run within the execution environment provided by an application server such as WebSphere. In addition, a JRE allows Java applets1 run within popular browsers.

New features for JDK 6.0
  • Web ServicesWeb Service is typically an API that is accessed through HTTP. This is an important technology, especially as a critical building block for Service Oriented Architecture (SOA). You should develop a conceptual, if not technical understanding of Web Services and SOA. JDK 6.0 provides better support for developers get web service client applications. For example, the developer can expose his API as .NET interoperable web services with a simple annotation
  • ScriptingJDK 6.0 allows the mixing of Java Script technology source code into Java code
  • DatabaseJDK 6.0 has a great out-of-the-box development support for database applications, the Java SE 6 development kitthough not the Java Runtime Environment (JRE)co-bundles the all-Java JDBC database, Java DB
  • Monitoring and ManagementJDK 6.0 adds more monitoring and management tool for diagnostic information as a development aid. For example, JDK 6.0 has memory-heap analysis tool JHat for examining core dumps
  • Pluggable AnnotationsAnnotations and Aspect Oriented Programming in a sense extends Java as an Object Oriented language. JDK 6.0 provides better support for annotations

JEE 5.0

You may wonder why we want to learn on JEE 5.0. The answer is simple – this training program focuses on WebSphere Application Server 7 that supports JEE 5.0.

JEE 5.0 is the abbreviation of Java Platform Enterprise Edition 5.0. JEE 5.0 is an industry standard for developing and deploying server-side enterprise applications. JEE 5.0 consists of application programming interfaces (APIs), a set of services, and protocols that provide the functionality of developing web-based applications. In addition, Java EE Compatibility Test Suite (CTS) is provided to test the compatibility of an Application server product.

New features of JEE 5.0
  • Enterprise JavaBeans 3.0 - EJB 3.0 is one of the most important components of JEE 5 Specification with host of new features and enhancements such as annotation and interceptor.
  • Java Persistence API providing a POJO based persistence model - now you can use POJO objects to persist into database, its much like hibernate and other ORM tools.
  • JavaServer Faces 1.2 - JavaServer Faces technology simplifies building user interfaces for JavaServer applications
  • Web Services Metadata for the Java Platform 1.0 - the web services metadata specification provides a rapid and simple solution to define and develop web services.
  • Java API for XML-Based Web Services (JAX-WS) 2.0 -
  • Java Architecture for XML Binding (JAXB) 2.0
  • Streaming API for XML (StAX) 1.0
  • Java Web Start technology support - Standalone rich Java applications can be accessed with a single click over the network from Application Server eliminating the need of local client configurations etc.
  • EL Resolution - The new EL spec allows you to chain, resolution for both variables and properties. Now the variable resolution can be chained with Spring.
  • SE 5 Support - JEE supports annotations and other features of JSE.
WebSphere Application Server

WebSphere Application Server is the flagship product of IBM WebSphere technologies. WebSphere Application Server is JEE compatible. In addition, WebSphere Application Server confirms open other standards such as XML and Web Services. It works with a variety of web servers, for example, IBM HTTP server.
WebSphere Application Server provides the execution environment for JEE business applications. The application developers do not have to work on the infrastructure aspects such as hardware, operating system, and the network. The WebSphere Application Server also provides the following.
  • A transaction and messaging engine
  • Delivering business logic to end-users on a variety of client devices
  • Serving as middleware between back-end systems and clients
  • Provides a programming model
  • An integration point to a variety of applications confirming to SOA reference architecture
  • Serving as the base for other WebSphere products, such as IBM WebSphere Enterprise Service Bus, WebSphere Process Server, and WebSphere Portal
  • JEE application security enabling and management
  • Flexible system management capabilities
1. A Java applet is an applet (small special task application within the context of a larger application) to delivered to the users usually through a Web browser using a Java Virtual Machine (JVM) or Java Runtime Environment (JRE).
2. WAS or WebSphere may also be used to refer to WebSphere Application Server in the rest of this series of discussion.

For further reference, I have one chapter in my WebSphere engineering book that is dedicated to technical training, hiring considerations, and the technical skills needed to be a good WebSphere system administrator.

No comments: