Java Training Courses

Java Training Courses

Local, instructor-led live Java training courses demonstrate through hands-on practice how to develop applications with Java. Java training is available as "onsite live training" or "remote live training". Onsite live training can be carried out locally on customer premises in the UAE or in NobleProg corporate training centers in the UAE. Remote live training is carried out by way of an interactive, remote desktop. NobleProg -- Your Local Training Provider



Java Course Outlines

javafunJava Fundamentals32 hours

The course covers the basics of Java development.

It introduces students to Java technology and teaches them basic Java syntax and concepts, leading to the creation of a simple program. Training goes through the essential concepts and features of the Java Programming Language, focusing on exceptions, basic input/output, concurrency, regular expressions, Java collections framework and the platform environment. The course finishes when all basic Java features have been explained and trained.

javaeejbossEnterprise Java Programming with Java EE and JBoss (EJB 3.0)28 hours

This 4-day course is for programmers who already know the Java language and wish to exploit the Enterprise Java Beans 2.0 technology while becoming aware of the security implications of distributing applications. This course has a large practical component which includes developing an e-commerce application based on Enterprise Java Beans. The course uses the JBoss Application Server.

javaphJava Persistence with Hibernate14 hours

This course teaches the practical use of Hibernate for persisting Java objects in a relational database.

javaperfJava Performance 40 hours

The course is intended for Java programmers who want to produce efficient applications. After consultation with client, the course can be conducted in a special tool version, for people who only need to detect performance problems (testers, administrators) - in this case programming in Java is not required.

During the training, participants will learn about process and modern tools for producing efficient software in Java. They learn performance-related traps, benchmarking, profiling, tuning, memory analysis, performance tricks using collections or IO. Learned topics and tools are applicable regardless of the technologies used in the project, because we focus on language-level performance, tools and embedded libraries. Tuning discusses parameters of JVM provided by Oracle.

struts2Struts 2 Framework21 hours

This course deals with developing MVC (Model-View-Controller) web application using the features of Struts2 framework. The participants will learn how to work with the actions and the data, how to develop interceptors and the OGNL for type conversion. This course will also cover concepts like validation, internationalization and how to persist data.

javafunandroidJava Fundamentals for Android14 hours

