The figure above illustrates how i2b2 Wizard interacts with i2b2 and the overall Linux system. The large white rectangle in the upper left part shows the i2b2 Wizard directory, which contains (the i2b2 Wizard start script) and, besides others, a config directory. This config directory stores the current configuration of your i2b2 hive, i.e. information about all created i2b2 projects, users, passwords, ... everything that can be configured through i2b2 Wizard's menu system.

This configuration is used to configure the i2b2 hive source code during deployment (the source code is automatically extracted to /i2b2scr, then configured and deployed to /opt/jboss-XXX/ by i2b2 Wizard during setup, as shown in the figure above (right part). It is OK to delete /i2b2scr and /opt/jboss-XXX if something gets messed up, because i2b2 Wizard will automatically rebuild these directories whenever necessary.

i2b2 Wizard also writes configuration information to the Oracle database (see bottom left part of the figure). However, it is important to keep in mind is that this a one-way communication only. This means that i2b2 Wizard only writes to the database but never reads it (future versions of i2b2 Wizard might be able to do this). Because these writes happen as soon as they are necessary (e.g. if a new i2b2 project is being set up and therefore a new Oracle database schema has to be created) but are not stored anywhere, it is not possible to rebuild the database from the config directory afterwards.

Therefore it is possible to migrate an i2b2 server to a new physical machine easily just by copying the i2b2 Wizard directory along with the whole Oracle database. Another important implication from the one-way database communication is that it is not possible to convert an existing i2b2 server into an "i2b2 Wizard i2b2 server" - you'll always have to start from scratch (or rebuild the i2b2 Wizard config directory to match your existing configuration, which is difficult and out of the scope of this manual).