When you install Aware IM out-of-the-box as described in sections Installation under Windows operating system, Installation under Linux operating system or Installation under Mac OS X operating system Aware IM is installed on a single machine. This is, however, not the only option of Aware IM deployment. Aware IM is a Client-Server system. From the deployment point of view it has 3 components that can be installed on the same or different computers. These components are:
As mentioned above all the components may reside on the same computer – this is the default deployment configuration that you get when you use the default Aware IM installation. This option is suitable for the following categories of users:
For larger companies who have more internal and external users with higher load of requests it may be beneficial to deploy Aware IM on separate computers for better scaling and performance.
It is also possible that individual users or companies do not have direct access to the computer where Aware IM is running – for example, if they use 3rd party organizations to host their web needs (including Aware IM). These individuals and organizations however may need frequent and easy access to the Configuration Tool so that they can configure or modify their information systems whenever necessary.
Aware IM can be deployed to meet these needs. The following deployment options are available:
The required steps for each of these options are described below.
To run Aware IM web application on a separate machine within a single LAN you have to make sure that the Aware IM server is deployed on your “server” machine(s) whereas Aware IM web application is deployed on a single or a cluster of “web server” machines.
Make sure you do the following:
ServerName=myAwareIMServerName
To run the Configuration Tool on a machine different from the one where your Aware IM server is running do the following (it is assumed that the Configuration Tool and the Aware IM server are running on the machines connected by a Local Area Network (LAN). We will call the machine where the Configuration Tool is running, the “client” machine and the machine where the Aware IM server is running – the “server” machine.
localhost
in the BASServer.props
file located in the BIN directory of the Aware IM installation on the server machine with the network name of the server machine, for example:DirectoryServiceProvider=tcp://localhost:61616 JMS_BROKER_CONNECTOR=tcp://localhost:61616
UIConfig.props
located in the BIN
directory of the installation performed during the previous step (if the line already exists change it):WebServer = NameOfTheMachineWhereAwareIMServerIsRunning
ConfigTool.tar.gz
) to some local directory on your client machine (we assume it is called AwareIM). AwareIM/ConfigTool/eclipse/ConfigTool.ini
to add the name and port of your “server” machine in the LAN into the –vmargs
section of the file. For example,-vmargs -Djasper.reports.compile.class.path=plugins/com.awaresoft.awareim.shared_1.0.0/jasperreports-0.5.0.jar -Dawaresoft.awareim.configtool.serverName=myserver -Dawaresoft.awareim.configtool.serverPort=9000
AwareIM/ConfigTool/eclipse
directory on your client machine and run the ConfigTool
program.127.0.0.1 localhost.localdomain localhost x.x.x.x serverName
where x.x.x.x is the IP address of the server where Aware IM is running and serverName is the network name of the server.
Additionally if you are running the remote Configuration Tool from a Linux or Mac OS X workstation make sure that the etc/hosts
file of each workstation has the same entries as the etc/hosts
file on the server.
To run the Configuration Tool across the Internet where the Configuration Tool connects to a remote server located anywhere in the world perform the following steps:
UIConfig.props
file located in the BIN
directory and add the following properties (in the example below the URL of the server is assumed to be https://www.myserverver.com:8080/MyWebApp)HttpServerConnection=true WebServer=www.myserver.com WebServerPort=8080 WebServerProtocol=https WebAppBase=MyWebApp
Organizations or individuals who for whatever reason cannot or do not want to run their application on their own server but still want web access to their Aware IM application can use web-hosting services of third-party companies (that we will call “web hosts” here). These companies offer their servers for companies to deploy their applications/web sites on.
There are a variety of services that web hosts offer. Usually they fall within one of the 3 categories:
Hosting Method | Considerations | |
---|---|---|
1. | Standard shared hosting | The server is shared with other users. You do not have control on which software is installed on your server and you cannot reboot the server. |
2. | Virtual Private Server hosting (VPS) | The server is shared with other users. However, you get your own “virtual” server with a particular operating system (Windows or Linux). You have full control over your virtual server through the remote interface (even though it is physically shared with others) – you can install any application on the server and you can reboot the server any time |
3. | Dedicated server hosting | You have your own server that is not shared with other users. You have full control of this server through the remote interface. |
The first option is usually the cheapest, while the third one is the most expensive.
Although it is theoretically possible to run Aware IM applications under standard shared hosting (option 1.), we do not recommend it as there are too many things that can potentially go wrong
Option 3 is the safest option and is virtually equivalent to running Aware IM on your own server. The only problem with this option is the price – it can range from 100 to 300 (or more) dollars a month.
Option 2 is, in our opinion, the most practical option for many users. It is relatively inexpensive (you can get VPS hosting for $30 a month or even less) and you essentially get your own server that you have full control of. The next section discusses running Aware IM applications under the VPS hosting environment.
Usually VPS hosting comes in two flavours – Linux VPS that uses Linux operating system and Windows VPS that offers Windows operating system. Linux VPS is much more common, however, there are more and more companies who offer Windows VPS hosting. Linux VPS is usually slightly cheaper.
It is possible to run Aware IM applications under both operating systems. However, please see the following tables for the comparison of using Linux VPS versus Windows VPS:
Linux VPS pro’s | Linux VPS con’s |
---|---|
Very common. There are a huge number of companies offering Linux VPS with different options and price range | Most web hosts offer non-graphical Linux. Running Aware IM under non-graphical Linux has two limitations: It is possible to install the graphical component for Linux, but it requires some Linux expertise (or you can possibly ask the host to do it for you) |
Usually cheaper than Windows VPS | Usually Linux VPS offers remote access to the Linux server via command line interface only. However, if you install a Linux graphical component it is possible to set up a remote graphical interface to the server |
Windows VPS pro’s | Windows VPS con’s |
The experience is literally equivalent to running Aware IM on your own server. You get a remote graphical interface to the server, which is like running Windows on your own machine. Very convenient. | Slightly more expensive on average than Linux VPS (although, it is now possible to find a very good deal) |
Not very common yet. Not many companies offering Windows VPS |
Our recommendation is that if you can find a good deal on Windows VPS, go for it – the remote graphical user interface is worth it.
Some of the companies running good deals on Windows and Linux VPS are GoDaddy (www.godaddy.com), VPS Land (www.vpsland.com), InfoQuest (www.infoquest.com)
Once you have the VPS set up installing Aware IM is quite straightforward – transfer Aware IM installation files to your server and install it there. However, you need to watch out for these two most commonly encountered problems when running Aware IM in the VPS environment:
You can also re-configure Tomcat to use a different port (to do this open the server.xml
file located in the AwareIM/Tomcat/conf
directory, search for 8080
and replace it with a different number).
Some web hosting companies, for example, Amazon offer load balancing capabilities where you can allocate several servers to handle your user requests. A special load balancing software will automatically detect servers under heavy load and redirect traffic to servers with smaller load. This can dramatically increase overall performance of your system and allow scaling it up as the number of users and requests grow.
It is easy to set up Aware IM to work with load balancing. This is what you need to do:
BASServer.props
file on each server instance as described in the previous sections.Note that load balancing should only be used in production where the system just runs already developed applications. It shouldn’t be used for application development.
See also
This video tutorial explains Aware IM deployment and configuration options, provides answers to some frequently asked questions and explains how to deal with some common startup problems.