Was vor Ausführung von XTEND zu beachten ist 

Einführung

Was ist XTEND?

XTEND ist eine Entwicklungsumgebung für Webanwendungen, die in die technologische Plattform SAFE X3 integriert sind. XTEND ist eng mit den SAFE-X3-Lösungen verbunden (Sage X3, Sage Warehousing, SAGE HR).

Die XTEND-Entwicklungsumgebung wurde optimiert für:

  • Entwicklung von Webanwendungen mit einem Minimum von Kenntnissen über Internettechnologien
  • Abwicklung sämtlicher Anwendungsprozesse (Verwaltung, Verarbeitungen, Datenzugriffe etc.) mit X3-Funktionen

Realisierung neuer Webschnittstellen, die die standardisierten Schnittstellen der SAFE-X3-Lösungen ersetzen

Darüber hinaus ist die Entwicklung von beliebigen Cross-Browser-Anwendungen möglich, wie z. B.:

  • institutionellen Websites
  • E-Commerce-Websites (B to B und B to C)
  • Intranetseiten für die Erfassung oder Anzeige von ERP-Daten

Das Konzept

Das von XTEND verwendete Konzept für dynamische HTML-Seiten besteht im Einfügen von Token in den HTML-Sourcecode. Mit diesen Token können die Eigenschaften der HTML-Tags (a, input, span, td, div etc.) dynamisch geändert werden.

Alle Elemente, die beim Aufbau einer Website eine Rolle spielen (Token, Seiten, Iterationsblöcke, Datenzugriffe, Benutzeraktionen etc.) werden in Form von X3-Objekten modelliert und mithilfe einer Reihe von X3-Funktionen parametrierbar. Diese Elemente bilden eine Referenz, die Dictionary oder Repository genannt wird und auf die sich die XTEND-Engine bei der Entwicklung von dynamischen HTML-Seiten stützt.

XTEND-Webseiten sind einem X3-Ordner zugeordnet. XTEND-Webseiten setzen sich aus folgenden Elementen zusammen:

  • Dictionary bzw. Referenz
  • HTML-Seiten und Grafik-Ressourcen
  • Webservices für den Datenzugriff und die Verarbeitung der Benutzeraktionen

SEEINFOObwohl XTEND-Websites auf Ebene eines X3-Ordners definiert sind, können sie per Aufruf von Webservices auch auf die Daten und Verarbeitungen anderer Lösungen und X3-Ordner zugreifen.

 Voraussetzungen

Für die Entwicklung von Standardwebsites mit XTEND sind folgende Kompetenzen notwendig:

  • X3-Entwicklung (notwendig)
  • XTEND-Parametrierung (notwendig)
  • X3-Webservices
    • Architektur und Veröffentlichung (notwendig)
    • Keine Programmierkenntnisse
  • HTML-Design
    • HTML (Standard)
    • Webentwicklungstool wie Dreamweaver (Grundkenntnisse)
    • CSS-Kenntnisse sind von Vorteil
  • JavaScript (Grundkenntnisse)
    • Verwendung für die Eingabeprüfungen

Funktionale Architektur

Design von HTML-Seiten

XTEND ist unabhängig vom für die Entwicklung der HTML-Seiten verwendeten Webentwicklungstool, dessen Auswahl dem Entwickler überlassen wird.

In der Regel wird das Design der Website einer entsprechenden Agentur überlassen. Diese liefert ein HTML-Projekt, das sich aus einer Reihe von Seiten (Statistiken) und grafischen Komponenten zusammensetzt.

Dynamische Gestaltung der HTML-Seiten

Der Erfolg einer Website ist eng mit der Möglichkeit verknüpft, dort individuelle Daten veröffentlichen zu können, die in Echtzeit aktualisiert werden.

In den klassischen Webentwicklungsumgebungen (PHP, ASP.NET, JSP etc.) werden der Zugriff auf und die Anzeige von dynamischen Daten sowie die Verarbeitung der Benutzeraktionen auf dem Webserver programmiert, was gute Kenntnisse in den entsprechenden Technologien voraussetzt.

XTEND bietet die Möglichkeit, Tokenzu parametrieren und einzufügen und so auch weniger spezialisierten Entwicklern eine intuitiv begreifbare Plattform zur Verfügung zu stellen.

Beispiel

<table>
<tr><td>Ref</td><td>Price</td><td>Stock</td></tr>
<!adx='blocIteration'>
   
<tr>
         
<td><aadx="gotoDetail"><spanadx'REFNUM'></span></a></td>
         
<tdadx="PRICE"></td>
         
<tdadx="STOCK"></td>
   
</tr>
<!adx='blocIteration'>
</table>

Ref 

Price

Stock

 PUZ001

13.78

10

 PUZ002

2.30

5

PUZ003

6.52

0

Verarbeitungen und Datenzugriff

