Eine EJB aus einer Clientanwendung aufrufen

Enterprise Java Beans (EJB) sind für viele der Enterpriseanwendungsentwickler heutzutage nicht mehr wegzudenken. Wie es nun aber mal bei Java ist, kursieren im Internet 1000 Fragen auf eine Erklärung. Um die magere Quote von 1000:1 ein bisschen aufzuwerten möchte ich hier eine kurze Anleitung schreiben, wie man aus einer Client-Anwendung eine EJB auf einem Anwendungsserver auffindig macht um dann eine Methode daraus aufzurufen.

Schritt 1: Finde die Bohne und führe Methode aus

Eine EJB über das Java Naming and Directory Interface (JNDI) zu finden ist kein Hexenwerk. Das Aufrufen ist ebenso simpel. Bitte beachten, dass hier keine Exceptions gefangen werden!

public void callMyMethodFromEJB() {
Object object = null;
MyEJBHome ejbHome = null;
InitialContext ic = new InitialContext();
object = ic.lookup("/ejb/de/jofre/MyEJBHome");
ejbHome = (MyEJBHome) PortableRemoteObject.narrow(object, MyEJBHome.class);
MyEJBRemote ejbRemote = ejbHome.create();
ejbRemote.myMethod();
}

Continue reading “Eine EJB aus einer Clientanwendung aufrufen”

Android SDK installieren – JDK not found

Ich spiele gerade ein bisschen mit dem Android SDK rum und bin bei der Installation des SDKs auf einen witzigen Bug gestoßen. Installiert man das JDK (Java Development Kit) und dann das Android SDK kann es passieren, dass letzteres meckert, dass das JDK vorher installiert werden muss und dass der Installer sonst nicht weitermachen mag.

Lösung:

  1. Im Installer auf “Back” klicken wenn die Meldung angezeigt wird, dass das JDK nicht gefunden wird.
  2. Im Installer auf “Next” klicken. Voilà 🙂 So einfach ist das!

Random Paper Generator für IT Themen

Schade, dass ich nicht mehr an der Uni bin, ich wüsste gerne wieviele meine Profs auf folgendes hereingefallen wären: Heute hat mir ein Kollege einen wunderbaren Link zukommen lassen. Dieser Link beinhaltet ein Onlinetool, dass automatisch sogenannte IT Papers, also kurze Ausarbeitungen generiert die auf die ersten zwei Blicke echt aussehen, aber natürlich totaler Klumpatsch sind.

Das ganze gibts hier: http://pdos.csail.mit.edu/scigen/

Hier ist ein Beispiel: Developing Lambda Calculus and Erasure Coding

Viel Spaß beim Generieren 😉

Das eigene Betriebssystem reloaded

Heute ist ein denkwürdiger Tag da ich bisher mein längstes aber dennoch längst nicht fertiges Tutorial veröffentlichen werde. Über 50 Seiten habe ich in den letzten Monaten zusammengeschrieben und zwar über das Thema “Wie baue ich mir mein eigenes Betriebssystem?”.

Nein es geht nicht darum sich ein OS mit Linuxkernel “zusammen zu klicken”. Wir fangen hier echt bei 0 an (Mit Ausnahme von GRUB). Ich hatte damals schon 1-2 Artikel veröffentlicht in denen ich ausschließlich mit Assembler gearbeitet habe. Dieses Tutorial konzentriert sich hauptsächlich auf die Sprache C und setzt nur genau dann auf Maschinencode wenn es nicht anders geht.

Leider hänge ich im Moment etwas an der virtuellen Speicherverwaltung (Paging, Heaps, Memory Allocation) und schreibe deswegen die nächste Zeit nicht weiter. Da ich euch die bisherige Arbeit nicht vorenthalten will biete ich sie heute als Beta-Version (0.3) zum Download an.

Das Tutorial ist in mehrere Schritt aufgeteilt. Jeder Schritt ist als Source Code Ordner in dem Zip-Paket enthalten, sodass ihr die Kapitel beliebig überspringen könnt.

Solltet ihr Gefallen an meinem Geschreibsel finden würde ich mich sehr über Feedback freuen 🙂 Und nun, viel Spaß beim Lesen.

Tutorial: WritingAnOs.zip

Video2Brain – Lernen in modern

Ich bin ja ein großer Fan von Youtube-Tutorials in denen einem von den Kunst Sushi zuzubereiten bis zum Bau eines Ubootes alles haarklein erklärt wird.

