Welcome to the NetBeans Platform Certified Training
The NetBeans Platform is a mature open sourced Swing framework for building general rich client applications. The platform is a "generic application", that is, a runtime which can be used to develop desktop applications. NetBeans IDE is one example of this type of application, but there are many others.
One of the key distinctions of software built upon the NetBeans Platform is modularity: reuse in the large. Such software is designed as logical sets of macro-components which integrate through well-defined API contracts. Writing modular applications brings some enhancements to programming in standard Java, particularly in the ability to have Java classes which are only public to other classes within the archive they reside in. This has a number of beneficial effects on development: in particular, the ability to develop cleaner, simpler APIs by being able to fully conceal implementation from foreign code, while retaining type-safety.
This course covers developing on the NetBeans Platform from the ground-up. It covers two days in total. On the first day, we start with non-GUI applications: simply making use of the module system, which is the core runtime of the NetBeans Platform. Next, we cover the basic development patterns and commonly used APIs. The second day is dedicated to a tour of the reusable existing functionality built on the NetBeans Platform, descriptions of how to empower it further, and examples of real software applications consisting of multiple, decoupled modules.
Finally, after the two days outlined above, you will develop a functioning project consisting of one or more modules. Or you will extend an already existing project with new functionality.
Note: In addition to the NetBeans Platform Certified Training course, we are preparing an on-line NetBeans Platform course, so that you can take a structured course in your own time and location. Watch this space for further announcements about this course.
Contents
Goals
Learn about the NetBeans Platform and become experienced enough to be able to write a module, set of modules, and applications based on the NetBeans Platform. Also, to be able to locate pieces of code responsible for certain behaviour, change it and generate a patch that could be integrated back into official NetBeans.org source tree.
Content
The NetBeans Platform Certified Training is offered in three versions. The typical version lasts two days and covers the topics listed below.
Note: We also offer a 3-day course and a 5-day course, as described in detail here.
Each of the two days consists of 5 sessions, lasting approximately an hour each.
- Day 1.
- Presentation 1: NetBeans Platform [Open Office] [PDF]
- Presentation 2: Getting Started with the NetBeans Platform [Open Office] [PDF]
- Presentation 3: Dependency and Injection in Modular Systems [Open Office] [PDF]
- Presentation 4: System FileSystem [Open Office] [PDF]
- Presentation 5: Nodes and Explorer [Open Office] [PDF]
- Day 2.
- Presentation 1: Data Objects and Editors [Open Office ] [PDF]
- Presentation 2: Window System [Open Office] [PDF]
- Presentation 3: Contributing to Open Source Projects [Open Office] [ PDF]
- Presentation 4: Creating Productivity Tools [Open Office] [PDF]
- Presentation 5: Ideas for Modules [Open Office] [PDF]
- Presentation 6: Loose ends and wrap up
Though the above is the default 2-day course outline, it is completely open to change. If, for example, the participants in one location are more interested in visual applications, then a stronger emphasis can be placed on that. Alternatively, if the participants would like a stronger focus on the latest APIs, then that is possible too. In other words, we can structure the course according to local requirements in each case.
Notes
- Complete List of Slides for NetBeans Platform Trainings
- Course Divisions for the NetBeans Platform Certified Training
- Expected Outcomes & Potential Demos for the NetBeans Platform Training
- List of Bios of NetBeans Platform Trainers
Requirements
You must be comfortable with the core concepts of Java, as well as Swing. Since the NetBeans Platform is made for large and complex applications, and is strongly focused on questions of architecture, the participants in the course are expected to be comfortable with non-trivial applications.
Although this is not essential, we recommend that you familiarize yourself with one or more of the following books in advance:
Course Flow
A dedicated homepage will be available for each course, listing the process that the course will follow, the expectations that you will be asked to meet, and suggested assignments that you can complete to prove you understand the material presented during the course. On completion of an assignment, assuming the functionality is potentially generally useful, you will be asked to upload it into the Plugin Portal, so that others can make use of it. If your plugin is specifically useful to NetBeans IDE, you might be asked if you'd like to have it contributed to the NetBeans sources. In that case, you will need to sign a contributor's agreement to make this possible.
Certification
Participants in the NetBeans Certified Training will receive at least one of the following:
- NetBeans Certified Associate. On completion of
the two day course. The basic level of certification,
which is given for attendance only. The level and quality of
the participant's understanding is not tested and therefore
not guaranteed in any way.

