EPICS Semester-End Report
November 28, 2006
Project Partner A: Tippecanoe County Probation Department
Project Partner B: Home with Hope Community Center
EPICS Program Project Partner A Contact Project Partner B
Kipp Scott, Chief Probation
Pam Brown Officer - Tippecanoe Mr. Darren Dunham
49-40639 (phone) 301 Main Street Ms. Stephanie Chambers
49-40052 (fax) Lafayette, IN 47901 Home With Hope
email@example.com Kscott@county.tippecanoe.in.us 1001 Ferry Street
(765) 423-9290 Lafayette, IN 47901
Advisors Teaching Assistant
James Early Luis Avila
Fall 2006 Team Members
David Broadlick firstname.lastname@example.org
Andrew Conforti email@example.com
Shweta Gupte firstname.lastname@example.org
Tom Karaflos email@example.com
Kyle Kral firstname.lastname@example.org
Robert Meikle email@example.com
John Pavlecich firstname.lastname@example.org
Matt Sandlin email@example.com
Tom Sluis firstname.lastname@example.org
Justin Woo email@example.com
Project Partner Description
The Tippecanoe County Probation Department serves their county courts through
the preparation of pre-sentence investigations and the supervision of felony and
misdemeanor offenders. In the completion of these assignments, the Department provides
protection of the community by identifying continued criminal behavior, reinforcing law
abiding behavior, and providing appropriate services and programs for offenders to
support their rehabilitation.
In addition to the Probation department, the JDS team of fall 2006 also served the
Home with Hope Agency. This agency is a transition facility for people recovering from
substance abuse. Just last year, Home with Hope was still using paper documents to keep
track of their clients. JDS created a MS Access Database for them originally to replace
their paper system with an electronic database. The creation of this Access database and
its front-end became very cumbersome, and Home with Hope in conjunction with the
JDS team decided to scrap this project, and start work on a new C# front-end using a
SQL database. This project’s scheme is very similar to that of JavaJDS. The mission of
both the Probation Department and Home with Hope Agency is to ensure protection of
the community by effectively supervising offenders and providing an opportunity for
Both departments use a database to track and store information. In order to help
these organizations in their efforts to supervise and rehabilitate their clients, the Judicial
Database Systems team’s goals are to design, build and install a database that aims to
reduce the time spent on working with the computer to retrieve data, or correct errors,
and to increase Probation Officer – Client interaction.
Over the years, the JDS team has developed various versions of interface
depending on the suitable technology available during that period. The team started with
a basic MS Access front end system and moved into developing a much more advanced
user interface. Starting in the fall of 2003, JDS began developing and testing a VB.Net
database system called JDS2GO, which would eventually replace the old Access database
that is currently in use by Tippecanoe County Probation Office. It was believed that the
JDS2GO database would give Tippecanoe and Jasper Counties more stability and options
in the future. It was envisioned that the team would continue building and improving the
JDS2GO system. During the previous semester, the JDS team decided that it was no
longer feasible to continue bug-fixing the JDS2GO system. Hence, the team chose to re-
write the entire front-end setup using JAVA technology. The main benefits of using the
JAVA technology were that it could make the front end scalable and modular. Integration
of web services would be easier using the Java system setup. A functional web services
system would allow the probation county officers to access the database from home
through a secure connection, a feature requested by the project partner. This semester the
JDS team has added significant improvements to the existing JavaJDS architecture
including: multiple tabs, parsing through multiple records, inserting new records, editing
existing records, improved web service design, and read/write capability. Last but not
least, JDS has planned on starting a sub project (once JavaJDS is complete) to integrate
two more judicial agencies—Community Correction and Court Services—into the
existing system. Development will continue on these in the semesters to come.
GUI Project Summary
The main objectives of the GUI Project were to finish the remaining tabs which
were not implemented last semester (Picture, Receipts/Fees, Reports), add the ability to
insert/edit/delete records from the JavaJDS interface, modify the way parameters are
passed to the new web service, and add a login box to allow secure access to the JavaJDS
system. The main objectives were divided amongst the GUI project members. John was
given the Reports tab, Shweta was given the Receipts/Fees tab, Tom was given the
Pictures tab, Kyle was given insert/edit/delete and new parameter passing functionality,
and Robert and David worked on the Login box. By dividing the tasks so that each one is
focused on by a specific team member, JDS was able to effectively accomplish a lot of
work this semester.
The Reports tab has been implemented in the main JavaJDS interface and has
basic functionality. The layout of the fields resembles the old JDS Access system for the
Reports tab. The basic creation of a report has been completed, by using HTML to create
a document from the information that is returned from a query. One report has been
completely finished, populating itself from the main profile tab. Future plans for the
Reports tab include the completion of all the different report templates and the expansion
to mail merge.
The Receipts/Fees tab has been implemented in the main JavaJDS interface as
well and also has basic functionality. The fields were created and laid out in comparison
to the old JDS Access system. The ability to navigate through multiple receipts has been
completed, and all of the fees have been integrated on this tab for easy access. Future
plans for this tab include adding the ability to print receipts, locking out all fees from
being edited, and giving addition/subtraction functionality to the tab.
The Picture tab has been implemented in the main JavaJDS interface. We were
able to display a picture that is read from a shared network drive. Research is still being
done on the technique to transfer an image from a SQL database to the Java interface.
Future plans for this tab include finishing the capability to read the image from the SQL
database and giving the user the ability to not transfer the image if they do not want to.
Each tab that consists of multiple records (Drug Screens, Court Case Info,
Reassessments, etc) has been given the ability to insert new records and edit existing
records. Also, the ability to insert new overall clients or edit an existing client’s personal
information has been fully implemented. Deletion has also been added, to delete clients
from the database by setting a deletion flag in the database. The new web service was
completed by the web services team, and JavaJDS now functions properly with this using
the new parameter passing technique for searching, inserting, editing, and deleting.
The login box has been completed that appears at the start of the JavaJDS system.
It allows a user to enter a user name and password, and then authenticate this information
with the web service in order to allow proper access to JavaJDS.
Future plans of the GUI project include: complete the tabs that were started this
semester, add some sort of administrator control panel to JavaJDS, implement a “roll
back” (undo) function, notify users of missed appointments/changes in information, data
validation, and an auto-saving/updating function.
In order to ease transition into next semester, the GUI project plans on making
sure all of their code has been well commented and will update the wiki with useful
Web Services Project Summary
The basic function of the web service end of the project is to take the parameter
list passed to it by the JavaJDS GUI, break it up, build a query, and pass it on to the SQL
Server. The web service then takes the results from the SQL Server and passes them
back to the JavaJDS GUI in the form of a concatenated string.
This semester the web service went an overhaul in how it handled requests from
the JavaJDS GUI. The overhaul’s main objective was to have the web service take in a
list of parameters and build the requested query as opposed to taking an already built
query and passing it to the database. The reason for the change was both do to security
issues and design issues. Having the web service operate this way increases the level of
the systems abstraction. This way the application can be applied to many different
scenarios and increases the level of data independence. Security also played a factor in
the change. This new method allows us to better mask how our data is stored as well as
decreases the chances someone can attack the system with a malicious query.
Along with the change in query building functionality was added for user
authentication. The JavaJDS GUI sends the web service a username and password. The
web service then checks against Active Directory on the domain. A test domain was
established with one domain controller. Test users were added into AD with test groups
and different privileges. First the web service checks to see if the user is a valid user in
the domain. If the user is valid it then checks to see if the user is in the correct group.
Not all computer users on the county network should have access to this system. Only
those in the correct Probation Department group should have access to the system.
If the user successfully logs into the JavaJDS GUI the web service stores that
username and uses it in the connection string, along with a generic password hard coded
into the web service, to connect to the database on the same network. This done for two
reasons; the first is that the state department requires allow database connections to be by
authenticated users. The reason is to keep track of who changes what in the database.
This is all done behind the scenes and the user is unaware of this login process.
Home with Hope Project Summary
The Home with Hope Project this semester gathered a new list of user
requirements for the Home with Hope Software. These are the user requirements
gathered as a result of meetings with Stephanie and Darren:
1. Tabs that HWH has requested
a. Discharge Summary (In which we should be able to provide the client to
enter in on his own)
b. Initial Screening
c. Client Consent to Release of Confidential Information
2. Tabs that need to be edited
a. Receipts tab
b. Legal tab
3. Addition of functions
a. Search feature
b. Fax from Windows
The transition to the next semester for the Home with Hope Project will be
facilitated through addition of an abundant amount of information on the wiki. Next
semester the Home with Hope Team plans on adding more members in order to get
sufficient work done on the project.
Overall Team Summary
The JDS team accomplished a lot of work this semester. The GUI Team has
nearly completed the entire basic functionality of the interface. Some minor tweaks to
the Reports, Receipts/Fees, and Picture tabs will complete the basic GUI interface.
Additional features still need to be added to improve its ease of use and extensive testing
needs to be done to ensure clean operation, but the basic GUI setup has almost been
completed. The Web Services team finished their new web service, experimented with
domains and user logins, and started to work on SSL encryption. The Web Services team
still has some work to do concerning SSL and they also plan on restructuring the
Probation Department Database to a more normalized database.
The GUI Team also worked well with the Web Services Team at integrating the
new web service and parameter passing technique. The web service was completed, and
then the GUI added functionality with the new web service one function at a time starting
with searching and ending with deleting. The new web service has been fully integrated
with the JavaJDS GUI client.
Future plans of the JDS team consist of implementing a better security system for
information being passed from the web service to the client software. SSL needs to be
added for sending information back and forth with the web service and client. Once the
interface has been completed, the JDS team also plans on doing an extensive amount of
testing to ensure proper operation of the system, in hopes that a major version delivery
will occur during the Fall 2007 semester.
David Broadlick (Lab Key Keeper/Web Services Project -
I believe that EPICS has been a very valuable experience for me because it has
given me a wide range of work related skills. It has shown me how to better work
on a team, how to work under more of a real schedule and I have learned more
about things like web services. I believe that working of this specific team has
also given me a lot of good knowledge and habits. Employers like the fact that I
have real work experience and I can tell them it encompasses things such as
security and networking. I think that our CS advisors are great and this team has
been great to work on.
Andrew Conforti (Manger of Intellectual Property/Web Services Project) –
The technical content, and skills gained from the task coordination and team
development were the reasons I joined my EPICS team. I received that experience
and more, but I also did a lot of work for the part of EPICS I was least interested
in, the one credit hour. My team members were all motivated by learning and
experience, but most of the scheduled time in EPICS was spent proving ourselves
accountable for the work we volunteered to do. The design notebook, its purpose
to prove team contribution and leave notes for future stages of our project, is a
terrible example of documents mean for use as a description, map, or review of
the project. It is handwritten, organized by date of work not by type, and very
broad in descriptions and added fluff. It would only be useful to a future member
if they have the exact same task, on the exact project, on the exact schedule. Our
team has replaced the notebooks only functionality to the team in the form of a
Wiki, an online accessible, typed, searchable, editable, organized and non-
redundant version of the notebook. Requiring accountability per member of an
EPICS team is fine if the format is allowed to change to suit the group, rather than
TA's handing out grades from a rubric that does not match the team's content,
only the broad definition of an EPICS team and some analysis of team
cohesiveness. Another issue, who is going to read this? I have yet to see any form
of 360 feedback where the communication goes beyond our teaching assistant.
Shweta Gupte (GUI Project) -
EPICS was an excellent experience. It helped me meet new people in computer
science and interact with them. I also learned how to give effective presentations
and how to start/handle a project in the industry. I learned how to be apart of the
team. The advisors are very knowledgeable and I learned many things and
different CS concepts after taking the course.
Tom Karaflos (Web Services Project Leader) –
This semester I feel that as a team we made significant progress and accomplished
every major goal we set except for the implementation of SSL. This success is
largely due to the fact that we are good at working as part of a team but can work
as individuals equally well. In order to tackle every major issue we had to deal
with this semester, it was necessary to split the work among team members and
assign each one of us a few specific tasks to work on. I feel that this approach was
successful and allowed us to work in an effective and efficient manner. All team
members proved to be responsible, dependable, and willing to work hard to help
the team move forward.
Personally, I learned quite a few things this semester. The research and the work
that I had to perform helped me strengthen my skills in programming and systems
integration. More importantly however, I gained a better understanding of
teamwork, team dynamics, and group communication, all of which are skills that
will certainly prove useful in future jobs.
Kyle Kral (Team Leader/GUI Project Leader) -
This was my second semester in EPICS, and second semester on the JDS team. I
learned a lot about the JavaJDS system last semester and this semester decided to
step up into a leadership position for the team. It has been exciting to take on top
of my normal EPICS duties of working on code and developing ideas the duties of
also promoting teamwork and organizing team meetings. I have not only learned
a lot of technical knowledge of Java/C#/Windows Server 2003, but I have also
learned what it takes to be an effective leader that not only works hard on his
objectives but also assists the general team needs. It has been a great learning
experience this semester, and I will continue my EPICS learning path next
semester. The good leadership techniques I learned this semester I hope to
expand on next semester, and the things that didn’t work so well I will remove
from my repertoire. EPICS is a great opportunity to grow in leadership and
technical expertise, and I am excited to be able to belong to such a great team.
Robert Meikle (Financial Officer/Web Services Project) -
There have been parts of EPICS that I have loved and others that I consider a
waste of my time and of others. The concept of EPICS itself is one that I feel is
one of the best programs Purdue has implemented. I have been proud to tell
others that I am part of the program and on the JDS team. I feel that the
implementation, however, is a bit flawed. Some of the administrative tasks seem
to exist for no reason other than to give the TA a reason to be around. While I
understand the necessity of the notebook, the importance placed on it and the
harshness with which it's graded is extreme. Some of the other, smaller, tasks
required by the TA seem useless as well. Overall, EPICS has been a great
experience for me this semester, but I think it could be refined still.
John Pavlecich (Webmaster/GUI Project) -
I had fun with EPICS this semester. I think that the JDS team provided enough of
a challenge yet never made me feel like I wasn't going to accomplish what I had
set out to do. The other team members were friendly and willing to help at all
times. I think that we got a significant portion of our work done and should be
proud of what we accomplished. EPICS in general was a good experience because
it was like a job but without as much pressure to perform. I would suggest to
anyone doing at least one semester of EPICS before graduating. I'm glad that I
participated on the JDS team this semester.
Matt Sandlin (Team Leader/Web Services Project) -
This semester has really helped me develop more of my leadership and project
management skills. I have a long way to go by far. However, I think that is what
I have learned most during my time in EPICS this semester. Aside from some
technical skills here and there what I really will take from this semester is the
ability to adapt to project changes on the fly with new people. My skills were
really tested and I think for the most part I was able to succeed. There is still a lot
I could have done better, but overall I think this semester was a success.
Tom Sluis (ESAC Representative/Project Partner Liaison/GUI Project) –
It has been an interesting semester working with the JDS team. I worked on
getting the pictures tab implemented. The main part of my job was researching
how this could be accomplished.
Overall, I think that working with the team members has been an easy task. Also,
the team as a whole functions rather well. I have enjoyed working on the JDS
project and look forward to working with the team again.
Justin Woo (Home with Hope Project Leader) -
This semester I have talked a lot to Stephanie and Darren at HWH. One incident
came to mind when I had a good conversation with Stephanie about HWH and her
thoughts. She had graduated with a law degree and had gone into social service.
She talked about why she got into law and also her thoughts on social service and
what improvements can be made. I realized that the most important part of our
work in epics is fulfilling the needs of our requirements and this means
understanding them and where they are coming from. After our talks I have
discovered ways of building a better client tracking database for them.