diff --git a/jbpm-dashboard-distributions/README.md b/jbpm-dashboard-distributions/README.md index ad1ad93..20e693b 100644 --- a/jbpm-dashboard-distributions/README.md +++ b/jbpm-dashboard-distributions/README.md @@ -9,8 +9,14 @@ Currently, the following artifacts are generated: * **jbpm-dashbuilder-jboss-as7.war:** Product distribution for JBoss EAP 6.1 and JBoss AS 7.1 servers. - Read the [src/main/jbossas7/README.md](https://github.com/droolsjbpm/jbpm-dashboard/blob/master/jbpm-dashboard-distributions/src/main/jbossas7/README.md) file to get more information. + Detailed installation instructions [here](https://github.com/droolsjbpm/jbpm-dashboard/blob/master/jbpm-dashboard-distributions/src/main/jbossas7/README.md). * **jbpm-dashbuilder-tomcat-7.war:** Product distribution for Apache Tomcat 7 server. - Read the [src/main/tomcat7/README.md](https://github.com/droolsjbpm/jbpm-dashboard/blob/master/jbpm-dashboard-distributions/src/main/tomcat7/README.md) file to get more information. + Detailed installation instructions [here](https://github.com/droolsjbpm/jbpm-dashboard/blob/master/jbpm-dashboard-distributions/src/main/tomcat7/README.md). + +* **dashbuilder-was-8.war:** Product distribution for Websphere 8.5 server. + + It requires to set up a data source connection for any of the supported databases (at the time of this writing: DB2, Postgres, Mysql, H2, Oracle or SQLServer). + + Detailed installation instructions [here](https://github.com/droolsjbpm/jbpm-dashboard/blob/master/jbpm-dashboard-distributions/src/main/was8/README.md). \ No newline at end of file diff --git a/jbpm-dashboard-distributions/pom.xml b/jbpm-dashboard-distributions/pom.xml index 81703c6..5dfdc2a 100644 --- a/jbpm-dashboard-distributions/pom.xml +++ b/jbpm-dashboard-distributions/pom.xml @@ -88,6 +88,7 @@ src/main/assembly/assembly-jboss-as-7.xml src/main/assembly/assembly-tomcat-7.xml + src/main/assembly/assembly-websphere-as-8.xml false diff --git a/jbpm-dashboard-distributions/src/main/assembly/assembly-websphere-as-8.xml b/jbpm-dashboard-distributions/src/main/assembly/assembly-websphere-as-8.xml new file mode 100644 index 0000000..5c2fd6f --- /dev/null +++ b/jbpm-dashboard-distributions/src/main/assembly/assembly-websphere-as-8.xml @@ -0,0 +1,76 @@ + + + + + + was-8 + + war + + + false + + + + + org.jbpm.dashboard:jbpm-dashboard-webapp:war + + . + true + + + WEB-INF/jetty-*.xml + WEB-INF/jboss-web.xml + WEB-INF/jboss-deployment-structure.xml + WEB-INF/web.xml + WEB-INF/etc/hibernate.cfg.xml + WEB-INF/lib/weld-*.jar + WEB-INF/lib/jta-*.jar + WEB-INF/lib/xml-apis-*.jar + WEB-INF/lib/javax.*.jar + WEB-INF/lib/jsr250-*.jar + WEB-INF/lib/mail-*.jar + WEB-INF/lib/cdi-*.jar + WEB-INF/lib/activation-*.jar + + + true + + + + + org.slf4j:slf4j-jdk14:jar + + WEB-INF/lib + false + true + + + + + + + ${project.basedir}/src/main/was8/ + . + + + + diff --git a/jbpm-dashboard-distributions/src/main/was8/README.md b/jbpm-dashboard-distributions/src/main/was8/README.md new file mode 100644 index 0000000..18b4dd4 --- /dev/null +++ b/jbpm-dashboard-distributions/src/main/was8/README.md @@ -0,0 +1,127 @@ +Deployment onto Websphere 8 +============================= + +Please follow the next steps in order to deploy the application on Websphere. + +Prerequisites +-------------------------------- + +The jBPM Dashboard requires the jBPM History log's database tables to exist. So, it's **MANDATORY** to deploy the +jBPM Human Task console (or a superset, i.e: kie-wb) first. Otherwise, the jBPM Dashboard will not be initialized +correctly, will not be possible to display its key performance indicators and you are certain to see some database +exceptions on the log, similar to: _ERROR: relationship «processinstancelog» does not exists_. + + +Configure a data source +-------------------------------- + +The jBPM Dashboard also requires a data source which **MUST BE** configured against the same database used by kie-wb +in order to get access to the jBPM's history log. To create this data source, follow the next steps: + +1. Open the WebSphere's Adminitration Console _http://127.0.0.1:9060/ibm/console_ + + Then login (if you have administrative security setup) + +2. Create the JDBC provider + + - Left side panel, click on _Resources > JDBC > JDBC Providers_ + - Select the appropriate scope and click on the _New_ button. + - Fill out the form. For non-listed database types (i.e: H2, Postgres & Mysql) you need to provide the path to the JDBC driver jar file plus the following class name: + + +------------+-------------------------------------------------------------+ + | Database | Implementation class name | + +------------+-------------------------------------------------------------+ + | H2 | org.h2.jdbcx.JdbcDataSource | + | Postgres | org.postgresql.xa.PGXADataSource | + | Mysql | com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource | + +------------+-------------------------------------------------------------+ + + When you finish, click _Ok_. If there are no data entry errors, you should be back at the list of JDBC Providers, where you should now see your new provider displayed. + +3. Create the data source + + - Left side panel, click on _Resources > JDBC > Data sources_ + - Select the appropriate scope and click on the _New_ button. + - Fill out the creation form. The _JNDI name_ **MUST** be defined as _jdbc/dashbuilder. Click _Next_. + - Select the existing JDBC provider you created. Click _Next_. + - Keep clicking _Next_ until _Finish_. + - Save to master configuration. + - Edit the datasource you just created and click on the _Custom properties_ link. + - Edit and fill the appropriate values required to set-up the connection. This depends on the database type. + + +------------+------------------------------------------------------+ + | Database | Connection settings | + +------------+------------------------------------------------------+ + | H2 | URL, user, password | + | Postgres | serverName, databaseName, portNumber, user, password | + | Mysql | serverName, databaseName, port, user, password | + +------------+------------------------------------------------------+ + + +jBPM Dashboard Deployment +---------------------------- + +Get the proper WAR file (e.g. jbpm-dashbuilder-was-8.war) and run the following steps: + +1. http://127.0.0.1:9060/ibm/console + + Then login (if you have administrative security setup) + +2. Deploy the WAR file + + - Left side panel click on *Applications > Application types > Websphere enterprise applications* + - Click on _Install_, select the *jbpm-dashbuilder_was_8.war* file from your local filesystem. Click _Next_ + - From here, you will be asked with several deployments settings. Click _Next_ until finished. + - **DO NOT FORGET** to set dashbuilder as the webapp context path since that path is referred by some kie-wb modules. + + Once deployed you can start/stop the application from the Websphere console. + + +Authentication and authorization +--------------------------------- + +Dashbuilder uses container managed authentication and authorization. The application roles are defined in the application's +web.xml file. In a nutshell, to get access to the aplication a new user has to be created and mapped with one +or several application roles. Next is the list of steps to achieve so from the WebSphere's Adminitration Console: + +1. Enable security + + - Left side panel click on *Security > Global security* + - Section *Application security*, Check the box *Enable application security* + - Click *Apply*, then save to master config. + + Then you have application security turned on. Now you need to map the users of your application to users within Websphere. + +2. Map users + + - _Applications > Enterprise Applications_ click on your application. + - Under the _Detailed Properties_ section you will see a link _Security role to user/group mapping_. Click on it. + - Select the roles you wish to use for authentication, _admin_ for instance. + - Click look up users (you need to create users first, see below). + - Click search and select users. + - Use the arrows to move the selected users/groups to the right hand box. + - Click ok and save to master configuration and restart the server. + +3. Create users + + - Just go to the left side panel and click on *Users and Groups > Manage Users*. + - Click on the _Create_ button, fill out the form and click _Ok_. + - The _User ID_ field is the login, the word to be used to sign into the application. + - if you create a user with login=root it'll be granted with all the permissions within the application. + + Once created and mapped the user should be able to sign into the application. + + +User Authentication +-------------------------- + +The jBPM Process Dashboard can be accessed in two ways: + +* As root, by selecting the jBPM Dashboard workspace at the top administration toolbar, or +* Typing the following URL: http://localhost:8080/dashbuilder/workspace/jbpm-dashboard + +You can sign in with any of the users defined above. + +You can create process instances and tasks from the jBPM Human Task console and later on refresh the jBPM Dashboard to +see how the different key performance monitoring indicators are updated. + diff --git a/jbpm-dashboard-distributions/src/main/was8/WEB-INF/etc/hibernate.cfg.xml b/jbpm-dashboard-distributions/src/main/was8/WEB-INF/etc/hibernate.cfg.xml new file mode 100644 index 0000000..d50a32e --- /dev/null +++ b/jbpm-dashboard-distributions/src/main/was8/WEB-INF/etc/hibernate.cfg.xml @@ -0,0 +1,57 @@ + + + + + + + + + jdbc/dashbuilder + + + true + + + false + false + + + thread + + + true + + + false + true + + + + + + \ No newline at end of file diff --git a/jbpm-dashboard-distributions/src/main/was8/WEB-INF/web.xml b/jbpm-dashboard-distributions/src/main/was8/WEB-INF/web.xml new file mode 100644 index 0000000..bb32fb8 --- /dev/null +++ b/jbpm-dashboard-distributions/src/main/was8/WEB-INF/web.xml @@ -0,0 +1,96 @@ + + + + dashbuilder + jBPM Dashboard Builder Application + + + + + Administrator - Administrates the BPMS system. Has full access rights to make any changes necessary. Also has the ability to add and remove users from the system. + admin + + + + Analyst - Responsible for creating and designing processes into the system. Creates process flows and handles process change requests. Needs to test processes that they create. Also creates forms and dashboards. + analyst + + + + Developer - Implements code required for process to work. Mostly uses the JBDS connection to view processes, but may use the web tool occasionally. + developer + + + + Business user - Daily user of the system to take actions on business tasks that are required for the processes to continue forward. Works primarily with the task lists. + user + + + + Manager/Viewer-only User - Viewer of the system that is interested in statistics around the business processes and their performance, business indicators, and other reporting of the system and people who interact with the system. + manager + + + + + Free access + /images/jb_logo.png + + + + + + Restricted access + /* + + + admin + analyst + developer + manager + user + + + + + FORM + + /login.jsp + /login_failed.jsp + + + + + 403 + /not_authorized.jsp + + + + + + BeanManager + + javax.enterprise.inject.spi.BeanManager + + + + \ No newline at end of file