Man brauch es bei der Interaktion mit der Datenbank. Man brauch es zur Programmierung eines Poolings und man brauch es an 1.000.000 anderen Stellen im Leben. Die Rede ist natürlich von ID’s. Die Abkürzung ID kommt aus dem Englischen und steht für „Identity Document“. Speziell geht es in diesem Beitrag um die so genannte Universally Unique Identifier kurz UUID. Die UUID ist ein Standard für Identifikatoren, der in der Softwareentwicklung verwendet wird. Er ist von der Open Software Foundation (OSF) als Teil des Distributed Computing Environment (DCE) standardisiert. Hauptsächlich werden UUIDs eingesetzt, um Informationen in verteilten Systemen ohne zentrale Koordination eindeutig kennzeichnen zu können.
(mehr …)
Am 10. Oktober 2011 habe ich behauptet, dass wirklich JEDER Java-Entwickler einen Web Service innerhalb von 15 Sekunden schreiben kann. Diese Behauptung konnte bisher keiner wiederlegen:-)
Darum behaupte ich heute, dass wirklich JEDER PHP-Entwickler einen Web Service Client in nur 10 Sekunden schreiben kann. Man brauch lediglich einen Web Service (WSDL + Endpoint) und einen php-fähigen Server (z.B. Apache). Lasst uns los legen und keine Zeit verlieren!
Was braucht jede Anwendung (egal ob Web-Anwendung, Batch oder Standalone) und wird meistens vom Entwickler vernachlässigt?! Genau – das Logging. Speziell in Java hat man hier die Qual der Wahl: Apache Log4j, Apache Commons Logging, Java Util Logging/Java Logging API und wie sie alle heißen. Am Ende muss man sich für eins der Frameworks entscheiden oder man setzt slf4j ein und verzögern damit die Entscheidung. Persönlich habe ich mich für Log4j entschieden und möchte Ihnen in diesem Beitrag eine Möglichkeit zeigen, wie man Log4j in einem Java-Programm verwendet.
(mehr …)
Es gibt verschiedene Parameter, die man einer JVM mitgeben kann. So kann man neben dem zu verwendenden RAM, auch Debug-Informationen und Pfade mitgeben. Dies kann nützlich sein, wenn man eine Web-Anwendung im Applikationserver oder eine einfache Jar-Datei debuggen will. Mein Beitrag zeigt euch das Debuggen einer Jar-Datei mit Eclipse.
Total Bananne, aber dennoch oft gefragt, stelle ich euch heute die BASE64 Kodierung vor.
Für die Übertragung von Binärdaten im Internet hat sich im Laufe der Zeit die so genannte Base64-Kodierung durchgesetzt. Man findet diese Art der Kodierung zum Beispiel bei E-Mail-Anhängen, Downloads oder SOAP-Nachrichten. Die im Request for Comments kurz RFC 1521 beschriebene Methode übersetzt drei Bytes also 24 Bits (1 Byte = 8 Bit;-) in vier Base64-kodierte Zeichen (4 Zeichen mit jeweils 6 repräsentativen Bits). Die Base64-Zeichen bestehen aus den Buchstaben des lateinischen Alphabets, den Ziffern 0 bis 9 sowie den Sonderzeichen „+“, „/“ und „=“.
(mehr …)
Unglaublich, aber heute hat mich Java zum ersten Mal in meinem Leben enttäuscht:-(
Wie die Überschrift des Blogeintrags verrät, habe ich Ungenauigkeiten in der Zeitmessung von Java festgestellt. Normalerweise verwende ich Timestamps selten als Primery-Key in der Datenbank, aber wenn die eigentliche Verarbeitung unter 10 Millisekunden dauert, kann das zu Problemen unter Windows XP führen! Laut API bestimmt das darunter liegende Betriebssystem wie oft der Zeitwert aktualisiert wird. Mit anderen Worten: Windows XP (32 Bit) und Java Version: JDK 1.6.0_16 aktualisieren im Durchschnitt aller 15 ms die Systemzeit. Somit erhält man in meinem Beispiel(Datenbank-Primery-Key) zweimal den gleichen Timestamp und provoziert damit einen SQL-Fehler. Dabei spielt es keine Rolle, ob man die Funktion System.currentTimeMillis(); oder das Objekt new Date(); verwendet.
(mehr …)
Nicht immer hat man die Zeit und die Lust einen Web Service Client zu schreiben. Zum Glück gibt es ein Programm namens „SoapUI“, dass diese Aufgabe effizient erledigt. Egal ob SOAP, REST oder AMF, SoapUI benötigt nur die eine WSDL (Adresse oder Datei) und einen Endpoint.
(mehr …)
In den letzten Wochen habe ich gebloggt, wie man einen sehr einfachen Web Service in Java veröffentlichen/bereitstellen kann. Jetzt es geht um die Nutzung eines Web Services. Hierfür wird ein sogenannter Client benötigt, den ich zunächst in Java implementieren werde. (Hier ist Beitrag zu PHP) Ausgangspunkt ist wieder mein Rechteck Web Service.
ACHTUNG! Für bekennende Java-Entwickler habe ich hier einen ausführlicheren Beitrag geschrieben!
Bei Webservices muss man sehr oft mit Array’s arbeiten. In Java gibt es hierfür verschiedene Hilfsklassen, wie zum Beispiel die java.util.Arrays Klasse.
Double[] myA = new Double[6]; myA[0] = 5223423.9; myA[1] = 15.7; myA[2] = 189.0; myA[3] = 7645.0; myA[4] = 7654.4; myA[4] = 787645.8;
Seit Java 6 gibt es die Möglichkeit, selbst geschriebene Web Service – Klassen ohne Applikationserver und/oder Includes bereitzustellen. Hierzu wird die Endpoint-Klasse aus dem Package javax.xml.ws verwendet. Als Ausgangspunkt nehme ich den Rechteck-Web Service aus dem vorherigen Beitrag.