Java platforms and technologies

Java Editions & Concepts – Java SE/EE/ME/FX

Different editions of java and their concepts. We will discuss the small history of Java editions. What are Java platforms and technologies? What Java concepts used to learn in Java SE? What are the differences between Java EE and Java SE?

Java Editions

SUN Microsystem (now Oracle corp.) divided Java concepts into four categories for easy maintenance and easy distribution to all types of domains like mobile, desktop, and internet applications. In Java, a category is called Edition. So, Java concepts are divided into four editions.

Java SE (Java Platform Standard Edition):- It has concepts for developing software for Desktop based (standalone) CUI (command user interface) and GUI (graphical user interface) applications, applets, database Interaction application, distributed application, and XML parsing applications.

Java EE (Java Platform Enterprise Edition):- It has concepts to develop software for Web applications, Enterprise applications, and Interoperable applications. These applications are called high-scale applications. Some examples are:- banking and insurance-based applications.

Java ME (Java Platform Micro Edition):- It has concepts to develop software for consumer electronic devices means embedded systems, like mobile and electronic level applications. Java ME was popular for developing mobile gaming applications. This edition was called micro because these edition programs are embedded in small chips. The program embedded in the chip is called micro (small).

Java FX (Java platform Effects):- Java FX stands for Java platform Effects (Eff=F, ects=X). It provides concepts for developing rich internet applications with more graphics and animations. It’s an extension concept to swing applications of Java SE. The Java FX API is included as part of Java SE software. Just by installing Java SE, we will also get Java FX API.

History about Java editions

In the beginning version of Java1.0, we don’t have editions because in the initial version Java didn’t support server-side web programming and enterprise applications development. It was only supporting standalone applications and applets (client-side web programming development). In the beginning version even it didn’t support database interaction applications (JDBC).

  • J2SE (Java Platform 2 Standard Edition)
  • J2EE (Java Platform 2 Enterprise Edition)
  • J2ME (Java Platform 2 Micro Edition)

In the above edition names, the number 2 didn’t have any serious significance. It was included in the edition name to inform programmers that the Java editions concepts are given in Java1.2 version. In the next versions 1.3, 1.4, 1.5 this number 2 created confusion to the Java beginners because it was not matching with the version number. To avoid that confusion from 1.5 version onwards the number 2 was removed and edition name renamed as:-

  • Java SE (Java Platform Standard Edition)
  • Java EE (Java Platform Enterprise Edition)
  • Java ME (Java Platform Micro Edition)
Читайте также:  Python appending two lists

In Java 1.4 version, for developing RIA (Rich internet applications) a new edition called Java FX also included.

Java Concepts

In the Java programming language, we mainly learn Java Standard Edition (Java SE). Java is a programming language, platform, and technology. Java SE has language concepts (syntaxes and semantics), platform, and technologies. But the Java EE has its own technologies and own platform. Java EE doesn’t provide programming concepts like syntaxes and semantics.

Java SE Concepts

  1. Datatypes, Operators, Control statements
  2. OOP (Object-oriented programming)
  3. JVM Architecture
  4. Garbage Collection
  5. String Handling
  6. Wrapper Classes
  7. Exception Handling
  8. Multithreading
  9. IOStreams (File IO)
  10. Collections Framework
  11. Regular Expressions
  12. Reflection API
  13. Annotations
  14. Inner Classes
  15. AWT, Swings, Applet
  16. Date, time, and text format
  17. Networking (Socket Programming)

*For RMI, EJB and JSF technologies we have alternate concepts Spring, Hibernate Frameworks, and Micro services, but they developed on the top of Java SE/EE (without learning Java SE/EE we can’t learn them).

Note:- Andriod was developed by using Java SE concepts, not by using Java ME. Andriod is an open-source software stack for mobile devices, and it contains an operating system, middleware, and some key applications. “Andriod” invented by Open Handset Alliance (a group of companies), and is bought by Google in 2005 to develop their mobile “Arsenal”. From 2017 onwards for developing Andriod based mobile application, the official language from Google is Kotlin.

Difference between Java SE and Java EE

Java Platforms

For compiling and executing Java applications every edition has its own execution platforms. Java SE platform is JRE and the Java EE platform is server software (Tomcat, Weblogic e.t.c). Java ME platform is MDK.

For developing, compiling, and executing stand-alone applications we must install JDK with JRE software. For developing, compiling, and executing Java EE web and enterprise applications, we must install server software with JDK. JDK for compiling and server software for executing. For developing, compiling, and executing Java ME applications we must install MDK software.

