Discover JBoss
Understanding JBoss Applications
JBoss Deployment consists of a JBoss Domain Controller and JBoss Application Servers scattered over different nodes (Servers) that are serving the Applications. A JBoss application running on an Application Server will have its dependencies on the various resources, configured on the container, like Data Sources, JMS modules, Shared Application Libraries, Server configurations, etc. .
Discover JBoss Applications
When the host machine is running the JBoss Domain Controller, the Discover Host feature not only collects all the information from the host machine like System information, Process information, memory information etc. but also scans the JBoss for all the applications that can be containerized into a separate independent container
JBoss Application discovery - A single phase Discovery
Discovery of JBoss Applications is a single stage process. The Discovery should be run on the JBoss controller.
Information about JBoss Applications
Once the Discovery of a JBoss host is done, OmniDeq UI lists each Application that are ready for individual containerization. These applications include the applications deployed on all the Clusters or to the standalone Servers. The following information is revealed by the OmniDeq UI for each Application :
- The JBoss Application information
- The Shared Application Libraries on which the JBoss Application depends
- The Resource configurations on the Server, on which the Application is running. In case of Application deployed on a Cluster, the configuration info of any one Server is taken as template, as the assumption is that the servers in the Cluster will probably have the same configuration.
- The Application Configurations like Data Sources and JMS Modules that are deployed on the Server/Cluster
JBoss Application Server Objects supported for Transform
Objects | Discover | Transform |
---|---|---|
Shared Application Libraries | Yes | Yes |
Server Certificates | Yes | Yes |
Data Sources | Yes | Yes |
JMS configuration | Yes | Yes, Hornet MQ Server and ActiveMQ Server |
JMS Server | No | No |
Cluster | Yes | No |
JNDI Realms | Yes | Yes, only Active Directory |
Process Flow for Discovery of JBoss Applications
- Add JBoss controller in discovery host
- Prerequisites check on discovery host
- Phase 1 discovery
- Transform a JBoss Application into a container
In order to find out about Linux Host Prerequisites, please click here
JBoss Applications Discovery
-
In the landing page, click on Add Project. Add respective details and "Save". This will take you to the discover page.
-
Click on the
3 horizontal dots
beside the host and click onCheck Connection
and wait for a few seconds.Notes
- User will get success message in a few seconds.
- This step is optional. This step is just to make sure that the connection is established successfully.
-
Click on
Check Prerequisites
button as shown in the image below and wait for a few seconds.- User can see the prerequisites logs from the Logs section in the bottom when the pre-requisite is started as shown in the image below.
-
Logs are divided in 2 parts :
-
Networking Connectivity Checks : Which show the network connectivity checks on the host machine.
-
Validating Prerequisites : Which show the checks if all the pre-requisites are available or not.
-
User can edit the ignore list before starting a discovery by clicking on the
Process Ignore List
button as shown in the image below. IgnoreList is used to skip the discovery process from analysing these processes on the host. Do not ignore the java processes. Using this feature user can include or exclude the processes for discovery as shown in the image below.- User can also edit the ignore list after a discovery is done.
- Any modification done in ignore list after discovery, will require the discovery for the host tobe performed.
-
User can edit the Application Ignore list before starting a discovery by clicking on the
Application Ignore List
button as shown in the image below. Application Ignore list is used to name the applications that the user wants to containerize.- Using this feature user can specify the application names only which are to be included for discovery, as shown in the image below. All the other applications will not be scanned by the discovery process.
-
Click on
Discover
button and wait for a few seconds.- User will get message " Triggering Discovery " .
-
After a few minutes user will see the discovery status as
Completed
if all the prerequisites are met. -
User can see the discover logs from the Logs section in the bottom when the discover process is started as shown in the image below.
-
Logs are divided in 3 parts ( including the prerequistes ) :
-
Networking Connectivity Checks : Which show the network connectivity checks on the host machine.
-
Validating Prerequisites : Which show the checks if all the prerequisites are available or not.
-
Collecting System State Information : Which show the logs for collecting all the system information.
-
Once the discovery is completed, user will be able to see all the processes discovered, including the JBoss processes (java or standalone.sh), and the Web Applications that are discovered, as shown in the image below.
- The Web Applications that are discovered from the JBoss are listed in the table with the Process Name formatted as java-< Cluster/Server name >-< applicationName >. for e.g., If an application say 'appX' is deployed on one standalone server say Server-1, and a cluster Cluster-0, the the table will show two entries for the application with names as java-Server-1-appX and java-Cluster-0-appX. This helps the User to choose the application to transform with the specific Server settings or the Cluster settings.
-
User can view the web application information specific to JBoss Application by clicking on the name of the Application (More Info) under Name column. The Information screen with tabs will be shown as below
- Process Details: This tab shows the details of the process which enabled discovering the applications. This will usually be the JBoss Deployment controller as the discovery is run on controller host.
- Web Application Details: This tab shows the details of Web Application as shown below.
-- Application Name shows the name of the application. This is same as that shown in the Process table that is clicked. The formation of the application name includes the name followed by #
@ -- Server Name: shows the name of the target server for this application.
-- Java Version shows the version of java used by the JBoss controller process. Assuming the same version is being used across all the servers in the JBoss deployment.
-- Context Root shows the context root of the Web Application if specifically defined in application.xml of the war/ear.
-- Location shows the location of the application archive (war/ear). This application archive is copied over to the container for deployment.
-- Dependent Shared Libraries shows the list of shared application libraries detected on the Cluser/Server on which the application is also targetted. The assumption is that application may refer to any of these dependencies as they are all existing on the same target.
- Application Server : This tab shows the details about the target Server or Cluster specific configuration information. The assumption is that the java version will be same across all servers in the domain. Also the servers in the cluster will all have same configurations.
-- Name: shows the name of the application server in this case it is - "JBoss EAP".
-- Server version : shows the JBoss Application server version of the process detected on the discovered system (i.e. JBoss controller). Assumption is that the version of Java and the JBoss Server is same across all the server instances of the deployment.
-- HOME DIR shows the JBoss Server process's home directory.
-- Application Default Ports shows the ports (ssl and nonssl) being used by the target Server for this application.
- Application Configuration Details:
-- Certificate Details shows the JBoss server's SSL configuration. It displays the Identity Key Store file and the Trust Store details configured on the JBoss server.
-- Data Sources shows the list of data sources configured on the Server on which this application is targetted. All these data sources configurations are carried over to the container during tranformation of this application.
-- JMS Modules shows the list of JMS modules targetted on the server on which this application is also targetted. These JMS Modules configurations are carried over to the container with the assumption that the JMS Server will remain running as is and the container will be able to use the existing JMS Server for its queues/topics. The container will be configured with Foreign Server connection factory, configured to connect to this existing JMS Server.
-
Next step will be Transformation of JBoss Application. Please click here
Notes
- User can also force discover the host, if the discovery process is taking a long time and if user wants to re-initiate the discovery.
- To force discover the host, user will have to click on the
Force Discover
Appendix
Filtering the Processes or Applications for Discovery
As a part of Discovery, you can filter the Processes and Applications to be Discovered by the discovery phase of OmniDeq. Following are the steps to do this:
- Go to Project -> Discover
- Click on the Host Alias
- Go to Application Ignore List tab
- Add the application name prefixes that are only needed to be discovered during Discovery. Application names prefixed with these names are only detected during Discovery and made available for transform.