Difference between revisions of "ProtegeDevDocsGeneral"

From Protege Wiki
Jump to: navigation, search
(Testing firewalls and web proxies)
(Testing firewalls and web proxies)
Line 28: Line 28:
 
== Testing firewalls and web proxies ==
 
== Testing firewalls and web proxies ==
  
Occasionally we get questions from people who are behind a firewall.  In the past, we have had no way to simulate and test how Protege behaves in their environment and so our answers on the mailing list have been somewhat limited.  But it turns out, as many IT types probably know well, that it is relatively easy to create a virtual network that lives behind an open source firewall, such as the [http://www.endian.com/us endian firewall].  There is an excellent and fun online [http://www.danscourses.com/Network-Security/create-a-virtual-network-with-virtual-routerfirewall.html course] that describes how to setup such a network either using [https://www.virtualbox.org VirtualBox] or [http://www.vmware.com VMware].  If you create a virtual network in this way, the virtual firewall machine will have two virtual network interfaces, the external network interface (the red one) which points to the network of the host machine, and another network interface (the green one) which can be shared by other virtual machines.  The endian firewall can be configured by accessing the web page https://192.168.0.15:10443 on the green network.  I have put a working version of such a firewall [http://protege.stanford.edu/fileshare/tredmond/endian.zip here].
+
Occasionally we get questions from people who are behind a firewall.  In the past, we have had no way to simulate and test how Protege behaves in their environment and so our answers on the mailing list have been somewhat limited.  But with a virtualization software such as vmware or VirtualBox, it is not too difficult to simulate such a network configuration and test how Protege behaves.  In this particular case, I think that it is even possible to work with Mac OS X, which is a generally difficult platform for developers to work with.  In this case the problem is that os x does not run very well in virtual machine.
 +
 
 +
To set up this virtual network, you will need to set up two virtual machines that will be networked together.  The first machine that needs to be set up is the machine on which you are going to test the behavior of Protege.  Once you start playing with Protege and virtual machines, such machines might be useful to collect so that you can easily answer questions about Windows 8, Ubuntu and such.  I won't describe how this machine is set up too much here but it is pretty simple.  Essentially you configure the virtual hardware of the virtual machine, find some installation media and install the operating system to the virtual machine.
 +
 
 +
To set this up you first need to set up a virtual firewall device.  In this example I am working with the [http://www.endian.com/us endian firewall].  If you are working with VirtualBox, then you can take a shortcut and retrieve a working version of such a virtual firewall from [http://protege.stanford.edu/fileshare/tredmond/endian.zip here].  It is also not too difficult to put such a firewall together from scratch.  There is ano excellent and fun online [http://www.danscourses.com/Network-Security/create-a-virtual-network-with-virtual-routerfirewall.html course] that describes how to setup such a network either using [https://www.virtualbox.org VirtualBox] or [http://www.vmware.com VMware].  If you create a virtual network in this way, the virtual firewall machine will have two virtual network interfaces, the external network interface (the red one) which points to the network of the host machine, and another network interface (the green one) which can be shared by other virtual machines.  The endian firewall can be configured by accessing the web page https://192.168.0.15:10443 on the green network.   
  
 
So when I got a question on the web about how to make Protege work with a web proxy, I set about configuring a virtual network protected by a firewall that I had put together using the directions above.  I used a virtual machine on the green network to configure the firewall using the web interface that I accessed using the https://192.168.0.15:10443 web address.  I made two changes to the firewall configuration:
 
So when I got a question on the web about how to make Protege work with a web proxy, I set about configuring a virtual network protected by a firewall that I had put together using the directions above.  I used a virtual machine on the green network to configure the firewall using the web interface that I accessed using the https://192.168.0.15:10443 web address.  I made two changes to the firewall configuration:

Revision as of 10:49, July 12, 2013

General Protege Developer Documentation




Using and Configuring Protege Ant Build Scripts

See Protege Ant Scripts.

Connect to the Protege Subversion repository from Eclipse

If you want to view and/or checkout Protege source code from the Eclipse IDE, the first step is to install the Subclipse plug-in. Subclipse provides support for Subversion from within Eclipse. Installation instructions are available on the Subclipse website.

Once you have successfully installed Subclipse, launch Eclipse and go to the SVN Repository Exploring perspective. Click the "Add SVN Repository" button to bring up the "Add SVN Repository" dialog. In the "Url" text box, type the following URL:

http://smi-protege.stanford.edu/repos/protege/

... and click Finish. Eclipse should look like the following screenshot:

Svn-repos-perspective.jpg

Where is Java 6?

I am working on solving the problem of Apple's missing Java 6.

Testing firewalls and web proxies

Occasionally we get questions from people who are behind a firewall. In the past, we have had no way to simulate and test how Protege behaves in their environment and so our answers on the mailing list have been somewhat limited. But with a virtualization software such as vmware or VirtualBox, it is not too difficult to simulate such a network configuration and test how Protege behaves. In this particular case, I think that it is even possible to work with Mac OS X, which is a generally difficult platform for developers to work with. In this case the problem is that os x does not run very well in virtual machine.

To set up this virtual network, you will need to set up two virtual machines that will be networked together. The first machine that needs to be set up is the machine on which you are going to test the behavior of Protege. Once you start playing with Protege and virtual machines, such machines might be useful to collect so that you can easily answer questions about Windows 8, Ubuntu and such. I won't describe how this machine is set up too much here but it is pretty simple. Essentially you configure the virtual hardware of the virtual machine, find some installation media and install the operating system to the virtual machine.

To set this up you first need to set up a virtual firewall device. In this example I am working with the endian firewall. If you are working with VirtualBox, then you can take a shortcut and retrieve a working version of such a virtual firewall from here. It is also not too difficult to put such a firewall together from scratch. There is ano excellent and fun online course that describes how to setup such a network either using VirtualBox or VMware. If you create a virtual network in this way, the virtual firewall machine will have two virtual network interfaces, the external network interface (the red one) which points to the network of the host machine, and another network interface (the green one) which can be shared by other virtual machines. The endian firewall can be configured by accessing the web page https://192.168.0.15:10443 on the green network.

So when I got a question on the web about how to make Protege work with a web proxy, I set about configuring a virtual network protected by a firewall that I had put together using the directions above. I used a virtual machine on the green network to configure the firewall using the web interface that I accessed using the https://192.168.0.15:10443 web address. I made two changes to the firewall configuration:

  • I went to the firewall tab and then clicked "Outgoing traffic". From there I disabled the two firewall rules that allowed outgoing http and https traffic. As a result of this, machines on the green network are no longer able to access web pages and Protege will not be able to access many ontologies on the web including the proverbial pizza ontology.
  • I went to the Proxy tab and enabled a non-transparent http proxy on port 8080.

At this point it should be possible to test the configuration with a web browser on the green network. By default, the web browser should not be able to access web sites such as google.com because web access is being blocked by the browser. However, if the browser is configured to use the proxy at 192.168.0.15:8080 then web access should resume working because the http proxy on the firewall is providing access to external web pages.

Now you can test Protege because it will behave in the same way. By default Protege will not be able to access the pizza ontology because access is being block by the proxy. But if you tell Java about the proxy configuration as described here, Protege will be able to access the web pages again.