XTEND is a workshop dedicated to the development of Web applications and is integrated in the technical platform SAFE X3. XTEND works in tight combination with the SAFE X3 solutions (applications Sage X3, Sage Warehousing, Sage HRM).
It was designed to make it possible for the X3 developers to:
It makes it possible to create new Web interfaces replacing the standardized interfaces of the SAFE X3 solutions.
It makes it possible to conceive any cross-browser Web application:
XTEND is based on the insertion of tokens in the HTML source code in order to 'dynamize' the HTML pages and thus be able to modify dynamically the properties of HTML tags (a, input,span, td, div...).
All the elements involved in the conception of a Web site (tokens, pages, iteration sections, data access, user actions...) are modeled in the form of X3 objects that can be set u^p thanks to a set of X3 functions. These elements form a reference base called dictionary or repository on which the XTEND engine bases on to "dynamize" the HTML pages.
An XTEND site is attached to an X3 folder. It includes following elements:
Although it is defined at the level of an X3 folder, an XTEND site can access to data and processings of other solutions/folders thanks to the Web service call.
In order to develop standard Web sites with XTEND, it is necessary to have following skills:
XTEND does not depend on the the software used to create HTML pages. The choice of the software is left to the developer.
In most cases, the site design is managed by a specialized agency delivering an HTML project formed of a set of (static) pages and graphic components complying with the graphic charter .
A Web site has more chances to reach its goal if the information published is customized and updated in real time.
In traditional Web development environments (PHP, ASP.NET, JSP...), the access and display of "dynamic" data and of user action processings involves programming on the Web server and thus presupposes a good command of these technologies.
XTEND proposes a Web development mode by setup and token insertion, which is easy to use and can even be managed by non specialist developers.
For instance
<table>Ref | Price | Stock |
PUZ001 | 13.78 | 10 |
PUZ002 | 2.30 | 5 |
PUZ003 | 6.52 | 0 |
The access to data and the processings triggered by the user actions are managed in X3 via web service call.
No functional processing is carried out on the Web server, which makes it possible for the X3 developer to fully monitor the programs involved.
The user identification (login) occurs in X3 by calling a specific sub-program.
The X3 setups manage access to resources (pages or Web services) and data encryption (forms, confidential data inquiry).
The Web sites developed with XTEND are fully integrated in a SAFE X3 solution, which means that the site components (HTML design, processings, data) are part of the X3 folder to which they are attached.
XTEND makes available a set of X3 functions for the webmaster, namely a function to copy a Web site from a development to a production folder.
XTEND bases on a multi-BP structure formed of:
The XTEND server is hosted in the X3WEB server in the form of a new Web application.
The XTEND server configuration is carried out via the X3 administration console, just like other Web applications (Web services, VT...)
The publication of an XTEND site on a server occurs automatically. It is carried out via an X3 function and does not require the X3WEB server to re-launch.
This is the Apache HTTP server installed along with the X3WEB server. It is configured so as to redirect the XTEND queries to the XTEND engine.
The XTEND server manages the user sessions, carries out the HTTP query processing and provides the HTML pages:
The X3 server is considered by the XTEND engine as a resource server but also as a processing server.
Resource server
XTEND gets access to the file resources through the HTTP server of the main X3 server (differing from the front-end HTTP server). These files are stored by X3 folder in the X3_PUB directory of the solution.
List of the files used by XTEND:
Process servers
All the functional processings used by the XTEND server are 4GL sub-programs or X3 objects that were published in the form of Web services.
The call to the X3 processing is carried out via one or several Web service server(s) defined by setup.
As explained above, the XTEND engine communicates with X3 only via web service calls. No XTEND site can work without using Web services.
XTEND brings a major benefit : it hides fully the complex functioning method of a Web service call like the use of stub or proxy classes (in JAVA, ASP.NET or PHP) and the creation/processing of XML setups/data.
All publication, call and processing operations of the XML result and the application messages are carried out by X3 setup.
The XTEND setup functions make it possible to:
Before getting into detail, it is necessary to verify first whether the XTEND server works normally.
Only then come the instructions to create easily and quick an XTEND site by duplication of the delivered example.
Here is the Start page.
If the XTEND server does not work normally, here are some hints to fix it.
The ASAMPLE site works on all SAFE X3 applications without depending on the functions specific to the different applications. This site bases only on Supervisor data.
This site is an example used to test easily whether the XTEND server works well in a client environment and provide a few basic use information.
This page describes the elements supplied for this site.
How to search html content set up in an XTEND function? Here is the page explaining how to manage the content.
How is managed the login in XTEND for the ASAMPLE site? Here comes the explanation.
How to manage the entry in a contact form? Here comes the explanation.
The page "Country list" of the ASAMPLE site illustrates the data access concept proposed by XTEND.
How to recover easily the result of a table in X3? Here comes the explanation.
How does the XTEND server work?
How are the setups entered in X3 recovered?
How does the XTEND server interpret the html pages?
Here is the description of the functioning of XTEND.
How to insert the back office elements in the html pages? X3 controls or any functional element of a SAFE X3 application.
How do the tokens work, that is the html elements inserted in pages?
How is a user action set up on a site page? For instance by clicking on a field in an html page. Here comes the explanation.
How to recover the data of a SAFE X3 application in a Web page?
Here are a few X3 functions used to customize the Web site.
How to use thetools and reports generated in the Web page to help development.
How to use the log files that are generated directly on the XTEND server?
Here is the description of the supplied XTEND JavaScript library.
How to call aREST Web service only in an XTEND site?
How is the XTEND AJAX library built?
How to have JavaScript at server level?
Here are a few configuration information aside from the X3 setups.