J2EE Patterns
Start course
3h 59m

In this course, we will learn the concepts of microservice and spring framework with a focus on design patterns.

Learning Objectives

  • Learn about various design patterns

Intended Audience

  • Beginner Java developers
  • Java developers interested in learning how to Build and Deploy RESTful Web Services
  • Java Developers who want to develop web applications using the Spring framework
  • Java Developers who want to develop web applications with microservices
  • Java Developers who wish to develop Spring Boot Microservices with Spring Cloud


  • Basic Java knowledge

Hello, dear friends.

In this video, we will start to examine J2EE patterns. So, let's begin. The Java program, part of Sun Professional Services has built enterprise solutions for a wide variety of customers. The J2EE patterns evolved from their experience. The Core J2EE Patterns deal with testing on the presentation tier as offered by Sun Java Center. J2EE stands for Java 2 Enterprise Edition, currently known as Java Enterprise Edition. It consists of many APIs that provide software developers with the capabilities to write server-side code. The J2EE patterns solve problems using the J2EE platform technologies. J2EE design patterns are built for developing the enterprise Web-based applications. J2EE patterns are concerned about providing solutions regarding Java EE. These patterns are widely accepted by other frameworks and projects. The purpose of the J2EE patterns is to document and recommend best practices rather than develop entirely new techniques. So, let's talk about the key advantages of the J2EE patterns.

They use sound design principles and leverage documented accepted practices. Another advantage is that they reduce coupling and dependencies between components. In addition, patterns reduce network traffic. Now, let's review the structure of Gang of Four patterns. Those patterns have abstract solutions that can be implemented in very diverse ways. They can be used with any object-oriented programming language. But J2EE patterns were designed for the J2EE platform and they often build on or expand GoF patterns or other J2EE patterns. In J2EE, there are mainly three types of design patterns, which are further divided into their sub-parts: Presentation Layer Design Patterns or presentation tier, Business Layer Design Patterns or business tier, Integration Layer or integration tier. Presentation tier patterns are Intercepting Filter Design Pattern, Context Object Design Pattern, Front Controller Design Pattern, Application Controller Design Pattern, View Helper Design Pattern, Composite View Design Pattern, Dispatcher View Design Pattern, and Service to Worker Design Pattern.

Business tier patterns are Business Delegate Design Pattern, Service Locator Design Pattern, Session Facade Design Pattern, Application Service Design Pattern, Business Object Design Pattern, Composite Entity Design Pattern, Transfer Object Design Pattern, Transfer Object Assembler Design Pattern, and Value List Handler Design Pattern. Now, Integration tier patterns are Data Access Object Design Pattern, Service Activator Design Pattern, Domain Store Design Pattern, and Web Service Broker Design Pattern. Since I cannot go through all of them in this training because that would be crazy, I will cover some of them in the videos that follow. Now, let's look at this image. This image shows us the relationship between GoF and J2EE patterns. It looks very complicated, but this image will be very helpful to you when working on large projects. For example, a business delegate might be a proxy, adapter, or facade. Or let's look at another one. The front controller might create a command and this might include the composite. Okay, let's take a quick break because that was a lot. In the next video, we will start to examine Integration patterns with service activator. So, I'll see you in the next video my friends.


About the Author
Learning Paths

OAK Academy is made up of tech experts who have been in the sector for years and years and are deeply rooted in the tech world. They specialize in critical areas like cybersecurity, coding, IT, game development, app monetization, and mobile development.