J2EE Key Notes

Photo by Javier Saint Jean on Unsplash
  • Client-tier: Run-on the client machine.
  • Web tier components: Run-on the J2EE server.
  • Business tier: Run-on the J2EE server.
  • Enterprise Information System software (EIS software): Runs on the EIS server.
  • Applets
  • Application clients
  • Java Web Start enabled clients, by Java Web Start technology.
  • Wireless clients, based on the Mobile Information Device Profile (MIDP) technology.

Object-Relational mapping (ORM)

  • Productivity: Reduced time for data access coding with the help of automatic code creation base on the defined data model.
  • Maintainability: All code generated from ORM are well tested. Only the developer is required to create the correct functionality
  • Performance: The code generated from ORM completely manages the data access needs of the application. No need to create any data access code. Also, the code is optimized to speed up the data access process.
  • Vendor independence: The code generated from ORM does not depend on the vendor. This is to increase the portability of the application.


  • Slow: execution of HQL queries is slower.
  • Only composite key support is available and it prevents advanced query options.
  • No shared value type references are available.
  • Database and vendor independence application.
  • Standard Object-relational mapping support.
  • Domain object mapping for a relational database.
  • Better performance than Java Database Connectivity.
  • Java Persistence API based applications.
  • save() stores an object into the database. There is a check for duplicate records
  • saveorupdate() used to update an object using the identifier. if the identifier is NULL a new record will be created.
  • load() vs get(): When the object is not available in either cache or database, the load() method throws an exception but get() returns null.


  • Plain Old Java Object (POJO) based development facilitates to re-use existing components.
  • reduce development cost
  • Improve the testability with dependency injection.
  • Improve maintainability with reduced code coupling.
  • No need to have an application server and works on enterprise service.
  • Easy initialization for properties.
  • Easily testable components.
  • Lightweight container.
  • Possibilities to use configuration management service of spring in any runtime environment with whatever architectural layer.
  • Possibility to organize middle-tier objects in an efficient way


  • Classloading: Web container loads the servlet class file (*.class).
  • Instantiation: Instantiate By calling default no-arg constructor,
  • Initialize: Init () called and configuration is assigned to the servlet.
  • Request Handling: Servlet provides the services by calling Service ().
  • Removal phase: The destroy () function is called before servlet destruction. Garbage collection occurs later.

Enterprise Java Beans (EJB)

  • Persistence
  • Security
  • Transaction
  • Connection pooling
  • Component lifecycle management
  • Threading
  • The behavior is specified by interfaces.
  • loosely coupled and tired.
  • Implementation is hidden from the client-side.
  • The EJB container supports the application developer.
  • The API to the application is in session tier.
  • The API to the data sources is in the entity tier.
  • Support for the integration of components from different vendors.
  • Possibility to authorize the EJB component’s detailed knowledge of the environment.
  • Possibility to assemble applications from separate component sources.
  • Interaction with its clients is entirely specified in terms of Java interfaces.
  • Portability support.
  • It does not maintain resources.
  • Session Beans: Stateful session beans, Stateless session beans
  • Entity Beans: Bean Managed Persistence (BMP), Container-Managed Persistence (CMP),Message Driven Beans


  • Directives
  • Declarations
  • Scriptlets
  • Expressions


  • Model: represents the internal state of the system as a set of Java Beans.
  • View: Most often the view is constructed using Java Server Pages (JSP) technology.
  • Controller: The controller is the process that focuses on receiving client requests and produce the next level of a user interface according to the request.


Connection Pooling

Thin client

file types ear, jar war?

  • *.jar files — containing libraries, resources, and accessories
  • *.war files — The files that are required for the development of web application (HTML, java scripts, JSP)
  • *.ear files — The files for Enterprise Java Beans modules for the application

Secure Socket Layer (SSL)

Java beans




Sometimes A software Engineer, sometimes a support engineer, sometimes a devops engineer, sometimes a cloud engineer :D That’s how the this life goes!

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

How to run a Minikube on Apple Silicon M1

Introduction To Machine Learning With Python

Apple(s) and Orange(s): A swift Overview of Swift

Enterprise integration using Pub/Sub, Cloud Functions and Elasticsearch — Part 1 The proof of…

Deploy Angular and LoopBack Applications to IBM Cloud Kubernetes Cluster

[EP.27] Setting the Bandwidth Priority in the Zoom Video Conferencing Application on MikroTik…

The Community as a Service (CaaS) Model

Ansible Tower: Installation & Uninstallation

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Nuwan Zen

Nuwan Zen

Sometimes A software Engineer, sometimes a support engineer, sometimes a devops engineer, sometimes a cloud engineer :D That’s how the this life goes!

More from Medium

Processes and Threads, Mutex, Thread Synchronization

How To Think About Algorithms — Practical Example

Magnus Locus Management System.

JSONs. Packets that Fill Most of Data Pipelines.