2 Architecture

This chapter describes the architecture of Oracle Virtual Assembly Builder, and contains the following sections:

2.1 Major Components

This section describes the major components of Oracle Virtual Assembly Builder.

2.1.1 Oracle Virtual Assembly Builder Studio

Oracle Virtual Assembly Builder Studio is the component that allows users to create assemblies, and has two interfaces, the Oracle Virtual Assembly Builder Studio GUI and the abctl command-line interface.

Oracle Virtual Assembly Builder Studio and abctl interact with Oracle Virtual Assembly Builder Deployer as a Web client as shown in Figure 2-2. Oracle Virtual Assembly Builder Studio provides a Deployer user interface whereby deployments can be initiated from Oracle Virtual Assembly Builder Studio and leverage the Oracle Virtual Assembly Builder Deployer.

2.1.1.1 High-Level Catalog Overview

The Oracle Virtual Assembly Builder Studio catalog contains the metadata definitions of appliances and assemblies that are the result of introspection. The captured file sets, virtual machine templates and deployment plans for those appliances and assemblies are also stored in the catalog.

Figure 2-1 shows Oracle Virtual Assembly Builder Studio and its relationship to both its catalog as well as to the Deployer and Oracle Software Library.

Figure 2-1 Oracle Virtual Assembly Builder Studio and Deployer

Create Assembly wizard
Description of "Figure 2-1 Oracle Virtual Assembly Builder Studio and Deployer"

2.1.2 Deployer

The Oracle Virtual Assembly Builder Deployer is a Java EE application that maintains assembly archives created by Oracle Virtual Assembly Builder Studio, provides operations for registering assembly archives to virtualized systems such as Oracle VM and provides operations for orchestrating the deployment of the software system defined by the assembly archive.

The assembly archives created by Oracle Virtual Assembly Builder Studio contain information about a software system comprised of multiple, related software stacks which work together to form an application. This system is referred to as an assembly. The assembly archive contains metadata about the assembly and virtual machine templates that are used to instantiate an instance of the assembly in a virtualized environment.

The Deployer runs in a servlet container in the WebLogic Server Administration Server. Figure 2-2 shows the top-level components of the Oracle Virtual Assembly Builder Deployer.

Figure 2-2 Deployer Architecture

Create Assembly wizard
Description of "Figure 2-2 Deployer Architecture"

2.1.2.1 Web Application

The interface to the Oracle Virtual Assembly Builder Deployer is a Web service which provides operations for uploading assembly archives, registering assembly archives to the virtualization system and managing deployment instances for the system defined in the assembly archive.

Operations against the Web service are made by posting an HTTP request to the Oracle Virtual Assembly Builder Deployer's context path. The request includes a request parameter that defines the action followed by zero or more request parameters that define arguments for the operation. The response is usually an XML document related to the operation performed, except in cases where artifacts such as assembly archives, deployment plans or metadata files are being downloaded from the Deployer to the client. See Oracle Virtual Assembly Builder Developer's Guide for sample requests and responses.

Some operations may define an asynchronous action.

2.2 Setup Scenarios

This section describes the different ways that you can set up Oracle Virtual Assembly Builder.

2.2.1 Deployer-only Installation Scenario

You can set up Oracle Virtual Assembly Builder Deployer by itself, without Oracle Virtual Assembly Builder Studio. This installation scenario provides you the ability to configure deployment targets, upload assembly archives to Deployer, create assembly instances, deploy/undeploy/start/stop assembly instances and scale appliance instances.

This configuration contains the following interfaces:

  • You can use the Web service API to perform either PaaS or administrative operations on the Deployer.

  • You can use abctl to interact with the Web service API for either PaaS or administrative operations on the Deployer.

2.2.2 Deployer Not Co-located with Studio

You can set up Oracle Virtual Assembly Builder Studio to interact remotely with Oracle Virtual Assembly Builder Deployer.

This installation scenario provides you the ability to create appliances and assemblies, create appliance templates and assembly archives and create deployment plans.

This configuration contains the following interfaces:

  • The Oracle Virtual Assembly Builder Studio graphical user interface, and

  • abctl CLI (all functionality for creating and deploying assemblies)

2.2.3 Deployer Co-located with Studio

You can set up Oracle Virtual Assembly Builder Deployer co-located with Oracle Virtual Assembly Builder Studio on the same machine, but in a different process. This configuration contains the previously described interfaces for Oracle Virtual Assembly Builder Deployer and Oracle Virtual Assembly Builder Studio, and provides you the ability to perform all the operations described in the "Deployer-only Installation Scenario", plus those operations in "Deployer Not Co-located with Studio".

2.3 Deployment Platforms

You can deploy Oracle Virtual Assembly Builder assembly archives to the Oracle VM 3.2 or higher platform.