| Who We Are |
| ========== |
| |
| |
| Craig R. McClanahan -- Committer |
| --------------------------------- |
| |
| I've been involved with servlet and JSP technology since around 1998. It |
| started out that I needed a way to build some web applications for several |
| projects, and liked Java a lot better than the alternatives. I also liked the |
| price tag of open source software, and started using Apache JServ -- later on, |
| getting involved in the project (like many people, I was whining about the |
| twelve months it took to get from version 0.9 to version 1.0, and my son said |
| "Dad, you know Java -- go help them finish it!" -- so I did :-). |
| |
| For quite a while, I was participating a lot on the JSP-INTEREST and |
| SERVLET-INTEREST mailing lists (http://archives.java.sun.com), especially on |
| the topic of good architectures for web applications. I was disgusted with the |
| hash that many beginners created when they used (or abused) scriptlets in JSP |
| pages, and built (for my former employer) a pretty comprehensive framework that |
| could be considered ("Struts 0.01 without the custom tags"). It was |
| proprietary code, but I was able to describe the concepts, and there started to |
| be a feeling on the lists that this "Model 2" thing was pretty cool -- but |
| there were no good examples to look at, so it was mostly hand waving types of |
| discussions. |
| |
| Over the same time period, I got involved as an individual contributor in the |
| Java Community Process (http://java.sun.com/jcp), and joined the expert group |
| that defined the servlet 2.2 and JSP 1.1 specs. Sun was impressed enough to |
| offer me a job as the technical lead on the team within Sun (currently five |
| other individuals) that works on Tomcat (http://jakarta.apache.org/tomcat) -- |
| the architecture for Catalina, which is the servlet container part of Tomcat |
| 4.0, is also mine -- so I am in the really nice position of getting paid to |
| work on open source software :-). And, participate on the expert groups for |
| Servlet 2.3 and JSP 1.2. And, speak at various conferences, including |
| ApacheCon and JavaOne. And, talk to groups within Sun about using Struts and |
| JSP/servlet technology. And ... (there's some really interesting things being |
| considered for the future). |
| |
| The original design of what came to be Struts has been in my head for a long |
| time, since those interesting mailing list discussions, but the first version |
| of the actual code was written on my laptop on a Memorial Day weekend vacation |
| trip (end of May, 2000) to the Oregon coast -- in between watching the surf and |
| having the house shaken by a windstorm at night. Since then, it has gathered |
| attention and popularity as we approach our first official release, and it |
| delights me to see my "baby" grow up so well :-). Of course, it is no longer |
| just me -- there have been incredible numbers of good ideas from all over, and |
| a peek at the TODO list for 1.1 says that even more good stuff is coming in the |
| future. |
| |
| One motivation factor was Jason Hunter's article about the Problems with JSP |
| < http://www.servlets.com/soapbox/problems-jsp.html >. Jason and I get along |
| fine, even though we have different preferences about presentation |
| technologies. Besides being the author of a very popular book about servlets, |
| with a second edition coming soon, Jason is also the representative for the |
| Apache Software Foundation on the Executive Committe of the Java Community |
| Process. |
| |
| Personally, I live in Portland, Oregon (even though my team at Sun is mostly in |
| Cupertino, CA -- staying here was part of the job deal :-). I like to support |
| Oregon sports teams (Oregon State Beavers, Oregon Ducks, Portland Trailblazers) |
| and work on cool software. |
| |
| I figured out I was getting pretty old when I realized that 2000 was the 25th |
| year I had been paid to work in some aspect of software development :-). I've |
| got a son who is a full-time software developer (primarily in PHP so far, but |
| I'm going to corrupt him with Java eventually :-), and a daughter in college. |
| I'll happily let the other committers speak for themselves. |
| |
| |
| |
| Kevin Duffy -- Developer |
| ------------------------ |
| |
| That's a lie. Craig stole my ideas!! It was me who started Struts..who just |
| took it from under my nose and finished it! |
| |
| nah..just kidding. Craig has inspired me to learn alot about servlets, jsp, |
| and so on. So much so that I started my own "lite-weight" framework that is |
| very similar to Struts, only no where near as robust. Mine simply has a |
| controller servlet, which like Struts keeps a hashtable of action class |
| instances, maps them via a .xml config file (yet another Craig idea). There |
| are three differences between my small framework and Struts .5 (not sure |
| about the 1.0 version..haven't followed it since .5). |
| |
| 1) Auto-population of beans works with nested objects and does not require a |
| "tagging" interface..therefore any javabean can be used (which is really not |
| a big deal if you design them properly anyways). |
| |
| 2) Action classes implement "executeCommandXXX(ActionContext context)" |
| methods which return a String that the ControllerServlet uses to lookup the |
| mapping then forwards to the JSP page mapped to that String. The |
| ControllerServlet uses reflection with a "command" attribute to call the |
| method in the action class. Therefore, if a request comes in with an |
| attribute "command=Search", the action class method executeCommandSearch() |
| is called. |
| |
| 3) I added an XSL ControllerServlet which replaces the last part of the |
| ControllerServlet (extends it). Instead of forwarding to the JSP page, it |
| reads in the JSP output (via URLConnection), then applies an XSL (also |
| mapped in the xml config file for now), rendering HTML output. This is all |
| done automatically and the only difference is that JSP pages would create |
| dynamic XML and then an XSL would be written. |
| |
| I have to thank Craig for most of what I am able to do with the MVC stuff, |
| and a few others on the list who have contributed. I created my small |
| framework because Struts had a big following and there were a few things I |
| didn't need, as well as would liked to have seen changed. To change them |
| would mean the many thousands of people using it could also be affected. I |
| probably should have just modified the source ;) |
| |
| Anyways..Craig is the man! He has been a big inspiration to myself (thanks |
| Craig). I only wish I could work on his team!! Hey..and I live 20 minutes |
| from Cupertino too! ;) (hint hint) |
| |
| |
| |
| Ted Husted -- Committer |
| ----------------------- |
| |
| My primary interest in Struts is to put it to work writing lots of |
| real-life Web applications:-) To do that effectively means having good |
| documentation and code samples at my fingertips, so that's been my focus |
| with the Struts product so far. |
| |
| I've been writing software for hire since 1984, but only recently jumped |
| on the Java bandwagon. My initial interest was with electronic |
| publishing, and started by converting my various print projects to |
| electronic media. The "Information Superhighway" was still the private |
| stomping ground of Universities and government agencies then. The rest |
| of us had to make do with diskettes and bulletin boards. |
| |
| Between 1985 and 1994, I created and marketed several software products |
| for publishing on disk, the most popular being "Dart" and "Iris". In |
| 1992, Dart was awarded the Digital Quill for software excellence, |
| featured in PC Magazine (February 1992), and bundled with McGraw Hill's |
| bookset,"Paperless Publishing" by Colin Hayes (McGraw Hill 1994). Dart |
| won a second Digital Quill in 1993. Several titles that used Iris for a |
| publishing system have also won awards and been widely distributed, |
| including "Hermitville USA." I was also fortunate to find kindred souls |
| on CompuServe and America Online, who helped me pioneer resources areas |
| in 1993 and 1994 for the nascent electronic publishing industry. |
| |
| I finally cut loose on the Internet in 1995, launching Epub News, an |
| electronic newspage about electronic publishing. After taking on several |
| private contracts, I opened the Husted dot Com Website (www.husted.com) |
| in 1996. I've drifted away from electronic books, but have noticed that |
| several products are now making their way into the consumer mainstream |
| -- as usual, I was twenty minutes into the future:-) |
| |
| My favorite all-time project is the Hitchhikers Guide to Science |
| Fiction. This was one of my earliest hypertext projects (it started as a |
| print-book idea), and I had a lot of fun bringing it forward onto the |
| Web. (Now, if I only had time to bring it current and dress it up!) |
| |
| My favorite all-time client is is WXXI Public Broadcasting Council, |
| where serving as the station's Webmaster. WXXI provides public |
| broadcasting services for television and radio, and we are working to do |
| the same online. Along with providing companion Web sites for every WXXI |
| production, we stream both our AM and FM signals, in both Real and |
| QuickTime, with online archives in the works. It's a long journey, but |
| we've taken the first steps. I'm responsible for most of the regular |
| updates to the site, and much of the overall layout and design. We're |
| grateful to have won the PBS award for best Web site in our market for |
| two years running. |
| |
| Our most ambitious projects at WXXI have been Spring Marketplace 2000 |
| and the NY Election Finder. For Spring Marketplace, we put our annual |
| auction fully online for simultaneous telephone and Website bidding. On |
| NY Election, we offered not only the usual election-finder application, |
| but collected voter registration records from around the state, so |
| people could also check their registration status and polling place. I |
| developed the Web-enabled database applications for both projects. |
| |
| Currently, I'm expanding the WXXI online auction software into a |
| complete package for hosting online auctions as fund-raisers; this is |
| to be an open-source project called Gavel, and will, of course, rely |
| heavily on Struts. |
| |
| ### |