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.
| 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 |
|
- SQL
- Installation of one of the following RDBMS
- Insert some data (rows) in a table of the database
- JDBC
- Create a java program which sends a query to the database, retrieves the results and prints them on the screen
|
| |
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 |