Éibhear’s CV — CampusIT

Team Lead, Senior Software Engineer
CampusIT (Dublin, Ireland)
September 2001-August 2002

CampusIT implements a fully integrated management information system for third level educational institutions. This product is known as QuercusPlus. My r�le was to provide developers with mentorship, to lead development on enhancements to the product and to contribute to architectural changes. The main projects from my time there were: Exam entry, the contacts subsystem, interview scheduling and Self Service (enhancement and creation of a security engine). I was also part of the team which assessed and responded to enhancement requests that came from customers and support agents.


QuercusPlus and its peripheral products were designed, developed and deployed using a complete Oracle solution. Some of the data design was done using Oracle Designer. The application functionality was developed using Oracle Forms and Oracle Reports in the front-end and PL/SQL stored functions and procedures at the back-end. The Self Service module was developed using Oracle’s Application Server. The product was deployed using Oracle RDBMS Server Version 8i and Oracle Developer Release 6i (runtime, webforms).


Key Responsibilities:

  • Design and develop software.
  • Contribute to design and development of software.
  • Lead team of around 5 software developers.
  • Contribute to the assessment of new enhancement requests.
  • Investigate new technologies and new directions for the product.
  • Be a point of reference for staff on design and development issues.
  • Respond to calls and queries from customers.

Key Achievements:

  • Designed and led development of security module for Self Service.
  • Designed and developed system for tracking contacts.
  • Designed and developed enhanced security model for QuercusPlus.
  • Designed and developed improved means of managing appointments between college applicants and academic staff.
  • Developed pilot XML interoperability functionality.
  • Developed a system to facilitate the entry of students into external exam systems.
  • Investigated the use of Oracle 9i Application Server for production version of Self Service.
  • Investigated the portability of QuercusPlus from Windows NT to GNU/Linux and other UNIXes.
  • Wrote company PL/SQL coding standards for developing for a web based application.

Skills:
Operating Systems

  • GNU/Linux 2.4; Windows NT 4.

Development Tools

  • T.O.A.D., GNU emacs, Oracle Procedure Builder for PL/SQL development; Oracle Designer 6i, CASEStudio for data modeling and schema creation; Oracle Developer (2000) Release 6.0, 6i; Oracle Server 8.1.x; Oracle Web Application Server and 9i Application Server; Oracle JDeveloper 9i; Apache web server.

Development Languages

  • SQL; PL/SQL; scripting (ksh, bash); cascading style sheets; Java; HTML.

Source Control

  • CVS; Microsoft Visual Source Safe

Other Technologies

  • MySQL database; XML; GnuPG

Projects:

Linux/UNIX compatibility: The Oracle product set is available on a large number of platforms. In the product development area these include Microsoft Windows and GNU/Linux. QuercusPlus is built using Oracle technology on MS Windows NT, but as it uses an exclusively Oracle platform, the potential for deployment on other platforms was present. I investigated whether we would be able to deploy QuercusPlus on GNU/Linux at the request of a potential customer. My investigations showed that this was possible in theory, but inconsistencies between Oracle�s presentation layer implementation on GNU/Linux and on NT prevented us from offering the product on GNU/Linux. In a similar fashion, another customer asked us to investigate QuercusPlus on IBM�s AIX (a flavour of UNIX). I determined that binary incompatibilities between NT and AIX prevented this, unless we provided the customer with our full source code.


Self Service: CampusIT has a demo/beta product called Self Service. A number of customers were using it under controlled conditions. However, prior to release to the general customer base, it was necessary to build a security engine. Due to the manner in which the users were maintained, we had to build an engine from scratch. Based on sessions, I designed the engine to authenticate the user, create a session for that user, to ensure that session wasn’t abused, and to allow the administrator to control the session. Session controls included: Specifying the maximum time duration of a session; specifying the maximum idle time for a session and killing sessions. This project was implemented using Oracle Web Application Server (version 4), Oracle 8i and 9i (RDBMS and PL/SQL) and Oracle Forms. I performed the following for this project:

  • Designed the data model for the security engine.
  • Designed the functional specification.
  • Led the development reviews.
  • Provided assistance to the developer.

