-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung bezieht sich allgemein auf Client- bzw. Klienten/Server-Computersysteme,
und sie bezieht sich genauer auf ein Computersystem, in dem der
Klient bzw. Client einen Browser besitzt, um Daten für ein Verarbeiten
durch den Servercomputer einzugeben.
-
Hintergrund
der Erfindung
-
In
Internet-Computersystemen kommunizieren Klientencomputer und Servercomputer über vordefinierte
Netzwerkprotokolle, wie beispielsweise HTTP und TCP/IP. Im allgemeinen
bedient bzw. betätigt
ein Benutzer den Klientencomputer und gibt Datenattribute ein; der
Klientencomputer und das Netzwerk leiten die Datenattribute an den
Servercomputer weiter; und der Servercomputer be- bzw. verarbeitet
die Datenattribute durch eine Anwendung.
-
Üblicherweise
benutzt bzw. verwendet der Servercomputer für ein Be- bzw. Verarbeiten
weitere Computer, wie beispielsweise Datenbankcomputer.
-
Detaillierter
kommuniziert eine große
Anzahl von Klientencomputern mit einem einzigen Servercomputer;
jeder Klientencomputer ist mit einem Browser ausgestattet bzw. ausgerüstet. Standardbrowser
sind kommerziell bzw. im Handel erhältlich (beispielsweise Microsoft
Explorer, Netscape Navigator). Für
jede spezielle Anwendung instruiert der Servercomputer den Browser
durch eine Seite in einer Mark up- bzw. Auszeichnungssprache (d.h.
Codieren). Beispielsweise veranlaßt eine HTML-Seite den Browser,
eine Eingabemaske anzuzeigen, die den Benutzer veranlaßt, das
Datenattribut einzugeben.
-
Moderne
Programmierer nehmen davon Abstand, die Software am Klientencomputer
an die Anwendung am Servercomputer zu adaptieren bzw. anzupassen.
Mit anderen Worten, es ist erwünscht,
den Browser ungeändert
zu lassen, aber die ganze Intelligenz der Servercomputeranwendung
zu geben bzw. zu verleihen.
-
Häufig stellt
die Eingabemaske Darstellungen der Datenattribute in einem einzigen
Format (beispielsweise String) zur Verfügung. Die Anwendung jedoch
bearbeitet die Datenattribute in einer Vielfalt von Formaten (beispielsweise
String und ganze Zahl). Beispielsweise verwendet die Anwendung günstiger
Weise positive ganze Zahlen, um das Alter einer Person zu verarbeiten
und verwendet Strings für
Namen. Somit gibt es eine Notwendigkeit für eine Datenumwandlung bzw.
-konversion.
-
Da
bei der gesamten Mensch-zu-Computer-Interaktion bzw. -Wechselwirkung
menschliche Fehler nicht ausgeschlossen werden können; ist deshalb ein Überprüfen der
Datenattribute obligatorisch. Berücksichtigt man die vorhergehende
Diskussion, wird ein Überprüfen wünschenswert
durch den Servercomputer durchgeführt.
-
In
der Praxis lädt
die Eingabemaske den Benutzer ein, eine große Anzahl von Datenattributen, wie
beispielsweise Name, Adresse, Alter oder anderen Inhalt einzugeben.
Die Fehler wahrscheinlichkeit steigt mit der Anzahl von Datenattributen
an.
-
Ein Überprüfen von
Datenbereichen gemäß vorbestimmten
Regeln ist ebenso erforderlich. Beispielsweise verwendet die Anwendung
das Attribut "Alter
einer Person" als
eine ganze Zahl zwischen 0 und 130. Mit anderen Worten, es gibt
Eingabebeschränkungen,
und die Regeln stimmen mit diesen Beschränkungen überein.
-
Ein Überprüfen einer
Datenkonsistenz bzw. -folgerichtigkeit zwischen verschiedenen Datenattributen
ist ebenso erforderlich. Vordefinierte Regeln existieren beispielsweise
für ein Überprüfen der
Konsistenz zwischen Telefonvorwahlnummern und der Stadt. Der Code
bzw. die Vorwahl "0621" gehört zu den
Städten
Mannheim und Ludwigshafen in Deutschland, aber nicht zur Stadt Heidelberg.
-
Das
Erfordernis für
ein Überprüfen und
Umwandeln weist weitere Herausforderungen auf: Einige Formate (beispielsweise
ganze Zahl) weisen nicht geeignete Werte auf, um eine Ungültigkeit
von Daten anzugeben. Um beim "Alter
einer Person" zu
bleiben, kann eine Anwendung einen Wert von "9999" einer ganzen
Zahl zuweisen, um eine Nichtgültigkeit
anzuzeigen (oder eine Nicht-Verfügbarkeit
anzuzeigen). Jedoch kann während
eines Be- bzw. Verarbeitens dieser Ansatz bzw. Zugang Irrtümer bzw.
Fehler verursachen, im speziellen wenn ein weiteres Verarbeiten
nicht mit einem Überprüfen koordiniert
ist. Das erste "Alter" 9999 ist bzw. wird
korrekt verglichen mit einem zweiten "Alter" ganze Zahl "36",
aber das Verarbeitungsergebnis ist nicht für eine Interpretation gültig: ein
korrektes Ergebnis ("erste
Person" älter als "zweite Person") kann nicht gegeben
werden.
-
Im
Fall eines Eingabefehlers wird der Benutzer eingeladen, das Attribut
nochmals einzugeben; jedoch ist dies häufig durch einen unerwünschten Verlust
von korrekten Einzelheiten begleitet. Beispielsweise hat der Benutzer
eine Anzahl von Datenattributen eingetippt, ein Attribut benötigt eine Korrektur,
aber der Servercomputer instruiert den Browser, zu einer leeren
Maske zurückzukehren.
-
WO
00/34860 offenbart, wie Daten von Eingabefeldern automatisch auf
Softwarekomponenten abzubilden bzw. dazustellen sind, um die Daten
in eine korrekte Art umzuwandeln, betrachtet aber nicht die Tatsache,
daß der
Server nicht imstande sein kann, die Daten zu speichern.
-
Es
gibt einen weiterbestehenden Bedarf, ein verbessertes Computersystem,
Verfahren und Computer bereitzustellen.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren, System und
Computerprogrammprodukt zum Erfassen eines Datenattributs einer
vorbestimmten Art bzw. eines vordefinierten Typs von einem Benutzer
eines Client- bzw. Klientencomputers zu einer Anwendung auf einem
Servercomputer. Das Verfahren umfaßt die folgenden Schritte:
Senden einer Markup- bzw. Auszeichnungssprachenseite durch eine
Ansicht in dem Servercomputer zu einem Browser in dem Klientencomputer
zum Anzeigen einer Eingabemaske; Interpretieren der Seite durch den
Browser, um das Datenattribut von dem Benutzer bzw. Verwender zu
empfangen, wobei das Attribut in einem Transfer- bzw. Übertragungsformat
vorliegt; Übertragen
des Datenattributs an ein Objekt auf dem Servercom puter, wobei das
Objekt bzw. der Gegenstand eine Art bzw. einen Typ aufweist, welche
r) mit der Art des Attributs übereinstimmt;
Speichern des Datenattributs durch den Gegenstand im Übertragungsformat;
Konvertieren des Datenattributs von dem Übertragungsformat zu einem
Prozeß-
bzw. Bearbeitungsformat durch den Gegenstand; Überprüfen der Übereinstimmung des Datenattributs
mit einer vordefinierten Regel durch den Gegenstand; und Übermitteln
bzw. Weiterleiten des Datenattributs in dem Prozeßformat
durch den Gegenstand zu der Anwendung.
-
Vorzugsweise
ist das Übertragungsformat ein
Stringformat. Vorzugsweise ist in dem Überprüfungsschritt die vorbestimmte
bzw. vordefinierte Regel dem Gegenstand innenliegend bzw. innewohnend.
Vorzugsweise ist in dem Überprüfungsschritt die
vorbestimmte Regel außerhalb
des Gegenstands.
-
Vorzugsweise
sind weitere Schritte: Speichern von Zustandsinformation in einem
permanenten bzw. Permanentspeicher und Wiederherstellen des Gegenstands
durch Verwenden der Zustandsinformation. Vorzugsweise wird ein Wiederherstellen bis
zu einem Übertragen
verzögert.
Vorzugsweise wird ein Speichern von Zustandsinformation in dem Permanentspeicher
durch ein Speichern in versteckten Eingabefeldern in der Seite ausgeführt.
-
Kurze Beschreibung
der Zeichnungen
-
1 illustriert
ein Blockdiagramm eines Computernetzwerksystems, das eine Mehrzahl
von Computern aufweist;
-
2 illustriert
ein vereinfachtes Blockdiagramm eines Computernetzwerksystems mit
einem Client- bzw. Klientencom puter und einem Servercomputer zum
Implementieren einer ersten Ausführungsform;
-
3 illustriert
ein vereinfachtes Flußdiagramm
eines Verfahrens der vorliegenden Erfindung gemäß der ersten Ausführungsform;
-
4 illustriert
ein vereinfachtes Blockdiagramm des Computernetzwerksystems von 2 in größerem Detail;
-
5 illustriert
eine vereinfachte Codeliste einer JSP-Seite;
-
6 illustriert
eine vereinfachte Codeliste einer HTML-Seite;
-
7–8 illustrieren
eine vereinfachte Aktions- bzw. Tätigkeitsübersicht für die erste Ausführungsform
mit Anwendung, Gegenstand, Regel- bzw. Steuereinrichtung, Ansicht
und Browser;
-
9 illustriert
ein vereinfachtes Blockdiagramm des Servercomputers zum Implementieren einer
zweiten Ausführungsform
der vorliegenden Erfindung mit einem ersten Speicherabschnitt, der
temporär
bzw. vorübergehend
nicht verfügbar
ist, und einem zweiten Speicherabschnitt, der permanent verfügbar ist;
-
10 illustriert
ein vereinfachtes Diagramm eines Gegenstands, einer Regel und einer
Anwendung gemäß einer
dritten Ausführungsform;
und
-
11 illustriert
ein vereinfachtes Diagramm von ersten und zweiten Datenattributen
mit ersten bzw. zweiten Gegenständen
in einer vierten Ausführungsform.
-
Detaillierte
Beschreibung der Erfindung
-
Zur
Bequemlichkeit wird eine Liste von Bezugszeichen vor den Patentansprüchen zur
Verfügung
gestellt.
-
1 illustriert
ein vereinfachtes Blockdiagramm des erfinderischen Computernetzwerksystems 999,
das eine Mehrzahl von Computern 900, 901, 902 (oder
90q, mit q = 0...Q-1, Q irgendeine Zahl) aufweist.
-
Die
Computer 900–902 sind über ein
Inter- bzw. Zwischen-Computernetzwerk 990 gekoppelt. Der
Computer 900 umfaßt
einen Prozessor 910, einen Speicher 920, einen
Bus 930, und fakultativ eine Eingabevorrichtung 940 und
die Ausgabevorrichtung 950 (I/O-Vorrichtungen, Benutzer-Interface
bzw. -Schnittstelle 960). Wie illustriert, ist die Erfindung durch
ein Computerprogrammprodukt 100 (CPP), Programmträger 970 und
Programmsignal 980, zusammengefaßt bzw. gemeinsam "Programm" vorhanden.
-
Bezüglich des
Computers 900, wird der Computer 901/902 manchmal
als "Ferncomputer" erwähnt bzw.
bezeichnet, wobei der Computer 901/902 beispielsweise
ein Server, ein Router, eine Peervorrichtung oder ein anderer gemeinsamer
Netzwerkknoten ist, und typischerweise viele oder alle der in bezug
auf den Computer 900 beschriebenen Elemente umfaßt. Deshalb
illustrieren die Elemente 100 und 910–980 in
dem Computer 900 zusammen bzw. gemeinsam auch entsprechende
Elemente 10q und 91q–98q
(gezeigt für
q = 0) in Computern 90q.
-
Der
Computer 900 ist beispielsweise ein herkömmlicher
Personal Computer (PC), ein Desktop und eine tragbare Vorrichtung,
ein Multiprozessorcomputer, ein Pen- bzw. Stiftcomputer, eine auf
Mikroprozessor basierende oder programmierbare Unterhaltungselektronik,
ein Minicomputer, ein Mainframe-Computer, eine mobile persönliche Computer- bzw.
Rechenvorrichtung, ein Mobiltelefon, ein tragbarer oder stationärer Personal
Computer, ein Palmtop-Computer oder dgl.
-
Der
Prozessor 910 ist beispielsweise eine zentrale Be- bzw.
Verarbeitungseinheit (CPU), eine Mikro-Regel- bzw. -Steuereinrichtung
bzw. ein Mikro-Controller (MCU), digitaler bzw. Digitalsignalprozessor
(DSP), oder dgl.
-
Der
Speicher 920 symbolisiert Elemente, die vorübergehend
bzw. temporär
oder permanent Daten und Instruktionen bzw. Anweisungen speichern.
Obwohl der Speicher 920 zweckmäßiger Weise als Teil des Computers 900 illustriert
ist, kann eine Speicherfunktion auch im Netzwerk 990, in
Computern 901/902 und im Prozessor 910 selbst
(beispielsweise Cache, Register), oder sonstwo implementiert sein. Der
Speicher 920 kann ein Nur-Lese-Speicher (ROM), ein Direkt-Zugriffsspeicher
(RAM), oder ein Speicher mit anderen Zugriffsoptionen sein. Der Speicher 920 wird
physisch durch computerlesbare Medien, wie beispielsweise: (a) Magnetmedien,
wie eine Festplatte, eine Floppydisk oder andere Magnetplatte, ein
Band, ein Kassettenband; (b) optische Medien, wie eine optische
Scheibe (CD-ROM, digitale vielseitige Scheibe – DVD); (c) Halbleitermedien, wie
DRAM, SRAM, EPROM, EEPROM, Speicherstift, oder durch irgendwelche
andere Medien, wie Papier implementiert.
-
Optional
bzw. fakultativ ist der Speicher 920 über verschiedene Medien verteilt.
Abschnitte des Speichers 920 können entfernbar oder nicht
entfernbar sein. Für
ein Lesen aus Medien und für
ein Schreiben in Medien verwendet der Computer 900 im Stand
der Technik gut bekannte Vorrichtungen, wie beispielsweise Plattenantriebe,
Bandantriebe.
-
Der
Speicher 920 speichert Supportmodule, wie beispielsweise
ein Basis-Eingabe-Ausgabe-System (BIOS), ein Operating- bzw. Betriebssystem (OS),
eine Programmbibliothek, einen Compiler, einen Interpretierer und
ein Textverarbeitungswerkzeug. Supportmodule sind im Handel erhältlich und können am
Computer 900 durch Fachleute auf dem Gebiet installiert
werden. Der Einfachheit halber sind diese Module nicht illustriert.
-
Das
CPP 100 umfaßt
Programminstruktionen bzw. -anweisungen und optional Daten, die
den Prozessor 910 veranlassen, Verfahrensschritte der vorliegenden
Erfindung auszuführen.
Die Verfahrensschritte werden detaillierter unten erklärt. Mit
anderen Worten definiert das CPP 100 die Tätigkeit bzw.
den Betrieb des Computers 900 und seine Interaktion bzw.
Wechselwirkung im Netzwerksystem 999. Beispielsweise und
ohne die Absicht beschränkend
zu sein, kann das CPP 100 als Quellencode in irgendeiner
Programmiersprache verfügbar
sein, und als Objektcode ("Binärcode") in einer kompilierten Form.
Fachleute auf dem Gebiet können
das CPP 100 in Verbindung mit irgendeinem der obigen Supportmodule
verwenden (beispielsweise Compiler, Interpretierer; Betriebssystem).
-
Obwohl
das CPP 100 als im Speicher 920 gespeichert illustriert
ist, kann das CPP 100 anderswo angeordnet sein. Das CPP 100 kann
auch in einem Träger 970 verkörpert sein.
-
Der
Träger 970 ist
außerhalb
des Computers 900 illustriert. Zum Kommunizieren des CPP 100 mit dem
Computer 900 ist bzw. wird ein Träger 970 zweckmäßig in die
Eingabevorrichtung 940 eingesetzt. Der Träger 970 wird
als irgendein computerlesbares Medium, wie beispielsweise ein Medium,
das oben weitgehend erklärt
wurde, implementiert (siehe Speicher 920). Allgemein ist
Träger 970 ein
Herstellungsgegenstand, umfassend ein computerlesbares Medium, das
computerlesbare Programmcodemittel aufweist, die darin verkörpert sind,
zum Ausführen des
Verfahrens der vorliegenden Erfindung. Weiterhin kann das Programmsignal 980 auch
das Computerprogramm 100 verkörpern bzw. darstellen. Das
Signal 980 bewegt sich am Netzwerk 990 zum Computer 900.
-
Ein
Beschreiben des CPP 100 des Programmträgers 970 und des Programmsignals 980 in Verbindung
mit dem Computer 900 ist geeignet bzw. passend. Optional
verkörpern
ein Programmträger 971/972 (nicht
gezeigt) und ein Programmsignal 981/982 ein Computerprogrammprodukt
(CPP) 101/102, das durch einen Prozessor 911/912 (nicht gezeigt)
jeweils in Computern 901/902 auszuführen ist.
-
Die
Eingabevorrichtung 940 symbolisiert eine Vorrichtung, die
Daten und Instruktionen bzw. Anweisungen für ein Verarbeiten durch den
Computer 900 bereitstellt. Beispielsweise ist die Vorrichtung 940 eine
Tastatur, eine zeigende Vorrichtung (beispielsweise Maus, Trackball
bzw. Rollkugel, Cursor-Richtungstasten), Mikrophon, Joystick, Spielkissen,
Scanner. Obwohl die Beispiele Vorrichtungen mit Wechselwirkung mit
einem Menschen sind, kann die Vorrichtung 940 auch ohne
menschliche Interaktion bzw. Wechselwirkung arbeiten, wie beispielsweise
ein drahtloser Empfänger
(beispielsweise mit Satellitenschüssel oder terrestrischer Antenne),
ein Sensor (beispielsweise ein Thermometer), ein Zähler (beispielsweise
Warenzähler
in einer Fabrik). Die Eingabevorrichtung 940 kann auch
dazu dienen, um den Träger 970 zu
lesen.
-
Die
Ausgabevorrichtung 950 symbolisiert eine Vorrichtung, die
Instruktionen und Daten präsentiert,
die verarbeitet worden sind. Beispielsweise einen Monitor oder eine
Anzeige (Kathodenstrahlröhre
(CRT), Flachschirmanzeige, Flüssigkristallanzeige (LCD),
Lautsprecher, Drucker, Plotter, Vibrations- bzw. Schwingungsalarmvorrichtung. Ähnlich wie oben
kommuniziert die Ausgabevorrichtung 950 mit dem Benutzer,
kann aber auch mit weiteren Computern kommunizieren.
-
Die
Eingabevorrichtung 940 und die Ausgabevorrichtung 950 können zu
einer einzigen Vorrichtung kombiniert sein; irgendeine Vorrichtung 940 und 950 kann
optional zur Verfügung
gestellt sein.
-
Der
Bus 930 und das Netzwerk 990 stellen logische
und physische Verbindungen bereit, indem Instruktions- und Datensignale
weiterbefördert
werden. Während
Verbindungen innerhalb des Computers 900 passend als "Bus 930" bezeichnet werden, werden
Verbindungen zwischen Computern 900–902 als "Netzwerk 990" bezeichnet.
-
Die
Vorrichtungen 940 und 950 sind an den Computer 900 durch
den Bus 930 (wie illustriert) oder durch das Netzwerk 990 (optional)
gekoppelt. Während
die Signale innerhalb des Computers 900 größtenteils
elektrische Signale sind, sind die Signale im Netzwerk elektrische,
magnetische, optische oder drahtlose (Radio- bzw. Funk-) Signale.
-
Netzwerkumgebungen
(wie das Netzwerk 990) sind üblich bzw. alltäglich in
Büros,
unternehmensweiten Computernetzwerken, Intranets und dem Internet
(d.h. weltweiten Netz). Der physische Abstand zwischen einem entfernten
bzw. Ferncom puter und einem Computer 900 ist nicht wichtig.
Das Netzwerk 990 kann ein verkabeltes oder ein kabelloses
bzw. drahtloses Netzwerk sein. Um einige Netzwerkimplementierungen
zu erwähnen,
ist das Netzwerk 990 beispielsweise ein lokales Netzwerk
(LAN), ein großräumiges Netzwerk
(WAN), ein öffentliches Telefonnetzwerk
(PSTN); ein Integrated Services Digitales Netzwerk (ISDN), eine
Infrarot(IR)-Verbindung, eine Radio- bzw. Funkverbindung, wie Universal
Mobile Telecommunications System (UMTS), Global System for Mobile
Communication (GSM), Code Division Multiple Access (CDMA), oder
Satellitenverbindung.
-
Übermittlungsprotokolle
und Datenformate sind bekannt, beispielsweise als Übermittlungs-Regel-
bzw. -Steuerprotokoll/Internetprotokoll (TCP/IP), Hypertext-Transfer-
bzw. -Übertragungsprotokoll (HTTP),
sicheres HTTP, drahtloses Anwendungsprotokoll, Unique Resource Locator
(URL), Unique Resource Identifier (URI), Hypertext-Markup-Sprache HTML,
erweiterbare Markup-Sprache (XML), erweiterbare Hypertext-Markup-Sprache (XHTML),
Wireless Application Markup-Sprache (WML), usw.
-
Interfaces
bzw. Schnittstellen, die zwischen die Elemente gekoppelt sind, sind
im Stand der Technik gut bekannt. Der Einfachheit halber sind Interfaces
nicht illustriert. Ein Interface kann beispielsweise ein Interface
eines seriellen Ports bzw. Anschlusses, ein Interface eines parallelen
Ports, ein Spielport bzw. -anschluß, ein Universal Serial Bus
(USB) Interface, ein internes oder externes Modem, ein Videoadapter
oder eine Tonkarte sein. Computer und Programm stehen in enger Beziehung.
Wie nachstehend verwendet, sind Phrasen, wie beispielsweise "der Computer stellt
bereit" und "das Programm stellt
bereit" eine geeignete
Abkürzung, um
Tätigkeiten
durch einen Computer auszudrücken,
der durch ein Programm geregelt bzw. gesteuert ist.
-
Vorzugsweise
kann die vorliegende Erfindung durch objektorientierte Programmiertechniken implementiert
werden. Bevor weitere Details der vorliegenden Erfindung erklärt werden,
werden einige weitere Konventionen bzw. Übereinkünfte eingeführt. Ausdrücke werden, wie im Folgenden
erklärt,
verwendet:
- Alter: Das Attribut "Alter einer Person" wird in einem Beispiel verwendet. Ein
Wert "71 Jahre" wird einem Benutzer
präsentiert,
welcher später
den Wert auf "72" korrigiert, Mit
anderen Worten, "71" ist das ursprüngliche
bzw. Originalattribut und "72" ist das aktualisierte
Attribut.
- Anwendung: Auch erwähnt bzw. bezeichnet als "Modell", bezeichnet eine
Anwendung gemeinsam irgendein Computerprogramm, das Datenattribute
verarbeitet.
- Klassenbibliothek: Lager von Klassen,
d.h. eine Sammlung von Klassen, vorzugsweise am Servercomputer gespeichert.
Eine einzige Klasse instanziiert ein Objekt bzw. einen Gegenstand.
Es ist möglich,
eine einzige Klasse zum Instanziieren bzw. Realisieren mehrerer
Objekte bzw. Gegenstände
zu haben.
- Befehl: Gemeinsam bzw. allgemein verwendet,
um Controlleraktionen bzw. -tätigkeiten
zu beschreiben (sowohl zu und von einer Regel- bzw. Steuereinrichtung
bzw. einem Controller), wie beispielsweise "initialisieren", "Gegenstand
erzeugen", "Ansicht erzeugen", "Gegenstand erzeugen", "Instanziieren bzw. Realisieren".
- Komponente:
Allgemeiner Ausdruck für
Browser, Ansicht, Objekt bzw. Gegenstand, Anwendung, Kopie eines
Gegenstands, Bibliothek, Sammlung und Regel- bzw. Steuereinrichtung
bzw. Controller.
- Inhalt: Information über eine
Person (beispielsweise Alter, Name, Adresse, Telefonnummer), über einen Herstellungsprozeß, einen
Geschäftsvorgang,
ein Ding (beispielsweise Autor, Titel, Nummer eines Buchs), usw.
oder irgendeine andere Information, die durch ein Attribut repräsentiert
wird.
- Regel- bzw. Steuereinrichtung: Zusammengefaßt betreffend
alle Mittel, die (a) Verfahrensschritte gemäß der vorliegenden Erfindung
starten und stoppen; und die (b) Daten zwischen den Komponenten
transportieren.
- Datenattribut oder "Attribut": Eigenschaft eines
Gegenstands.
- Format: Bezieht sich auf die Anordnung
von Datenattributen, das gleiche Attribut (beispielsweise Alter
einer Person) kann ein String oder eine ganze Zahl sein.
- Generell: Überprüfung wird
durchgeführt
in dem Gegenstand ohne Interaktion bzw. Wechselwirkung mit Regeln,
die außerhalb
des Gegenstands definiert sind.
- HTML: steht zusammengefaßt für irgendeine
Markup-Sprache, wie beispielsweise HTML, WML und XML
- Identifikation
(ID): Irgendein alphanumerischer Wert, der ein Attribut und seinen
entsprechenden Gegenstand identifiziert. Zur Bequemlichkeit einer
Erklärung
hierin identifiziert der Wert "id0" ein einzelnes Datenattribut
und seinen entsprechenden einzelnen bzw. einzigen Gegenstand; die
Werte "id1" und "id2" identifizieren erste
und zweite Datenattribute und jeweils ihre entsprechenden ersten
und zweiten Gegenstände.
- JSP-Sammlung: Lager von JSP-Seiten, vorzugsweise auf dem Servercomputer
gespeichert.
- JSP-Seite: Java-Server-Seite; zusammengefaßt für eine Markup-Sprachenseite
mit einer Mehrzahl von Tag- bzw. Identifizierungs- bzw. Kennzeichennotierungen,
wie:
(beispielsweise <%=
obj.rawstring%>).
- Gegenstand: Selbst enthaltene bzw. abgeschlossene Entität mit sowohl
Daten als auch Prozeduren bzw. Verfahren, um die Daten zu manipulieren
bzw. handzuhaben. Im Kontext bzw. Zusammenhang der vorliegenden
Erfindung werden Daten als ein "Attri but" bezeichnet und die
Prozeduren bzw. Verfahren sind: Speichern, Umwandeln, Überprüfen und
Weiterleiten.
- Rawstring: Datenattribut in Stringformat,
das im Gegenstand gespeichert ist.
- Typ bzw. Art
des Gegenstands: Qualitative Definition:
1. entsprechend dem
Prozeßformat
(ganze Zahl, String, Gleitpunkt bzw. Gleitkomma, Datum, Zeit),
2.
entsprechend der Art eines Inhalts, der von dem Benutzer erforderlich
ist (Name, Alter, Adresse, Postleitzahl), oder
3. entsprechend
einer Geschäftsanwendung
(Kostenzentrum, Inventar bzw. Lager)
- Ansicht: Mittel,
um Seiten in einer Markup-Sprache zu
erzeugen bzw. zu generieren.
-
In
den Blockdiagrammen zeigen einfache Pfeile den Transport von Datenattributen
zwischen den Komponenten an, vorzugsweise unter der Koordinierung
durch die Regel- bzw. Steuereinheit bzw. -einrichtung; strichlierte
Pfeile symbolisieren Befehle durch die Regel- bzw. Steuereinheit.
-
Fachleute
auf dem Gebiet sind imstande, eine Regel- bzw. Steuereinrichtung
ohne die Notwendigkeit einer weiteren Erklärung hierin bereitzustellen.
Der Bequemlichkeit bzw. Einfachheit einer Erklärung willen betreffen einige
Ausdrücke
Aktionen bzw. Wirkungen, die durch eine Komponente im Zusammenwirken
mit der Regel- bzw. Steuereinheit oder irgendwelchen anderen Mitteln
durchgeführt
werden. Diese Aktions- bzw. Tätigkeitsausdrücke (Zeitworte) sind:
- • kopieren
- • entleeren
- • weiterleiten
- • instanziieren
bzw. realisieren
- • empfangen
- • entfernen
- • wiederherstellen
- • senden
bzw. schicken
- • speichern
- • übertragen
bzw. transferieren
- • versenden
bzw. abfertigen bzw. prompt erledigen
-
Jede
derartige Tätigkeit
ist auf dem Fachgebiet gut bekannt. Beispielsweise umfaßt die Phrase "die Ansicht sendet
eine HTML-Seite an den Browser" – abhängig davon,
wie ein Fachmann auf dem Gebiet die Tätigkeit implementiert – ein Identifizieren einer
Adresse des Browsers, ein Codieren der HTML-Seite gemäß den TCP/IP
und HTTP-Protokollen, ein Empfangen der HTML-Seite durch den Klientencomputer
und ein verfügbar
Machen der HTML-Seite dem Browser.
-
In
einer ersten Ausführungsform
wird die vorliegende Erfindung nun in Verbindung mit 2–8 für das Computernetzwerksystem 999 mit
dem Klientencomputer 901 und einem Servercomputer 900 erklärt. Während 2–3 die grundlegenden
bzw. Basismerkmale der Erfindung illustrieren, illustrieren 4–8 bevorzugte
Implementierungsdetails.
-
Um
der Bequemlichkeit einer Erklärung
der ersten Ausführungsform
willen (2–8), werden
die folgenden Annahmen gemacht:
- (i) der Servercomputer 900 ist
vollständig
die ganze Zeit verfügbar,
mit anderen Worten, alle Komponenten im Servercomputer 900 sind
vollständig betriebsbereit;
- (ii) ein Überprüfen wird
nur im Gegenstand 230 durchgeführt;
- (iii) ein Überprüfen ist
vollständig
in der Bedeutung, daß ein
Attribut gemäß einer
vorbestimmten Anzahl von Regeln überprüft worden
ist und daß ein
erfolgreiches Überprüfen das
Attribut bereit macht, durch die Anwendung verarbeitet zu werden;
und
- (iv) es gibt nur ein einziges Objekt 230 und einen einzigen
Inhalt (beispielsweise nur das Objekt für "Alter einer Person").
-
2 ist
ein vereinfachtes Blockdiagramm eines Computernetzwerksystems 999 mit
dem Klientencomputer 901 und Servercomputer 900 zum
Implementieren der ersten Ausführungsform.
Im Computernetzwerksystem 999 exekutiert der Klientencomputer 901 den
Browser 240, um mit dem Benutzer 1000 zu interagieren
und der Servercomputer 900 führt die Anwendung 200 aus.
-
Weiter
sind illustriert: Ansicht 220 im Servercomputer 900,
Markup-Sprachen-Seite 225 (HTML-Seite), Datenattribute
(im Transfer- bzw. Übertragungsformat 231/232,
im Prozeßformat 233), und
die vorbestimmte Regel 238. Um der Bequemlichkeit willen
zeigt 2 Verfahrensschritte 410–470 durch
eingekreiste Bezugszahlen.
-
3 ist
ein vereinfachtes Flußdiagramm
eines Verfahrens gemäß vorliegender
Erfindung, welches geeignet für
die erste Ausführungsform
illustriert ist.
-
Allgemein
wird das Verfahren 400 zum Erfassen eines Datenattributs
einer vorbestimmten Art bzw. eines vordefinierten Typs von einem
Benutzer 1000 durch seine Hauptschritte wie folgt zusammengefaßt:
- Schritt 410:
Ansicht 220 in dem Servercomputer 900 sendet eine
Markup-Sprachen-Seite 225 (HTML-Seite) für eine Eingabemaske 245 an
den Browser 240;
- Schritt 420: Browser 240 interpretiert die
HTML-Seite 225, um das Datenattribut 232 vom Benutzer 1000 zu empfangen,
(Attribut ist in einem Übertragungsformat,
beispielsweise String);
- Schritt 430: Browser 240 überträgt das Datenattribut 232 an
Objekt 230 am Servercomputer 900 (um der Bequemlichkeit
willen wechselt die Bezugszahl auf 231);
- Schritt 440: Objekt 230 speichert das Datenattribut 231 im Übertragungsformat
(beispielsweise String), wobei das Objekt einen Typ aufweist, der
der Art des Datenattributs entspricht (beispielsweise ganze Zahl);
- Schritt 450: Objekt 230 wandelt das Datenattribut 231 in
Attribut 233 um (vom Übertragungs-
zum Prozeßformat,
beispielsweise String in ganze Zahl);
- Schritt 460: Objekt 230 überprüft die Übereinstimmung von Datenattribut 233 (im
Prozeßformat)
mit der vordefinierten Regel 238, und
- Schritt 470: Objekt 230 leitet Datenattribut 233 (im Prozeßformat,
beispielsweise ganze Zahl) an Anwendung 200 weiter. Schritt 470 wird
nur in dem Fall einer Datenübereinstimmung
ausgeführt.
-
Die
Erfassung 400 ist abgeschlossen bzw. fertiggestellt, die
Anwendung 200 ist nun bereit, das Datenattribut 233 (Prozeßformat)
zu be- bzw. verarbeiten. Im Fall einer Nichtübereinstimmung werden die Schritte 410–460 mit
Modifikationen wiederholt. Da das Attribut 231 noch gespeichert
ist (im Übertragungsformat),
wird vorzugsweise das Attribut 231 erneut zum Browser 240 gesendet.
Der Benutzer 1000 kann nun das Attribut 231/232 nochmals
sehen. Während
einer Wiederholung ist es nicht erforderlich, die Seite 225 vollständig zu
senden.
-
4 ist
ein vereinfachtes Blockdiagramm des Computernetzwerksystems 999 von 2 mit mehr
Detail. Illustriert sind:
- – Benutzer 1000, der
mit dem Computernetzwerksystem 999 interagiert;
- – Klientencomputer 901 mit
Browser 240 und Eingabemaske 245 (illustriert
durch sichtbares Erscheinen am Computerdisplay 951, vergleiche 1);
ebenso wie
- – Servercomputer 900 mit
• Anwendung 200,
• Steuer-
bzw. Regeleinheit bzw. Controller 210,
• Ansicht 220 (mit
Markup-Sprachen-Seite 225, Identifikation 226),
• JSP-Sammlung 222 (mit
JSP-Seite 223)
• Objekt 230 (mit
Attributen 231/233, vordefinierter Regel 238),
und
• Klassenbibliothek 235.
-
Um
der Bequemlichkeit willen von weiteren Anwendungen weisen Datenattribute
verschiedene Bezugszahlen für
verschiedene Formate und verschiedene Stellen bzw. Orte auf: Attribut 231 im Übertragungsformat
(beispielsweise String), wie in Objekt 230 gespeichert;
Attribut 232 im Übertragungsformat
(beispielsweise String), wie durch den Browser 240 gezeigt,
um der Bequemlichkeit willen unterscheidet die Erklärung nicht,
ob das Attribut 232 von einer Benutzereingabe oder von
einer HTML-Seite 225 herrührt; Attribut 233 im
Prozeßformat
(beispielsweise ganze Zahl), gespeichert in Objekt 230.
Aufeinanderfolgende Zeitpunkte wie in 7–8 sind
durch Großbuchstaben "T" abgekürzt. Einfache und strichlierte
Pfeile unterscheiden Attribute jeweils von Regel- bzw. Steuereinrichtungsbefehlen.
-
5 ist
ein vereinfachtes Codelisting von JSP-Seite 223. Um der
Bequemlichkeit willen sind die Codezeilen numeriert. Um der Einfachheit
willen sind Details für
den wohl bekannten Header- bzw. Kopfabschnitt nicht illustriert.
Wie bei jeder JSP-Seite weist die Seite 223 eine Tag- bzw.
Identifizierungs-Notierung auf, vergleiche Zeile (5), d.h.:
<%= obj.rawstring%>)
-
6 ist
ein vereinfachtes Codelisting von HTML-Seite 225. Im Unterschied
zur JSP-Seite 223 wurde die Identifizierungs-Notierung
auf Zeile (5) durch einen Wert ersetzt, hier im Beispiel durch "Alter einer Person".
-
7–8 ist
eine Übersicht
einer vereinfachten Tätigkeit
für die
erste Ausführungsform
für die
Anwendung 200, Objekt 230, Regel- bzw. Steuereinheit 210,
Ansicht 220 und Browser 240. Zeitpunkte 1–12 sind
vorzugsweise aufeinanderfolgende Zeitpunkte; 7 zeigt
Zeit 1–6
an und 8 zeigt Zeit 7–12 an.
-
Bezugnehmend
auf 7–8,
wird nun die erste Ausführungsform
durch ein Beispiel erklärt. In
der Figur finden Tätigkeiten
an aufeinanderfolgenden Zeitpunkten statt. Obwohl für die Erfindung
nicht notwendig, werden einige Komponenten, wie beispielsweise Objekt 230 und
Ansicht 220 in dem Moment erzeugt, indem sie erforderlich
werden.
- Zeitpunkt 1: Regel- bzw. Steuereinrichtung 210 startet
Anwendung 200. Beispielsweise erteilt Regel- bzw. Steuereinheit 210 einen
Befehl "Initialisieren".
- Zeitpunkt 2: Anwendung 200 ruft die Regel- bzw. Steuereinheit 210 mit
dem Befehl auf "Objekt
erzeugen" (ID ist
der Anwendung nicht bekannt). Anwendung 200 zeigt dadurch
die Art des Objekts 230 an, die durch die Anwendung 200 erforderlich
ist, in dem Beispiel die Art bzw. der Typ "ganze Zahl".
- Zeitpunkt 3: Regel- bzw. Steuereinheit 210 instantiiert
bzw. realisiert Objekt 230 (von der Bibliothek 235) in
einem Speicher, der gewöhnlich
bzw. gemeinsam sowohl für
die Anwendung 200 als auch das Objekt 230 (beispielsweise
Speicher 920) zugänglich
ist. Objekt 230 weist ID = id0 auf und ist vom Typ "ganze Zahl". In dem Beispiel
weist das Attribut einen vorbestimmten Wert auf, hier "71".
- Zeitpunkt 4: Regel- bzw. Steuereinheit 210 erzeugt Ansicht 220,
vorzugsweise durch Herausgabe des Befehls "Ansicht erzeugen".
- Zeitpunkt 5: Regel- bzw. Steuereinheit 210 veranlaßt Ansicht 220,
Folgendes zu tun:
(1) Ansicht 220 liest die vorbestimmte
JSP-Seite 223 (vergleiche 5)
aus der JSP-Sammlung 222.
(2) Ansicht 220 liest
Attribut 231 im Übertragungsformat "rawstring" von Objekt 230 (Objekt 230 weist
das Attribut 231 auf, genannt bzw. bezeichnet "rawstring"). In dem Beispiel
weist der "rawstring" den Wert "71" auf. Einen vordefinierten
Wert (zum Präsentieren
an den Benutzer 1000) zu haben, ist angenehm, aber nicht
erforderlich.
(3) Ansicht ersetzt die Identifizierungsnotierung
in JSP-Seite 223 durch das Attribut "rawstring", um HTML zu erzeugen (vergleiche 6,
HTML-Seite 225).
- Zeitpunkt 6: Ansicht 220 sendet HTML-Seite 225 an Browser 240 (im
Klientencomputer 901).
- Zeitpunkt 7: Browser 240 interpretiert die HTML-Seite 225,
um die Eingabemaske 245 zu rendern bzw. vorzulegen. Die
Eingabemaske 245 weist ein Textfeld (links gezeigt) und
ein Eingabefeld auf (rechts gezeigt). Das Textfeld zeigt "IHR ALTER"; und das Eingabefeld
zeigt "71". Dadurch veranlaßt die Maske 245 den
Benutzer 1000, die "71" zu modifizieren.
Der Benutzer ändert
auf "72".
- Zeitpunkt 8: Der Browser 240 überträgt Attribut "72" an die Regel- bzw.
Steuereinheit 210 am Servercomputer 900 (Transfer-
bzw. Übertragungsantwort).
- Zeitpunkt 9: Regel- bzw. Steuereinheit sendet neues Attribut 233 (beispielsweise "72") an Objekt 230 ab, so
daß das
Objekt 230 das neue Attribut 231/232 speichert
(beispielsweise "72" ersetzend "71").
- Zeitpunkt 10: Objekt 230 überprüft und wandelt rawstring "72" in eine ganze Zahl
um (Umwandeln des Attributs 231 in das Attribut 233).
Vorzugsweise lassen die vorhandenen Programmiertechniken zu, ein Überprüfen und
Umwandeln bzw. Konvertieren zu kombinieren; ein einziger Befehl
kann dies tun; im Fall einer nicht ganzen Zahl würde ein versuchtes Umwandeln
in einer Fehlermitteilung resultieren. Ein Überprüfen folgt der vorbestimmten
Regel 238 (hier in Beispiel: "Umfaßt raw-string nur Ziffern,
0, 1, 2, 3, ..., 9 ?").
- Zeitpunkt 11: Objekt 230 leitet Datenattribut 233 (beispielsweise
ganze Zahl) an Anwendung 200 weiter. Ein Erfassen ist nun
fertiggestellt bzw. abgeschlossen.
- Zeitpunkt 12: Anwendung 200 verarbeitet bzw. bearbeitet
Attribut 233. Es ist nun möglich, das Objekt 230 zu
entfernen.
-
Die
Tätigkeiten
beschrieben habend, ohne die Identifikationen zu betrachten, war
für eine
Erklärung
zweckmäßig. Eine
Identifikation wird obligatorisch, wenn mehr als ein einziges Objekt
verwendet wird. Fachleute auf dem Gebiet können Identifikation bereitstellen.
Wenn Befehle und Datenattribute gesendet werden, werden beispielsweise
folgende Identifikationen zweckmäßiger Weise
verwendet:
- • an
T2 und an T11 identifiziert Regel- bzw. Steuereinheit 210 das
Teil der Anwendung, wo der Anruf herrührt, und wo Datenattribut 233 weiterzuleiten
ist;
- • an
T6, die Identifikation 226 ist Teil von Seite 225;
- • an
T8, die Identifikation ist Teil der Übertragungsantwort von Browser 240;
und
- • an
T9 verwendet die Regel- bzw. Steuereinheit 210 die Identifikation,
um das Objekt 230 zu finden.
-
Die
Annahmen für
die erste Ausführungsform
sind nicht die ganze Zeit anwendbar. Der Servercomputer 900 kann
nicht vollständig
die ganze Zeit verfügbar
sein (d.h. Zeitpunkt 1–12,
wie in 3 gezeigt); Objekt 230 kann ein Verwenden
von Diensten außerhalb
des Objekts 230 für
ein Überprüfen benötigen; ein Überprüfen kann
unvollständig
sein; es gibt mehrfache Datenattribute 231/232/233 und mehrfache
Objekte 230. Um der Bequemlichkeit einer Erklärung willen
werden weitere Ausführungsformen
nun erklärt,
wo einige der obigen Annahmen modifiziert sind bzw. werden (prime
marker bzw. Grundmarkierung).
-
In
einer zweiten Ausführungsform
wird die erste Annahme modifiziert, aber andere Annahmen bleiben
gültig,
d.h.:
- (i')
Der Servercomputer 900 ist nicht imstande, Objekt 230 die
ganze Zeit zu speichern. Während einer
vorbestimmten Zeitdauer (vergleiche Zeitpunkt 6–8 in 7–8)
speichert der Servercomputer 900 nicht Objekt 230.
Eine Nicht-Verfügbarkeit
ist der Regel- bzw. Steuereinrichtung 210 im voraus bekannt;
- (ii) ein Überprüfen wird
in Objekt 230 durchgeführt;
- (iii) ein Überprüfen ist
vollständig;
- (iv) es gibt nur ein einziges Objekt 230.
-
Wie
in Verbindung mit der ersten Ausführungsform erklärt, wird
das Objekt 230 an bzw. bei T5(2) durch Ansicht 220 benötigt, die
das alte Attribut bzw. Merkmal 231 liest (d.h. rawstring "71"), und wird nochmals
an T9 benötigt,
wenn die Regel- bzw. Steuereinrichtung 210 ein neues Attribut 233 (beispielsweise "72") an Objekt 230 sendet.
Die folgende Information ist für
das Objekt 230 erforderlich, um einen Betrieb bei T9 wieder
aufzunehmen:
- (a) Typ bzw. Art des Objekts 230 (beispielsweise ganze
Zahl);
- (b) Identifizierung 226 von Objekt 230;
- (c) Regel 238 (beispielsweise "Umfaßt rawstring bzw. Roh-String nur Ziffern
0, 1, 2, 3, ..., 9 ?");
und
- (d) die Adresse (nicht gezeigt) in der Anwendung 200,
wohin das Attribut 233 weiterzuleiten ist.
-
Information
(a) (b) (c) (d) wird auch als "Zustands-Information" bezeichnet.
-
9 ist
ein vereinfachtes Blockdiagramm für den Speicher des Servercomputers
für ein
Implementieren der zweiten Ausführungsform
der vorliegenden Erfindung mit Speicherabschnitt 920-1,
der vorübergehend
bzw. temporär
nicht verfügbar
ist, und Speicherabschnitt 920-2 ist permanent bzw. dauernd
verfügbar.
Der Speicherabschnitt 920-1 speichert das Objekt 230 (vergleiche
bzw. siehe 4) und speichert – zu einem
späteren
Zeitpunkt – das
erneut gespeicherte Objekt 280; der Speicherabschnitt 920-2 speichert
eine teilweise Kopie 270 des Objekts 230.
-
Das
Verfahren 400 umfaßt
die folgenden weiteren Schritte, die beide durch die Regel- bzw. Steuereinrichtung 210 aufgerufen
werden: 401 Speichern der Information (a) (b) (c) (d) im
permanenten Speicherabschnitt 920-2; und 402 erneuertes
Speichern des Objekts 230/280 im Abschnittspeicher 902-1 unter
Verwendung der Information aus dem Speicherabschnitt 920-2.
Geeigneter Weise verwendet das erneute Speichern die Klassenbibliothek 235 (vergleiche 4).
Vorzugsweise werden die Schritte 401 und 402 nach
dem Zeitpunkt T5(2) und vor dem Zeitpunkt T9 ausgeführt (vergleiche 7–8).
-
Wie
hierin verwendet, bezieht sich "permanent" auf wenigstens die
Zeit bzw. den Zeitraum zwischen den Schritten 401 und 402.
Der Abschnitt 920-2 kann in einer Vielfalt von Weisen implementiert sein
bzw. werden, wie beispielsweise durch eine Festplatte auf dem Server 900,
durch einen gesonderten Datenbankserver, oder sogar durch verborgene
Eingabefelder in Seite 225.
-
Es
ist ein Vorteil, daß ein
erneutes Speichern verzögert
werden kann, bis der Browser 240 das Merkmal 232 an
den Servercomputer 900 übertragen hat
(vergleiche Zeitpunkt T8). Dies spart eine teure bzw. kostspielige
Verwendung des Speicherabschnitts 920-1.
-
Fachleute
auf dem Gebiet sind auch fähig, das
Schema eines Speicherns und erneuten Speicherns auf andere Komponenten
auszudehnen. In ähnlicher
Weise muß im
Fall einer Nicht-Verfügbarkeit
der Steuer- bzw. Regeleinrichtung 210 oder der Anwendung 200 eine
Identifizierung ebenso gespeichert werden.
-
Wie
erklärt,
erfordert ein temporäres
Speichern von Zustandsinformation weitere Verfahrensschritte. Jedoch übersteigen
die wirtschaftlichen Vorteile der zweiten Ausführungsform die zusätzlichen Anstrengungen.
In der Praxis von modernen Anwendungen von Geschäften über Internet arbeitet ein einziger
Servercomputer mit Tausenden von Klientencomputer mit Tausenden
von Benutzern zusammen. Für
jeden Klienten wird ein gesondertes Objekt erzeugt (sogar mehr,
wenn Annahme (iv) nicht beachtet wird). Der Speicherabschnitt 920-1 von
Computer 900 wird als teuer bzw. kostspielig betrachtet
(Halbleiterspeicher, RAM, erfordert Adressenraum); der Speicherabschnitt 920-2 ist
billiger. Die zweite Ausführungsform
optimiert die Kosten, indem die Speicherbelastung bzw. -last über "billigen" und "teuren" Speicher verteilt
wird.
-
Für eine dritte
Ausführungsform
sind die Annahmen (i) und (i')
der ersten und zweiten Ausführungsform
gültig.
Die Annahmen (iii) (vollständiges Überprüfen) und
(iv) (einziges Objekt) sind ebenso gültig. Abweichend von der ersten
und zweiten Ausführungsform
ist, daß (ii') ein Überprüfen außerhalb Objekt 230 durchgeführt wird.
-
10 ist
ein vereinfachtes Diagramm von Objekt 230, Regel 239,
und Anwendung 200 gemäß der dritten
Ausführungsform.
Regel 239 ist ähnlich Regel 238 (vergleiche 4)
mit der Ausnahme, daß Regel 239 extern
zu Objekt 230 ist. Optional ist Regel 239 Teil
der Anwendung 200. Das Format, in dem Regel 239 auf
das Datenattribut 231/233 zugreift, spielt keine
Rolle: abhängig
von der Implementierung greift Regel 239 auf das Transferformat
(231/232) oder auf das Prozeßformat (233) oder
auf beide Formate zu.
-
Beispielsweise
ist das Szenario wie folgt für eine
Datenbereichsüberprüfung:
- (1) Anwendung 200 fragt Objekt 230 hinsichtlich Gültigkeit/Nicht-Gültigkeit
von Attribut 232/233 (vergleiche 4);
- (2) Objekt 230 ruft Regel 239 auf und macht
Attribut 231/233 für Regel 239 verfügbar (d.h.
ganze Zahl);
- (3) Regel 239 überprüft einen
Bereich (beispielsweise ganze Zahl für Alter einer Person größer als oder
gleich 0 und kleiner als oder gleich 130);
- (4) Regel 239 zeigt eine Bereichserfüllung an
Objekt 230 an;
- (5) Objekt 230 leitet eine Bereichserfüllung an
Anwendung 200 weiter.
-
Viele
Variationen dieses Schemas sind möglich. Eine Durchführung einer Überprüfung durch eine
externe Rolle 239 alleine ist geeignet bzw. angenehm, aber
nicht notwendig; Fachleute auf dem Gebiet können sowohl ein internes Überprüfen ("generisches", Regel 238,
vergleiche 4) und externes Überprüfen ("nicht-generisches", Regel 239)
in jeder beliebigen Reihenfolge durchführen.
-
Beispielsweise
arbeiten Anwendung 200, Objekt 230 (interne Regel 238,
vergleiche 4) und externe Regel 239 wie
folgt zusammen:
- (1) Anwendung 200 fragt
Objekt 230 hinsichtlich Gültigkeit/Nicht-Gültigkeit
von Attribut 231 (vergleiche 4); beispielsweise
ist Gültigkeit
definiert, wenn Attribut 231 in Prozeßformat "ganze Zahl" umgewandelt werden kann;
- (2) Objekt 230 führt
eine interne Überprüfung mit Regel 238 durch
und zeigt Gültigkeit
an;
- (3) Anwendung 200 verlangt eine weitere Überprüfung hinsichtlich
Datenbereich an Objekt 230;
- (4) Objekt 230 ruft Regel 239 auf und macht
Attribut 233 der Regel 239 verfügbar (d.h.
ganze Zahl);
- (5) Regel 239 überprüft den Bereich
(beispielsweise ganze Zahl größer als
oder gleich 0 und kleiner als oder gleich 130);
- (6) Regel 239 zeigt Bereichserfüllung an Objekt 230 an;
- (7) Objekt 230 leitet Bereichserfüllung an Anwendung 200 weiter;
und
- (8) Objekt 230 leitet Attribut 233 weiter.
-
Viele
Variationen dieses Schemas sind ebenso möglich. Ohne die Notwendigkeit
einer weiteren Erklärung
hierin können
Fachleute auf dem Gebiet das Schema für Nichterfüllung adaptieren.
-
Wie
im Abschnitt zum Stand der Technik erwähnt, lädt die Eingabemaske den Benutzer
ein, eine große
Anzahl von Datenattributen, wie beispielsweise Name, Adresse, Alter
usw. einzugeben. Annahme (iv')
wird nun modifiziert. In einer vierten Ausführungsform der vorliegenden
Erfindung gibt es mehrfache Datenattribute mit entsprechenden mehrfachen
Objekten.
-
11 ist
ein vereinfachtes Diagramm von ersten und zweiten Datenattributen 232-1, 232-2 mit jeweils
ersten und zweiten Objekten 230-1, 230-2, in der
vierten Ausführungsform.
Vorzugsweise zieht die HTML-Seite 223 (bereitgestellt durch
Ansicht 220) beide Objekte in Betracht. Im Beispiel weist
die Eingabemaske 245 im Browser 240 Textfelder
für "POSTLEITZAHL" und "STADT" (Inhalt) auf und weist
Eingabefelder für
die Attribute 232-1 und 232-2 auf. Die Objekte 230-1 und 230-2 sind
entsprechend dem Inhalt. Vorzugsweise verwenden die Objekte 230-1 und 230-2 die
externe Regel 239, um eine Übereinstimmung bzw. Konsistenz
der Postleitzahl und Stadt zu überprüfen. Um
die Erklärung
einfach zu halten, illustriert 11 nicht
die Computer 900 und 901.
-
Wie
oben erwähnt,
ist das Verfahren 400 (3) ein Verfahren,
welches ein Datenattribut eines vordefinierten Typs erfaßt. Ein
Be- bzw. Verarbeiten des Attributs 233 durch die Anwendung 200 folgt. Im
Fall von mehrfachen Attributen (vergleiche 11) können ein
Erfassen (Verfahren 400) und ein Verarbeiten in einer geeigneten
Reihenfolge kombiniert werden:
- (1) Erfassen
des ersten Attributs, Be- bzw. Verarbeiten des ersten Attributs,
Erfassen des zweiten Attributs, Be- bzw. Verarbeiten des zweiten
Attributs.
- (2) Erfassen des ersten Attributs, Erfassen des zweiten Attributs,
Be- bzw. Verarbeiten des ersten Attributs, Be- bzw. Verarbeiten
des zweiten Attributs.
-
Es
ist auch möglich,
die Reihenfolge für
ausgewählte
Verfahrensschritte zu definieren (Verfahren 400 für alle Ausführungsformen).
Dies ist möglich, weil
die Objekte voneinander unabhängig
sind.
-
Fachleute
auf dem Gebiet sind fähig,
die obigen Ausführungsformen
ohne die Notwendigkeit weiterer Erklärung hierin zu kombinieren.
-
- 100
- Computerprogrammprodukt
- 1000
- Benutzer
- 200
- Anwendung
- 210
- Steuer-
bzw. Regeleinheit
-
- bzw.
Controller
- 220
- Ansicht
- 222
- JSP-Sammlung
- 223
- JSP-Seite
- 225
- Markup-Sprachen-Code
-
- HTML-Seite
(Code)
- 226
- Identifikation
(ID)
- 230,
230-1, 230-2
- Objekt
bzw. Gegenstand
- 231,
233, 233-1, 233-2
- Datenattribut
-
- (Transfer-
bzw. Übertragungs
-
- format)
- 232
- Datenattribut
-
- (Prozeßformat)
- 235
- Klassenbibliothek
- 238
- vorbestimmte
bzw. vordefi
-
- nierte
Regel
- 240
- Browser
- 245
- Eingabemaske
- 270
- teilweise
Kopie eines Objekts
- 280
- wiederhergestelltes
Objekt
- 400
- Verfahren
- 401–402, 410–470
- Verfahrensschritte
- 900,
901
- Computer
- 910
- Prozessor
- 920
- Speicher
(allgemein)
- 920-1
- Speicher
(temporär
nicht
-
- verfügbar)
- 920-2
- Speicher
(permanent)
- 930
- Bus
- 940
- Eingabevorrichtung
- 950
- Ausgabevorrichtung
- 960
- Benutzer-Interface
bzw.
-
- -Schnittstelle
- 980
- Signal
- 990
- Netzwerk
- 999
- Computernetzwerksystem
- 999
- System