• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Obj-C -> EJB zugreifen

tommy

Jamba
Registriert
27.08.05
Beiträge
59
Hallo,

ich entwickel gerade einen grafischen Client der auf eine Java Enterprise Bean zugreifen soll. Da die Java Brücke ja "tot" ist, und nicht gerade zukunfts-sicher ist wollte ich dies auch nicht benutzen. Meine erste Wahl fiel da auf Objective-c, nur man wird ja sicher auch Java vermutlich benötigen. (grafische Oberfläche = mit obj-c nib)

Erste Idee:
JNI in einer Dynlib benutzen und zur Laufzeit laden.

Aber vielleicht kennt ihr ja noch eine bessere Lösung für mein Problem.

mit besten Gruß, Tommy
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Eclipse?

Wird zwar scheiße fürchterlich aussehen, so wie alle Java Applikationen und sich auch schrecklich anfühlen (so wie alle Java Applikationen) und glazial langsam sein (so wie alle Java Applikationen), aber Du kannst es in Java schreiben.
Gruß Pepi
 

tommy

Jamba
Registriert
27.08.05
Beiträge
59
das ist mein bedenken an der Geschichte! Wenn ich mir jetzt größere GUI Applikationen anschaue die auf Java basieren, sind sie nicht gerade was Geschwindigkeit angeht ganz oben.
Daher war ja meine Idee das wesentliche mit Obj-c und C zu schreiben. Dieses Programm lädt dann eine Bibliothek nach die über JNI eine EJB callt.
Das dürfte ja die Geschwindigkeit wesentlich verbessern, nur das Stichwort "Portierung" kann man dann vergessen.

Eine andere Idee wäre noch einen Terminal Client in Java zu schreiben der Befehle entgegen nimmt. Nur da auch größere Daten gesendet werden wäre dies nicht gerade sehr speicherschonend, wenn es 2 Clients gibt.

Gruß, Tommy
 

appahappa

Ingrid Marie
Registriert
28.03.07
Beiträge
273
Zunächst einmal bin ich nicht der Meinung, dass Java langsam ist - d.h. ich würde auch für das UI Java benutzen. Aber wenn man unbeding ein Cocoa-Frontend haben will, würde ich Backend-Funktionalität als Webservices zur verfügung stellen und im Frontend konsummieren. Mit JEE 5 ist es ein Kinderspiel Webservices zu schreiben - nur paar Annotations und schon wird aus einem EJB ein Webservice. Dann braucht man gar kein Java auf dem Client. Die Lösung mit JNI ist eine ganz haarige Geschichte, davon würde ich persönlich abraten.
 

tommy

Jamba
Registriert
27.08.05
Beiträge
59
Dankeschön erst einmal für die tollen Ratschläge! :)
Diese Webservices funktionieren in der Regel über SOAP|RMI, oder? Sind Java Webservices kompatibel zu anderen Bibliotheken? Ich könnte mir vorstellen wenn diese auf RMI basieren, das es da Probleme geben könnte. Ganz die Möglichkeit auf Windows oder Linux dies zu portieren möchte ich natürlich auch nicht verlieren. Ich wollte schon das dieses Frontend sich der Umgebung von Mac OS optisch anpasst.

Noch etwas zur Geschindigkeit:
Ob es nun am Backend oder Frontend liegt weis ich auch nicht so genau. Eclipse ist meines erachtens mindestens 5 schneller als Netbeans. Allerdings finde ich Netbeans von der ganzen Oberfläche her besser, und nehme dies in Kauf.

Grüße, Tommy
 

appahappa

Ingrid Marie
Registriert
28.03.07
Beiträge
273
Seit Netbeans 6 draussen ist, benutze ich Eclipse ueberhaupt nicht. Ich bin mit Netbeans einfach viel produktiver, das ist das einzige was zaehlt. Ob Eclipse wirlich so schnell ist, wenn man alles installiert, was Netbeans "out of the box" kann? Und so schlimm sieht Netbeans auf dem Mac auch nicht aus. Netbeans sieht fuer mich nicht weniger nativ aus als Logic Pro oder Final Cut.

Ich bin kein grosser Webservice-Experte, habe bisher nur in einem Projekt damit gearbeitet. Habe lediglich fuer ein bestehendes JEE5-Backend Webservices geschrieben - war ein Kinderspiel mit NetBeans, WSDLs usw. automatisch generiert - und dann einen passenden Client auf der NetBeans Rich Client Plattform aufbauend. Ein anderer Mitarbeiter hat auch einen funktionierenden Cocoa-Prototypen gebaut, dieser wurde aber verworfen, da die Vorteile minimal waren. Der Aufwand war aber etwas groesser.

Was man nun nimmt um WebServices zu konsummieren, haengt ganz allein von den Anforderungen ab. Wenn der Client irgendwas mit Multimedia zu tun hat, so wie iTunes, dann ist Cocoa natuerlich besser, man hat aber auch einen groesseren Aufwand, wenn man Kunden mit anderen Betriebssystemen bedienen will. Fuer "normale" Anwendungen wuerde ich persoenlich Java nehmen. Es hat sich noch nie ein Kunde bei uns ueber Geschwindigkeit beschwert. Mac-User bekommen ganz "normal" eine dmg-Datei, womit das Programm entwickelt wurde ist denen sowas von egal.
 

tommy

Jamba
Registriert
27.08.05
Beiträge
59
Also die Integration von Netbeans was die Server Geschichte angeht finde ich schon besser. Das Profiling in Netbeans ist einfach super!

Ich denke den Endkunden wirds nie interessieren in was das ganze geschrieben ist. Höstens obs erweiterbar ist, und das rein wirtschaftlich. Ein Freund von mir, die setzen auch WebServices bei der Kummunikation mit MDE-Geräten und Server ein. Allerdings meinte er auch, das die Daten nicht gerade top schnell unterwegs sind. Könnte natürlich auch an den kleinen Geräten liegen (Win-CE) :-D

Ich habe momentan die ganze Cocoa Geschichte verworfen, und nun Java Swing genommen. Ich hoffe es kommt nicht der Punkt wo ich's bereue. Die Geschwindigkeit ist momentan ganz OK, und wäre mit Objective-C denke ich auch nicht wesentlich schneller, wenn man den Entwicklungsaufwand besieht. Falls ich doch noch einmal native-Code bräuchte habe ich ja immer noch mein JNI :)
 
Zuletzt bearbeitet: