[Jakarta-tapestry Wiki] Update of "SuccessStories" by AtifFaridi

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Jakarta-tapestry Wiki] Update of "SuccessStories" by AtifFaridi

Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jakarta-tapestry Wiki" for change notification.

The following page has been changed by AtifFaridi:
http://wiki.apache.org/jakarta-tapestry/SuccessStories

------------------------------------------------------------------------------
 
  Thanks Howard!
 
+
+
+ == US International Trade Commission EDIS Search Application ==
+
+ I had known of Tapestry for over a year when I found myself in the lead position on the ground floor of a project for the USITC. The two sub-projects were
+  * A back-end content feed system for moving public documents to a Web server and indexing them along with their meta-data in a search engine
+  * A public Web front-end for the above-mentioned search engine
+
+ Initially, the assumption was that another experienced developer would handle the back-end system alone and I would work with a junior (I don't like such titles, but it's easier than typing ''less-experienced'') developer to create the Web app. It is worth mentioning that this would have been a mentoring effort for me as the junior developer had '''''absolutely no professional Java experience'''''.
+
+ I had initially dismissed Tapestry due to the apparent steep learning curve. However, after an unsuccessful attempt at using [http://www.opensymphony.com/webwork/ WebWork], I decided to experiment with Tapestry by asking the junior developer to go through Kent Tong's excellent ''[http://www2.cpttm.org.mo/cyberlab/softdev/tapestry/tutorial1/GettingStartedWithTapestry.html Getting Started with Tapestry]'' Tutorial. Not only did he get through the tutorial just fine, but I made some encouraging observations:
+
+  1. '''He was having fun.''' I frequently caught this otherwise highly-composed imperturbable man exclaiming "Yes!" upon a successful mouse-click.
+  2. '''He took personal initiative in his work.''' He figured out how to set up a Tapestry environment in Eclipse using Spindle and began development of our production app without a break after working on the tutorial for only 2 or 3 days.
+  3. '''He became resourceful.''' After purchasing [http://www.amazon.com/exec/obidos/tg/detail/-/1932394117/103-7792846-6517465?v=glance Tapestry in Action], he actually created his own custom component and got on with form field validation with little to no assistance.
+  4. '''He cleanly integrated with the search engine.''' We exposed the search engine's API calls as [http://www.springframework.org/ Spring] beans. The distinction between the controller and model could not be clearer. I cannot even think of how the line between these could be blurred.
+
+ As it happened, in less than 3 weeks the back-end task turned out to be a great deal more complex and demanding than initially anticipated. So, I had to focus almost 100% of my time on it and the junior developer was tasked with making a solo attempt at creating the front end. He did it. The project has been a resounding success.
+
+ Tapestry components just work - no questions asked. I disagree with the statements alluding to a steep and time-consuming learning curve. Tapestry is markedly different from [http://struts.apache.org/ Struts] or [http://www.opensymphony.com/webwork/ WebWork], which are perhaps more intuitive as they resemble extensions of the application-level protocol (HTTP) of the TCP stack. However, we have found great advantage in using a framework which is divorced from this paradigm. We did not have to come up with any unexpected or unnatural extensions, and a single consistent development pattern facilitated productivity and developer communication.
+
+ It would be unfair to credit our success exclusively to Tapestry and leave the brilliance, talent and work ethic of our junior developer unrecognized. However, I sincerely believe that the choice of Tapestry was catalytic in activating these attributes. This is invaluable to someone like me, to whom software development is a people-centric endeavor.
+
+ Our client is sold on Tapestry as well, and it will be a key tool in our organization's efforts going forward. You may have a look at our application [http://searchapp.usitc.gov/edis3 here].
+
+ Regards,
+
+ Atif Faridi
+

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]