Getting started

Download and install

Download the latest slizaa distribution here. The platform specific archive must be unpacked to an arbitrary folder on your local disc. Start slizaa by double-clicking the slizaa executable that can be found in the installation directory.

Install jQAssistant support

Out-of-the box you can connect against existing jQAssistant databases, e.g. a JQAssistant database that runs on your CI server. But if you want to scan your own software and create your own databases from within slizaa, you have to install the jQAssistant extension. Select Help → Install slizaa extensions…​ to open the extensions dialog (see Figure 2). The extensions dialog shows all available extensions for slizaa. Select the extension you want to install and follow the steps provided in the wizard. Eclipse automatically restarts once the installation is complete.

install extensions
Figure 1. Install jQAssistant as an extension

Create software structure graphs with jQAssistant

If you start slizaa for the first time, it opens the 'Graph Mapping' perspective as the default perspective (see figure 1).

graph mapping perspective
Figure 2. slizaa’s initial perspective

Creating a new slizaa project. In order to analyze software structure graphs with slizaa, you have to create a slizaa project first. A slizaa project normally contains resources like graph database connection definitions, cypher queries, custom mappings and so on. To create a new project, right click in the project explorer and select New → slizaa Project…​ (see Figure 3).

create new slizaa project
Figure 3. Create a new slizaa project

Specify the name of your project in the new project wizard (e.g. my_example_project) and click Finish.

Specify a local JQAssistant database

Create a database definition file. To set up a new jQAssistant database, you have to define the database (or the database connection) in a database definition file. To create a database definition file, right-click in the project explorer and select New → slizaa Database Definition File…​ (see Figure 4)

creating a database definition file
Figure 4. Creating a database definition file

Select a template. Once the file is created, you can select a database definition template using the key shortcut CTRL-SPACE (see Figure 5). To create a new local database, choose the Managed Local Database template.

database definition templates
Figure 5. Database definition templates

Specify name and port. In the template you have fill in the name of the software that you want to scan, as well as the port for the local jQAssistant server. The storage directory for the local database and the directory that must contain the software to parse are automatically set with derived default values (see Figure 6). In this tutorial we will analyze the Eureka web archive. Eureka is a REST based service that is provided by Netflix and primarily used in the AWS cloud for locating services.

local database definition
Figure 6. Managed local database definition

Populate the scanning directory. Finally you have to create the scanning directory that is specified in the database definition (the files {…​} section) and populate it with eureka web archive (see Figure 7). You can download the eureka web archive here.

create eureka directory
Figure 7. Managed local database definition

Create the software structure graph

Scan the software. Once you’ve created the database definition file, the database appears in the Graph Database view. To create the database and populate it with the software structure graph, right-click on the database icon to open the pop-up menu. Select Scan to scan the eureka web archive (see Figure 8).

scanning software 1
Figure 8. Database definition templates

Enrich the model. The model created by the scanner represents the structure of a software project on a raw level. jQAssistant uses so called concept rules to enrich the database with higher level information to ease the process of writing queries. This typically means adding labels, properties or relations. Select Enrich in the pop-up menu of the jQAssistant database to enrich the software structure graph (see Figure 9).

scanning software 2
Figure 9. Database definition templates

Start the database server. Finally you have launch the jQAssistent database server that hosts the structural information of the scanned application. Select Start in the pop-up menu of the jQAssistant database to start the server (see Figure 10).

scanning software 3
Figure 10. Database definition templates