User Tools

Site Tools


magik-demo:developer:magik-project

MAGIK Project

This document describes how to manipulate with MAGIK project.
In particular how to:

Deploy MAGIK on Server or Localhost

Here we explain how to deploy compiled MAGIK application (in .WAR file format) on your web server or localhost.

Requirements

We recommend pgAdmin as a PostgreSQL tool to manage your databases.

Steps

  1. First step is to set the DLV executable file path and PROLOG folder (for the code to execute for the specialization) by setting up environment variable
    1. Detect where is located the folder magik_libs
    2. Copy the (absolute) entire path (file name included)
    3. Put in an ENVIRONMENT VARIABLE called MAGIK_LIBS. An example:
       DLV_PATH =/Users/user/Documents/workspace/MAGIK_WEB_3/magik_libs
    4. E.g., on Mac OS X or Linux Operating systems, one can set this environment variable the following command in terminal
      $export MAGIK_LIBS=aboslute_path_to_your_local_magik_libs
  1. Deploy WAR file to Apache Tomcat server.
    There are two ways to do it:
    1. Using Tomcat Web Application Manager
    2. Manual copying the .WAR file using
      • Stop Tomcat. On Unix like systems (Linux) one can do it with shell command: $/etc/init.d/tomcat7 stop
      • If you have previously deployed “foo.war” in [TOMCAT_HOME]/webapps/, then it has been unpacked into webapps/foo/. Firstly delete this directory and all its content. On Unix, this can be done with rm -r $TOMCAT_HOME/webapps/foo.
      • Copy WAR file to [TOMCAT_HOME]/webapps/.
      • Start Tomcat again. On Unix like systems (Linux) one can do it with shell command: $/etc/init.d/tomcat7 stop
  2. Create new designated PostgreSQL database for MAGIK web application. Detail explanation on how to create PostgreSQL database can be found here.
  3. Run MAGIK web application. This also can be done in two ways:
    1. Through Tomcat Web Application Manager, by clicking the chosen application
  4. Specify database connection for MAGIK web application.

Back to Top | Back to Home Page

Import MAGIK Project in Eclipse

Requirements

Steps

  • Download Eclipse 3.x. Choose a workspace folder (not the one using for MAGIK-DEMO SVN).
  • Install Eclipse plugin subversion.tigris.org for SVN control (see instruction http://web.mit.edu/6.005/www/fa11/psets/ps0/subclipse.html). Alternatively, one can use any SVN control program (e.g., svn command line tool, SmartSVN, etc.) but here we provide instruction for subversion.tigris.org only.
  • Import MAGIK project:
    • File>Import>SVN>Check out project from SVN
    • Create new repository location, and enter in the URL field: https://babbage.inf.unibz.it/repositories/svn/osavkovic/MAGIK-DEMO/Implementation/MAGIK_WEB_[VERSION]. Use your unibz credentials for the username and password. Beforehand, you need to obtain reading rights for the SVN (request by email).
    • Select MAGIK folder and press Next. Again Next. And Finish. Now the Eclipse should import the project and MAGIK folder (with small database icon) appears in the package explorer.

Running MAGIK from Eclipse in localhost

  • To do so, one needs to link locally installed Apache Tomcat with Eclipse (see tutorial). Go to File>New>Other. Find Server and click Next. Then choose Apache>Tomcat v7.0 Server and click Next. Then go Browse and enter the local directory path where Apache Tomcat is installed. Finally, click Finish.
  • To run your MAGIK copy within Eclipse, right-click on the main project folder and then go to Run As>Run on Server and then Finish.

DLV API

  • DLV is an Answer-Set Programming solver that MAGIK uses internally to reason about completeness.
  • DLV executable files for Win, Mac and Linux comes within the project. They are located in project directory /lib
  • DLV systems offers DLV Wrapper to use DLV in Java Object Environment (http://www.dlvsystem.com/dlvsystem/index.php/DLV_WRAPPER).
  • In case Eclipse is not able to find DLV using relative path, edit class it.unibz.inf.magik.core.DLV_engine and set absolute path to your DLV executable.
  • Wrapper Installation instructions - a remainder:
    • Go to http://www.dlvsystem.com/dlvsystem/files/DLVwrapper-v4.2.jar. Add this file to your MAGIK libraries (RightClick on project>Properties>Java Build Path>Libraries>Add external JARs).
    • Depending on the OS (Win, Mac, Linux) one will use different DLV executable. The committed DLV executables for major systems are in the project folder /lib.
    • To test your DLV API, we created a JUnit class TestDLVAPI, which one should run to test whether DLV API is properly installed. Finally, set a path variabile DLV_PATH to the absolute path of your DLV executable.

Back to Top | Back to Home Page

MAGIK Project Description

MAGIK Web application is developed using Eclipse as a Web development platform, with the type of Dynamic Web project. To deploy MAGIK web application in the web server, one needs to export the Eclipse project as WAR file.

The structure of the project is as follows:

  • Web Deployment Descriptor → the standard Web application deployment descriptor (the web.xml file).
  • Java Resources
  • WebContent → the mandatory location of all Web resources, including HTML, JSP, graphic files, and so on.
    • META-INF → contains the MANIFEST.MF file, which is used to map class paths for dependent JAR files that exist in other projects in the same Enterprise Application project.
    • css → contains cascading style sheets.
    • js → contains JavaScript file.
    • WEB-INF → contains the supporting Web resources for a Web application, including the web.xml file and the classes and lib directories.
      • /classes → for servlets, utility classes, and the Java compiler output directory.
      • /lib → contains the supporting JAR files that the Web application references. Any classes in .jar files placed in this directory will be available for the Web application. MAGIK comes with the following libraries.
  • Libraries → contains the supporting JAR files that the Web application references, including “virtual” JAR files that do not physically reside in the Web project, but are associated with Java projects. This folder mirrors the content of the lib folder.
  • doc → contains all the documentation files related to the project.

It is also possible to compile the project as standalone application to be deployed on a local machine. This is obtained by changing the line in WebContent/index.jsp:

sessionSchemas.setWebApp(true);

into

sessionSchemas.setWebApp(false);

Back to Top | Back to Home Page

magik-demo/developer/magik-project.txt · Last modified: 2017/07/06 15:24 (external edit)