Matthew E. Porter

Greenhorn
+ Follow
since Apr 06, 2005
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Matthew E. Porter

This was just posted to the WebWork mailing list.


Hi all,

EclipseWork 0.0.3 was released... I didn�t change much things in this version, but I work a lot to let the 'code generation' independent of the eclipse API... So, we can start look at a plugin for others IDE�s too..

The application showed in the 'demos' can be downloaded here:
http://sourceforge.net/project/showfiles.php?group_id=98634&package_id=149488

It�s a very simple CRUD application with WW2 . It�s a good start point to learn ww.
Hope it helps,

Ricardo




Hope that helps!


Cheers,
Matthew
WW1
Yes, the book is only on WebWork2. WW2 (aka WebWork) is the present and future of the framework.


Cheers,
Matthew
With regard to the book?


Cheers,
Matthew
WW1
Yes, there is a WebWork 1. This version was originally created by Rickard Oberg and still has an active community with occasional releases. However, I would say that a majority of the focus is on WW2.


Cheers,
Matthew
It's difficult to say what it would take to convert since I have no idea how large your current codebase is. In addition, there are situations where Tiles and Sitemesh are good fit together.


Cheers,
Matthew

What do you think about the availability of those knowledgeable in this technology?


It would be hard for me to guage the current availability of people who are knowledgeable; however, I will found out soon as we are beginning to hire. What I do know is that bringing someone up to speed on WebWork is significantly than another technology, including Struts (yes, there are web developers who have never used Struts before). IMO, the core idea surrounding WebWork is the command pattern applied to POJOs.

In essence what would make a corporation to be favorable disposed to the usage of this framework?


I would look to the features on WebWork as to why a company should use is over another framework. Specifically:

  • Ease of unit testing. Remember, these are simple POJOs with setX() methods for incoming parameters, an execute() method to perform the action, and getX() methods to retrieve the result data
  • Utilize current knowledge base - WW supports JSP, Velocity, and Freemarker.
  • Abstraction from Request/Response and Servlet API. Typically, there is no need to deal with anything other than setters, getters, and Action execute methods.
  • Thread safe. Since each request instantiates a new action, all action execution is thread safe.
  • Action properties are directly accessible as regular Javabeans properties. This includes rich Object types which can have their own properties.
  • Model-Driven Approach. ModelDriven Actions allow a rich Object type or domain object.
  • There is a great book coming out


  • My issue with other web frameworks is that they aren't fully useful until you have an entire homegrown infrastructure to make things easier. With WebWork, I felt like we hit the ground after a minimal time intestment.


    Cheers,
    Matthew
    Also, this plugin will have an IntelliJ version.

    I figured I would stem off this question prior to it being asked.


    Cheers,
    Matthew
    Currently, there is not a plugin for Eclipse. However, it is currently planned for the next release - version 2.2, due out within the next month or two. Work on this has already begun, and there *may* be code in cvs under the Conductor project.

    While I am looking forward to this plugin and the ease of it, I would encourage you not to wait. Dive in and give it a go. The forums are highly active with people always willing to help.


    Cheers,
    Matthew
    WebWork/XWork, along with Sitemesh, Quartz, OSCache, and a few other projects, are part of the larger OpenSymphony project/consortium, similar to Apache or Codehaus. All of the projects are available as open source and license under the OpenSymphony License, which is a modified Apache license. (For clarification, most of the projects will be moving to an Apache License v.2 in the near future).

    Inside of OpenSymphony, there is a project called OSCore which includes a number of general utilities. WebWork and XWork both utilize this small library.

    With regard to a comparison of WebWork and Tapestry, I will attempt to answer this question as best as possible; however, please realize that I am far from a Tapestry expert. My experience is limited to playing to see some of the slick things it can do. Please feel free to correct any mis-statements I make.

    WebWork is designed around the principle of the command pattern. In fact, it is really a wrapper XWork - a generic command-pattern framework. Wait... wait... Wrappers, command pattern, etc. Does one need to know this all in order to write effective WW code? Some may disagree, but I think not. As a WW developer your focus is primarily on the execute() methods of your Actions. This method contains the logic that is responsible for executing your logic and then sending the request to some "view" for output. For example, a basic CRUD Action would look something like this:



    Inside of the view code, parameters are being passed in for user.firstName, user.lastName, etc. These are set directly on the User object provided by the getUser() method above.

    With WebWork, an underlying goal is get away from the intricacies and problems associated with the HTTP/HTML world as fast as possible. The application logic is separated away from the view technology as much as possible. Most WW developers advocate staying away from the request and response objects as much as humanly possible. For example, one of our internal has a few dozen Actions with only 2 tied to the servlet API. This makes it significantly easier to test and develop with the use of mock objects.

    From my brief introduction to Tapestry, it provides a component driven model. With this, you get the framework involved in it - a powerful framework once you overcome the learning curve and the inability to potentially leverage current skill base - JSP, Velocity, Freemarker, etc. Personally, I think tapestry is tied into itself too much and is too heavy.

    Personally, I found the WW framework significantly easier to learn and to teach others. I hope that answers the question or starts you on the right path (WW ). Feel free to ping me with any additional questions.


    Cheers,
    Matthew
    Good morning everyone! Thank you for the welcome and the opportunity to do this. I look forward to answering some questions on WebWork and OpenSymphony in general, especially about the upcoming book and WebWork 2.2.

    Just a brief note about the book. "WebWork Live" is geared for those developers migrating from other web frameworks (including the most popular) and for developers who are used to the pure-Servlet model. I hope to show the benefits of the core features of the framework, including the command pattern, the abstraction of http specific objects (request/response), and the interceptor approach. More importantly, the "sample" application developed for the book will become a real-world application, not just a mere demo project. For more information about the book, please see description on the SourceBeat website and take a look at the Table of Contents.

    The final version should be available sometime in late June/early July. Currently, the book is being written on WebWork 2.1; however, I plan to update the book to 2.2 as soon as possible.


    Cheers,
    Matthew