Laboratorium - Summer Semester 2006

   

Chen Jin

Miao Li

Integration of Legacy Systems into Policy Engines

This workplan correspond to the Summer Semester Research program where students choose a topic and they should investigate on it. It is composed of 6/7 milestones where they have to learn about the state of the art in the topic selected achieving some goals and they have to present a final work at the end.

Existing policy engines rely on the information contained in their knowledge bases. That means that all the information should be moved or copied into such knowledge base. However, institutions and users may have already other repositories in which the data is stored (Relational Database Management Systems - RDBMS - or even files in the file system). Copying or moving such a data may suppose high costs and bring some management probles (replicated information). In these cases, integration between the policy engine and such systems would be desirable.

The chosen topic consist on allowing the integration of a policy engine and different legacy systems. In particular, both a RDBMS and file extraction will be implemented. Given an already agreed interface (including RDF representation of arguments), classes for the correct handling of requests and resultsets should be created, as well as the appropriate wrappers for accessing RDBMS and files.

The main goals of this work are:

  • Introduction to Semantic Web
  • Object oriented programming (Java)
  • Legacy Systems Integration
  • SQL and regular expressions

WORKPLAN

27/04/2006-04/05/2006 - Introduction
 

Basic papers

  Optional:
  Useful links:
  1st milestone: 04/05/2006 - Report of articles read
   
04/05/2006-11/05/2006 - Creation of Helper Classes
  The interface defined in "Integrating Legacy Systems in Protune" specify the structure of the arguments (WSDL file here). In order to encapsulate the complex types of the interface, two classes must be created (ActionRequest and ActionResult). This way, if the interface changes, not all the wrappers have also to be changed. See the class diagram here and the skeleton of the classes to be used here.
  • Create the classes Result, ResultSet, ActionRequest, ActionResult, Action Request
  • Generate JUnit classes in order to test their functionality. The Junit classes should be in the package test.org.policy.action and the name of the classes should be the same as the class to be tested + "Test" (e.g. ActionRequestTest).
  2th milestone: 11/05/2006 - Code developed and JUnit tests
 
11/05/2006-18/05/2006 - DB, SQL and JDBC
  Meeting: 18/05/2006 17:00
   
18/05/2006-25/05/2006 - Development of the JDBC wrapper
 
  • Implemen the JDBCWrapper class accepting the function "query"
  • Generate JUnit tests to test the functionality
  • Write a documentation of which kind of queries the wrapper supports (including some examples)
  3th milestone: 25/05/2006 - JDBCWrapper code, Junit tests and documentation
  Meeting: 29/05/2006 17:00
 
25/05/2006-01/06/2006 - Regular Expressions

 

 

  • Regular Expressions
  • Accessing Files
  • Create a java program that checks the content of a file against several regular expressions. If the regular expression matches the content of the file, then the match (possibly more than one) is returned. Otherwise, a message stating that the regular expression was not found should be printed on screen.
   
01/06/2006-08/06/2006 - Development of the RegExp wrapper
 
  • Implement the RegExpWrapper class accepting the function "regExpInFile"
    • regExpInFile(regular_expression, file)
    • E.g. "regExpInFile("t*.java", "/home/user/docs/javalist.txt")
  • Generate JUnit tests to test the functionality
  • Write a documentation of which kind of queries the wrapper supports (including some examples)
  4th milestone: 08/06/2006 - RegExpWrapper code, Junit tests and documentation
   
08/06/2006-15/06/2006 - LDAP
 
  • Lightweight Directory Access Protocol
  • Install LDAP (list of possible vendors here)
    • Possibly OpenLDAP or Apache Directory Server are the best
  • Insert some date in the LDAP server
  • LDAP from Java
  • Create a java program which sends a query to the LDAP server, retrieves the results and prints them on the screen
  Meeting: 19/06/2006 17:00
   
15/06/2006-22/06/2006 - Development of the LDAPWrapper
 
  • Implement the LDAPWrapper class accepting the function "search"
  • Generate JUnit tests to test the functionality
  • Write a documentation of which kind of queries the wrapper supports (including some examples)
  5th milestone: 22/06/2006 - LDAPWrapper code, Junit tests and documentation
  Meeting: 22/06/2006 17:00
   
22/06/2006-29/06/2006 - Final Documentation (I)
 
  • Write the documentation of the program
  • Include a manual with an explanation of the work done and installation steps
  • Include javadoc documents
   
29/06/2006-06/07/2006 - Final Documentation (& II)
 
  • Finish the documentation of the program
  • Finish the manual with an explanation of the work done and installation steps
  • Finish the javadoc documents
  6th milestone: 06/07/2006 - Final Documentation
  Meeting: 06/07/2006 17:00
 

Last update on 02-May-2006 0:07 AM Home