Contacts: This is functionality whereby customers could maintain information on people with whom the college would make contact (via phone, letter, e-mail, etc.). The rules were complex, and it was necessary to consider that a staff member can have more than one contact, a contact can have more that one staff member associated with her, and a staff member in one context can be a contact in another. This project was implemented using Oracle Forms 6i (webforms) and Oracle8i (RDBMS and PL/SQL). I performed the following on this project:

  • Gathered requirements with a business analyst and customer agent.
  • Designed the data model and functionality of the solution.
  • Implemented the solution using Oracle Forms and Reports 6i and PL/SQL at the front-end and Oracle8i and PL/SQL at the back-end.

New Security Model: CampusIT had a security model for QuercusPlus that was based on oracle database roles. Oracle Forms could then be instructed to present or hide specific menu items for a user based on that user’s database role. In this manner, QuercusPlus controlled access to particular forms/screens of the product. However, as the product grew in modularity and increased functionality, it was realised that there weren’t enough roles in the Oracle8i system to accommodate the increased number of means to use QuercusPlus. I designed and implemented a new security model. Each user would be assigned access to a specific module or set of modules of the system rather than giving them database roles. This removed the arbitrary limit to the amount of roles to use. This new module was to be deployed in conjunction with the older security model for version 1.6 of the product, so I built in a parameter to allow the user to turn this feature on or off. I implemented the new module using Oracle8i RDBMS, Oracle Forms 6i (webforms) for front-end security administration and PL/SQL for data processing. I performed the following for this project:

  • Proposed the solution to the main problem.
  • Designed the data model.
  • Designed the functionality.
  • Implemented the data model and PL/SQL functionality
  • Developed the administration forms.

Interview Scheduling: During the admissions stage of an academic year, it is sometimes necessary for applicants to attend interviews. Initially, this was a cumbersome and labour intensive process using QuercusPlus. The improvement was designed to allow the user to specify that an applicant is to attend an interview, to schedule it and to specify the type of interview. The system would then use these specifications to draw up a letter calling an applicant to the interview. These letters would be drawn up in a batch mode, removing a requirement for user intervention on the basis of the interview type. This project was implemented using Oracle Forms 6i (webforms) and Oracle Reports 6i and Oracle8i (RDBMS and PL/SQL) technologies. I performed the following on this project:

  • Gathered requirements with customer agent.
  • Led design of the solution (both data model and functionality).
  • Implemented the solution using Oracle Forms and Reports 6i and PL/SQL at the front-end and Oracle8i and PL/SQL at the back-end.

JISC Interoperability: With the increasing market for distance learning and managed learning environments the Joint Informations Systems Committee is sponsoring a project to develop an XML schema to allow MIS (management information systems) products in colleges interoperate with VLEs (virtual learning environments — web based learning) and in reverse. Initially there were pilot projects. These were managed by pilot colleges with input from MIS vendors and VLE vendors. Our project was managed by City College Manchester, with CampusIT as the MIS vendor and BlackBoard as the VLE vendor. The aim of the pilot project was to create an XML file, using the IMS Version 1.01 specification, from the MIS to register students and tutors with the VLE. This project was implemented using Oracle Reports 6i and PL/SQL to generate the XML file. It was intended that the XML file be generated using Oracle Reports 6i. However, I encountered a bug with this just a few hours before the first test of the XML file which required me to redesign and reimplement the functionality using a PL/SQL stored procedure instead. I was able to make that deadline which proved that QuercusPlus managed its data in a manner that was compatible with the IMS specification. After I applied a patch from Oracle, I was able to implemented the XML generation as we originally hoped. I performed the following on this project:

  • Implemented initial pilot product using Oracle Reports 6i and PL/SQL at the front-end and Oracle8i and PL/SQL at the back-end.
  • Attended conferences to contribute to the development of a set of extensions to the XML schema.
  • Contributed to the design of second stage of development.

Exam Entry: This project was to implement a system to allow educational institutions to enter students for exams managed by external bodies. It was necessary to take information on students from the main system, generate a report (either machine readable or human readable) for the award body, generate unique identification numbers, upload machine readable results files. This project was implemented using Oracle Forms 6i (webforms), Oracle Reports 6i, Oracle8i and PL/SQL technology. I performed the following on this project:

  • Gathered requirements with a team of analysts and developers.
  • Contributed to the design of the solution, including the data model.
  • Led the implement of the solution.
  • Liaised with customer and customer agents on bugs and enhancement requests.

Comments are closed.