Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hey Mädels, ich habe folgende Situation.

Ich möchte gerne Daten wahlweise in einer XML Datei oder auf einem Datenbank-server speichern (falls der server erreichbar ist, dann auf ihm)...

nun ist meine frage, wie ich die architektur aufbaun soll. ich hatte schonmal an eine abstrakte klasse bzw interface und 2 konkrete implementierungen gedacht. ist das sinnvoll?

Danke schonmal im vorraus

Ich möchte gerne Daten wahlweise in einer XML Datei oder auf einem Datenbank-server speichern (falls der server erreichbar ist, dann auf ihm)...

Wenn Du eine Hochverfügbarkeit haben willst, dann sorge dafür, dass das DBMS eben hochverfügbar ist. Dieses "Gefrickel", wenn DBMS nicht erreichbar, dann XML Datei schreiben, finde ich unprofessionell

Phil

es geht eher darum, die aufgabe zu loesen...daher soll das mit der professionalitaet keine rolle spielen..``

Wenn Du eine Hochverfügbarkeit haben willst, dann sorge dafür, dass das DBMS eben hochverfügbar ist. Dieses "Gefrickel", wenn DBMS nicht erreichbar, dann XML Datei schreiben, finde ich unprofessionell

Phil

- Das ist nur auf den ersten Blick so. Wir habe auch Applikationen beim Kunden laufen, bei dem zwischen On-Line und Offline Betrieb unterscheiden wird (werden muss), z.b. will der Kunde mit dem Laptop unterwegs mobil arbeiten. Im letzteren Falll wird lokal in ein XML Cache serialisiert, welches beim nächsten Zugang zum Netz synchronisiert wird.

Gruss

Wir habe auch Applikationen beim Kunden laufen, bei dem zwischen On-Line und Offline Betrieb unterscheiden wird (werden muss), z.b. will der Kunde mit dem Laptop unterwegs mobil arbeiten. Im letzteren Falll wird lokal in ein XML Cache serialisiert, welches beim nächsten Zugang zum Netz synchronisiert wird.

Diese Information fehlt aber durch den OP!

Ich möchte gerne Daten wahlweise in einer XML Datei oder auf einem Datenbank-server speichern (falls der server erreichbar ist, dann auf ihm)...

Es ist weder eine Information über die Netzstruktur vorhanden, noch den Nutzen. Wenn es um eine mobile Anbindung geht, ist das sicherlich eine Möglichkeit. Als Alternative wäre auch ein SQL Lite möglich mit einem Sychronisationsmechanismus

Phil

das was dbwizard erlautert hat, soll ich umsetzen...es werden also daten auf der datenbank gespeichert und falls jemand unterwegs daten in eine xml datei speichert, so sollen diese spaeter mit der datenbank synchronisiert werden

wie kann ich das ganze nun umsetzen? das ganze mit java, einer oracle datenbank (also mit universellem JDBC Treiber) und einer XML datei die erzeugt wird, falls keine vorhanden ist...

Also ich würde da spontan zu JaxB greifen:

Du legst Dir eben eine XML Struktur via XSD Schema an (Du beschreibst Deine XML). Aus der XSD generierst Du Dir die Javaklassen, dann kannst Du alle Nodes als Objekte ansprechen (Marshal / Unmashal) und das erzeugte XML ist immer valide.

Zusätzlich würde ich eine "abstrakte Schichte" in den Datenzugriff legen, die eben überprüft ob die Datenbank online ist oder nicht. Wenn nein, werden die Zugriffe auf die XML Klassen umgeleitet. In zyklischen Abständen oder beim Start der Anwendung prüfst Du eben, ob die Datenbank online ist und schiebst ggf die Daten einfach in die Datenbank via JDBC.

Die Anwendung kommuniziert mit der abstrakten Datenschicht, die dann die echten Zugriffe realisiert. Wenn es möglich ist, dann könntest Du die SQL Statements direkt in die XML schreiben, die Du dann einfach nur nacheinander ausführen musst, wenn die DB nicht online ist. (Datensicherheit bezügl. Transaktion usw sei mal in den Raum gestellt)

Phil

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.