DerDatenzugriff und alle von Benutzeraktionen angestoßenen Verarbeitungen werden in X3 per Webservice-Aufruf abgewickelt.

Auf dem Webserver wird keine funktionale Bearbeitung ausgeführt, wodurch der X3-Entwickler die implementierten Programme vollständig selbst steuert.

Sicherheit

Die Benutzerauthentifizierung (Anmeldung) wird in X3 per Aufruf eines entsprechenden Unterprogramms ausgeführt.

Der Zugriff auf die Ressourcen (Seiten oder Webservices) sowie die Datenverschlüsselung (Formulare, Anzeige von vertraulichen Daten) wird mit X3-Parametern ausgeführt.

Verwaltung

Mit XTEND entwickelte Websites sind vollständig in eine SAFE-X3-Lösung integriert, was bedeutet, dass die Komponenten der Website (HTML-Design, Verarbeitungen, Daten) zu dem X3-Ordner gehören, dem sie zugeordnet sind.

Für die Verwaltung bietet XTEND dem Webmaster eine Reihe von X3-Funktionen , darunter insbesondere eine Funktion zum Kopieren einer Website aus einem Entwicklungsordner in einen Produktionsordner.

Technische Architektur

XTEND stützt sich auf eine mehrschichtige Architektur, die sich aus folgenden Elementen zusammensetzt:

  • HTTP-Server als Front-End des X3WEB-Servers
  • XTEND-Server des X3WEB-Servers (Veröffentlichungs-Engine für die HTML-Seiten, auch XTEND-Engine genannt)
  • X3-Anwendungsserver
  • Ein (oder mehrere) Webservice-Server

Der XTEND-Server wird auf dem X3WEB-Server in Form einer neuen Webanwendung eingerichtet.

Wie die anderen Webanwendungen (Webservices, VT etc.) wird der XTEND-Server über die X3-Verwaltungskonsole konfiguriert.

Die Veröffentlichung einer XTEND-Website auf einem Server erfolgt automatisch. Sie wird mithilfe einer X3-Funktion durchgeführt. Der X3WEB-Server muss nicht neu gestartet werden.

HTTP-Front-End-Server

Dabei handelt es sich um den mit dem X3WEB-Server installierten Apache-HTTP-Server. Er ist so konfiguriert, dass die XTEND-Abfragen an die XTEND-Engine umgeleitet werden.

XTEND-Server

