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. ###