Alice on the web

The web interface implements most of the same functions, which exists in the swing gui of Alice. The only difference is that this implementation runs within Apache Tomcat web application server, and is deployed as a .war file. This greatly simplifies the deployment of the application. Simply install Tomcat and copy the aliceweb.war file into the $TOMCAT_HOME/webapps directory. The main purpose of this sub-project was to extend the accessability of Alice using the internet and web browsers. Certainly there can be security concerns when this type of access is allowed, and because of these concerns Alice is able to leverage the security built in a web application container such as Tomcat. The alice.war file can be deployed into really any web application container, but extensive testing has not been done with other web containers and the various deployment strategies that these containers may employ.

Wireless Access Protocal (WAP)

The web application also supports basic controlling of installed X10 devices through a WAP browser. Basically, WAP or wireless access protocal, is a trimmed down version of HTML. The benefit of WAP is that you can access the Alice web application through your cell phone or other hand held device, which has a WAP enabled browser. The WAP access to Alice can be used through following URL address example http://localhost:8080/aliceweb/. What happens is that the first page will determine if the browser is a WAP browser and redirect the appropriate content. The current state of the WAP interface is limited to executing turning "ON" and "OFF" devices that have already been defined through the regular alice web application interface.

Security

All pages except for the WAP pages(see above) and the home page have been secured and require user name and password to access features. The security model for a default Tomcat installation is a Memory Realm. The default is therefore a user name of "tomcat" and password "tomcat". This information can be changed by modifying the web.xml file in the aliceweb.war and changing some of the Tomcat server configuration files. Meanwhile work will continue to investigate a more user friendly way of securing the web interface.

Requirements:(Based on Apache Tomcat)

1. Java runtime environment found at www.javasoft.com. This is the virtual machine in which this application runs on. The application has been upgraded to use Jave 2 so execution should be a one step process now.

2. Install the java Comm API into your classpath this depends on your OS (Operating System) for Windows 95/NT go to Windows Comm API, for Solaris go to Solaris Comm API, and for Linux versions go to Linux Comm, and finally for Macintosh try www.vmeng.com/beard/javax.comm.MRJ/.

3. Install the apache-tomcat. Follow the directions on the apache-tomcat site. Its a simple process.

4. Now copy the aliceweb.war file into the $TOMCAT_HOME/webapps directory.

5. Start tomcat up with the appropriate scripts.

6. Using your web browser go to: http://localhost:8080/aliceweb/.

The web interface will save files in the application WEB-INF directory. For Tomcat, this is $TOMCAT_HOME/webapps/aliceweb/WEB-INF/. When the application first starts up in Tomcat some initial configuration files will be created in this location. It is important to remember that if you remove the alicewar directory you will lose all your information.

For JBOSS application servers, there is an interesting deployment strategy where the WAR file is exploded in a temporary directory and it is removed everytime JBOSS is shut down. Therefore, the alicewar.war doesn't work well with JBOSS.

Web interface Features

Current features

  • Implements web application security so users will be prompted for user name and password on some pages.
  • Can setup and connect serial port to appropriate CM11A or CM17A device.See screen shot
  • Allows user to add,delete or update X10 Modules to the house through the X10 Modules tab.See screen shot
  • Saved X10 Modules can be manually controlled throught the Controller tab.See screen shot
  • Can add events so that timed actions can be administered and run from web.(Version 2.0)See screen shot
  • Help information tab.
  • WAP browser support for handheld devices or cell phones.See screen shot and Result

Future enhancements

  • Allow storing of Macros to the CM11A x10 module.
  • Allow monitoring of the house through the CM11A x10 module.
  • Query recent log events to be displayed in web page