XAware accelerates development by simplifying access to multiple data sources, both internal and external. It provides real-time, bi-directional data integration with a service-oriented flavor. XAware makes other tools and frameworks more productive by hiding data access complexity behind "XML views". XML views span any number of data sources, and can read data, write data, or transfer data between sets of sources, all within a distributed transaction.

"XAware has been amazing for effectively, efficiently and quickly mapping data into reusable SOA XML components for orchestration of one our most critical SOA services."~ John Woolbright, SVP and CTO of Synovus

Development News

A new service editor for reading and writing binary, text, and XML using the File BizComponent has been implemented. New line-terminated records are now better supported in the File Service editor.

The optional extension is now delivered as an instruction (xa:optional) and supported in the BizDocument wizard screens. While every effort was made to implement the same behavior, some differences may exist. XAware recommends reviewing the examples and help and migrating any implemented optional extensions to the new instruction.

The Salesforce wizard has been overhauled with this release; including support for joins and more. This BizComponent will no longer return unsubstituted values for valid fields if no data is returned for those fields from Salesforce. We also abandoned the use of the frag sets in Salesforce where clauses. This change is supported by the wizard, so if you have existing Salesforce BizComponents that use the frag set, edit those BizComponents through the wizard to clear them.

Improvements to SQL processing include detection for insert and update operations (xa:oper="insert", xa:oper="update", xa:oper="insert_update") to determine which inbound elements are present and only including insert or update statement fragments for those columns corresponding to elements being passed in. In addition, a new pass through mode ensures that SQL can be passed directly to the database without intervention by the XAware engine (except for the expected substitutions). Prepared statements are not used in this new mode and it must be set manually.

Changes to the HTTP Connector include all header variables saved as session variables available in the BizDocument using the normal variable syntax. Previously, only select header variables were available. Now, $xavar:host$ provides the value of the HTTP header variable "host". The variables are read-only. To aid diagnostics, all session variables can be dumped out using a new XA-Script command, xa:show_session_variables. For example: <vars xa:show_session_variables=""/> in a BizDocument will dump all session variables as individual elements for viewing, and <vars show_session_variables="http.*"/> will dump variables with names beginning with 'http'. The optional attribute is treated as a regular expression used to match variable names.

Improvements have been implemented for the prediction displayed in the Outline View for all BizComponent types.

A new looping construct has been added to support looping (xa:loop).

To insert empty or null values into a database, you can use xa:empty or xa:null as the xa:default value.

To insert database functions, you can use the function in the column map with the xa:default="literal" attribute applied to that element.

A new composite instruction xa:if/xa:elseif/xa:else has been implemented and is available in the Palette as a snippet.

To allow access to the root BizDocument session element, or to the root of the original input XML, a new axis is implemented: xa-root.

Support for non transactional databases has been implemented through a new BizDriver parameter, xa:transactional="no".

Users are now presented with a list of examples to be loaded upon startup.

Defects and Workarounds:

Selecting Cancel on a SQL wizard causes the application to crash (1874924).

This issue is on Linux only, and it was verified in SUSE Enterprise Desktop 10; however, the stack trace indicates the problem is in the gtk code, which is part of the gnome desktop. This problem is not with XAware, and using SUSE 10 with gde 2.12.2 or Fedora 9 with gde 2.22.3 works just fine.

Selecting Finish causes crash (2490537). This issue is with Linux only, and the stack trace indicates the problem is in the gtk code, which is part of the gnome desktop. This problem is not with XAware, and using SUSE 10 with gde 2.12.2 or Fedora 9 with gde 2.22.3 works just fine. An upgrade to SUSE 11.1, which has gde 2.24 also eliminates the problem.

Installing the Salesforce plug-in over an existing open source workspace in Windows does not allow the install to remove existing plug-in jar files. As a workaround, you can close Designer and remove the old dynamic/jars from the directory and restart. Because Salesforce has changed significantly with this release, it's recommended to start with a fresh workspace and a new install.

5.4 Basic Training
Learn XAware basic concepts and see XAware in action as we build a service composing data from a database and a file
Presented: October 7, 2009
Presenter: Kirstan Vandersluis
[ Watch the webinar ]

Technical Webinar - Mapping and Transforming XML
This 30 minute demonstration will show how to map XML from one format to another format, using XAware. We will briefly show how you can
invoke an XSL transformation to perform the mapping using XSL. We will
spend the majority of the webinar demonstrating the XML Mapper
BizComponent, which allows you to transform XML to XML without having
to use XSL. We will show how to map element values and entire XML
structures, how to map nested repeating elements in-line or by calling
another reusable BizComp, and we will introduce the xa-results:: XAware
axis.
Presented: April 29, 2009
Presenter: Paul Richards
[ Watch the Webinar ]