- NetBeans Certified Engineer. On completion of
the homework to a suitable level of quality. The recipient of
this level of certification has shown a significant level
of understanding of the NetBeans Platform. When faced with
two choices while completing their task, they will have chosen
the direction that is most correct for working with the NetBeans
Platform. For example, if they port a Java application to the NetBeans
Platform, they will use a TopComponent instead of
a JFrame.
After the course given at Linz, in Austria, Christof Holl & Sabine Weiss received this level of certification because of their work in understanding the login infrastructure of the NetBeans Platform to such an extent that they were able to write an excellent tutorial about it, while Johannes Strassmayer used a wide range of NetBeans APIs to create a font editor for a mobile MP3 player.
- NetBeans Certified Committer. On providing
work that is of a level of quality and usefulness for
it to be accepted as a
contribution to the
NetBeans sources. The recipient of this level of certification
has produced work that is not only of a very high quality but that
is useful to NetBeans IDE, or another application on the NetBeans Platform.
Moreover, the recipient has reacted promptly and accurately to the advice
given by the instructors based on feedback received while doing their
task. The recipient has a proven understanding of the development
processes and is completely aligned with the NetBeans Platform's
paradigms. In addition, the recipient has formally agreed to their
work being integrated into the NetBeans sources.
For example, Roland Poppenreiter and Stefan Riha created a spell checker for XML and HTML files. The work was of a very high quality and, simultaneously, provided functionality that NetBeans IDE did not already have but has needed for a very long time.
Schedule
The NetBeans Certified Training was introduced towards the end of 2007. It has been, or will be, delivered in the following places:
- Johannes Kepler Universitat, Linz, Austria (Friday 9 - Saturday 10 November, 2007)
- CZJUG, Prague, Czech Republic (Thursday 6 - Friday 7 March 2008)
- Czech Technical University, Prague, Czech Republic (Thursday 27 - Friday 28 March, 2008)
- University of West Bohemia, Pilsen, Czech Republic (Thursday 10 - Friday 11 April, 2008)
- Charles University, Prague, Czech Republic (Thursday 29 - Friday 30 May, 2008)
- University of Philippines, Manila (Friday 20 - Saturday 21 June, 2008)
- Julius-Maximilians-Universität Würzburg, Würzburg, Germany (Monday 6 - Tuesday 7 October, 2008)
- Masaryk University, Brno, Czech Republic (Friday 7 - Saturday 8 November, 2008)
- Warsaw University, Warsaw, Poland (Saturday 22 - Sunday 23 November, 2008)
- Cairo University, Cairo, Egypt (Saturday 3, Sunday 4, and Monday 5 January, 2009)
- Johannes Kepler Universitat, Linz, Austria (Wednesday 14 - Thursday 15 January, 2009)
- Ulm University, Ulm, Germany (Thursday 5 - Friday 6 February, 2009)
- Silesia JUG, Gliwice, Poland (Saturday 28 February - Sunday 1 March, 2009)
- Warszawa JUG, Warsaw, Poland (Friday 27 March - Sunday 29 March, 2009)
- University of West Bohemia, Pilsen, Czech Republic (Thursday 10 April - Friday 11 April, 2009)
- Hogeschool van Amsterdam, Amsterdam, Netherlands (Thursday 16 April - Friday 17 April, 2009)
- Charles University, Prague, Czech Republic (Wednesday 3 June - Friday 5 June, 2009)
- Bonn University, Bonn, Germany (Saturday 15 August - Sunday 16 August, 2009)
- Hochschule Bremen, Bonn, Germany (Monday 14 September - Tuesday 15 September, 2009)
- Source Talk Tage, Göttingen, Germany (Tuesday 29 September - Thursday 1 October, 2009)
- Southern Illinois University, USA (November 2009)
- Linz, Austria (December 2009)
- Poznan JUG, Poland (Saturday 16 - Sunday 17 January, 2010)
- Braunschweig, Germany (Monday 15 - Tuesday 16 February, 2010)
- Bergen, Norway (February/March 2010)
- ...
You too?
Would you like to become a certified NetBeans engineer too? There are several ways of achieving this:
- Attend one of the planned training courses. See the schedule above.
- Ask us to deliver an in house training. Both companies and universities are welcome to invite us to deliver the course in person. Depending on the circumstances, we could provide the training in different ways, either in house at your location, or locally here in Prague, or after a local Sun Tech Days, etc. Let us know your preferences by writing to users@edu.netbeans.org. Tell us how many students will attend, what your plans are with the NetBeans Platform, what your current skill set is, and so on.
- Take the upcoming online NetBeans Platform training course. This course is in a planning phase. It should be available in the coming months (watch this space).



