WindRide - externalized rules introduction
Channel: Ondrej Žižka
Date: 23/07/2013

Brief intro to the XML files defining migrators for the JBoss AS / EAP / WildFly migration tool.

Commentary text: https://github.com/OndraZizka/jboss-migration/wiki/Video---Externalized-Rules-introduction-commentary

Hello. I'm Ondra Žižka, and I will introduce the latest feature of WindRide - 
which is a tool for migrating the configuration of JBoss Enterprise Application Platform (or EAP)
from version 5 to version 6. (Support for other servers will be added later.)

The latest feature is that the migration logic is externalized into XML files.
Let's see how it works.

The big picture is:

1. Query the source server for collection of information,
2. Iterate over these collections,
3. Take the actions based on what is found.

Now let's see how to define that.

The XML file contains a definition of so-called migrator, which is a logical group of actions covering certain configuration area, for example, datasources.

Migrator has a name which is then used by the program to refer to it.

It contains JAXB beans declarations, queries, and actions.

JAXB beans declarations tell the program what classes will be used for unmarshalling the configuration.
Since all of the application servers store their configuration mostly in XML files, JAXB is a natural choice.

Then comes an example of a query; in this case, it's an XML query. There are more types, for example, properties file query.
Different types target different ways of how configuration is stored in the source server.
More details about queries can be found in the project's documentation.

All queries have an ID, by which their result is referred in the actions.
Subject label is used in user interface, and for the HTML reports and error messages.
Other query attributes are specific for the particular query type.

...