Applications for the Android platform are developed primarily in Java. This course was developed for software programmers with a strong OOP background (whether in PHP, Scala, C++, C# or Objective C) that plan to learn how to develop Java applications for the android platform. This course covers the Java programming language grammar and focuses on those specific Java capabilities the android platform uses more than others.

gfsjeeintAdministering GlassFish Server with Java EE applications introduction21 hours

GlassFish is an open-source application server. This three-day course provides an introduction to administering GlassFish Server with Java EE applications.

junitUnit Testing with JUnit21 hours

JUnit is a framework to write repeatable tests and do unit testing for Java language.

atomjeeadmApache Tomcat and Java EE Administration21 hours

Teaches attendees the fundamentals of administering Apache Tomcat and other Java EE environments.

The course is a mixture of lectures and hands-on exercises. Delegates learn by doing, with immediate opportunities to apply the material they learn to real-world problems.

gfadmGlassFish Administration21 hours

GlassFish Administration Training introduces participants to the secrets of the installation, configuration, management, monitoring GlassFish server. Training is open to future GlassFish server administrators.

javafunmanvenJava fundamentals with Maven28 hours

The course covers the basics of Java development and introduces the Apache Maven software project management and comprehension tool.

jcapsdaadvOpenESB-Java CAPS for developers and architects advanced level14 hours

This course is dedicated to developers and architects who want to be operational immediately on OpenESB and want to start and be involved on real OpenESB projects. The training scope covers the advanced OpenESB concepts frequently used in projects like correlation and compensation. This 2 day course will allow you to serenely tackle your integration in operational OpenESB projects.

flex4lcds3Flex 4 and LiveCycle Data Services 314 hours

This training course is aimed at Developers wishing to extend their Flex knowledge using LiveCycle Data Services in Flex applications.

It is a comprehensive 2 day in using LiveCycle Data Services 3 with the Adobe Flex 4 framework. Emphasized topics will include:

  • Messaging, remoting, and web services
  • Performance profiling and unit testing
  • Client-side data manipulation
  • Model-driven development using the Fiber Framework and Flash Builder 4
apachetomcatwWorking with Apache Tomcat21 hours


  • Developers


  • Hands-on exercises for about 70 % of time


  • This course can be delivered as either a 2 day (14 hours) or 3 day (21hours) event.
apachemavenApache Maven21 hours

According to your profile Maven will help you in your day to day work. As we mention some of the benefits:

  • Developers: As a developer you will be using Maven to create projects, manage the dependencies, compile your code, run your tests, deploy your components … Maven will become part of your every day development tools.
  • Technical lead profiles: Integrating Maven as a build tool will have significant impact on the project: 
    • Managing dependencies will become easy (Maven dependency management)
    • Complex builds will be significantly simplified (Maven build profiles)
    • The project architecture will be managed smoothly (inheritance and multimodule projects)
    • ….
  • Project Managers: Maven will enforce standardization and collaboration:
    • “Project Object Model” is the standard Maven introduces for projects
    • Maven uses build lifecycles for developers to compile , test and report, deploy
    • Maven repositories will act as a common store and gather releases and third party libraries
    • ….
  • Release Managers: Maven repository managers will act as highly configurable proxies between your organization and public Maven repositories they also provide an organization with a deployment destination for your builds.
javaadvancedJava Advanced - one day7 hoursIntroduces contect for Advanced java programmers, usually developing large scale applications, frameworks or libraries. This course is mostly labs (around 60%), the rest is discussions and presentation. We mostly use the newest version of Java for this course, but it can also be delivered as a private course on older versions of Java.
akkabgadAkka - from Beginner to Intermediate/Advanced21 hours

This training outline is intended to bring attendees from a beginner to an intermediate/advanced level in the understanding and knowledge of the Akka framework.

The entire course is hands on, mostly driven by the trainer in the beginning and progressively shifting towards the attendees producing code themselves (and downloading implementations/solutions written by the trainer).

Attendees are not expected to have prior knowledge of Scala, the trainer will take the necessary time to explain and clarify all the intricacies that relate to the Scala code used.

cl-jweAdvanced Java, JEE and Web Application Security28 hours

Beyond a solid knowledge in using Java components, even for experienced Java programmers it is essential to have a deep knowledge in web-related vulnerabilities both on server and client side, the different vulnerabilities that are relevant for web applications written in Java, and the consequences of the various risks.

General web-based vulnerabilities are demonstrated through presenting the relevant attacks, while the recommended coding techniques and mitigation methods are explained in the context of Java with the most important aim to avoid the associated problems. In addition, a special focus is given to client-side security tackling security issues of JavaScript, Ajax and HTML5.

The course introduces security components of Standard Java Edition, which is preceded with the foundations of cryptography, providing a common baseline for understanding the purpose and the operation of the applicable components. Security issues of Java Enterprise Edition are presented through various exercises explaining both declarative and programmatic security techniques in JEE.

Finally, the course explains the most frequent and severe programming flaws of the Java language and platform. Besides the typical bugs committed by Java programmers, the introduced security vulnerabilities cover both language-specific issues and problems stemming from the runtime environment. All vulnerabilities and the relevant attacks are demonstrated through easy-to-understand exercises, followed by the recommended coding guidelines and the possible mitigation techniques.

Participants attending this course will

  • Understand basic concepts of security, IT security and secure coding
  • Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them
  • Learn client-side vulnerabilities and secure coding practices
  • Learn to use various security features of the Java development environment
  • Have a practical understanding of cryptography
  • Understand security concepts of Web services
  • Understand security solutions of Java EE
  • Learn about typical coding mistakes and how to avoid them
  • Get information about some recent vulnerabilities in the Java framework
  • Get practical knowledge in using security testing tools
  • Get sources and further readings on secure coding practices



resinResin: Setting Up a Java Application Server for Web Applications Spanning Hundreds of Servers14 hours

Resin is a fast and reliable open-source Java Application Server for web applications spanning hundreds of servers. Originating as a Servlet and JSP engine, Resin today supports Web Profile, CDI and EJB. Resin includes a high performance JTA transaction manager, a JMS provider, clustering, connection pooling, and a management console. Resin is used by companies such as CNET, Motorola and

In this course, we cover the essentials of installing, configuring, securing, optimizing and managing a Resin application server. By the end of the course, participants will have a firm understanding of Resin's architecture, features and capabilities and will have the practice needed to deploy and manage their own Resin application server.


  • System administrators
  • Enterprise web application developers
  • DevOps engineeers

Format of the course

  • Part lecture, part discussion, heavy hands-on practice
DEVOPSJEEFundamentals of Devops for Java Enterprise Edition Projects21 hours

This training course introduces the core DevOps concepts and principles as well as the ways to stand up the DevOps practice in your organization. It is specifically focused on projects on the Java Platform. Upon completion of this training course, students will have a fundamental understanding of DevOps’ value proposition; they will also gain practical experience working with select DevOps tools, including Puppet, Jenkins, Git and others. This training course is supplemented by hands-on labs that help attendees reinforce their theoretical knowledge of the learned material.


  • DevOps practices and tools
  • Puppet
  • Technical introduction to cloud computing
  • Jenkins
springbootSpring Boot: Rapidly Build Spring-Based Web Applications14 hours

Spring Boot is a Java-based web application development framework that favors convention over configuration. Spring Boot allows developers to create stand-alone, production-grade applications that "just run", typically on an embedded instance of Tomcat, Jetty, or Undertow.

Spring Boot's "opinionated view" of the Spring platform and third-party libraries allows for minimum-fuss application development that requires very little configuration. These Spring Boot applications require no code generation or XML configuration. They feature integrated health monitoring, simplified Maven configuration, and a host of other features that make building, deploying, and running Spring applications relatively straightforward.

In this training, participants learn the key features and architecture of Spring Boot, and its relationship to the underlying Spring framework. Ample opportunities for applying this knowledge and receiving feedback is provided by the instructor as participants step through live, hands-on exercises on defining, configuring and deploying Spring applications. By the end of the course participants will have the necessary knowledge and practice to rapidly deploy their own Spring application.

    Java web application developers

Format of the course
     Heavy emphasis on hands-on practice. Most of the concepts are learned through samples, exercises and hands-on development.

springcloudSpring Cloud: Building Microservices with Spring Cloud14 hours

Spring Cloud builds on Spring Boot to enable the development of distributed systems and microservices.

In this training we start with a discussion of microservice architecture. Participant knowledge is put to the test through exercises and the step-by-step development of sample microservices.

By the end of this training participants will have a solid understanding of how to use Spring Cloud and related Spring technologies to rapidly develop their own cloud-scale, cloud-ready microservices.


  • Java developers wishing to rapidly build and deploy microservices

Format of the course

  • Heavy emphasis on hands-on practice. Most of the concepts are learned through samples, exercises and hands-on development.
javatestingIntroduction to Java for test automation28 hours

This course is designed for anyone interested in learning Java for the purpose of test automation. It is a streamlined, intensive course with plenty of hands-on exercises to get participants ramped up quickly with the essential programming skills needed to apply to software automation testing. The focus is on the Java fundamentals which can be directly and immediately applied to test automation.

This course does not cover in depth test automation frameworks such as Selenium. It also bypasses the conventional "Hello World" approach to learning Java, as this is not a course on application development. This course is squarely aimed at getting participants up and running quickly with test automation. If you are already versed in Java and wish to get straight into testing with Selenium, please check out: Introduction to Selenium (


  • Beginner testers who wish to learn Java for automation testing
  • Professional testers with experience in other programming language such as Javascript and C# who wish to transfer their skills to Java.

Format of the course

  • Part lecture, part discussion, heavy hands-on practice
scalaadvancedScala: Advanced object-functional programming14 hours

Scala is a concise, object-oriented language with functional programming features, including currying, type inference, immutability, lazy evaluation, and pattern matching. Scala code runs on a JVM and was designed to address some of the shortcomings of Java.

In this instructor-led, live training participants will learn how to use Scala's advanced features, including its type system, to write better code using an object-functional approach.  

By the end of this training, participants will be able to:

  • Leverage Scala's type system to maximum benefit
  • Handle exceptions functionally
  • Create libraries and DSLs with Scala
  • Use Scala's advanced features for pattern matching


  • Scala programmers who wish to learn the more advanced and nuanced features of Scala

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice
scalaadvancedfunctionalScala: Advanced functional programming14 hours

Scala is a concise, object-oriented language with functional programming features, including currying, type inference, immutability, lazy evaluation, and pattern matching.

In this instructor-led, live training participants will learn how to use Scala's advanced features to develop well-constructed software that is easy to write, read, test, and change. The focus of this training is on functional programming, using real-world case studies and discussion as a reference for lab exercises and activities.

By the end of this training, participants will be able to:

  • Implement advanced functional programming techniques
  • Make sense of complex type signatures
  • Understand code through types and substitution
  • Handle exceptions functionally
  • Create libraries and DSLs with Scala
  • Use Scala's advanced features for pattern matching


  • Scala programmers who wish to learn the more advanced and nuanced features of Scala

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice
gwtGWT: Write Ajax web applications in Java, deploy as Javascript28 hours

Google Web Toolkit (GWT or GWT Web Toolkit) is a set of open-source tools for building, optimizing and maintaining complex JavaScript browser-based applications in Java. GWT is used by many products at Google, including Google AdWords and Google Wallet.

In this instructor-led, live training, participants will learn the GWT programming concepts needed to get a web application up and running.

By the end of this training, participants will be able to

  • Write client-side AJAX applications in Java and deploy them as JavaScript across multiple browsers (desktop, Android, iPhone, etc.)
  • Develop a high-performance web application while overcoming the idiosyncrasies of browser behavior, XMLHttpRequest, and JavaScript
  • Understand and overcome the challenges of Ajax programming
  • Use GWT's tools to optimize a web application


  • Front-end web developers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice
OpenSearchServerOpenSearchServer7 hours

OpenSearchServer is an open-source application server used to develop index-based applications such as search engines. Written in Java, it can be integrated into other applications without using Java code.

In this instructor-led, live training, participants will learn set up, configure, manage and extend OpenSearchServer.

By the end of this training, participants will be able to:

  • Run OpenSearchServer as a standalone server with a servlet container
  • Configure OpenSearchServer's integrated crawler for databases, web pages and rich documents
  • Develop a sample application using OpenSearchServer's Zkoss-based web UI
  • Integrate search results into a page using the HTML renderer
  • Monitor and administer OpenSearchServer
  • Extend OpenSearchServer's features using its plugin architecture


  • System administrators
  • DevOps engineers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice
vertxVert.x: Build a Reactive application on JVM14 hours

Vert.x is a library for building reactive applications.

In this instructor-led, live training, participants will learn how to use Vert.x to create an asynchronous, event-based web application.

By the end of this training, participants will be able to:

  • Understand and use the different components (core, web, client, etc.) in the Vert.x stack.
  • Use Vert.x to create network utilities, HTTP/REST microservices, high volume event processing, back-end message-bus applications, etc.
  • Execute an app that can handle high concurrency using minimal kernel threads
  • Use Vert.x's APIs to support Java, JavaScript, Groovy, Ruby, Ceylon, Scala, Kotlin, etc.
  • Unit test asynchronous code with Vert.x-Unit
  • Deploy and scale an app with minimal hardware


  • Developers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice
akkaAkka: Build Reactive, Concurrent, and Distributed Applications28 hours

Akka is an open-source toolkit and runtime for building concurrent and distributed applications for Java and Scala.

In this instructor-led, live training, participants will learn the design principles behind Akka, including the Actor Model and Reactive Manifesto, as they build and deploy an asynchronous, message-driven application in Akka.

By the end of this training, participants will be able to:

  • Apply the "let it crash" model to build applications that self-heal and systems that never stop.
  • Understand Actors, actor lifecycle and how to employ them to create proper, concurrent parallel systems.
  • Build Reactive Architecture that is responsive, elastic, resilient, and message driven.
  • Integrate remoting and clustering features with third party systems.
  • Deploy the Akka toolkit in production systems, scaling it to multiple nodes and third party systems.
  • Manage system behavior and horizontal distribution.
  • Build systems that "react" to environmental changes.


  • Developers
  • Architects

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice
jav9functionalFunctional Reactive Programing with Java 9 and RxJava14 hours

Java 9 coupled with the robust RxJava 2.0 reactive programing library, enables Java developers to adopt and apply the reactive programing paradigm into their application and systems development processes with great ease. 

In this instructor-led, live training, participants will learn the advantages and functions of Java 9, Spring, Jersey, and RxJava 2.0 in developing reactive applications as they step through the creation and deployment of a real-life reactive application using Java 9's flow API, Spring, the Akka framework, and RxJava 2.0 functional reactive programing library.

By the end of this training, participants will be able to:

  • Understand the importance and significance of reactive programing in applications and systems development
  • Run Unit test on RxJava 2.0
  • Use the Akka framework under reactive programing principles
  • Employ Spring to handle the development of concurrent applications
  • Use Java 9's flow API to develop reactive apps


  • Developers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Upcoming Java Courses

CourseCourse DateCourse Price [Remote / Classroom]
Spring Boot: Rapidly Build Spring-Based Web Applications - DubaiSun, 2018-10-14 09:3011700AED / 17600AED
Weekend Java courses, Evening Java training, Java boot camp, Java instructor-led, Weekend Java training, Evening Java courses, Java coaching, Java instructor, Java trainer, Java training courses, Java classes, Java on-site, Java private courses, Java one on one training

Course Discounts

Course Venue Course Date Course Price [Remote / Classroom]
Enabling SOA with BPM and BPMN Dubai Sun, 2018-09-16 09:30 10530AED / 16430AED
Marketing Analytics using R Dubai Tue, 2018-09-18 09:30 19845AED / 27595AED
Systems Modelling with SysML Dubai Mon, 2018-12-03 09:30 19845AED / 27595AED
Forecasting with R Dubai Sun, 2018-12-09 09:30 13230AED / 19130AED
Comprehensive Git Dubai Tue, 2019-01-01 09:30 15795AED / 23545AED

Course Discounts Newsletter

We respect the privacy of your email address. We will not pass on or sell your address to others.
You can always change your preferences or unsubscribe completely.

Some of our clients