Hi there . . ! How would you rate your Java/Java EE skills?

This post is to provide the reader with a quick overview of the Java ecosystem and it’s technology stack.

To be honest, there have been many revolutionary changes and additions to the Java Platform – from Java EE 7, Java SE 8 to Java Embedded 8 …. wow! Exciting times!

In the midst of all this, why did I decide to write a blog post about a rudimentary topic such as the Java platform and its related technologies?

How many times have you conducted an interview and asked a candidate to provide a rough estimate/rating of their Java skill set (on a specific scale)? What kind of answers have you received ? 8/10, 4/5, 6.5/10 ?? I am pretty surprised as to how the candidate actually managed to muster these figures in a matter of few seconds (I really don’t think that experience matters here!)

So the premise of this post is to

  1. Drive home the point that “How would you rate your Java/J2EE skills?” is an unreasonable question – even though I have made the mistake of asking this on a number of occasions ;-)
  2. Help you answer it ;-)

Read on . . . . . . .

Java Technology can be broadly categorized into

  • Java SE
  • Java EE
  • Java Embedded
  • Java FX

Let’s begin . . . . .

Java Standard Edition (Java SE)

javaseimage

The Platform itself! The mother of all other Java related technologies ranging from Java EE on enterprise servers to Java Embedded on resource constrained devices.

Latest version – Java SE 8 (click here for more on the new stuff in Java SE 8)

Java is not just a programming language as many people mistakenly assume. It’s a complete Platform

(sorry about the fact that I had to plug in the tabular content in the form of images. For some reason I can’t seem to find support for inserting tables into my WordPress blogs. Hence I decided to write the content in Word and use their snapshots)

Primary Components

javaseoverview

Java Enterprise Edition (Java EE)

javaeeimage

For developing enterprise grade applications which are distributed, multi-tiered, scalable, robust, fault tolerant.

Latest version – Java EE 7 (click here for more on the latest Java EE 7 features)

Standards driven model

  • Java EE 7 defines a unified model for developing rich and powerful server side solutions
  • It is composed of individual specifications which are standards in themselves.
  • Each of these specifications are a set of interfaces/APIs which are implemented by vendors of Application Servers (more details here)

 There are 32 specifications which Java EE defines

javaeeoverview1

javaeeoverview2

Alright then! I am guessing you have had enough of Java EE …. ! ;-) Let’s move on

Java Embedded

javaembedded

The Java Embedded technologies are focussed on mobile and embedded devices (RFIDs, sensors, micro controllers. blu-ray discs etc) and are powered mainly by different flavours of Java ME and SE for specific device capabilities

Java Micro Edition (Java ME) flavours

Java ME Embedded Client
  • Based on Connected Device Configuration (CDC) – subset of Java SE platform for small device like mobile phones
  • Sufficient for devices having 8 MB RAM or more
Java ME Embedded
  • New launch
  • Based on Connected Limited Device Configuration (CLDC) – JVM which is optimized for really small embedded systems which have 130 KB or more memory
  • Suitable for memory/resource constrained embedded devices such as sensors, wireless modules etc
  • Hailed as the platform of choice for developing applications in the Internet Of Things (IoT) era
  • The latest version is Java ME Embedded 8 (Early Access) – Lends support for language features from Java SE 8

Java SE flavours

Java SE Embedded
  • It’s JVM implementation is suitable for mid to high range embedded devices
  • 32 MB or more memory is required
  • Allows developers to configure their own custom JRE as per application requirements
  • Latest version – Java SE Embedded 8
Java Embedded Suite
  • New platform – An enriched version of Java SE Embedded
  • Adds enterprise functionalities like support for Glass Fish server (yes – an application server in an embedded device!), Java DB, REST support through JAX-RS implementation
  • Oracle Event Processing – Optional module in the Java SE Embedded Suite. It aims at extending real time, event driven processing support to embedded devices

Java FX

javafximage

Java FX is leveraged to build rich client applications. It sort of completes the puzzle so to say, complements the Java server side development stack and provides a comprehensive UI platform including graphics, and media API support. It’s tailor made to deliver high performance with hardware accelerated graphics.

Ok, so.. what was the whole point of this post? To help you answer the inevitable “How would you rate your Java/J2EE skills?”

Basically, this is what you can do

  • Summarize this post – it’s not going to be tough.. trust me!
  • Ask the interviewer to be more specific as far as Java is concerned, given the fact that you explained the length and breadth of the Java platform ;-)

Although this post only touched upon the various Java tech flavors, it’s quite evident as to how vast it is.  That’s precisely why, we as mortals cannot expect to attach numbers and random figures to our Java knowledge. Instead of fooling around with Java ratings, let’s just have fun with the platform and language and leverage it to build stuff which the world has not yet imagined! :-)

About these ads

About Abhishek

A Software Engineer in the Identity & Access Management Domain. Java language and platform enthusiast !
This entry was posted in Java and tagged , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s