Re(2): JavaScript-Dauproblem...
Geizhals » Forum » Programmierung » JavaScript-Dauproblem... (49 Beiträge, 382 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
JavaScript-Dauproblem...
13.04.2006, 13:03:13
Hi !

Bin wieder mal am Rumprimitiveln - diesmal wird's ein HTML/JS-Teil.
Ich versuche mal, das Problem zu reduzieren:

Gegeben sei eine Datenbank, in der es pro Guppe bis zu 100 Kundennamen gibt.

Ein Mitarbeiter soll jetzt in einem HTML-Formular nach Auswahl der Gruppe einen Kunden in eine Inputbox eingeben - wobei er implizit gleich neue Anlegen können soll.

Bisher hatte er eine freie Inputbox zur Verfügung, wobei natürlich das Problem entsteht, daß 3 Buchende denselben Kunden verschieden schreiben - und dadurch mehrere Einträge in der DB entstehen.

Mein Lösungsansatz wäre grob jetzt folgender:

  • Nach Auswahl der Gruppe wird ein XMLHttpRequest zum Server geschickt, der eine Liste der bekannten Kunden in der Gruppe holt.
  • Die Kunden werden dem Eingebenden in einem DIV oder so präsentiert. Wenn er auf einen klickt, soll der automatisch eingetragen werden
  • ansonsten kann er weiter frei eingeben


Folgende Probleme erwarte ich dabei:
1.) Das dauernde Requesten der bekannten Kunden macht ja wohl nur Sinn, wenn man es mit Caching am Client verheiratet. Der Client könnte sich also in einem Array merken, daß es in Gruppe "GRUPPE_1" zb die Kunden "Müller","Meier",... gibt.
Mir ist jetzt völlig unklar, wie ich eine Obergrenze des Cachings implementieren soll...

  • Wie erkenne ich, wann ich zuviele gecacht habe und wieder welche nach LRU wegwerfen soll ?
  • Bekomme ich aus JS meine Speicherauslastung raus ?
  • Oder soll ich eine willkürliche Grenze ziehen mit zB 1000 Kunden und danach die ältesten rauswerfen ?
Dann werden sowohl die Benutzer mit sehr alten als auch die mit sehr neuen Rechnern unglücklich sein ... Wie löst man sowas richtig ?

2.) Wenn parallel eingebucht wird, soll es möglich sein, daß

  • zB Benutzer A einen neuen Kunden in GRUPPE2 anlegt und
  • Benutzer B den automatisch auch in seiner Vorschlagsliste sieht, wenn er einen in Gruppe2 anlegen will.

Das bedeutet also, daß es eine Möglichkeit geben muß, daß Benutzer A den Cache von Benutzer B invalidiert. Wie löst man das ?
Mein billigster Lösungsansatz wäre,

  • daß Benutzer A einen eigenen Request an den Server schickt, wenn er einen neuen Kunden anlegt.
  • Der Server könnte eine SerialNumber/Sequence (ähnlich wie bei DNS) pro Gruppe haben, die er dann hochzählt.
  • Jeder Benutzer würde dann pro Buchung die SerialNumber der gerade aktuellen Gruppe am Server holen müssen -
  • und könnte so feststellen, wann er den eigenen Gruppencache invalidieren muß.

Kommt mir einfach aber beshissen vor.
Ein anderen Fall wäre, daß sich der Server merkt, welcher Client welche Stände kennt - und nur die Differenzen/neuen an den Client mitschickt. Kommt mir aber stressig und umständlich vor... Lösungsansätze ?

Ach ja, Gruppen gibt es rund 7000 - also es ist ausgeschlossen, daß man alles (Gruppen+Kunden) an den Client überträgt, vor allem, weil es dann mit der Adresse weitergeht  ;-)

13.04.2006, 13:05 Uhr - Editiert von gepeinigter_aon_neukunde, alte Version: hier
Antworten PM Alle Chronologisch
 
