Currently, the only supported application server is JBoss because it is the application server we (the developers of objectWiz) use daily at work and we do not know yet what are the users' needs. However, objectWiz has been designed to support any kind of server that contains a persistence layer. Adding support for another J2EE server involves subclassing an abstract class that contains only a few methods, and here are the instructions to develop a new agent.
If there is a strong demand for a particular application server, we will consider developing the agent, please do not hesitate to fill in a request on the corresponding feature request page.
Once the WAR file is deployed, you should be able to access it in your preferred browser using an URL that depends on your application server but should look like: http://localhost:<port>/objectwiz/
On the first deployment, objectWiz will try to create the internal database that will be used for storing users' preferences, so you should see the following: (screenshot). If you encounter an error screen (screenshot), please refer to the troubleshooting section.
Click on "Click here to continue" and you should be able to see the launch page which is the entry point for launching objectWiz client. This page also lists the persistence units (i.e. the databases and their object-relational mapping) that were detected.
Hot deployment of persistence units is not supported yet. Units are detected when the application is deployed, so any persistence unit that will be registered to the application server after objectWiz is deployed will not be detected: you will need to re-deploy objectWiz.
Clicking on the "Launch" should start the JavaFX application.
Java Runtime (> 1.6) is required to launch the client.
You should end up on a login screen where no credentials will grant you access until you configure security.
Data is exchanged between the client and the server through a servlet located in the relative path /agent. If the URL
for accessing objectWiz is http://<host>:<port>/objectwiz, then the URL of the servlet is:
http://<host>:<port>/objectwiz/agent
The same credentials apply for accessing the servlet from your browser and from objectWiz Java client. Authentication to the servlet is delegated to the application server and requires that the user logs in using BASIC http authentication with the following role: objectwizUser. Please refer to the documentation of your application server for more information on how it handles security related to the servlet standard.
Here are the detailed steps for JBoss.
You may want to create a specific log file for objectWiz servlet.
The servlet will mainly issue log events for the following packages:
org.objectwizcom.caucho.hessianCopy objectwiz.war to the deploy directory of JBoss.
Wait a moment: the WAR application is deployed and you should be able to access it at: http://<host>:<port>/objectwiz.
By default, objectWiz WAR application is configured to use the same security domain as the jmx-console. This choice was made because objectWiz gives access to every persistence unit that is deploying within the server and every user logged in to objectWiz will be able to perform any operation i.e. has the profile of a administrator of the JBoss server.
However, as the communication servlet requires that the user has the objectwizUser role, nobody can log in to objectWiz until they are given this role.
Therefore, to grant access to a user, please make sure that:
conf/props/jmx-console-users.properties file.conf/props/jmx-console-roles.properties).If you want to user another security domain, you have to change the default
If you wish to use a custom security domain, you will have to change the contents of the WEB-INF/jboss-web.xml file that is contained with the WAR file. This can be achieved with the following steps:
deploy/ directory: mkdir ~/tmp/objectwiz.warcd ~/tmp/objectwiz.warcp <path to downloaded objectwiz.war> .jar command: jar xf objectwiz.war
rm objectwiz.warWEB-INF/jboss-web.xml: you can replace the contents of <security-domain> to the domain of your choice. The rules that will apply now depends on the contents of JBoss conf/login-config.xml. Please refer to the JBoss documentation for more information.This section is still far from complete, if you do not find the answer to your problem here, do not hesistate to file a request on the following page.
The internal persistence unit is the database used by objectWiz to store users' preferences and internal objects. To connect to this database, the servlet relies on the standard J2EE mechanisms. It tries to connect to the datasource called objectwizDatasource.
If this datasource does not exist, the servlet will try to create with the following steps:
You can check the server logs to know which step failed and figure out why the servlet failed to connect to the datasource.