J2ME - Anbindung an externe Datenbank

Status
Nicht offen für weitere Antworten.

Pappenheimer++

Bekanntes Mitglied
Hallo zusammen,

ich hab hier ein eher grundsätzliches Problem, zu dem mir selber schon einige Ideen gekommen sind. Ich weiß aber nicht, welche davon die beste ist und ob es vllt noch bessere gibt.

Folgendes: Ich hab eine relationale DB auf einem Host. Jetzt soll vom Handy aus (über J2ME) über das Internet auf diese DB zugegriffen werden und es sollen Abfragen gemacht werden können, sowie Updates. Ich muss nicht den gesamten Befehlssatz (an SELECTS und UPDATES) zur Verfügung haben - ganz im Gegenteil - es müssen wirklich nur eine Hand voll Abfragen und Updates gemacht werden können; die mobile Applikation braucht nur einen kleinen Ausschnitt aus der DB und seiner Funktionalität.

Jetzt ist die Frage, wie das realisiert werden soll. Meine Ideen:
1.DB-Treiber auf dem Handy installieren ist soweit ich weiß sehr schwierig
2.Ein Servlet laufen lassen, dass die DB auf HTTP mappt. Sprich: Die J2ME-Applikation macht HTTP-GET oder HTTP-POST; kommt also mit "Bordmitteln" aus. Das Servlet nimmt dies entgegen und führt nun DB-Abfragen/Updates aus und gibt Ergebnisse ggf. per HTTP zurück
3.RMI-Mappen. Der J2ME-Client tätigt RMI Aufrufe auf dem Server, der lokal DB-Abfragen macht. (Analogie zum Punkt 2)
4.... noch bessere Ideen?

Was sagt ihr dazu, was ist die klügste Entscheidung? Wichtig ist mir vor allem, dass das Ganze relativ schnell und schlank umgesetzt werden kann und zuverläsig funktioniert. Im besten Fall kommt die Lösung mit CLDC aus.

Vielen Dank für Eure Ratschläge
 

Noctarius

Top Contributor
1. unmöglich (weil das J2ME nicht alle benötigten Klassen kennt)
2. kommt am nächsten an das was ich empfehlen würde
3. kann J2ME RMI? (ich meine nicht, bin mir aber jetzt nicht so sicher)

4. WebService:
Ähnlich der Variante 2 und 3 aber ich würde einen WebService auf REST Basis implementieren und diesen über HTTPS absichern. Dann kannst du mit den Standard-Requestvarianten GET, PUT, DELETE, ... quasi direkt die Daten im WebService (und damit indirekt in der Datenbank) manipulieren und abfragen.
Für die Datenübertragung würde ich einen XML-Dialekt benutzen.

Warum dieser Weg?
- Wenn du über ein Servlet den Request an die Datenbank mappst (also quasi ne Art TCP-Proxy baust) müssten auf dem Handy die Zugangsdaten für die Datenbank vorhanden sein. Unschön, wenn das Handy mal weg kommt.
- Dank HTTPS ist die Verbindung verschlüsselt. Wenn man mag, könnte man zusätzlich einen VPN Tunnel mit IPsec oder Ähnlichem voraussetzen.
- REST ist einfach, mächtig und intuitiv zu benutzen, da die HTTP-Methoden eine Verknüpfung mit der Wirkung erahnen lassen und es gibt gute Frameworks (RESTles z.B.)
- XML ist sauber, strukturiert, hat gute Toolunterstüzung und ist einfacher zu benutzen als JSON, dafür aber mit etwas mehr Overhead. Ob es für J2ME eine JSON Lib gibt weiß ich nicht aber der gesparte Traffic könnte die höhere Einarbeitungs- und Entwicklungszeit rechtfertigen
 

Pappenheimer++

Bekanntes Mitglied
Vielen Dank für Deinen Rat.

Die Kommunikation mit REST und Übertragung in XML gefällt mir sehr gut; so ähnlich hatte ich mir das auch schon vorgestellt. Jetzt habe ich aber eine Frage: Wenn ich einen richtigen WebService als Mapper nehme und den https-sichere, warum müssen dann weniger Zugangsdaten auf dem Handy gespeichert werden als bei der Servlet-Variante? Meinst Du, ich soll den WebService mit Apache Axis implementieren? Ist das nicht viel zu viel Overhead bzw. recht aufwendig, sich da einzuarbeiten?
 