Melden nicht möglich
.  Re: JavaScript-Dauproblem...  (Sir Hondo am 13.04.2006, 13:14:11)
...  Re(3): JavaScript-Dauproblem...  (Sir Hondo am 13.04.2006, 13:32:41)
.....  Re(5): JavaScript-Dauproblem...  (Sir Hondo am 13.04.2006, 13:52:20)
.......  Re(7): JavaScript-Dauproblem...  (Sir Hondo am 13.04.2006, 14:12:10)
.......  Re(7): JavaScript-Dauproblem...  (Sir Hondo am 13.04.2006, 14:21:09)
.....  Re(5): JavaScript-Dauproblem...  (Sir Hondo am 13.04.2006, 14:03:54)
.......  Re(7): JavaScript-Dauproblem...  (Sir Hondo am 13.04.2006, 14:09:48)
.........  Re(9): JavaScript-Dauproblem...  (Sir Hondo am 13.04.2006, 14:30:42)
........  Re(8): JavaScript-Dauproblem...  (Dr. Watson am 13.04.2006, 19:56:53)
.  Re: JavaScript-Dauproblem...  (littleo am 13.04.2006, 14:43:47)
..  Re(2): JavaScript-Dauproblem...  (Sir Hondo am 13.04.2006, 14:55:24)
....  Re(4): JavaScript-Dauproblem...  (littleo am 13.04.2006, 15:42:09)
..
Re(2): JavaScript-Dauproblem...
13.04.2006, 14:55:56
Bei etwas einfacherem (Einer Partie mit Kundennummern) wurde es so gelöst, daß ein JS-Sourcefile generiert wurde a la

PLZ[1]=1200;Name[1]='Bubu';Adresse[1]='Otto'
.....

(Wobei 1 die Kundennummer wäre).

Das Problem mit den 100 Kunden pro Gruppe wäre, daß er eben die 100 bei jeder Eingabe abrufen muß... Und danach die passenden Adressen, ...

Im Endeffekt will ich das ganze mit einer "Auto-Completion" in den Eingabefeldern verheiraten - dann wird's echt supi... Und da komm ich dann eh nicht dran vorbei.

Nachdem für mich AJAX-Gefriemel zeitaufwändig ist (weil neu für mich und ich JS /hasse/) - will ich das lieber gleich komplett machen anstatt nachher was drüberpflanzen zu müssen, was immer stressig ist. Außerdem bin ich grade dabei, meine PHP-Bibliotheken so anzupassen, daß ich in Zukunft einfachst AJAX-Bauteile zusammenstöpseln kann (so wie jetzt die "normalen" HTML/PHP/JS-Teile) - und gerade beim Framework bauen sollte man ja schon wissen, was man später wie lösen will...




Und natürlich will ich rumspielen |-D|-D|-D - außerdem geht's mir wie wohl jedem Ajax-Coder: Ich werde nach Stunden bezahlt ;-)

EDIT:
Diese Kundennummer-JS-Gschicht war schweinelangsam beim ersten Öffnen... Da macht AJAX schon Sinn (bis zu 12k Kundennummern)

EDIT²:
Ich bin ja absolut kein Webdesigner... Aber nach dem, was ich so mitbekommen habe Thema Behaviour Layer und so macht so eine Implementierung ja absolut Sinn via AJAX, oder ?

13.04.2006, 15:20 Uhr - Editiert von gepeinigter_aon_neukunde, alte Version: hier
Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
...  Re(3): JavaScript-Dauproblem...  (littleo am 13.04.2006, 16:09:58)
.  Re: JavaScript-Dauproblem...  (Undying am 13.04.2006, 15:38:46)
...  Re(3): JavaScript-Dauproblem...  (Undying am 13.04.2006, 15:50:14)
.....  Re(5): JavaScript-Dauproblem...  (Undying am 13.04.2006, 17:11:03)
.......  Re(7): JavaScript-Dauproblem...  (Undying am 13.04.2006, 18:54:41)
.........  Re(9): JavaScript-Dauproblem...  (Undying am 13.04.2006, 20:58:47)
...........  Re(11): JavaScript-Dauproblem...  (Undying am 13.04.2006, 21:28:40)
.  Re: JavaScript-Dauproblem...  (Ingenico am 18.04.2006, 18:34:51)
..  Re(2): JavaScript-Dauproblem...  (littleo am 19.04.2006, 09:35:06)
.  Re: JavaScript-Dauproblem...  (littleo am 19.04.2006, 09:30:33)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung