We had an extremely productive session tonight (more on that later), but I wanted to post up the notes from the whiteboard right away. For those of you who were unable to attend, we decided to go with the ACM Library web app. We decided on some preliminary use case segments and domain model classes. I plan to post some UML very soon. For now, here’s a mind map of what we wrote on the board…

Whiteboard Notes

Welcome

October 4, 2007

This is the inaugural post for the WebSphere Application Server Community Edition 2.0 Open Source Lab, a four-part live workshop based in Chicago.

The User Group

For those just starting out in Java Web Application development, the vast array of technologies and offerings can be daunting. The Chicago Northwest Suburbs WebSphere User Group aims to focus topics such as open source, agile frameworks, community standards, and Java server architecture. The goal is to relate these subject matters to the WebSphere product line and related technology families, providing knowledge and experience for all users regardless of their skill level.  Most meetings are held downtown at the IBM Innovation Center, located at 71 S Wacker Dr on the Sixth Floor of the Hyatt Center. We meet regularly on the third Thursday of every month.

Last Session Recap

In case you are new to the group, or were unable to attend the September meeting, here’s a brief recap. September was the first in a series of four sessions highlighting WAS Community Edition and related IBM Open Source offerings. We were very privileged to be joined by the Association of Computing Machinery at University of Illinois at Chicago (ACM@UIC), who we hope to have join us for the duration of this series. In this first session, we talked about IBM’s general Open Source strategy. During several points of the discussion, we had a very lively dialog about what constituted open source, why it is relevant to businesses, and the value of the long tail. Following the general Open Source talk, we gave a high-level overview of the (then) upcoming release of WAS Community Edition 2.0. Based on the Apache Geronimo project, this fully JEE5-compliant web application server is available as a free download at the following address:

http://www.ibm.com/developerworks/downloads/ws/wasce/

We hope to be able to publish notes from these presentations on this blog very soon (keep an eye out).

The Lab

During the meeting, we also kicked off a four-part lab in which we will create a fully-functional web application using only free IBM and community open source offerings. This blog was set up to track the progress of the lab and share any all the relevant discussions and materials. In our first session, we set up the initial environment which will will be using throughout the project. In the next session, we will define and prototype the domain model using the Java Persistence API (JPA).

The Tools

One of the most fundamental components of this lab will be WAS Community Edition 2.0 and the JEE5 spec, which we will use to prototype and deploy our application. We will be using Apache Derby to spec the initial domain model (since it comes with WAS CE). We will also be using the Eclipse IDE for Java EE Developers (Europa) for development and compilation, and SUSE Linux Enterprise Server as our our operating system.

The Application Concept

Going into the meeting, we planned our lab around a preconceived application. But based on the energy and creativity in the room, we decided to scrap all that and let the attendees decide what we develop. After some brainstorming, we ended up with great five ideas, each from member of the WSUG and each with real-world applications. Each of these ideas is represented in its own blog post (see Project Ideas section). In the comment section of each of these posts, there will be an area for you to vote for your favorite. Assuming we can build it over the course of the next three months, the idea with the most votes is the winner.

===

Cedric

All project ideas suggested in last month’s brainstorm session have been posted. Please feel free to discuss the ideas and make sure vote for your favorite.

===

Cedric

This idea came about as a suggestion from one of the members of ACM@UIC. Within their organization, they have a library of computer books, currently shared by students on the honor code. Many members of ACM donate their books to the library for the benefit of everyone else to read. After a few checkouts, though, these books have a habit of disappearing. This isn’t necessarily intentional, but many members just forget to return the books when they’re done. This application would keep track of the books with a check-in, check out system. It could possibly send email reminders to members when their books are overdue. During brainstorming, we discussed the possibility of consuming a web service from a provider like Amazon to gather book information. We could also potentially provide a mechanism for members to review the books upon check-in.

Reply to the first comment in this post to vote for this idea.

If you have any questions or suggestions about this project idea, start a new top-level comment thread under this post.

This idea was also brought to us by a member of the ACM. In the past couple months, UIC has switched dining service providers from Aramark to Sodexho. The move has received a mixed reaction from many students, as many of the a la carte menu choices are no longer available. Students have planned a petition to protest the changes, and this project seeks to provide an online portal for this petition. Users would provide their email address privately and any comments they have on the issue. The application would verify email addresses and potentially pre-filter them so that only users with a specific domain name (such as uic.edu) are allowed, much like Facebook. This application could be made generic so that others can use it to drive their petitions, as well.

Reply to the first comment in this post to vote for this idea.

If you have any questions or suggestions about this project idea, start a new top-level comment thread under this post.

This idea was proposed as a mechanism to deliver student’s grades via text message (SMS). The use case is that a teacher would be able to use this application as an alternative to email to contact students when their exams or course final grades are determined. One consideration with this project is that, currently, most SMS services charge per message. Thus, we would either have to find a free SMS gateway or build some sort of payment mechanism to handle the messaging costs. We also discussed the possibility of integrating this tool into a student portals such as Blackboard. Of course, due to the sensitivity of grades, security concerns will likely need to be addressed as well.

Reply to the first comment in this post to vote for this idea.

If you have any questions or suggestions about this project idea, start a new top-level comment thread under this post.

This idea is for an application that allows users to establish and maintain a family tree via a web application. Users would be able to provide rich information about each member of the tree, potentially merging multiple trees together when there is a common connection. This functionality might involve sophisticated graph theory and data mesh technology. We would also need to create a nice-looking presentation layer to display the trees (possibly AJAX-based?). Someone also suggested that we provide mechanism for hosting family photos (and videos?). This could be done through linking to existing services such as YouTube or by creating our own media modules within the application itself (though these features would likely be added past the timeline of the next three months).

Reply to the first comment in this post to vote for this idea.

If you have any questions or suggestions about this project idea, start a new top-level comment thread under this post.

The final suggestion from the brainstorming session was to create a Java-based wiki portal utilizing the features of the Java Enterprise Edition spec. While there are a few existing Java-based wiki engines out there, there might be room for another one. One of the frustrations with many Wiki engines is that there are very few modular, AJAX-driven WYSIWYG editors for wiki code. This feature might be worth exploring, but it would require an extensive knowledge of JavaScript and one or multiple AJAX frameworks. It might also be useful to create a “watch” feature which allows users to be notified via email when changes are made to a particular wiki page.

Reply to the first comment in this post to vote for this idea.

If you have any questions or suggestions about this project idea, start a new top-level comment thread under this post.