DE112010004980T5 - Verbessern der Leistungsfähigkeit von auf Vorlagen beruhenden Javascript-Fensterobjekten - Google Patents

Verbessern der Leistungsfähigkeit von auf Vorlagen beruhenden Javascript-Fensterobjekten Download PDF

Info

Publication number
DE112010004980T5
DE112010004980T5 DE112010004980T DE112010004980T DE112010004980T5 DE 112010004980 T5 DE112010004980 T5 DE 112010004980T5 DE 112010004980 T DE112010004980 T DE 112010004980T DE 112010004980 T DE112010004980 T DE 112010004980T DE 112010004980 T5 DE112010004980 T5 DE 112010004980T5
Authority
DE
Germany
Prior art keywords
script object
universal script
universal
web page
programming code
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.)
Granted
Application number
DE112010004980T
Other languages
English (en)
Other versions
DE112010004980B4 (de
Inventor
Cesar Augusto Wong
Marc Dreyfus
Asima Silva
Morgan Louis Johnson
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112010004980T5 publication Critical patent/DE112010004980T5/de
Application granted granted Critical
Publication of DE112010004980B4 publication Critical patent/DE112010004980B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Zum Umfang gehören ein Verfahren, ein Herstellungsgegenstand und eine Einheit, die dazu dienen, ein universelles Skript-Objekt in Programmiercode einzubetten, der zur Wiedergabe einer Webseite verwendet wird, das universelle Skript-Objekt in JavaScript umzuwandeln und nach dem Empfang einer Anforderung für eine Webseite das umgewandelte und eingebettete universelle Skript-Objekt an einen Anforderer zu senden. Das universelle Skript-Objekt kann aus HTML oder aus einer anderen Sprache umgewandelt werden.

Description

  • HINTERGRUND
  • Der Bereich der Erfindung schließt die Auswertung und Wiedergabe von Client-basierten universellen Skript-Objekten ein. Genauer gesagt, Ausführungsformen sind darauf ausgerichtet, Darstellungen von Zeichenfolgen (Strings), die einer plattformübergreifenden Bibliothek mit Vorlagen für universelle Skript-Objekte entnommen werden, auszuwerten oder umzuwandeln und die Darstellungen der Zeichenfolgen in Code einzubetten, bevor der Code analysiert oder ausgeführt wird, um von einer Client-Anwendung angezeigt zu werden.
  • Allgemein gesagt, Web-Designer können vorgeschriebene Vorlagen und Sprache verwenden, um den Zeit- und Arbeitsaufwand, der für die Entwicklung komplexer Websites erforderlich ist, zu verringern. Mit Hilfe der vorgeschriebenen Vorlagen lässt sich der Umfang der kundenspezifischen Codierung, der für eine bestimmte Web-Anwendung notwendig ist, reduzieren. Vorgeschriebene Vorlagen und Sprache können sich in Bibliotheken befinden, die vom Standort des Programmierers entfernt sind. Bei Bedarf kann diese Sprache direkt in den Code eingefügt werden, der gerade vom Programmierer geschrieben wird, um den Programmierprozess zu beschleunigen. Der in der Bibliothek vorhandene vorgeschriebene Code kann Elemente von Benutzerschnittstellen (User Interfaces (UIs)) wie zum Beispiel Schaltflächen und Dropdown-Menüs, Organigramme, Gitternetze und andere Elemente, die man normaler- und üblicherweise auf Webseiten findet, enthalten.
  • Wenn der Code mit Hilfe der vorgeschriebenen Vorlagen geschrieben wird, kann HTML-Code in den Code eingefügt werden. Bevor der Code zur Laufzeit verwendet wird, wird der HTML-Code von der Client-Anwendung analysiert. Nach erfolgter Analyse können dann sowohl der vom Programmierer geschriebene Code als auch der aus der Bibliothek eingefügte HTML-Code von der Client-Anwendung ausgeführt werden. Wenn Web-Anwendungen unter Verwendung von Code-Bibliotheken geschrieben werden, wird die Client-Anwendung folglich mit der Analyse von HTML-Code aus der Bibliothek während der Laufzeit belastet, um die Webseite korrekt darzustellen/aufzubauen.
  • In einem bestimmten Fall, wenn Entwickler von Web-Anwendungen den Vorlagen-Programmierrahmen (Framework) DOJO verwenden, um dynamisch erzeugte, auf JavaScript beruhende UIs zu erstellen, beschleunigen sie im Endeffekt die Entwicklung von komplexen Websites, indem sie den Umfang der kundenspezifischen Codierung verringern. Ein dabei in Kauf zu nehmender Nachteil ist die beeinträchtigte Leistung des Codes zur Laufzeit. Insbesondere leidet die Leistungsfähigkeit an der Client-Maschine, da jedes der Elemente der Benutzerschnittstelle, die gemeinhin als Fensterobjekte (widgets) bezeichnet werden, eine DHTML-Vorlage enthält, die von der Client-Maschine zur Laufzeit analysiert werden muss. Je mehr Fensterobjekte auf der Seite vorhanden sind, desto mehr Verarbeitungsleistung ist notwendig, um den Code auszuwerten.
  • KURZDARSTELLUNG
  • Wie hier beschrieben wird, kann die Erfindung in verschiedenen Formen einschließlich Systemen, Einheiten, Verfahren und Herstellungsgegenständen realisiert werden. Die hier vorgesehenen Ausführungsformen dienen der Veranschaulichung und sind nicht als Einschränkung zu verstehen und können teilweise oder in Kombination angepasst werden, während sie dennoch unter die Wesensart und den Umfang der Erfindung fallen.
  • In Ausführungsformen können universelle Skript-Objekte aus einer Bibliothek mit Code, der nicht aus einer Bibliothek stammt, kombiniert werden, bevor der Code und das Objekt von einem Client ausgeführt werden. Das universelle Skript-Objekt kann vor der Analyse des Codes, in den es eingefügt wurde, zur Laufzeit verarbeitet oder ausgewertet werden. Aufgrund dieser Verarbeitung oder Auswertung muss das eingefügte Objekt nicht getrennt von dem Code, in den es eingebettet ist, analysiert werden, wenn der Code zur Laufzeit von einem Client ausgeführt wird.
  • Die Ausführungsformen können Netzwerkeinheiten, Systeme, Verfahren und einen computerlesbaren Datenträger enthalten. Jede Netzwerkeinheit, jedes System, jedes Verfahren und jeder computerlesbare Datenträger kann Befehle für Mikroprozessoren enthalten, die, wenn sie von dem Mikroprozessor ausgeführt werden, den Mikroprozessor veranlassen, das universelle Skript-Objekt zu verarbeiten oder auszuwerten, bevor ein Client den endgültigen Code, der ausgeführt werden soll, ausführt. In Ausführungsformen können die Befehle zum Auswerten oder Umwandeln des eingebetteten Codes aus der Bibliothek auf einem Server oder anderswo ausgeführt werden, bevor der Client den endgültigen Code zur Laufzeit analysiert.
  • KURZE BESCHREIBUNG DER DIVERSEN ANSICHTEN DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das Programmiercode und ein universelles Skript-Objekt vor und nach der Verarbeitung gemäß Ausführungsformen zeigt.
  • 2 ist ein Blockdiagramm, das den Fluss von beispielhaftem Code zwischen einem Server und einem Client-Rechner gemäß Ausführungsformen zeigt.
  • 3 ist ein Blockschaltbild eines Mikroprozessors, der mit einer Remote-Anwendung und einer Skript-Bibliothek gemäß Ausführungsformen verbunden ist.
  • 4 ist ein Blockdiagramm eines beispielhaften Verfahrens, das die Erfindung realisiert.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Verschiedene Ausführungsformen zum Auswerten und Wiedergeben von universellen Skript-Objekten werden hier bereitgestellt. Die Erfindung kann in diesen Ausführungsformen, in Teilen dieser Ausführungsformen, in Kombinationen dieser Ausführungsformen und auch in anderen Ausführungsformen dargestellt werden.
  • Die universellen Skript-Objekte können gespeichert und aus Code-Bibliotheken abgerufen werden, auf die über ein Netzwerk zugegriffen werden kann. Die universellen Skript-Objekte können vorkonfigurierte Einfügeelemente darstellen, die von Programmierern von Webseiten regelmäßig verwendet werden. Dazu gehören Benutzerschnittstellen, Dropdown-Menüs, Seitenübersichten (Sitemaps), Gitternetze und andere regelmäßig wiederholbare Webbilder.
  • Beim Codieren kann ein Programmierer diese universellen Skript-Objekte in den Code einfügen, um den für die Programmierung erforderlichen Zeitraum zu verringern und um die Genauigkeit des Codes, der geschrieben wird, zu erhöhen, da die universellen Skript-Objekte gegebenenfalls bereits auf Genauigkeit und Vollständigkeit hin überprüft worden sind.
  • Ausführungsformen schließen die Verarbeitung der universellen Skript-Objekte ein, bevor der endgültige Code von dem Client analysiert und ausgeführt wird. Diese Verarbeitung kann das Auswerten oder Umwandeln des universellen Skript-Objekts, das in den Code eingebettet ist, der von dem Client ausgeführt werden soll, in eine Form beinhalten, die von dem Client im Vergleich zu dem umgebenden Code, der von dem Client ausgeführt wird, ohne zusätzliche Verarbeitung ausgeführt werden kann. Anders ausgedrückt, wenn der Client für den Großteil des Codes, der wiedergegeben wird, JavaScript analysieren und ausführen muss, würden die universellen Skript-Objekte ebenfalls mit Hilfe von JavaScript übersetzt, analysiert und ausgeführt werden. Die Verarbeitung der universellen Skript-Objekte kann von dem Web-Server oder anderswo durchgeführt werden, und die Ergebnisse der Verarbeitung können von dem Web-Server oder anderswo zur sofortigen oder zur späteren Verwendung des auszuführenden Codes gespeichert werden. Die Verarbeitung kann dazu dienen, die Zeit zu verkürzen, die notwendig ist, um den Code am Client zu analysieren und auszuführen sowie eine beliebige Webseite wiederzugeben, die von dem Code am Client dargestellt wird.
  • In Ausführungsformen können auf JavaScript beruhende UIs vor der endgültigen Laufzeit an einem Client verarbeitet werden. Ein Server, der die Webseite, welche die Vorlagen für die UIs enthält, an den Client sendet, kann sie in einer Form senden, die vor der Laufzeit nicht analysiert zu werden braucht. In manchen Ausführungsformen kann der Client die Webseite und die UI-Vorlagen nach dem Empfang, aber vor der Analyse und vor der Laufzeit der Webseite verarbeiten. In jedem Fall müssten die UIs vom Client zur Laufzeit nicht in JavaScript umgewandelt werden. Ein Vorteil dieser methodischen Vorgehensweise kann unter anderem darin bestehen, dass der Client zur Laufzeit eine höhere Leistung erfährt. Wenn beispielsweise eine große Zahl von UIs oder anderen universellen Skript-Objekten beteiligt ist, kann die Verbesserung der Leistungsfähigkeit zur Laufzeit in der Größenordnung von 30% bis 50% liegen. Dieser Bereich der Verbesserung ist jedoch nicht erforderlich, um unter die Wesensart und den Umfang der Erfindung zu fallen.
  • 1 ist ein modulares Blockdiagramm, das Programmiercode und universelle Skript-Objekte zeigt, bevor und nachdem sie mit Ausführungsformen der Erfindung kombiniert worden sind. Der Programmiercode ist im Block 110 gezeigt, das universelle Skript-Objekt ist im Block 120 gezeigt, und die Kombination aus Programmiercode 110 und universellem Skript-Objekt 120 ist im Block 130 gezeigt. Wie in 1 zu sehen ist, kann der Programmiercode mit dem universellen Skript-Objekt 120 kombiniert und dann verarbeitet oder in eine ausführbare Form umgewandelt werden, wie im Block 130 gezeigt ist.
  • Der Programmiercode im Block 110 zeigt ein universelles Skript-Objekt einer Objektklasse, das von einem Programmierer für eine bestimmte Web-Anwendung geschrieben wird. Der Code, der geschrieben wird, beinhaltet einen Vorlagenpfad und die Wiedergabe, um den Vorlagenpfad als Teil der Programmierung auszuführen. Das universelle Skript-Objekt 120 kann in den Programmiercode eingefügt werden, während die Programmierung von dem Programmierer durchgeführt wird. Die UI-Vorlage, die in HTML geschrieben werden kann, kann die direkte Erzeugung einer Schaltfläche oder irgendeiner anderen Benutzerschnittstelle in Form von einer Vorlagen-Zeichenfolge beinhalten. Diese Vorlagen-Zeichenfolge muss nicht von dem Programmierer geschrieben zu werden, sondern kann vielmehr der Bibliothek mit den universellen Skript-Objekten entnommen werden. In dieser Ausführungsform stellt der Block 130 nicht nur die Kombination aus dem Programmiercode 110 und dem universellen Skript-Objekt 120 dar, sondern auch die verarbeitete oder umgewandelte Objektklasse, wie sie in einer Client-Anwendung vor der Laufzeit dargestellt werden kann. Der Pfeil 125 stellt dar, dass das universelle Skript-Objekt 120 in den Programmiercode 110 gepackt oder darin eingebettet werden kann, bevor es mit dem kombinierten universellen Skript-Objekt 130 berücksichtigt wird.
  • Wie zu sehen ist, kann die verarbeitete oder umgewandelte Objektklasse 130, in diesem Beispiel eine in JavaScript geschriebene Schaltflächen-Klasse, sowohl die Wiedergabe als auch ihren zugehörigen Wiedergabe-Funktionsaufruf sowie anderen Code enthalten. In Ausführungsformen kann der Wiedergabe-Funktionsaufruf nach seiner Umwandlung oder Verarbeitung am Client oder am Server, jedoch vor der Laufzeit, nicht nur die Vorlagen-Zeichenfolge für die UI, sondern diese Zeichenfolge so verarbeitet oder umgewandelt enthalten, dass sie von dem Client zur Laufzeit problemlos ausgeführt werden kann.
  • 2 zeigt einen Server 210, einen Client 230, HTML-Code 220 und einen Code 240 zum Kompilieren von Schaltflächen-Klassen. Die Vorlagen-HTML und der Code 240 zum Kompilieren von Schaltflächen-Klassen können zusammengepackt und anschließend ausgewertet werden, bevor sie am Client 230 ausgeführt werden. Dieses Packen und Auswerten kann am Server 210 oder anderswo durchgeführt werden und erfolgt am besten, bevor der Client den kombinierten Code ausführt. Wenn die Auswertung und die Verarbeitung vom Client durchgeführt werden, kann der Client die Informationen so speichern, dass spätere Analysen der Webseite zur Laufzeit unter Verwendung der kompilierten Schaltflächen-Klasse und JavaScript nicht ausgewertet oder verarbeitet werden müssen. Wie in 2 zu sehen ist, kann der Code zum Kompilieren der Schaltflächen-Klasse eine auf den DOM-Code gerichtete Wiedergabe-Funktion enthalten.
  • 3 zeigt einen Mikroprozessor 310, der mit der fernen Anwendung 320 und einer Skript-Verwalter/Bibliothek 330 Daten austauscht. Der Mikroprozessor 310 kann Eingänge/Ausgänge 311, einen Speicher 312, einen Speicher 316, einen Prozessor 315 und Sensoren 314 enthalten. Der Mikroprozessor 310 kann universelle Skript-Objekte aus der Skript-Verwalter/Bibliothek 330 sowie Web-Anwendungen für die ferne Anwendung 320 empfangen. Der Mikroprozessor 310 kann diese Dateien in Ausführungsformen kombinieren, wiedergeben und ausführen. Der Mikroprozessor 310 kann sich in einer Client-Anwendung, in einer Server-Anwendung und auch in anderen Einheiten befinden. Befehle, die in einem Speicher 316 des Mikroprozessors 310 gespeichert werden sollen, können über die Eingänge/Ausgänge 311 von transportierbaren Speichermedien sowie über andere Verfahren in den Speicher eingegeben werden. Wie in der gesamten Beschreibung angegeben wird, kann der Mikroprozessor die Auswertung oder die Verarbeitung des HTML-Codes eines Fensterobjekts, das von einem Client zur Laufzeit ausgeführt werden kann, in JavaScript durchführen und dadurch die Belastung und den zusätzlichen Aufwand, die mit der Ausführung des UI-Fensterobjekts verbunden sind, verringern.
  • 4 zeigt ein Verfahren gemäß Ausführungsformen. Wie bei 410 zu sehen ist, kann eine HTML-Seite geliefert werden, wobei der Web-Server für die Seite einen Verweis auf Skript-Bibliotheken, wie zum Beispiel dojo, Yahoo oder Google, sowie HTML zum Erstellen eines Fensterobjekts enthalten kann. 420 zeigt, dass der Skript-Bibliotheksverwalter in Ausführungsformen dazu dienen kann, Code für die Seite einzufügen und ein Fensterobjekt wie zum Beispiel digit.form.button zu instanziieren. Als Nächstes zeigt 430, dass die Instanz des Fensterobjekts zur eigenen Wiedergabe im DOM-Baum der Seite verwendet werden kann. Die Wiedergabe-Funktion kann den DOM-Teilbaum für das Fensterobjekt mit Hilfe von JavaScript erstellen. Andere Erstellungsprotokolle können ebenfalls verwendet werden. In dem einen oder dem anderen Fall muss die Zeichenfolge am Client während der Laufzeit möglicherweise nur in geringem Umfang analysiert und ersetzt oder gar nicht analysiert und ersetzt werden. Schließlich kann bei 440 eine Benutzerschnittstelle in Form von einem neuen Fensterobjekt oder einem anderen universellen Skript-Objekt auf der Seite des Browsers zur Laufzeit des Client wiedergegeben werden. Hier kann das UI-Fensterobjekt entsprechend dem anderen Code, der von dem Client bei der Wiedergabe der Webseite analysiert wird, zur Laufzeit analysiert werden.
  • In anderen zusätzlich zu den vorstehend genannten Ausführungsformen kann die Verarbeitung von JavaScript in Verbindung mit den Elementen der Benutzerschnittstelle, die von einem Server heruntergeladen werden, unter Verwendung von HTML-Code für das Benutzerschnittstellen-Element und für die Wiedergabe am Standort des Client erfolgen. Dieser erzeugte HTML-Code kann am Client und/oder an Speicherplätzen gespeichert werden, auf die der Client zugreifen kann, so dass am Client eine Laufzeit erzielt werden kann, die für eine verbesserte Leistungsfähigkeit und eine verbessere Wiedergabe der Webseite sorgt. In Ausführungsformen können die Verfahren die Vorverarbeitung von Vorlagen für Elemente von Benutzerschnittstellen und das Einbetten der Elemente der Benutzerschnittstellen in Code-Form für dynamisch erzeugte, auf JavaScript beruhende Benutzerschnittstellen beinhalten.
  • Statt die HTML-Vorlage lediglich in eine Zeichenfolge in der kompilierten Klasse zu kopieren, kann die HTML-Vorlage zum Zeitpunkt der Kompilierung in JavaScript-Code umgewandelt werden, der die DOM-Knoten der Vorlage erstellt. Anders ausgedrückt, die HTML-Vorlage für das universelle Skript-Objekt wird nicht einfach nur kopiert, sondern wird in ausführbaren Code zur Verwendung auf dem DOM-Knoten der Vorlage umgewandelt.
  • Zur Laufzeit kann eine HTML-Seite von einem Web-Server geliefert werden. Diese Seite kann auf eine Bibliothek mit dojo-Skripten verweisen und HTML enthalten, um ein Schaltflächen-Fensterobjekt zu erzeugen. Dojo kann die Seite prüfen und auf der Grundlage eines Attributs vom Typ dojo des Schaltflächen-Kennzeichens ein Fensterobjekt, beispielsweise vom Typ digit.form.Button instanziieren. Diese Schaltflächen-Instanz kann aufgefordert oder angewiesen werden, sich selbst im DOM-Baum der Seite wiederzugeben. Die Wiedergabe-Funktion kann den DOM-Teilbaum für das Fensterobjekt mit Hilfe von Java und JavaScript erstellen. Dabei muss die Zeichenfolge am Client zur Laufzeit möglicherweise nur in geringem Umfang oder gar nicht analysiert werden. Schließlich kann das neue Fensterobjekt auf der Seite des Browsers wiedergegeben werden.
  • Die in Ausführungsformen durchgeführte dojo-Wiedergabe kann in Abhängigkeit vom Leistungsprofil des Netzwerks und den Lastzuständen am Server oder am Client vorgenommen werden. Wenn sie am Client durchgeführt wird, kann der Client die DOM-Baumstruktur sowie andere Informationen für spätere Wiedergaben der Browser-Seite speichern oder sichern. Weitere Informationen können ebenfalls nach Bedarf am Client zur Auswertung durch den Client, zur Analyse durch den Client und zur Wiedergabe durch den Client gespeichert werden. Wie erwähnt wurde, gehören neben dojo die Funktionspalette von UI-Fensterobjekten von Yahoo! sowie die Funktionspalette von Fensterobjekten von Google zu Beispielen für Funktionspaletten von Fensterobjekten.
  • Der Fachmann wird als vorteilhaft erkennen, dass die vorliegende Erfindung als ein System, ein Verfahren oder ein Computerprogrammprodukt realisiert werden kann. Folglich kann die vorliegende Erfindung die Form einer ganz in Hardware realisierten Ausführung, einer ganz in Software realisierten Ausführung (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführung annehmen, die Software- und Hardware-Erscheinungsformen kombiniert, die hier alle allgemein als eine ”Schaltung”, ein ”Modul” oder ein ”System” bezeichnet werden können. Überdies kann die vorliegende Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem beliebigen physisch greifbaren Ausdrucksmedium realisiert werden kann, wobei sich in dem Medium ein von einem Computer nutzbarer Programmcode befindet.
  • Jede beliebige Kombination aus einem oder mehreren von einem Computer nutzbaren oder computerlesbaren Medien kann verwendet werden. Das von einem Computer nutzbare oder computerlesbare Medium kann zum Beispiel, ohne auf diese beschränkt zu sein, ein(e) elektronische(s), magnetische(s), optische(s), elektromagnetische(s), Infrarot- oder Halbleitersystem, -vorrichtung, -einheit oder ein Weiterleitungsmedium sein. Zu konkreteren Beispielen (wobei die Liste keinen Anspruch auf Vollständigkeit erhebt) für das computerlesbare Medium würden Folgende gehören: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine Diskette eines tragbaren Computers, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Nur-Lese-Speicher (CDROM), eine optische Speichereinheit, ein Übertragungsmedium wie zum Beispiel diejenigen Übertragungsmedien, die das Internet oder ein Intranet unterstützen, oder eine magnetische Speichereinheit. Man beachte, dass das von dem Computer nutzbare oder computerlesbare Medium sogar Papier oder ein anderes geeignetes Medium sein könnte, auf dem das Programm gedruckt ist, da das Programm beispielsweise durch optisches Abtasten des Papiers oder eines anderen Mediums elektronisch erfasst, dann kompiliert, ausgewertet oder bei Bedarf in geeigneter Weise auf andere Art verarbeitet und anschließend in einem Computerspeicher abgelegt wird. Im Rahmen dieses Schriftstücks kann ein von einem Computer nutzbares oder ein computerlesbares Medium jedes Medium sein, welches das Programm zur Verwendung durch das Befehlsausführungssystem, die Befehlsausführungsvorrichtung oder -einheit oder zur Verwendung in Verbindung mit dem Befehlsausführungssystem, der Befehlsausführungsvorrichtung oder -einheit enthalten, speichern, übertragen, weiterleiten oder transportieren kann. Das von einem Computer nutzbare Medium kann ein weitergeleitetes Datensignal mit dem damit realisierten, von einem Computer nutzbaren Programmcode entweder im Basisband oder als Teil einer Trägerwelle enthalten. Der von einem Computer nutzbare Programmcode kann mittels eines entsprechenden Mediums einschließlich, ohne darauf beschränkt zu sein, eines drahtlosen Kabels, eines drahtgebunden Kabels, eines Lichtwellenleiters, HF usw. übertragen werden.
  • Computer-Programmcode zur Durchführung von Operationen der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen einschließlich einer objektorientierten Programmiersprache, wie beispielsweise Java, Smalltalk, C++ oder dergleichen, sowie in herkömmlichen prozeduralen Programmiersprachen wie beispielsweise der Programmiersprache ”C” oder in ähnlichen Programmiersprachen geschrieben sein. Die Ausführung des Programmcodes kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem Remote-Computer oder vollständig auf dem Remote-Computer oder Server erfolgen. Im letzteren Szenario kann der Remote-Computer mit dem Computer des Benutzers über jede beliebige Art eines Netzwerks einschließlich eines lokalen Netzwerks (LAN) oder eines Weitverkehrsnetzes (WAN) verbunden werden oder die Verbindung kann über einen externen Computer (zum Beispiel über das Internet mittels eines Internet-Diensteanbieters) vorgenommen werden.
  • Die vorliegende Erfindung wird mit Bezug auf Darstellungen in Flussdiagrammen und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Darstellungen in den Flussdiagrammen und/oder der Blockschaltbilder sowie Kombinationen aus Blöcken in den Darstellungen der Flussdiagramme und/oder den Blockschaltbildern mittels Computerprogrammbefehlen realisiert werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Computers für spezielle Anwendungen oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Befehle, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zur Ausführung der Funktionen/Vorgänge erzeugen, die in dem Flussdiagramm und/oder dem Block oder den Blöcken des Blockschaltbilds angegeben sind.
  • Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung anweisen kann, auf eine bestimmte Art und Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsgegenstand erzeugen, der Befehlsmittel enthält, die die Funktion/den Vorgang ausführen, welche beziehungsweise welcher in dem Flussdiagramm und/oder dem Block oder den Blöcken des Blockschaltbilds angegeben ist.
  • Die Computerprogrammbefehle können auch auf einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung geladen werden, um die Durchführung einer Reihe von Betriebsschritten auf dem Computer oder einer anderen programmierbaren Vorrichtung zu bewirken, um einen von einem Computer ausgeführten Prozess zu erzeugen, so dass die Befehle, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zur Ausführung der Funktionen/Vorgänge ermöglichen, die in dem Flussdiagramm und/oder dem Block oder den Blöcken des Blockschaltbilds angegeben sind.
  • Die Flussdiagramme und die Blockschaltbilder in den Figuren zeigen die Architektur, die Funktionalität und die Betriebsweise von möglichen Ausführungsarten von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder den Blockschaltbildern ein Modul, ein Segment oder einen Teil von Code darstellen, das beziehungsweise der einen oder mehrere ausführbare Befehle zur Ausführung der angegebenen logischen Funktion(en) umfasst. Es sei auch angemerkt, dass die in dem Block angegebenen Funktionen in manchen alternativen Ausführungsarten nicht in der in den Figuren angegebenen Reihenfolge auftreten können. In Abhängigkeit von der mit ihnen verbundenen Funktionalität können beispielsweise zwei Blöcke, die als aufeinanderfolgende Blöcke dargestellt sind, tatsächlich weitgehend gleichzeitig ausgeführt werden oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden. Man wird auch feststellen, dass jeder Block der Blockschaltbilder/und oder der Darstellung in dem Flussdiagramm sowie Kombinationen aus Blöcken in den Blockschaltbildern und/oder der Darstellung in dem Flussdiagramm von Systemen, die auf Hardware für spezielle Anwendungen beruhen und die angegebenen Funktionen oder Vorgänge durchführen, oder von Kombinationen aus Hardware für spezielle Anwendungen und Computerbefehlen ausgeführt werden können.
  • Die hier verwendete Terminologie dient lediglich dazu, bestimmte Ausführungsformen zu beschreiben und ist nicht als Einschränkung der Erfindung zu verstehen. Die Singular-Formen ”ein”, ”eine” und ”der”, ”die”, ”das” sollen in der hier verwendeten Weise auch Plural-Formen einschließen, sofern der Kontext nicht eindeutig etwas anderes angibt. Des Weiteren versteht es sich, dass die Begriffe ”umfasst” und/oder ”umfassen”, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen/weiteren Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen der Vorgenannten jedoch nicht ausschließen.
  • Die entsprechenden Strukturen, das entsprechende Material, die entsprechenden Vorgänge und äquivalente von allen Mitteln oder Schritten sowie Funktionselementen in den nachstehenden Ansprüchen sollen jedwede Struktur, jedwedes Material oder jedweden Vorgang zur Ausführung der Funktion in Kombination mit anderen beanspruchten Elementen, die im Einzelnen beansprucht werden, beinhalten. Die Beschreibung der vorliegenden Erfindung erfolgte zum Zweck der Veranschaulichung und Erläuterung, erhebt jedoch keinen Anspruch auf Vollständigkeit und ist auch nicht als auf die Erfindung in der offengelegten Form beschränkt zu verstehen. Viele Ab- und Veränderungen sind für den Fachmann erkennbar, ohne vom Wesen der Erfindung abzuweichen. Die Ausführungsformen wurden gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erklären und um anderen Fachleuten das Verständnis der Erfindung hinsichtlich Ausführungsformen mit verschiedenen Änderungen, wie sie für die jeweilige vorgesehene Verwendung geeignet sind, zu ermöglichen.

Claims (19)

  1. Verfahren zum Wiedergeben einer Webseite an einem Client, wobei das Verfahren Folgendes umfasst: an einem Server Einbetten eines universellen Skript-Objekts, für eine Benutzerschnittstelle und aus einer fernen Bibliothek, in Programmiercode, der zur Wiedergabe einer Webseite verwendet wird, an einem Server Umwandeln des universellen Skript-Objekts in JavaScript; und nach dem Empfang einer Anforderung für eine Webseite Senden des umgewandelten und eingebetteten universellen Skript-Objekts an einen Anforderer.
  2. Verfahren nach Anspruch 1, wobei das universelle Skript-Objekt eine grafische Benutzeroberfläche ist.
  3. Verfahren nach Anspruch 1, wobei das universelle Skript-Objekt in HTML codiert ist.
  4. Verfahren nach Anspruch 1, wobei es sich bei dem Programmiercode um JavaScript handelt.
  5. Verfahren nach Anspruch 1, das des Weiteren Folgendes umfasst: Entnehmen des universellen Skript-Objekts aus einer Fensterobjekt-Bibliothek, bevor das universelle Skript-Objekt in Programmiercode eingebettet wird.
  6. Verfahren nach Anspruch 5, das des Weiteren Folgendes umfasst: Bereitstellen von Befehlen, um das Fensterobjekt auf der DOM-Seite einer im Cachespeicher abgelegten Webseite wiederzugeben.
  7. Verfahren nach Anspruch 1, wobei das Einbetten am Server und das Umwandeln am Server an verschiedenen Servern durchgeführt wird.
  8. Datenverarbeitungseinheit, die Folgendes umfasst: einen Mikroprozessor; einen mit dem Mikroprozessor verbundenen Speicher, wobei der Speicher Befehle enthält, die, wenn sie ausgeführt werden, den Mikroprozessor veranlassen, ein universelles Skript-Objekt in Programmiercode einzubetten, der zur Wiedergabe einer Webseite verwendet wird, wobei das universelle Skript-Objekt für eine Benutzerschnittstelle vorgesehen ist und aus einer fernen Bibliothek stammt, den universellen Skript-Objekts in JavaScript umzuwandeln; und nach dem Empfang einer Anforderung für eine Webseite das umgewandelte und eingebettete universelle Skript-Objekt an einen Anforderer zu senden.
  9. Datenverarbeitungseinheit nach Anspruch 8, wobei das universelle Skript-Objekt eine grafische Benutzeroberfläche ist.
  10. Datenverarbeitungseinheit nach Anspruch 8, wobei das universelle Skript-Objekt in HTML codiert ist.
  11. Datenverarbeitungseinheit nach Anspruch 8, wobei es sich beidem Programmiercode um JavaScript handelt.
  12. Datenverarbeitungseinheit nach Anspruch 8, wobei die Befehle des Weiteren das Entnehmen des universellen Skript-Objekts aus einer Fensterobjekt-Bibliothek ermöglichen, bevor das universelle Skript-Objekt in Programmiercode eingebettet wird.
  13. Datenverarbeitungseinheit nach Anspruch 12, wobei die Befehle des Weiteren die Wiedergabe des Fensterobjekts auf der DOM-Seite einer im Cachespeicher abgelegten Webseite ermöglichen.
  14. Herstellungsgegenstand, der Folgendes umfasst: ein computerlesbares Speichermedium, wobei das Speichermedium Befehle enthält, die, wenn sie ausgeführt werden, einen Mikroprozessor veranlassen, ein universelles Skript-Objekt in Programmiercode einzubetten, der zur Wiedergabe einer Webseite verwendet wird, wobei das universelle Skript-Objekt für eine Benutzerschnittstelle vorgesehen ist und von einer fernen Bibliothek empfangen wird, das universelle Skript-Objekt in JavaScript umzuwandeln; und nach dem Empfang einer Anforderung für eine Webseite das umgewandelte und eingebettete universelle Skript-Objekts an einen Anforderer zu senden.
  15. Herstellungsgegenstand nach Anspruch 14, wobei das universelle Skript-Objekt eine grafische Benutzeroberfläche ist.
  16. Herstellungsgegenstand nach Anspruch 14, wobei das universelle Skript-Objekt in HTML codiert ist.
  17. Herstellungsgegenstand nach Anspruch 14, wobei es sich bei dem Programmiercode um JavaScript handelt.
  18. Herstellungsgegenstand nach Anspruch 14, wobei die Befehle des Weiteren das Entnehmen des universellen Skript-Objekts aus einer Fensterobjekt-Bibliothek ermöglichen, bevor das universelle Skript-Objekt in Programmiercode eingebettet wird.
  19. Herstellungsgegenstand nach Anspruch 18, wobei die Befehle des Weiteren die Wiedergabe des Fensterobjekts auf der DOM-Seite einer im Cachespeicher abgelegten Webseite ermöglichen.
DE112010004980.7T 2009-12-24 2010-11-23 Verbessern der Leistungsfähigkeit von auf Vorlagen beruhenden Javascript-Fensterobjekten Active DE112010004980B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/647,142 2009-12-24
US12/647,142 US10176270B2 (en) 2009-12-24 2009-12-24 Performance of template based javascript widgets
PCT/EP2010/067968 WO2011076505A2 (en) 2009-12-24 2010-11-23 Improving performance of template based javascript widgets

Publications (2)

Publication Number Publication Date
DE112010004980T5 true DE112010004980T5 (de) 2013-01-03
DE112010004980B4 DE112010004980B4 (de) 2023-03-30

Family

ID=44189010

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010004980.7T Active DE112010004980B4 (de) 2009-12-24 2010-11-23 Verbessern der Leistungsfähigkeit von auf Vorlagen beruhenden Javascript-Fensterobjekten

Country Status (5)

Country Link
US (1) US10176270B2 (de)
CN (1) CN102741811A (de)
DE (1) DE112010004980B4 (de)
GB (1) GB2488693A (de)
WO (1) WO2011076505A2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214810B2 (en) * 2006-08-29 2012-07-03 International Business Machines Corporation Method of compiling source code, compiler, computer system, and computer program product
US9262185B2 (en) * 2010-11-22 2016-02-16 Unisys Corporation Scripted dynamic document generation using dynamic document template scripts
US20130091197A1 (en) 2011-10-11 2013-04-11 Microsoft Corporation Mobile device as a local server
US9600351B2 (en) 2012-12-14 2017-03-21 Microsoft Technology Licensing, Llc Inversion-of-control component service models for virtual environments
CN103942215A (zh) * 2013-01-21 2014-07-23 联想(北京)有限公司 页面显示方法装置
US9773264B2 (en) * 2013-03-26 2017-09-26 Blackberry Limited Method for providing composite user interface controls and an online storefront for same
CN105190530B (zh) * 2013-09-19 2018-07-20 思杰系统有限公司 传输硬件渲染的图形数据
CN104932931B (zh) * 2014-03-17 2019-05-03 腾讯科技(深圳)有限公司 处理信息的方法及装置
CN103984539B (zh) * 2014-04-14 2018-04-27 美的集团股份有限公司 一种家电设备运行方法及系统
CN106202096A (zh) * 2015-05-05 2016-12-07 阿里巴巴集团控股有限公司 客户端页面渲染方法及装置
CN106528072B (zh) * 2015-09-15 2019-06-21 阿里巴巴集团控股有限公司 一种JavaScript代码转译方法及装置
US11677809B2 (en) * 2015-10-15 2023-06-13 Usablenet Inc. Methods for transforming a server side template into a client side template and devices thereof
CN106649228A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 页面表格布局方法及装置
US11282091B2 (en) * 2016-09-30 2022-03-22 Transitiv, Inc. Systems, methods, and devices for dynamic page feed management
CN110020415B (zh) * 2018-01-09 2021-04-09 北大方正集团有限公司 图表处理方法、系统、计算机设备及存储介质
US11368477B2 (en) * 2019-05-13 2022-06-21 Securitymetrics, Inc. Webpage integrity monitoring
US11521225B1 (en) * 2019-08-21 2022-12-06 Centergy Consulting, LLC System and method for vehicle loan lead generation
CN110825374A (zh) * 2019-11-04 2020-02-21 泰康保险集团股份有限公司 基于组件的页面生成方法及装置、电子设备和存储介质
CN112905174B (zh) * 2021-01-27 2022-02-18 长沙市到家悠享网络科技有限公司 信息处理方法、设备、系统及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11514769A (ja) * 1996-08-08 1999-12-14 アグラナット・システムス・インコーポレーテッド 埋め込み形ウェブサーバ
US6023724A (en) 1997-09-26 2000-02-08 3Com Corporation Apparatus and methods for use therein for an ISDN LAN modem that displays fault information to local hosts through interception of host DNS request messages
US6470349B1 (en) * 1999-03-11 2002-10-22 Browz, Inc. Server-side scripting language and programming tool
US6480882B1 (en) * 1999-06-25 2002-11-12 Emc Corporation Method for control and communication between computer systems linked through a network
US6671854B1 (en) 1999-11-05 2003-12-30 International Business Machines Corporation Dynamic web object row count in hyper text markup language
US7013340B1 (en) * 2000-05-18 2006-03-14 Microsoft Corporation Postback input handling by server-side control objects
US6961750B1 (en) * 2000-05-18 2005-11-01 Microsoft Corp. Server-side control objects for processing client-side user interface elements
US7877463B2 (en) * 2001-04-10 2011-01-25 Citrix Systems, Inc. Method and systems for providing access to dynamic content via static pages
US7047318B1 (en) * 2001-04-20 2006-05-16 Softface, Inc. Method and apparatus for creating and deploying web sites with dynamic content
WO2004063900A2 (en) * 2003-01-10 2004-07-29 Nexaweb Technologies, Inc. System and method for network-based computing
US7814410B2 (en) * 2005-09-12 2010-10-12 Workman Nydegger Initial server-side content rendering for client-script web pages
CN101258481B (zh) 2005-09-12 2012-05-30 微软公司 脚本应用程序框架
US20080046872A1 (en) * 2006-05-03 2008-02-21 Cooper Greg J Compiler using interactive design markup language
US20070300150A1 (en) * 2006-06-22 2007-12-27 Lantronix, Inc. Building rich web site applications with an embedded device
US20100306642A1 (en) 2007-11-23 2010-12-02 Koninklijke Philips Electronics N.V. Co-browsing (java) scripted html documents
CN101488143A (zh) 2008-01-16 2009-07-22 重庆安软信息科技有限公司 一种新型的web应用和本地应用的交互模式
US7499971B1 (en) 2008-03-24 2009-03-03 International Business Machines Corporation Alternate java server page (JSP) processing for better response time
US20100185930A1 (en) * 2009-01-22 2010-07-22 Automated Resources Group, Llc Method and apparatus for incorporating application functionality into a web page

Also Published As

Publication number Publication date
DE112010004980B4 (de) 2023-03-30
GB2488693A (en) 2012-09-05
US20110161840A1 (en) 2011-06-30
CN102741811A (zh) 2012-10-17
US10176270B2 (en) 2019-01-08
WO2011076505A3 (en) 2012-07-19
GB201208758D0 (en) 2012-07-04
WO2011076505A2 (en) 2011-06-30

Similar Documents

Publication Publication Date Title
DE112010004980T5 (de) Verbessern der Leistungsfähigkeit von auf Vorlagen beruhenden Javascript-Fensterobjekten
US7814410B2 (en) Initial server-side content rendering for client-script web pages
DE60011479T2 (de) Xml-roboter
EP1771795A1 (de) Verfahren, programm und system zur dynamischen, template-basierten generierung von internetseiten
DE102020112347A1 (de) Verfahren und einrichtungen zum automatischen erzeugen von code für grafische benutzeroberflächen
DE112013007000B4 (de) Überwachungssteuerungsvorrichtung
US10049095B2 (en) In-context editing of output presentations via automatic pattern detection
EP3032408B1 (de) Verfahren zur erzeugung von lauffähigen applikationen mit dynamischen skalierbaren vektorgrafiken
DE112016002003T5 (de) Infrastruktur zum hosten und veröffentlichen von softwarepaketen
US20110167332A1 (en) System and Method for Generating Web Pages
DE102016001467A1 (de) Verfahren zum intelligenten Laden von Webreferenzen im Voraus basierend auf einer Vorhersage des Benutzerverhaltens
DE112010002916T5 (de) Verfahren und System zum automatischen Testen einer Web-Anwendung
CH699770A1 (de) Erfassung des visuellen Inhalts von Browserfenstern.
EP1369790A2 (de) Verfahren zur dynamischen Generierung strukturierter Dokumente
EP3543844B1 (de) Verfahren zum durchführen von änderungen an einer software-anwendung
CN111078217A (zh) 脑图生成方法、装置和计算机可读存储介质
DE102021116315A1 (de) Verfahren zum Zusammenführen von Architekturinformationen
DE112009001892T5 (de) Datensatz basierte Codestruktur
EP2787437A1 (de) Verfahren zur Überprüfung und/oder Transformation eines Computerprogramms mit statischen Funktionen erster Klasse
KR101730070B1 (ko) SaaS 환경에서의 웹페이지 서비스 방법, 이를 위한 컴퓨터 프로그램, 그 기록매체
DE102019008598A1 (de) Identifikation und Visualisierung von Assoziationen zwischen Code, der von einem Modell generiert ist, und Quellen, welche die Codegeneration beeinflussen
DE202011108527U1 (de) Computer für das Übersetzen von Eingabe-Ereignissen
DE112015004642T5 (de) Erzeugen von Webbrowseransichten für Anwendungen
Souza et al. Guideautomator: Continuous delivery of end user documentation
DE112020003614T5 (de) Validierungs- und empfehlungsmaschine

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0009440000

Ipc: G06F0015160000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final