Applications of Java concepts

Using Java SE and Java EE we can develop different types of applications. They are,

  • Standalone Application
  • Database interaction Application (JDBC)
  • Integrated Application (XML)
  • Distributed Application (RMI)
  • Websupportive applications (Applets) (It is outdated and nobody is using)
  • Web Application (Servlets/JSPs/JSF)
  • Enterprise Application (EJB)
  • Interoperable Application (Webservices)
Читайте также:  Document

If you enjoyed this post, share it with your friends. Do you want to share more information about the topic discussed above or do you find anything incorrect? Let us know in the comments. Thank you!

Источник

Java SE Technologies

The following conceptual diagram illustrates the components of Oracle’s Java Platform Products:

Jave SE Platform at a Glance

Click the preceding illustration to go to the Java Conceptual Design documentation. Click the following technology links to go either to a hub page on that technology, if available, or to the documentation.

Desktop Components
Core Components
Java Virtual Machine
Database Components
Security Components
Tooling

Java SE Overview

There are two principal products in the Java SE platform family: Java SE Runtime Environment (JRE) and Java Development Kit (JDK).

The Java Runtime Environment (JRE) provides the libraries, the Java Virtual Machine, and other components to run applets and applications written in the Java programming language. In addition, two key deployment technologies are part of the JRE: Java Plug-in, which enables applets to run in popular browsers; and Java Web Start, which deploys standalone applications over a network. It is also the foundation for the technologies in the Java 2 Platform, Enterprise Edition (J2EE) for enterprise software development and deployment. The JRE does not contain tools and utilities such as compilers or debuggers for developing applets and applications.

The JDK is a superset of the JRE, and contains everything that is in the JRE, plus tools such as the compilers and debuggers necessary for developing applets and applications. The conceptual diagram above illustrates all the component technologies in Java SE platform and how they fit together.

The Java SE application programming interface (API) defines the manner by which an applet or application can make requests to and use the functionality available in the compiled Java SE class libraries. (The Java SE class libraries are also part of the Java SE platform.)

The Java SE API consists of core technologies, Desktop (or client) technologies, and other technologies.

  • Core components provide essential functionality for writing powerful enterprise-worthy programs in key areas such as database access, security, remote method invocation (RMI), and communications.
  • Desktop components add a full range of features to help build applications that provide a rich user experience deployment products such as Java Plug-in, component modeling APIs such as JavaBeans, and a graphical user interface.
  • Other components round out the functionality.

The Java Virtual Machine is responsible for the hardware- and operating system-independence of the Java SE platform, the small size of compiled code (bytecodes), and platform security.

Читайте также:  Как импортировать math java

The Java SE platform works with an array of tools, including Integrated Development Environments (IDEs), performance and testing tools, and performance monitoring tools.

Источник

Java platforms and technologies

There are four platforms of the Java programming language:

  • Java Platform, Standard Edition (Java SE)
  • Java Platform, Enterprise Edition (Java EE)
  • Java Platform, Micro Edition (Java ME)
  • Java FX

All Java platforms consist of a Java Virtual Machine (VM) and an application programming interface (API). The Java Virtual Machine is a program, for a particular hardware and software platform, that runs Java technology applications. An API is a collection of software components that you can use to create other software components or applications. Each Java platform provides a virtual machine and an API, and this allows applications written for that platform to run on any compatible system with all the advantages of the Java programming language: platform-independence, power, stability, ease-of-development, and security.

Java SE

When most people think of the Java programming language, they think of the Java SE API. Java SE’s API provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML parsing.

In addition to the core API, the Java SE platform consists of a virtual machine, development tools, deployment technologies, and other class libraries and toolkits commonly used in Java technology applications.

Java EE

The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.

Java ME

The Java ME platform provides an API and a small-footprint virtual machine for running Java programming language applications on small devices, like mobile phones. The API is a subset of the Java SE API, along with special class libraries useful for small device application development. Java ME applications are often clients of Java EE platform services.

Java FX

Java FX technology is a platform for creating rich internet applications written in Java FX Script TM . Java FX Script is a statically-typed declarative language that is compiled to Java technology bytecode, which can then be run on a Java VM. Applications written for the Java FX platform can include and link to Java programming language classes, and may be clients of Java EE platform services.

Источник

Оцените статью