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
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).
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.
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.
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.