Allerdings gibt’s diese Tutorials auch in professionell, guter Qualität und zu vielen verschiedenen Themen (die sich dann aber doch alle auf die Arbeit am PC oder an der Kamera beschränken). Diese nennen sich dann Video2Brain und werden unter der selbigen eingetragenen Marke vertrieben.

Da ich ja wie viele andere zwischendurch an Langerweile leide habe ich mir mal einen Ruck gegeben und mir ein V2B über Java EE 6 gekauft. Das ganze kostet um die 50€ ABER es gibt durchaus Gründe die dafür sprechen das Geld auszugeben:

  • Man bekommt ~7 Stunden Video in dem einem die neuste Technologie von einem Zertifizierten Spezialisten erklärt wird.
  • Ein gleichwertiges Buch kostet genau so viel.
  • Eine gleichwertige Schulung kostet 20x mal so viel.
  • Man kann sich die Erklärung immer und immer wieder anhören und anschauen.
  • Last but not least: Man bekommt einige Kapitel anderer V2Bs umsonst dazu.

Nach den ersten 3 Stunden bin ich recht begeistert von der Präsentation und dem Inhalt. Wo man im Internet vertstreutes Halbwissen findet findet man im Video2Brain die Inhalte strukturiert vor und vorallem mit Erklärung warum sich welche Komponente so und so verhält. Das war mit Sicherheit nicht das letzte V2B das ich mir gekauft hab. Ich bin schon gespannt auf das erste Video über Android 3 🙂

Edit: Letztens bin ich über einen Kollegen auf ein sehr interessantes Video gestoßen in dem der mitlerweile doch recht bekannte Omnisoph Gunter Dueck unsere steinzeitlichen Lernmethoden anprangert und nach digitaler Unterstützung in der Schule und zuhause schreit. In meinen Augen sind qualitätsgeprüfte Videotutorials ein guter Schritt in die richtige Richtung.

Unser Sicherheitsbewusstsein im Internet

Was ich gerade im Netz entdeckt habe hat mir den Atem verschlagen. Ein neuer Dienst “Sofortueberweisung.de” bietet die Möglichkeit (ähnlich Paypal und Co) Geldbeträge im Netz schneller als per herkömmlicher Überweisung hin und her zu schicken. Das fand ich ganz nett und habe deswegen interessehalber die Demo ausgeführt, um zu schauen, wie der Bezahlprozess abläuft. Bei folgendem Screen bin ich hängen geblieben:

Die guten Leute möchten allen Ernstes meine Onlinebanking-Pin haben. Super Idee! Nicht nur, dass sie damit meinen Kontoverkehr komplett überwachen könnten, sie könnten auch meine Daten speichern, verlieren, weitergeben… whatever. Ein Argument wäre “Aber die schreiben in ihren AGBs, dass sie das nie tun würden!” Stimmt, und Schweitzer Banken geben auch keine Kontodaten weiter.

Continue reading “Unser Sicherheitsbewusstsein im Internet”

[Gamestudio] WorldsEnd – Erstes Demo Video

Die meisten von euch kennen das Video bestimmt schon aus dem Gamestudio-Forum oder aus Facebook aber ich wollte es der Vollständigkeit halber nochmal hier posten.

Das ganze ist mit Lite-C und Gamestudio 8 gebaut. Verwendet werden Mystymood, Firoballs XML Headers und Modelle von Arterial3D.

Wenn das Level komplett designed ist, Sounds eingebunden sind, 3-4 Quests fertig sind und ein kleines Intro steht, dann werde ich mal eine spielbare Demo veröffentlichen. Also so in 1-2 Jahren 😉 Anyway, viel Spaß beim Gucken!

TLC5940 und das Arduino Mega

Seit einigen Wochen besitze ich ein Arduino Mega. Bei einem Arduino handelt es sich um ein Microcontroller Board das man ganz easy über USB mit Software versehen und steuern kann. Auf youtube gibt es 1000 Beispiele für die Verwendung des Bords:

Solar Detector – http://www.youtube.com/watch?v=ATnnMFO60y8

IPhone controlled tank – http://www.youtube.com/watch?v=RmLU4GS7zAI

Arduino Laser Project – http://www.youtube.com/watch?v=w5KdqRwMd1s

LED Cube – http://www.youtube.com/watch?v=iN8Cd0IH5D0

Continue reading “TLC5940 und das Arduino Mega”

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’