DE60211907T2 - Erfassung von datenattributen eines vordefinierten typs vom benutzer - Google Patents

Erfassung von datenattributen eines vordefinierten typs vom benutzer Download PDF

Info

Publication number
DE60211907T2
DE60211907T2 DE60211907T DE60211907T DE60211907T2 DE 60211907 T2 DE60211907 T2 DE 60211907T2 DE 60211907 T DE60211907 T DE 60211907T DE 60211907 T DE60211907 T DE 60211907T DE 60211907 T2 DE60211907 T2 DE 60211907T2
Authority
DE
Germany
Prior art keywords
computer
attribute
data
format
bzw
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60211907T
Other languages
English (en)
Other versions
DE60211907D1 (de
Inventor
Reiner Hammerich
Ulf Fildebrandt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Publication of DE60211907D1 publication Critical patent/DE60211907D1/de
Application granted granted Critical
Publication of DE60211907T2 publication Critical patent/DE60211907T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99946Object-oriented database structure network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99947Object-oriented database structure reference

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Telephone Function (AREA)
  • Debugging And Monitoring (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • 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;
  • 78 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 900902 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 910980 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 900902 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 28 für das Computernetzwerksystem 999 mit dem Klientencomputer 901 und einem Servercomputer 900 erklärt. Während 23 die grundlegenden bzw. Basismerkmale der Erfindung illustrieren, illustrieren 48 bevorzugte Implementierungsdetails.
  • Um der Bequemlichkeit einer Erklärung der ersten Ausführungsform willen (28), 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 410470 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 410460 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 78 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".
  • 78 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 78, 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 78) 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 78).
  • 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

Claims (8)

  1. Verfahren (400) zum Erfassen eines Datenattributs (231, 232, 233) einer vorbestimmten Art von einem Benutzer eines Klientencomputers (900) an einer Anwendung (200) auf einem Servercomputer (900), wobei das Verfahren die folgenden Schritte umfaßt: Senden (410) einer Markup- bzw. Auszeichnungssprachenseite (225) durch eine Ansicht (220) in dem Servercomputer (900) zu einem Browser (240) in dem Klientencomputer (901) zum Anzeigen einer Eingabemaske (245); Interpretieren (420) der Seite (225) durch den Browser (240), um das Datenattribut (232) von dem Benutzer (1000) zu empfangen, wobei das Attribut in einem Transfer- bzw. Übertragungsformat vorliegt; Transverieren bzw. Übertragen (430) des Datenattributs (232/231) an ein Objekt bzw. Gegenstand (230) auf dem Servercomputer (900), wobei das Objekt bzw. der Gegenstand eine Art aufweist, welche mit der Art des Attributs übereinstimmt bzw. diesem entspricht; Speichern (440) des Datenattributs (231) durch das Objekt (230) im Übertragungsformat; Konvertieren (450) des Datenattributs (231) von dem Übertragungsformat zu einem Prozeß- bzw. Bearbeitungsformat durch das Objekt (230); Überprüfen (460) der Übereinstimmung bzw. Konformität des Datenattributs (233) mit einer vordefinierten Regel (238, 239) durch das Objekt (230); und Übermitteln bzw. Weiterleiten (470) des Datenattributs (233) in dem Prozeßformat durch das Objekt (230) zu der Anwendung (200); dadurch gekennzeichnet, das Verfahren weiters die Schritte eines Speicherns (401) von Zustandsinformationen in einem permanenten bzw. Permanentspeicher (920-2) und eines Wiederherstellens (402) des Objekts durch Verwenden der Zustandsinformation umfaßt.
  2. Verfahren nach Anspruch 1, wobei das Übertragungsformat ein Stringformat ist.
  3. Verfahren nach Anspruch 1, wobei in dem Überprüfungsschritt (460) die vorbestimmte Regel (238) dem Objekt (230) innenliegend bzw. innewohnend ist.
  4. Verfahren nach Anspruch 1, wobei in dem Überprüfungsschritt (460) die vorbestimmte Regel (239) außerhalb des Objekts (230) ist.
  5. Verfahren nach Anspruch 1, wobei ein Wiederherstellen (402) bis zu einem Übertragen (430) verzögert wird.
  6. Verfahren nach Anspruch 1, wobei ein Speichern (401) von Zustandsinformation in dem Permanentspeicher (920-2) durch ein Speichern in versteckten Eingabefeldern in der Seite ausgeführt wird.
  7. Computersystem (999) mit einem Klientencomputer (901) und einem Servercomputer (900) zum Implementieren des Verfahrens nach Ansprüchen 1–6.
  8. Computerprogrammprodukt, das Instruktionen aufweist, welche einen Prozessor veranlassen, die Schritte von irgendeinem Verfahren 1–6 auszuführen.
