Compatibility with Concerto 3

Any applications developed for Concerto Universal 3.5 and above should run unmodified on Active Web.

This assumes that good practice has been employed in the reference of resources on generated pages.  For example hard coding an image link resource to /concerto/myapp/images/stock.jpg would not work if the application were moved from the /concerto context to the default root context.

What is the xsp extension?

The extension XSP referring to the eXtension for Script Pages. In a default Active Web application there is an xadmin directory that contains the administration console for the Active Web servlet embedded within the application. It is accessed using the *.xsp servlet mapping.

You should endeavour to use the extension for any script pages you run in Active Web.  If you are migrating an application it is often worth taking time to re-factor the application to use the new extension instead of the existing /concertox/* path mapping.

International Tokens

Previous versions of Concerto performed a case insensitive search mechanism for loading InternationalTokens Objects by accessing the file system of the application server directly.

This mechanism cannot be used in the servlet version of Active Web due to the resource access interfaces available to a web application.  The Active Web servlet uses a case sensitive comparison of the language and country codes. As a result the country code needs to be in upper case.  For example in Concerto 3 a tokens file named stock_fr_ca.properties would not be found using the Active Web servlet as the correct name should be stock_fr_CA.properties.

Active Web has now been brought into line with other Java Application Servers that make use of localized properties objects.

Parsing URLS with the XML Parser

When parsing XML via a URL, if the XML URL is not found from the application server and the server returns the HTTP not found status code 404 then the Concerto XML parser will cause the parse to fail with an error message in the error field of the parser object.  With the Active Web servlet the parse succeeds but no object model is produced.

Secondary Paths

Active Web now honours the presence of obfuscated source files when processing a page request for secondary paths.  For example in the Concerto application server a request to the page /a/b/c/d.html would fail should none of /a/b/c/d.html or the directories /a /a/b /a/b/c with all permissible file types not be present.

If the path /a/b.obf exists then the page will now be successfully loaded.

Library Object

The Active Web servlet still supports library objects although they should be considered deprecated by Fragments and may be removed from a latter version of Active Web.  In previous versions of Concerto the path field of a Library object referred to the physical file system location of the Library object.  Due to the resource accessing mechanisms used in the Active Web servlet the path field of a Library object now refers to a URI path within the web application.

For example in a Concerto 3 application executing with a document root of c:\concerto3\appServer\scriptRoot, then the path field may contain c:\concerto3\appServer\scriptRoot\stock\library.js whereas in Active Web the path field would contain /stock/library.js.

Include Files

The Active Web servlet does not support the older style include file attribute that was available with Concerto 3. Should you be migrating from an older style application then they should be used as an HTML Fragment instead.

Duplicate Function Definitions

When a source page is loaded (be it a Fragment, Library, xsp file or other markup containing script) it is now checked for duplicate function definitions. If duplicate definitions are found then the page will fail to load.

Comment on this topic

Topic ID: 150013