Basics
of Java Technology
This section provides an overview of Java technology as programming language
and a platform. Java technology is a simple, secure, robust, complete object
oriented and platform independent high level programming language. It is
also portable, high performance, multithreaded and networksavy that enable it in
constructing software that can run along in small machines. The whole
technology is based on the concept of Java Virtual Machine (JVM) that
acts as a translators of byte code into machine language. In other words
JVM converts the java byte codes into platform specific machine language.
Understanding the Java
Technology
Java technology is high-level, object-oriented, very robust programming
language. Java is platform independent programming language and you can run
your compiled code on any operating system without recompiling your source
code. Java technology is based on the concept of a single Java virtual machine
(JVM) -- a translator between the language and the underlying software and
hardware. All implementations of the programming language must emulate the JVM,
enabling Java programs to run on any system that has a version of the JVM.
If you want to start java programming
then you need to use a text editor to create and edit the source code. By
using the Java complier, you can change the source code into byte code. The
byte code can be run on any platform having Java interpreter that can convert
the byte code into codes suitable for the operating system.
Why Java Technology is so important?
This high-level powerful programming language provides a powerful software
platform as the JVM installed on different platform understand the same byte
code. This is ideal for server side web programming and runs in a secured
manner over internet. It enhance the computing power of the users by taking
merely from desktop to the resource of the web. It contains JVM and Java
Application Programming Interface (API) that are kinds of readymade software
components, and for using any component, the need is just to import a related
package in your program use the functionality. It offers development tools that
can be used in compiling, running, debugging and documenting the application,
making the Java programming fun and easy. The automatic garbage collection
mechanism helps in avoiding memory leaks and its coding takes less development
time than other programming languages like C++.
Different Editions of Java Technology
a) Java SE - Java SE or Java Standard
Edition provides tools and API's that you can use to create server
applications, desktop applications, and even applets. These programs developed
using Java SE can be run on almost every popular operating system, including
Linux, Macintosh, Solaris, and Windows.
b) JEE - Based on the foundation
framework of the standard edition, Java Enterprise Edition helps in web
application service, component model and enterprise class service oriented
architecture (SOA).
c) JME -
Java Micro Edition or JME for short is an accumulation of Java APIs that are
used for the development of software for devices like mobile phones, PDAs, TV
set-top boxes, game programming. The platform of micro edition generally
consists of an easy user interface, a robust security model and a wide variety
of built-in networks for running Java based application.
Components of each edition
JSE Components
JavaBeans - It is the component
architecture for J2SE platform and one can develop and assemble these software
programs for better web application. It is a reusable software component that
can be manipulated visually in a builder tool. This software assists visual
builder tools in using reflection, introspection, and also analyze and
customize JavaBeans.
Java Foundation Classes
(JFC) - It is a part of Java class libraries
based on the Java platform used for developing graphical user interface (GUI).
JFC helps in 2D graphics, imaging, text formatting and printing with the help
of A3bstract Window Toolkit (AWT), Swing and Java2D. With the help of input
method framework, the JFC technology assists in preparing application that can
be accessible to all users around the world in different languages. Drag and
Drop is another feature of JFC that supports data transfers between different
Java applications.
JavaHelp - It is a platform independent and a
feature oriented software system that offers developer an automated help
component. JavaHelp 2.0 API is useful while building online documentation and
presenting online information to the application users.
Java Web Start - It is framework in the Java platform
that assists in starting Application software directly from the internet by
using a web browser. As we know Java applet can run in a browser but in case of
Java Web Start, it doesn't run inside and solve many complex problems
associated with Java plugins and JVM. It also provide many classes that
in turn provides various services and allow better access to resources. Version
1.0 was introduced in the year 2001. Now with the release of J2SE 1.4, Java Web
Start is included with Java Runtime Environment and does need any separate
installation.
Java Database Connectivity (JDBC) - JDBC API is a part of Java Standard Edition
that helps in accessing data from a SQL based database. Besides, it also
process the result and allows in using the programming language with
"Write Once, Run Anywhere" feature. Some of its key features are like
full access to metadata, no special installation and database
identification.
Java Media Framework
(JMF) -
Its an advanced API that
allows Java developers to process and add audio-video source to Java
application and applets. It is useful for multimedia developers to capture,
playback, transcode different media formats.
JEE - Components:
Enterprise JavaBeans (EJB) - This
technology is a server side component of Java platform used for the
construction of enterprise application. It is one of the Java APIs attached
with the enterprise edition. By using Java technology, EJB helps in quick
development of small, distributed, transactional and secure application.
JavaMail - This JavaMail API technology allows
to build mails and messaging application in a platform independent and protocol
independent framework. It is both a part of JSE and JEE platform. Thus,
JavaMail uses an extensible platform for transferring all kinds of Multimedia
Internet Mail Extension (MIME).
Java Message Service
(JMS) - Developed
under Java community process, JMS technology is used for sending messages
between users. Basically, it is an enterprising messaging tool used for
building enterprising application. The JMS API is a combination of Java technology
and enterprising messaging that provides facilities for building small message
based application. It functions under two models: Point-to-Point and Publishing
& Subscribing model.
JavaServer Pages (JSP) - The JSP technology enables web developers in
developing and maintaining web content pages in formats like HTML and XML. With
the help of JSP, it becomes very easy to build server and platform independent
web based application. This uses HTML and XML tags that offers logical solution
for the content. This separately user interface and content development from
each other, which allows the designer to change page layout without changing
the content.
Java Servlets - This enables a developer in adding
content to a web server by using Java platform. This provides the mechanism for
enhancing the functionality of web server. In short, servlets provides platform
independent and component based web based application without the performance
limiting of CGI program.
JME - Components:
Connected Limited Device Configuration (CLDC)
- It is one of the configurations of Java Micro Edition. 'Configuration'
describes minimal features of a complete Java. The CLDC specifies the
capabilities of JVM, the base set of API for resource limited devices like
pager and mobile phones. There are two version of CLDC: version 1.0 was
released in 2000 and came to be known as Java Specification Request (JSR)30.
Later version 1.1 or JSR 139 but 1.0 is more widely used. The Connected Limited
Device Configuration and the Mobile Information Device Profile (MIDP) together
provides solid Java platform for developing application to run on less
processing power devices.
Mobile Information Device Profile (MIDP) - This is another configuration of Java Micro
Edition and coupled with CLDC, it provides a farm Java Runtime Environment for
various mobile devices and other personal digital assistance (PDA). With the
help of MIDP, developers can develop application once and then redistribute
them into various mobile information devices in a very small period of time.
Its principal functions include the user interface, network connectivity data
storage and overall application process management. There are two versions of
MIDP: one is MIDP 2.0 or JSR 118 and the second one is the MIDP 1.0 or JSR
37.
Connected Device Configuration (CDC) -
Developed under the Java Community Process (JCP), it is a standard framework of
Java technology used for building and delivering application that can be shared
in a wide range of networks and devices ranging from pagers, mobile phones, set
top box and other PDA devices. It is in two versions: the JSR 36 (CDC 1.0) and
the latest one is the JSR 218 (CDC 1.1).
What should be my learning path:
a.
Learn Core Java
- The Core Java Technology is the foundation of Java Platform of JSE. It is
used in all classes of Java programming from desktop to Java Enterprise
Edition. This include Java APIs, Java Application, JVM, JavaBeans, JavaScript,
JSP etc.
- Learn JSP - JSP technology assists
developers in generating HTML, XML web pages. It uses Java code and some
predefined actions while creating web content. This helps in the creation
of JSP tag libraries that acts as extensions to HTML and XML tags.
- Learn Servlets - In a Java Platform, Servlets
assists developers in adding content to a web server. Servlets with Java
server pages acts as a competitor to various dynamic web content
technologies like CGI, ASP.NET, JavaScript etc.
- Learn about Tomcat
and other servers -
Developed by Apache Software Foundation Tomcat is a Java based web
application server used to run Servlet and JSP. It is not merely limited
to application server and provides an open platform to develop extensible
web and content management service.
- Learn Open Source
technologies (Struts, Hibernate, Spring) - Basically in Java there
are three open source technologies known as frameworks; these are Spring,
Hibernate and Struts. These open source application frameworks solves many
problems related to JSE and J2EE, and helps in effective development of
web application.
- Learn EJB - Enterprise Java Beans are a
part of J2EE and also a server sided component used mostly in large
projects. It helps in easy and rapid development of distributed,
transactional and small application based on Java technology.
- Learn about
Database Management System
- It is a software designed to manage and run a database. Generally, it is
used in company back office work, accounting, customer support system and
several other purposes.