[Update] Java EE Tutorial – Wir erstellen unsere DB und die Entity-Beans

Ich habe gestern 2 neue Tutorial hochgeladen, einmal zum Erstellen unserer Datenbank mit Hilfe des ERD-Editor ERMaster und eines, um aus der Datenbank die Entity-Beans abzuleiten.

Im Folgenden wollen wir dann ein kleines Demoprojekt erstellen um unsere Entitäten zu testen und um zu schauen, wie man mit JPA und dem EntityManager Instanzen unserer Klassen persistiert, also in der Datenbank festschreibt.

Das kommt dann (hoffentlich) am Wochenende 🙂

IBM BPM 7.5 Video Tutorials von Neil Kolban

Ich bin ja mittlerweile eine großer Fan von Videotutorials geworden und scheinbar nicht der einzige der mit Freuden auf diesen Zug aufspringt. Neil Kolban, ein amerikanischer IT Specialist der IBM, veröffentlicht, wie ich neulich herausgefunden habe, regelmäßig Videos auf Vimeo zum “IBM Business Process Manager 7.5“.

Den Link möchte ich euch natürlich nicht vorenthalten! Viel Spaß beim Anschauen:

http://vimeo.com/groups/ibmbpm/videos

Java EE 6 Tutorial – Es hat begonnen…

Da Java EE 6 Tutorials rar sind – und mein Wissen über die neue Spezifikation noch begrenzt – habe ich mich entschlossen ein etwas größeres Video-Tutorial-Projekt zu beginnen in dem ich von der Installation einer Java EE Entwicklungsumgebung bis hin zur Auslieferung eines fertigen Projekts jeden Schritt erklären möchte. Das hilft mir beim Lernen und euch hoffentlich auch! 🙂

Ich werde versuchen so viele spannende Technologien wie möglich einzubauen um euch einen guten Einblick zu geben was alles mit Java EE machbar ist.

Die ersten paar Videos sind hochgeladen. Ihr findet sie hier:

https://www.jofre.de/javaeetutorial/

Die Themen mit grünem Häkchen sind bereits da, die anderen lade ich in den nächsten Wochen hoch. Wollt ihr über neue Videos informiert werden aboniert einfach meinen RSS-Feed.

Ich befürchte, dass dieses Vorhaben neben dem OS-Entwicklungsbuch mein bisher umfangreichstes Projekt wird. Aber mit eurem Feedback bin ich sicher, dass wir das schnell und ordentlich über die Bühne bringen.

Feedback ist jederzeit willkommen und hilft mir die kommenden Videos besser zu gestalten!

Was ist neu in Java EE 6?

Alle großen Unternehmen (IBM, Oracle, SAP, …) lassen ihre Application Server nach der Java EE 6 Spezifikation zertifizieren. Aber was bringt Java EE 6 eigentlich mit sich? Hier eine kurze Auflistung:

  • Servlet-Konfiguration über Annotations:
    @WebServlet(name="MySevlet", urlPatterns={"/jofre/MyServlet"})
    public class MyServlet extends HTTPServlet { ... }
  • JSF 2.0 Konfiguration über Annotations:
    @ManagedBean(name = "jofreBean")
    @SessionScoped
    public class JofreBean { ... }
  • EJB 3.1 Singletons (Eine Bean pro JVM):
    @Singleton
    public class MySingletonBean { ... }
  • EJB 3.1 Timer (EJB-Aufrufe pro Zeit):
    @Stateless
    public class TimerEJB {
    	@Schule(dayOfWeek="Mon")
    	public void ItIsMonday(Timer timer) { ... }
    }
  • EJB 3.1 Asynchrone Session-Bean-Methoden:
    @Stateless
    public class MyBean {
     
    	@Asynchronous
    	public void browseData();
    }
  • JPA 2.0 Abbilden von Collections:
    @Entity
    public class Person
    {
    	@ElementCollection
    	private Set firstNames;
    }

Das sind natürlich nur einige wenige Neuerungen aber das macht natürlich Lust auf mehr 🙂 Folgende Server unterstützen Java EE 6:

  • IBM WebSphere Application Server 8
  • Sun/Oracle GlassFish
  • Tomcat 7 (Beta)

IBM BPM 7.5 – Rest Services Übersicht

