Aspect Oriented Programming (AOP) is a programming approach that
provides the ability to achieve modularization for crosscutting
concerns, i.e., logic that applies to many parts of the application,
in a single place and to have that logic applied across the
application automatically.
By using AOP, the developer can create highly maintainable and
extensible modules and produce a code that is more readable and
reusable.
AspectJ is the most popular AOP language/platform for Java
and provides a powerful compile-time and load-time solution for
building AOP-based logic and adding it to an application.
The course includes many examples and hands-on exercises by
means of which the material is demonstrated and practiced.
Upcoming Date: the upcoming date will be published soon
Tags: Java, Frameworks, AOP
Level: 2
Design patterns are a must for every developer. Design patterns
help the developers write extensible and maintainable code.
Design patterns also provide the developers with common vocabulary
for
design and allow easy classification of conceptual problems.
The course will focus on the well known GoF patterns and their
appliance
in the Java language.
Upcoming Date: the upcoming date will be published soon
Tags: Java, Object Oriented, Design
Level: 2
The Web Beans standard provides a unified component model for Java
EE.
Generally speaking, it allows for EJBs to be used as JSF
components.
Web Beans provides dependency injection between EJB, JSF,
Servlets and regular Java Beans and defines new scopes like
conversation.
Web Beans greatly simplifies the development of JEE web
applications by making the connection between the different
components easy and natural.
Upcoming Date: the upcoming date will be published soon
Tags: Java, JavaEE, Web
Level: 2
Continuous Integration (CI) is an important part of any
Agile methodology because it can help developers
discover their bugs sooner.
Every project can benefit from Continuous Integration which leads to
greater productivity, early bug detection and better
teamwork due to immediate discovery of integration
bugs.
CruiseControl is a popular CI framework. It enables you to
create an automated build system. CruiseControl is an
open-source, easy to use and mature solution. It contains a
lot of built-in plugins that provides you with Source
Control Management integration, mail notifications,
unit-tests and many more useful features.
Upcoming Date: the upcoming date will be published soon
Tags: Java, Agile_Development
Level: 2
Groovy is an Object Oriented and dynamic language based on the JVM.
Groovy has powerful language features (e.g., Closures, Builders,
Categories) that are not available in Java.
Because of its seamless integration with Java, Groovy can provide
powerful tools to any Java developer.
With the power of Groovy, developers can produce more readable and
maintainable codes.
Upcoming Date: the upcoming date will be published soon
Tags: Java, Groovy, Scripting
Level: 1
By now Test Driven Development (TDD) is a well known and
appreciated practice exercised by many development teams
around the globe.
Unlike what the name suggests, TDD is not a testing technique but
a development technique that results in cleaner high quality
code. Implementing effective and useful TDD is a complicated
task that requires developers to have both discipline and
familiarity with a set of test automation tools.
This course explains the TDD methodology, introduces a
recommended set of open-source testing tools and includes
hands-on exercises (about 50% of the course's duration) to
practice the tools.
Upcoming Date: the upcoming date will be published soon
Tags: Java, Agile_Development, QA
Level: 2
OSGi is a dynamic module system for Java. The OSGi Service Platform
provides a standardized, component-oriented environment for
distributed services.
The OSGi technology provides a service-oriented architecture that
enables auto-discovery, easy deployment, loose coupling and
manageable dependencies.
Organizations using the OSGi technology benefit from reduced
development costs (due to out-of-box component services), easier
manageability (because of dependencies framework) and more business
opportunities (because of the large adoption of OSGi and its dynamic
and reusable nature).
The course contains many examples and hands-on exercises, by means
of which the material is demonstrated and practiced.
Upcoming Date: the upcoming date will be published soon
Tags: Java, OSGi
Level: 2
Representational State Transfer (REST) is an architectural style
for designing networked applications and exposing Web Services.
REST delivers simplicity and true interoperability and is an
alternative to complex mechanism such as CORBA, RPC or SOAP-based Web
Services and allows using simple HTTP to make calls between machines.
The course will explain the REST principles and show how to use the
new Java standards for creating RESTful API for your products.
Upcoming Date: the upcoming date will be published soon
Tags: JavaEE, Frameworks, Web, REST, Design
Level: 2