DE60211907T 2001-07-16 2002-06-13 Erfassung von datenattributen eines vordefinierten typs vom benutzer Expired - Lifetime DE60211907T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US30580901P 2001-07-16 2001-07-16
US305809P 2001-07-16
PCT/EP2002/006519 WO2003009171A2 (en) 2001-07-16 2002-06-13 Capturing data attribute of predefined type from user

Publications (2)

Publication Number Publication Date
DE60211907D1 DE60211907D1 (de) 2006-07-06
DE60211907T2 true DE60211907T2 (de) 2007-01-18

Family

ID=23182440

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60211907T Expired - Lifetime DE60211907T2 (de) 2001-07-16 2002-06-13 Erfassung von datenattributen eines vordefinierten typs vom benutzer

Country Status (6)

Country Link
US (1) US7770103B2 (de)
EP (1) EP1410259B1 (de)
AT (1) ATE328326T1 (de)
AU (1) AU2002317807A1 (de)
DE (1) DE60211907T2 (de)
WO (1) WO2003009171A2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7319961B2 (en) * 2004-03-04 2008-01-15 Saudi Arabian Oil Company Voice recognition technology to capture geoscience data
ATE557353T1 (de) * 2005-03-21 2012-05-15 Saudi Arabian Oil Co Geologischedatenerfassung mittels spracherkennug
US8627290B2 (en) 2009-02-03 2014-01-07 International Business Machines Corporation Test case pattern matching
US9621957B2 (en) * 2009-11-17 2017-04-11 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for low-latency browsing on a device with limited processing resources
US9106437B2 (en) * 2009-11-17 2015-08-11 Broadcom Corporation Method and system for providing complete internet anywhere with full server assisted processing
US20120215890A1 (en) * 2011-02-22 2012-08-23 International Business Machines Corporation Network-aware structured content downloads
US9128886B2 (en) 2011-12-20 2015-09-08 Sap Se Computer implemented method, computer system, electronic interface, mobile computing device and computer readable medium
US9015608B2 (en) * 2012-07-16 2015-04-21 Sap Se Regenerating a user interface area
US8924848B2 (en) * 2012-07-16 2014-12-30 Sap Se Synchronizing a user interface area
US9411665B2 (en) 2012-09-05 2016-08-09 Sap Se Messaging infrastructure integration
US10783007B2 (en) 2018-10-01 2020-09-22 Sap Se Load distribution for integration scenarios
US10715388B2 (en) 2018-12-10 2020-07-14 Sap Se Using a container orchestration service for dynamic routing

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0499404A3 (en) * 1991-02-15 1993-05-12 Texas Instruments Incorporated Object-oriented graphical user interface
US5815415A (en) * 1996-01-19 1998-09-29 Bentley Systems, Incorporated Computer system for portable persistent modeling
US6253228B1 (en) * 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
US6167523A (en) * 1997-05-05 2000-12-26 Intel Corporation Method and apparatus for forms data validation and processing control
US6453356B1 (en) * 1998-04-15 2002-09-17 Adc Telecommunications, Inc. Data exchange system and method
US7461336B1 (en) * 1998-12-10 2008-12-02 Art Technology Group, Inc. System and method for automatic mapping of hypertext input fields to software components
US6311187B1 (en) * 1998-12-29 2001-10-30 Sun Microsystems, Inc. Propogating updates efficiently in hierarchically structured data under a push model
US6981215B1 (en) * 1998-12-31 2005-12-27 Microsoft Corp. System for converting event-driven code into serially executed code
US6880126B1 (en) * 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
US6643652B2 (en) * 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
EP1117220A1 (de) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Verfahren und Vorrichtung zur Protokollübersetzung
CA2404014A1 (en) * 2000-03-30 2001-10-11 Cygent, Inc. System and method for establishing electronic business systems for supporting communications services commerce
US6757900B1 (en) * 2000-05-18 2004-06-29 Microsoft Corporation State management of server-side control objects