Noctarius

Top Contributor
Wenn du das Servlet nimmst um JDBC Anfragen weiterzuleiten (also eine Art Proxy) dann muss zwangsweise auf dem Handy, Serveradresse, Port, Benutzername, Passwort, Datenbankname hinterlegt sein.

Hast du einen richtigen WebService kannst du z.B. eine zertifikatbasierte Authorisierung vornehmen. Hast du zusätzlich eine VPN mit User / PW (zum Eingeben) kannst du es nochmals absichern.

Axis setzt auch auf Clientseite ein richtiges WebService Framework voraus (SOAP Nachricht), außer du baust den kompletten SOAP-XML Kram von Hand zusammen. Mit WSDL garnicht so einfach.

Denk dir lieber ein simpeles XML Format aus und benutz REST.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
tuttle64 J2ME SDK starten Android & Cross-Platform Mobile Apps 4
F MIDLET Pascal statt J2ME? Android & Cross-Platform Mobile Apps 6
K mp3 datei in j2me abspielen Android & Cross-Platform Mobile Apps 16
P J2ME Code-Beispiele Android & Cross-Platform Mobile Apps 2
K Java ME J2ME Bluetooth - bluesoleil,bluecove, JSR82... ? Android & Cross-Platform Mobile Apps 6
G Java ME Tabelle in J2ME Android & Cross-Platform Mobile Apps 4
G J2me Wirlesstoolkit 2.5.2 Kompertibel zu Samsung SGH J700 Android & Cross-Platform Mobile Apps 2
K J2ME programmierung - startprobleme. Android & Cross-Platform Mobile Apps 7
B (J2ME) Welche IDE ? Android & Cross-Platform Mobile Apps 3
M Telefonbuch in J2ME programmieren HILFE! Android & Cross-Platform Mobile Apps 34
M Welche Datenbank für J2ME? Android & Cross-Platform Mobile Apps 5
P Prob mit Eclipse und J2ME SDK Android & Cross-Platform Mobile Apps 4
T J2ME Frameworks und Librarys Android & Cross-Platform Mobile Apps 2
J image j2me Android & Cross-Platform Mobile Apps 2
D J2ME - Wie und welches Programm Android & Cross-Platform Mobile Apps 10
C JSR135 - Kamera in J2ME? Android & Cross-Platform Mobile Apps 4
A Hessian und J2ME Android & Cross-Platform Mobile Apps 3
G J2ME jar-problem Android & Cross-Platform Mobile Apps 10
Kidao Progress Bar in J2ME Android & Cross-Platform Mobile Apps 2
K XDA Orbit: Auslesen der GPS Daten mit J2ME Android & Cross-Platform Mobile Apps 2
D J2ME und Collections? Android & Cross-Platform Mobile Apps 5
R J2ME <-> Microsoft Message Queue (MSMQ) Android & Cross-Platform Mobile Apps 2
ARadauer j2me und mvc Android & Cross-Platform Mobile Apps 24
K Erste J2ME Applikation in NetBeans Android & Cross-Platform Mobile Apps 2
S Anfängerproblem mit ant+j2me Android & Cross-Platform Mobile Apps 2
D Kalenderwoche mit J2ME Android & Cross-Platform Mobile Apps 2
G Gibts das.Wo findet man die J2ME Gesamtdoku ? Android & Cross-Platform Mobile Apps 2
J J2ME Java Programm im Hintergrund auf Handy laufen lassen? Android & Cross-Platform Mobile Apps 2
S J2ME und J2EE Android & Cross-Platform Mobile Apps 4
B J2Me Buch? Android & Cross-Platform Mobile Apps 4
K HTTP-Verbindung mit J2ME.... Android & Cross-Platform Mobile Apps 2
S Einstieg in J2ME (Java2 MicroEdition) Android & Cross-Platform Mobile Apps 52
Kazudemruzo Android API/Library für externe Entwickler zur Verfügung stellen Android & Cross-Platform Mobile Apps 7
Flynn Text-File auf externe Speicherkarte schreiben Android & Cross-Platform Mobile Apps 1
ms_cikar Thread / Intent als externe klasse Android & Cross-Platform Mobile Apps 1
F Externe Bibliotheken in Projekt einbinden Android & Cross-Platform Mobile Apps 5

Ähnliche Java Themen

Neue Themen


Oben