- Introduction
- Components
- Screenshots
- Building
- Deploying
- Deploying locally
- Deploying on CloudBees
- Backend API
- Frequency Distribution
The application requirement was for a supply chain management system that is accessible through a Web browser.
The users of the application are supply chain managers who in the course of their work need to view and manage information regarding a distribution network, i.e. the network of facilities (suppliers and target companies) and distribution channels (paths from one facility to another). The application supports the following use cases:
- View the distribution network
- View information pertaining to an existing facility
- View information pertaining to an existing distribution channel
- Update information pertaining to an existing facility
- Update information pertaining to an existing distribution channel
- Add a new facility to the distribution network
- Add a new distribution channel to the distribution network
- Delete an existing facility
- Delete an existing distribution channel
- Export the distribution network to XML
- Import the distribution network from XML
- View frequency distribution analysis performed on the distribution network
Risk Analyzer presents information using an Ext JS 4.1-based graphical user interface
in combination with Spring 3.1.x,
Hibernate. Any kind of supply chain analysis is performed by a remote network analysis engine.
The result is a visually rich, enterprise system that is both quick and secure. It is fully controlled, tested,
and deployed through a continuous integration infrastructure powered by BuildHive.
You can see the latest build status by clicking here
.
As shown in the picture below, the project is composed of two web applications named backend and frontend. Those two applications communicate by exchanging JSON data over the HTTP(S) protocol (see Backend API). The backend is supposed to handle computationally intensive requests, e.g. calculating a frequency distribution, whereas the fronted is meant to render the UI. The reason for such a split was driven by common pricing models offered by cloud/hosting providers which are proportional to the CPU/memory consumption of a given application.
The screenshot below shows the main view of the frontend application. It's a workspace that allows a user to create/edit/delete facilities and distribution channels. A distribution network is presented as a tree as well as rendered on the map.
The screenshot below shows the dialog window for creating a new facility. Note that in case of any validation errors a corresponding form field will be marked with a red border.
The screenshot below shows the dialog window for creating a new distribution channel.
The screenshot below shows a frequency distribution chart for a sample network. The data displayed in the chart are calculated by the backend application. As mentioned before, the frontend just renders the UI.
The project is built using Apache Maven. To build frontend and backend web applications run the following command from the project root directory
$ mvn clean install
If everything went well, you'll find the frontend WAR file in the frontend/deployment/deployment.dev/target directory. Similarly, the backend WAR file can be found in the backend/deployment/deployment.dev/target directory.
Both frontend and backend applications are divided into a set of functional modules. These module can be deployed in various configurations. For instance, the frontend application can be run locally with the [relational database (RDBMS)] (http://en.wikipedia.org/wiki/Relational_database) as data storage, or on Google App Engine with its schemaless High Replication Datastore (HRD).
The most common deployment configurations are described in the following sections.
This has changed recently. Needs to be updated
- Create a working directory, for example C:\RiskAnalyzer, hereafter referred to as RISK_ANALYZER_HOME.
- Create a sub-directory for the Backend Web application in RISK_ANALYZER_HOME\backed.
- Create a sub-directory for the Frontend Web application in RISK_ANALYZER_HOME\frontend.
- Downlaod the Backend Web application to RISK_ANALYZER_HOME\backend.
- Download the Frontend Web application to RISK_ANALYZER_HOME\frontend.
- Launch the Backend Web application by executing java -jar risk-analyzer-backend-web-0.0.1-SNAPSHOT-exec-war.jar -httpPort 9090
- Open this URL http://localhost:9090/risk-analyzer-backend-web/soap/risk-analyzer.wsdl in your favorite Web browser to make sure that the backend application is up and running.
- Launch the Frontend Web application by executing java -jar risk-analyzer-web-0.0.1-SNAPSHOT-exec-war.jar
- Open this URL http://localhost:8080/risk-analyzer-web in your favorite Web browser to make sure that the frontend application is up and running.




