Project: WOntoVLab Plugin
Author: Daniel Cintra Cugler
E-mail: danielcugler@yahoo.com.br / danielcugler@gmail.com


WOntoVLab Plugin
================

This project provide methods which help users to develop their own virtual laboratory, based on the principles of the WOntoVLab Process.
More informations about the WOntoVLab Process can be accessed in the paper "WOntoVLab: A Virtual Laboratory Authorship Process Based on 
Workflows and Ontologies", published in ICALT 2010 (International Conference on Advanced Learning Technologies).

This project can either be used as a plugin that can be imported in your java project, or as a web service that will provide methods that can be 
accessed through the web:

	TO USE IT AS PLUGIN
	===================
	- To use it as a plugin, export this project as .JAR and add it in your project. The methods that must be used (as plugin mode) are in the 
	org.wontovlab.tool.WPF class.
	If you will use the created plugin in a web project that will run over Apache Tomcat, so, first of all unzip the file 
	"WOntoVLab-Plugin/lib/Unzip it in tomcat shared-lib.zip" in "CATALINA_HOME/shared/lib".

	TO USE IT AS A WEB SERVICE
	==========================
	- To use it as a webservice, export this project as .WAR. Put the war in CATALINA_HOME/webapp. (It is not necessary install AXIS2 on tomcat) 
	After that, the project that will access the web services project must have	"TO" models (Transfer Object Model) classes that 
	are included in the package org.wontovlab.model.TO of this project.	It means that when a project access the web service method that returns 
	some object, as for instance "ExperimentTO", it must have these TO models to cast the received objects.
	The axis2 server used in tests in this project can be downloaded in http://ftp.unicamp.br/pub/apache/ws/axis2/1_4_1/axis2-1.4.1-war.zip
	











Below follows the structure of the Authorship and execution workflows. This information is just to inform the structure of the workflow created.
There is no necessity to create this, once this file is created automatically by the WOntoVLab methods.
The ontologies and workflows used as example in this project, can be accessed in WOntoVLab-Plugin/ontology and WOntoVLab-Plugin/workflow 
respectively.

<?xml version="1.0" encoding="UTF-8"?>
<xpdl:Package xmlns:xpdl="http://www.wfmc.org/2002/XPDL1.0" xmlns="http://www.wfmc.org/2002/XPDL1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Id="MeuPacote_id" Name="MeuPacote_name" xsi:schemaLocation="http://www.wfmc.org/2002/XPDL1.0 http://wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd">
	<xpdl:PackageHeader>
		<xpdl:XPDLVersion>1.0</xpdl:XPDLVersion>
		<xpdl:Vendor>Any description (optional)</xpdl:Vendor>
		<xpdl:Created>Any description (optional)</xpdl:Created>
	</xpdl:PackageHeader>
	
	<xpdl:WorkflowProcesses>
		<xpdl:WorkflowProcess Id="GENERAL PROCESS IDENTIFICATION" Name="PROCESS NAME">
			<xpdl:ProcessHeader>
				<xpdl:Created>Any description (optional)</xpdl:Created>
			</xpdl:ProcessHeader>
			
		<xpdl:Activities>
		<!-- THE ACTIVITIES ARE THE STEPS-->
			<xpdl:Activity Id="STEP IDENTIFICATION">
				<xpdl:Description>STEP DESCRIPTION</xpdl:Description>
				<xpdl:Implementation>
					<xpdl:No/>
				</xpdl:Implementation>
				<xpdl:ExtendedAttributes>
					<!-- BELOW ARE EACH MATERIAL USED IN THE CURRENT STEP. IT MUST BE USED THE NAME "MATERIAL" FOR EACH 
					XML "Name" ATTRIBUTE. THE ATTRIBUTES "Value" MUST CONTAIN THE ONTOLOGY MATERIAL REFERENCE -->
					<xpdl:ExtendedAttribute Name="Material" Value="http://www.owl-ontologies.com/Ontology1251833905.owl#Recipient"/>
					<xpdl:ExtendedAttribute Name="Material" Value="http://www.owl-ontologies.com/Ontology1251833905.owl#Water">
					<!-- WHEN SOME MATERIAL HAS PROPERTIES THAT NEED TO BE FILLED OUT, ALSO USE "xpdl:ExtendedAttribute" AS A
					HIERARCHICAL MATERIAL CHILD -->
						<xpdl:ExtendedAttribute Name="http://www.owl-ontologies.com/Ontology1251833905.owl#quantity" Value="5"/>
					</xpdl:ExtendedAttribute>
					<!-- BELOW IS WRITTEN THE EXTENDED ATTRIBUTE THAT IS RESPONSIBLE FOR REFERENCE THIS STEP WITH A TASK IN THE APPLICATION ONTOLOGY.
					IT WILL BE USED TO MAKE INFERENCES OVER THE STEPS AND FIND ALTERNATIVE STEPS. THIS INFORMATION IS NOT USED IN THE
					EXECUTION WORKFLOW, JUST IN AUTHORSHIP WORKFLOW -->
					<xpdl:ExtendedAttribute Name="ApplicationOntologyReference" Value="http://www.owl-ontologies.com/Ontology1258201595.owl#Coletar_Material_Metodo1"/>
				</xpdl:ExtendedAttributes>
			</xpdl:Activity>
			
			<xpdl:Activity Id="STEP IDENTIFICATION">
				<!-- ANOTHER ACTIVITIES -->
			</xpdl:Activity>
		</xpdl:Activities>
		
		<xpdl:Transitions>
			<xpdl:Transition From="STEP ID SOURCE" Id="TRANSITION ID (ANYONE)" To="STEP ID TARGET">
			<!-- ANOTHER TRANSITIONS -->
		</xpdl:Transition>		
		
		<!-- SETUP THE WORKFLOW'S FIRST AND LAST STEPS. THE ATTRIBUTES "Name" MUST BE "StartEvent" AND "EndEvent" -->
		<xpdl:ExtendedAttributes>
			<xpdl:ExtendedAttribute Name="StartEvent" Value="FIRST STEP ID"/>
			<xpdl:ExtendedAttribute Name="EndEvent" Value="LAST STEP ID"/>
		</xpdl:ExtendedAttributes>		
		

	</xpdl:WorkflowProcesses>

</xpdl:Package>
		