Heut mal wieder ein etwas spezielleres Thema, aber da ich weiß, dass es für viele Kollegen in Zukunft interessant wird möchte ich dieses kleine aber feine Stückchen Wissen mit euch teilen!

IBM hat ein neues Paket geschnürt aus dem WebSphere Process Server und der WebSphere Lombardi Edition zu einem in 3 Pakete gestaffelten Produkt dem Business Process Manager 7.5. Für alle Entwickler die sich mit dem Thema Mobile (Android, IPhone, Blackberry, HTML5, …) auseinandersetzen ist sicherlich interessant, dass die REST API erheblich verbessert wurde und zwischen Lombardi und dem Process Server vereinheitlicht werden soll.

Da ich gerade ein bisschen mit dem BPM rumexperimentiere, speziell mit der REST API, habe ich eine Übersicht über alle REST Urls gesucht, aber natürlich keine gefunden 🙂 Dafür gibt es etwas noch viel besseres, man muss allerdings erstmal darauf stoßen:

http://host_name:port_number/bpmrest-ui

Über diese URL gelangt man auf eine Testseite über die man sich alle möglichen REST Requests anzeigen lassen kann die der BPM anbietet. Ganz toll auch diesmal: Einen Health Check!

Viel Spaß beim Ausprobieren!

JavaEE Entwicklungsumgebung aufsetzen mit WebSphere Community Edition

Hallo zusammen, seit einiger Zeit versuche ich mich an Videotutorials da ich von den Video2Brain CDs total begeistert bin. Hier stelle ich heute mein erstes Video vor mit dem wunderbaren Titel: “JavaEE Entwicklungsumgebung mit WebSphere Community Edition und Eclipse einrichten”.

Darin beschreibe ich wie man eine simple Entwicklungsumgebung zum lokalen Erstellen von Geschäftsanwendungen aufbaut. Diese soll als Basis für kommende Tutorials dienen. Geplant sind für nächste Zeit die Themen:

  • WebServices
  • REST Services
  • JSP
  • JSF
  • EJB
  • Spring
  • Hibernate

Edit: Java EE 6 ist toller neuer interessanter, deswegen werde ich die Tutorials nicht weiter auf dem WAS CE (Java EE 5) entwickeln sondern auf GlassFish umsteigen.

Genug versprochen, hier kommt das Video:

Timeout für Jax-RPC WebService festlegen

Es gibt Fragen im Internet auf die es keine Antwort zu geben scheint es sei denn man stolpert glücklicherweise über selbige. Genau das ist mir heute passiert und damit es euch nicht ebenso geht, landet die Antwort natürlich direkt hier im Blog 🙂

Problem: Ihr wollt über JAX-RPC einen WebService aufrufen. Dieser ist nicht erreichbar und euer aufrufender Client dümpelt vor sich hin und arbeitet nicht weiter.

Ansatz: Man setzt einen Timeout den der aufrufende Client auf den WebService wartet.

Lösung: So unbekannt und doch so einfach:

HelloWorldServiceLocator hwsl = new HelloWorldServiceLocator();
HelloWorld hw = hwsl.getHelloWorld();
((Stub) hw).setTimeout(60000);
hw.sayHello();

Man ruft also den WebService über einen herkömmlichen WebService-Client auf (Dieser lässt sich in jeder guten IDE generieren) und castet das Service-Objekt auf ein Stub. Hier kann man nun einen Timeout in Millisekunden setzen. So einfach ist das!

IBM Update Installer Install Problem unter Linux

Ich hatte gerade das Problem, dass ich den IBM Update Installer nicht über das Terminal installieren konnte, da der Befehl “install” weitere Parameter erfordert:

jf@jf-laptop:~/Downloads/download.updii.61019.linux.ia32/UpdateInstaller$ sudo install
install: Fehlendes Dateioperand

Das Problem hierbei ist, dass der Befehl “install” von einer anderen Anwendung (wahrscheinlich aus den Linux Build-Essentials) vorbelegt ist und hier genutzt wird und nicht das “install” Script im Installationsverzeichnis des UpdateInstallers.

Das Problem zu lösen ist einfach: Man gibt einfach den kompletten Pfad zum install-Script an und schon läuft das ganze, also:

sudo ‘/home/jf/Downloads/download.updii.61019.linux.ia32/UpdateInstaller/install’