Auf der XTEND-Engine werden die Benutzersitzungen verwaltet, die HTTP-Abfragen verarbeitet und die HTML-Seiten ausgeliefert:

  • Verwaltung der Zugriffsrechte
  • Aufruf der Webservices für die Verarbeitung der Benutzeraktionen
  • Aufruf der Webservices für den Datenzugriff
  • Parsing der HTML-Seite und Interpretation der Token
  • dynamischer Aufbau der Ergebnisseite
  • X3-Anwendungsserver

    Der X3-Server wird von der XTEND-Engine gleichzeitig als Ressourcenserver und als Verarbeitungsserver interpretiert.

    Ressourcenserver

    XTEND greift über den HTTP-Server des Haupt-X3-Servers (welcher vom HTTP-Front-End-Server verschieden ist) auf die Ressourcendateien zu. Diese Dateien werden nach X3-Ordnern im Lösungsverzeichnis X3_PUB gespeichert.

    Liste der von XTEND verwendeten Dateien:

    • Website-Dictionary
      • X3_PUB/NOMDOSSIER/X_TEND/X_GEN/NOMDOSSIER
      • Das Dictionary setzt sich aus XML-Dateien zusammen, die bei der Freigabe der X3-Parameter generiert werden
    • HTML-Design-Elemente
      • X3_PUB/NOMDOSSIER/X_TEND/X_HTML/NOMDOSSIER/LANG
      • Dieses Verzeichnis enthält in der Regel die Kopie (FTP) des HTML-Projekts
    • Lokale Menüs X3
      • X3_PUB/NOMDOSSIER/GEN/LANG/MENL
    • Diese Dateien umfassen Benutzerdaten. Wo sie gespeichert werden, ist parametrierbar
      • /X3_PUB/NOMDOSSIER/X_TEND/X_FILAPP
      • /X3_PUB/NOMDOSSIER/X_TEND/X_FILES

    Verarbeitungsserver

    Alle vom XTEND-Server verwendeten funktionalen Verarbeitungen sind objektorientierte 3GL- bzw. 4GL-Unterprogramme, die als Webservices veröffentlicht sind.

    Der Aufruf der X3-Verarbeitung wird mithilfe von einem oder mehreren Webservice-Servern ausgeführt, die in den Parametern definiert sind.

    SEEINFO Zwischen der XTEND-Engine und den X3-Verarbeitungsservern gibt es keine direkte Verbindung. Sämtliche Serviceaufrufe (Datenzugriffe und Verarbeitung der Benutzeraktionen) werden über Webservice-Server abgewickelt. XTEND greift niemals auf die X3-Datenbank zu.

    Webservices

    Wie zuvor bereits erläutert wurde, kommuniziert die XTEND-Engine mit der X3-Welt lediglich per Aufruf von Webservices. Ohne Webserviceszu verwenden, kann keine XTEND-Website funktionieren.

    Der Vorteil von XTEND liegt darin, dass durch die Verwendung der Klassen stubs und proxy (JAVA, ASP.NET, PHP) und die Anlage / Verarbeitung von XML-Parametern bzw- -daten die Komplexität beim Aufruf von Webservices vollständig im Hintergrund bleibt.

    Sämtliche Vorgänge bei der Veröffentlichung, beim Aufruf und bei der Verarbeitung des XML-Ergebnisses und der Anwendungsmeldungen werden über X3-Parameter abgewickelt.

    Funktionalitäten der XTEND-Parametrierungsfunktionen:

    • Deklaration der von den Websites verwendeten 'Webservice-Pools'
    • Adresse / Port eines Webservice und Alias des 'Verbindungspools'
    • Definition eines 'Standard-Webservice-Pools' pro Website
    • ggf. Definition eines 'Webservice-Pools' pro Benutzeraktion

    Allgemeines

    Start

    Zunächst muss der Benutzer sich versichern, dass der XTEND-Server korrekt funktioniert.

    Danach kann der Benutzer lernen, wie er seine XTEND-Website per Duplizierung der mitgelieferten Beispiel-Website schnell erstellen kann.

    Hier die Startseite.

    Trouble Shooting

    Sollte der XTEND-Server nicht korrekt laufen, hier einige Ideen für das Trouble Shooting.

    Beispiel-Website ASAMPLE

    Website

    Die Website ASAMPLE läuft unter allen SAFE-X3-Anwendungen, unabhängig von den Sonderfunktionen derselben. Diese Website stützt sich ausschließlich auf Supervisordaten.

    Es handelt sich um ein einfaches Beispiel, mit dem getestet werden kann, ob der XTEND-Server in einer bestimmten Client-Umgebung korrekt läuft. Weiterhin sind einige einfache Verwendungsmöglichkeiten integriert.

    Auf dieser Seite werden die verschiedenen mitgelieferten Elemente dieser Website beschrieben.

    Content-Verwaltung

    Wie kann in einer XTEND-Funktion parametrierter HTML-Content gefunden werden? Hier die Seite, auf der die Content-Verwaltungerläutert wird.

    Anmeldung

    Wie wird die Anmeldung an XTEND für die Website ASAMPLEverwaltet? Hier die Erläuterung.

    Formular

    Wie kann die Datenerfassung in einem Kontaktformular umgesetzt werden? Hier die Erläuterungsseite.

    Länderliste

    Anhand der Seite 'Länderliste' der Website ASAMPLE lässt sich das von XTEND angewandte Konzept des Datenzugriffs illustrieren.

    Wie kann das Ergebnis einer Tabelle auf einfache Art in X3 übernommen werden? Hier die Erläuterungsseite.

    Konzepte

    Funktionsweise

    Wie funktioniert der XTEND-Server?

    Wie werden die in X3 erfassten Parameter übernommen?

    Wie interpretiert der XTEND-Server die HTML-Seiten?

    Hier die Beschreibung der Funktionsweise von XTEND.

    Token

    Wie können die Back-End-Elemente in die HTML-Seiten eingefügt werden? X3-Kommandos und sämtliche funktionale Elemente einer Safe-X3-Anwendung. 

    Wie funktionieren die Token, wie die in diese Seiten eingefügten HTML-Elemente?

    Aktionen

    Wie wird eine Benutzeraktion auf einer bestimmten Seite einer Website parametriert? Z. B. ein Klick auf ein Feld in einer HTML-Seite. Siehe Erläuterung.

    Datenzugriff

    Wie können die Daten einer SAFE-X3-Anwendung in eine Webseite übernommen werden?

    Hier die Erläuterung.

    Tools

    X3-Tools

    Hier einige X3-Funktionen für das Website-Customizing.

    Hilfe für Entwickler

    Wie werden die Tools und Berichte verwendet, die auf der Website als Hilfe für den Entwickler generiert werden?

    Rückmeldung Aktivität

    Wie werden die Protokolldateien verwendet, die direkt auf dem XTEND-Server generiert werden?

    Erweitert

    Standardbibliothek

    Hier die Beschreibung der gelieferten JavaScript-XTEND-Bibliothek .

    REST-Webservices

    Wie wird ein REST-Webservice nur in einer XTEND-Website aufgerufen?

    AJAX-Bibliothek

    Wie setzt sich die AJAX-XTEND-Bibliothek zusammen?

    Scripting-Server

    Wie funktioniert JavaScript auf der Serverseite ?

    Konfiguration

    Hier einige Konfigurationsmöglichkeiten neben den X3-Parametern.