Also Published As

Publication number Publication date
WO2003009171A3 (en) 2003-10-23
ATE328326T1 (de) 2006-06-15
EP1410259A2 (de) 2004-04-21
EP1410259B1 (de) 2006-05-31
DE60211907D1 (de) 2006-07-06
US7770103B2 (en) 2010-08-03
WO2003009171A2 (en) 2003-01-30
AU2002317807A1 (en) 2003-03-03
US20040172598A1 (en) 2004-09-02

Similar Documents

Publication Publication Date Title
DE69419184T2 (de) Verfahren und system zum formatieren von numerischer information
DE60117150T2 (de) Verfahren und computerprogramm zum übertragen von inhalt aus einer quellendatenbank zu einer zieldatenbank
DE60211907T2 (de) Erfassung von datenattributen eines vordefinierten typs vom benutzer
DE60028561T2 (de) Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen
DE69131543T2 (de) Verfahren zur Steuerung der Übertragung von Daten zwischen heterogenen Datenbanksystemen
DE69132908T2 (de) Verwendung von Anwendungsprogrammen für Daten in einem heterogenen Datenbanksystem
DE69903919T2 (de) System zum speichern der visuellen form von information aus einer anwendung in eine datenbank und zum wiederauffinden
DE69229453T2 (de) Verfahren und Anordnung zum Zugriff auf eine relationelle Datenbank, ohne eine objektorientierte Umgebung verlassen zu müssen
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE60126016T2 (de) Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen
DE60224926T2 (de) Verfahren und Rechnersystem zur Behandlung von inkrementalen Daten in Klient-Server Kommunikation.
EP1267277A1 (de) Verfahren, System und Computerprogrammprodukt zum Ändern der Datenstruktur mit der in einem Computersystem ein Anwendungsprogramm auf Datenbanksysteme zugreift
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE19835647A1 (de) Computersystem und Verfahren zum Lesen von HID-Dateneinheiten
DE69522713T2 (de) Verfahren zum assoziieren von datentragenden objekten mit objekten der benutzerschnittstelle
US20070282721A1 (en) Dynamically managing timesheet data associated with multiple billing types
DE10212634A1 (de) Seitenbeschreibungssprache, die für ein direktes Drucken von Mehr-Datei-Formaten ausgelegt ist
DE69932524T2 (de) Verfahren zum handhaben von datenobjekten in vom benutzer definierten datentypen
JP4044040B2 (ja) ドキュメントのデータおよびレイアウト情報を分離して処理するための方法およびコンピュータシステム
DE10038289A1 (de) Verfahren und System zur Integration von Basisbanktätigkeiten (Core Banking System)
DE60210934T2 (de) Verfahren und Rechneranordnung für vernetzte Aufgabenverwaltung
DE19746393A1 (de) Dynamisches Mustererkennungssystem
EP1044409B1 (de) Programmablaufverfahren und verfahren zur erweiterung eines programmkomponentensystems
EP1324236A1 (de) Bestimmen einer Kennfunktion aus Matrix mit Anreichern und Verdichten
EP1254412B1 (de) Verfahren zur datenverwaltung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition