[AIX Solaris HP-UX Linux Windows][z/OS]

Widget-Implementierung in JavaScript mit Atom-Bindungen verwenden (veraltet)

Der JavaScript Code in einer HTML-Datei kann Service Component Architecture (SCA)-Referenzen verwenden, die in einer Tuscany Widget-Implementierung definiert sind. Verwenden Sie die Widget-Implementierung für die Bearbeitung von Daten in Atom-Sammlungen, die ein SCA-Service in JavaScript zurückgibt.

Vorbereitungen

Sie können eine Atom-Bindung in einer SCA-Anwendung verwenden, um Datensammlungen als Atom-Feed bereitzustellen oder um auf vorhandene externe Atom-Feeds zu verweisen. Wenn Sie mit dem Protokoll "Atom" nicht vertraut sind, sehen Sie sich die Dokumentation zu Atom Syndication Format, einem XML-basierten Dokumentformat an, das Web-Feeds und Atom Publishing Protocol, ein Protokoll für die Veröffentlichung und Aktualisierung von Webressourcen, beschreibt.

Informationen zu dieser Task

Eine SCA-Komponente kann SCA-Referenzen für die Verwendung in JavaScript-Code definieren. Verwenden Sie die Tuscany-Widget-Implementierung, um die Referenzen zu definieren. Die Implementierung unterstützt Referenzen, die eine Atom-Bindung verwenden, aber nicht die Definition von SCA-Services.

Der SCA-Verbund, der die Widget-Implementierung verwendet, muss in einer WAR-Datei (Webanwendungsarchiv) implementiert sein.

Vorgehensweise

  1. Konfigurieren Sie eine Widget-Implementierung in einer SCA-Verbunddefinition.

    Erstellen Sie eine SCA-Verbunddefinitionsdatei für eine Komponente, die die Tuscany-Implementierung implementation.widget verwendet. Beispiel:

    <composite>
      <component name="Store">
        <tuscany:implementation.widget location="ui/store.html"/>
           <reference name="shoppingCart">
            <tuscany:binding.atom uri="/ShoppingCart/Cart"/>
           </reference>
      </component>
    </composite>

    In diesem Beispiel wird eine Komponente "Store" definiert, die die Tuscany-Implementierung implementation.widget in einer HTML-Datei an der Position ui/store.html verwendet.

  2. Aktivieren Sie die SCA-Referenz in einer HTML-Datei.

    Definieren Sie in der HTML-Datei ui/store.html zwei erforderliche Scriptelemente, die SCA-Referenzen aktivieren. Geben Sie für das erste Element Folgendes an:

    <script type="text/javascript>>
         dojo.registerModulePath("tuscany", "/Store/tuscany");
         dojo.require("tuscany.AtomService");
    </script>

    Diese Definition ist erforderlich, wenn Atom-Bindungsreferenzen verwendet werden. Die Methode dojo.registerModulePath teilt dem Objekt dojo mit, wo die Anforderungen im Tuscany-Namespace zu finden sind. Das erste Argument ist immer "tuscany". Das zweite Argument wird im Format angegeben/SCA_component_name/tuscany . Die Anweisung dojo.require für "tuscany.AtomService" bewirkt, dass der Browser die JavaScript-Datei aus der Datei /Store/tuscany/AtomService.js lädt. Das Produkt generiert diese Datei dynamisch, um die Atom-Bindungsreferenzen mit Atom-Services zu verbinden.

    Geben Sie für das zweite Element Folgendes an:

    <script type="text/javascript" src="/Store/store.js"></script>

    Diese Definition ist in jeder HTML-Datei erforderlich, die als Implementierung für eine Widget-Implementierungskomponente verwendet wird. Für das Skriptsrc Attribut, geben Sie den Uniform Resource Identifier (URI) im Format /SCA_component_name/modified_implementation.widget_location_attribute ; Zum Beispiel,/Store/store.js . Das geänderte Positionsattribut ist das Positionsattribut für die Widget-Implementierung ohne einen führenden Pfad und mit der Dateierweiterung .js.

  3. Definieren Sie die SCA-Referenz in JavaScript in der HTML-Datei.

    Eine HTML-Datei, die die vorherige Beispielreferenz enthält, können wie folgt aussehen:

    //@Reference
    var catalog = new tuscany.sca.Reference("shoppingCart");

    Der Kommentar //@Reference ist erforderlich. Die SCA-Laufzeitumgebung interpretiert den Kommentar auf dieselbe Weise wie eine Java-Klasse ein Tag @Reference.

  4. Verwenden Sie JavaScript, um die Feed-Referenz zu bearbeiten.

    Wenn beispielsweise ein vollständiger Feed abgerufen werden soll, könnte die HTML-Datei den folgenden Beispielcode verwenden:

    var items = shoppingCart.get("");

    Wenn ein einzelner Eintrag abgerufen werden soll, könnte die Implementierung Folgendes aufrufen:

    var item = shoppingCart.get("Item1");

    Zum Hinzufügen eines neuen Eintrags zum Feed, könnte die HTML-Datei den folgenden Beispielcode verwenden:

    var entry = 
      '<entry xmlns="https://www.w3.org/2005/Atom"><title>item</title><content type="text/xml">'
       + '<Item xmlns="http://services/">' + <name xmlns="">' + itemName + '</name>'
       + '<price xmlns="">' + itemPrice + '</price>' + '</Item>' + '</content></entry>';
    
    shoppingCart.post(entry); 

Nächste Schritte

Implementieren Sie Ihre SCA-Komponente in einer Anwendung.

Weitere Beispiele finden Sie im Artikel zur Verwendung der Widget-Implementierung in JavaScript mit Atom- oder HTTP-Bindungen.