Stefan Streifeneder
Oracle Certified Java Programmer
Email: stefan.streifeneder@gmx.de
Telefon 0151 401 45 725


Vom Applet auf Textpad bis zum Oracle Certified Java Developer (OCMJD)

Den ersten Kontakt mit Java hatte ich 2003. Zum damaligen Zeitpunkt war ich für ein Unternehmen aus dem Immobilienbereich tätig. Ich habe MS Daten Banken angelegt und gepflegt, Hompages erstellt und zum ersten Mal kleine Java Applets geschrieben. Die Applets habe ich mit Textpad erstellt, ohne Paketstruktur oder dergleichen. Die Programme wurden damals auch nicht als JAR Files gepackt. Den nächsten Schritt mit Java habe ich 2005 vollzogen, während ich bei einer IT Firma tätig war, die im Auftrag Homepages erstellte, pflegte und auf eigenen Servern gehostet hat. Im Rahmen dessen habe ich Programme auf der Plattform Enterprise Edition mit Java Server Pages geschrieben.

Einen umfassenden und vertieften Einstieg habe ich mir in einer Weiterbildung bei Dekra 2007 verschafft, worauf ich basierend 2009 das Zertifikat Oracle(Sun) Certified Java Programmierer erworben habe. In den weiteren Jahren habe mich auf das Backend für Datenbanken (Mysql, Oracle) in Verbindung mit dem Internet konzentriert. Im Rahmen dessen habe ich grafische Oberflächen erstellt zur Kommunikation zwischen Clients und Server.

Das Zertifikat Oracle Certified Master Java Developer beinhaltete die Aufgabe ein vollständiges Projekt zu erstellen aufgebaut auf einer fiktionalen Firma. Meine fiktionale Firma Bodgitt&Scarper stellt eine Agentur dar, die Handwerker vermittelt. Das Projekt ist als Java Standalone Anwendung angelegt, d.h. eigene grafische Oberfläche mit javax.swing Komponenten und die Anwendung muss sowohl lokal als auch über das Internet persistenten Zugriff auf ein Datenbank Management System gewährleisten. Die unterlegte Datenbank (nosql) ist eine reine ASCII Datei, d.h. sie ist weder relational noch mit SQL Befehlen veränderbar. Zugriff wird über die Klasse java.io.RandomAccessFile realisiert.



Bodgitt&Scarper - OCMJD (Java Standalone Application based on a nosql database)

Im folgenden Video stelle ich mein Projekt Bodgitt&Scarper vor
Dirketer Zugriff: Bodgitt und Scarper App







OCMJD and Monkhouse/Camerlengo

To solve the task introduced by the certificate OCMJD Oracle provides three means. One of them are the enormous expensive Courses offered by Oracle. On the other side there is the homepage https://coderanch.com/wiki/659886/OCMJD-Faq and the book SCJD Exam of Monkhouse/Camerlengo. The book describes a sample project based of a fictional company similar to the task of the certificate OCMJD. It is strongly recommended to follow the introduced design of Monk/Camerlengo in general especially the locking system must be kept in total without using collection of the package java.util.concurrent.

But there is a little flaw and only it arises in a high traffic environment, whereby that situation is emulated perfectly by the test introduced by Roberto Perillio ( see https://coderanch.com/t/427863/certification/Tests-Data-class-locking-mechanism).

See: SCJD Exam with J2SE 5 Platform, Monkhouse/Camerlengo
S. 141

1 private List<DVD> getDvdList(final boolean buildRecordNumbers)
2            throws IOException {
3		final ListList<DVD> returnValue = new ArrayListt<DVD>();
4    		if (buildRecordNumbers) {
5				recordNumbersLock.writeLock().lock();
6		}
7		try {
8			for (long locationInFile = 0; 
9				// should get a monitor lock
10				locationInFile < database.length();//can cause problems				
11                    		locationInFile += DVD.RECORD_LENGTH) {
12				final DVD dvd = retrieveDvd(locationInFile);
13				log.fine("retrieving record at " + locationInFile);
14				if (dvd == null) {
15					log.fine("found deleted record ");
16				} else {
17					log.fine("found record " + dvd.getUPC());
18					if (buildRecordNumbers) {
19						recordNumbers.put(dvd.getUPC(), 
20							locationInFile);
21					}
22					returnValue.add(dvd);
23				}
24			}
25		} finally {
26        	if (buildRecordNumbers) {
27                recordNumbersLock.writeLock().unlock();
28        	}
29		}
30    	return returnValue;
31 }

In the following video I expose the mentioned flaw of the book and I will introduce my solution to solve the problem.




Java Web Anwendungen

Letzten Endes benützen Sie gerade eine von mir erstellte Java Web Anwendungen basierend auf Java Server Pages und Java Servlets.

Die JSPscjdJAR Applikation verschafft sich Zugriff basierend auf einem Interface zu einem Datenbank Server System, das gleiches Interface zur Kommunikation benützt. Der von dem Datenbank Server verwendete Datenbank-Type (MySQL, Oracle oder nosql) ist beliebig.

In dem folgenden Video erstelle ich eine JAR Datei, die einer Web-Applikation als Interface dient, um auf unterschiedliche Datenbank Server Systeme (MySQL und nosql) per IP-Addresse und Port Nummer zu zugreifen.



Java Mobil

Im Rahmen kleiner Projekte war ich unterstützend tätig bei der Erstellung von Apps für Smartphones basierend auf JAVA ME. Wobei ich hier eines anmerken möchte, dass es in keinem Bereich so sehr auf die Entwicklungsumgebung und entsprechender Hardware (Mac, IPhone, Smartphone, etc.) ankommt, wie bei der Erstellung von Apps für Smartphones.






Home Contact