Release 3.0.2 of the Tapestry web application framework has been released. This is the final bug fix release for Tapestry 3.0, addressing some minor problems and enhancements that could not wait for Tapestry 3.1.
Tapestry is a comprehensive, component-based web application framework, written in Java, and available under the Apache Software License. It features minimal Java coding, a high degree of reuse, and overall attention to developer productivity - especially on large development teams.
Tapestry is the web framework which powers TheServerSide itself.
-
Tapestry 3.0.2 Released (20 messages)
- Posted by: Howard Lewis Ship
- Posted on: February 15 2005 11:07 EST
Threaded Messages (20)
- Tapestry 3.0.2 Released by Burek Jogurt on February 16 2005 10:39 EST
- Tapestry 3.0.2 Released by bad mASH on February 16 2005 12:39 EST
-
Tapestry and Struts by Howard Lewis Ship on February 16 2005 12:43 EST
-
Tapestry and Struts by Jason Carreira on February 16 2005 02:10 EST
- Tapestry and Struts by David Montoya on February 18 2005 07:41 EST
-
Tapestry and Struts by Jason Carreira on February 16 2005 02:10 EST
-
Tapestry and Struts by Howard Lewis Ship on February 16 2005 12:43 EST
- Tapestry 3.1? by Howard Lewis Ship on February 16 2005 12:43 EST
- Not Invented Here Syndrome ? by bad mASH on February 17 2005 09:57 EST
-
Not Invented Here Syndrome ? by Howard Lewis Ship on February 17 2005 11:01 EST
-
Not Invented Here Syndrome ? by Serge Boulay on February 17 2005 04:04 EST
- Not Invented Here Syndrome ? by Howard Lewis Ship on February 18 2005 09:31 EST
-
Not Invented Here Syndrome ? by Serge Boulay on February 17 2005 04:04 EST
-
Not Invented Here Syndrome ? by Howard Lewis Ship on February 17 2005 11:01 EST
- Tapestry 3.0.2 Released by bad mASH on February 16 2005 12:39 EST
- Tapestry 3.0.2 Released by Dean Jones on February 16 2005 11:41 EST
- Tapestry 3.0.2 Released by Burek Jogurt on February 16 2005 11:57 EST
- Tapestry 3.0.2 Released by Howard Lewis Ship on February 16 2005 12:07 EST
- Would Hivemind be a good canditate for StrutsShale? by John Reynolds on February 16 2005 01:36 EST
- Tapestry Question about throughput by jason williams on February 16 2005 22:28 EST
- Tapestry Question about throughput by Bill Holloway on February 17 2005 00:19 EST
-
Tapestry Question about throughput by Howard Lewis Ship on February 17 2005 10:08 EST
- Tapestry Question about throughput by jason williams on February 17 2005 08:58 EST
-
Tapestry Question about throughput by Howard Lewis Ship on February 17 2005 10:08 EST
- Tapestry Question about throughput by Bill Holloway on February 17 2005 00:19 EST
- Same technology in TSS.NET? by Diego Dagum on February 19 2005 14:44 EST
- Same technology in TSS.NET? by Howard Lewis Ship on February 20 2005 08:44 EST
-
Tapestry 3.0.2 Released[ Go to top ]
- Posted by: Burek Jogurt
- Posted on: February 16 2005 10:39 EST
- in response to Howard Lewis Ship
Congratulations. Good work.
Now for the more interesting one: when will 3.1 alpha be available? I'm dreading the hivemind colonization of Tapestry and I want to see how all of that will look. Hopefully, all my fears are just a result of an incomplete grasp of hivemind and wild imagination, and I will not need to install an XML parser in my parietal lobe :). -
Tapestry 3.0.2 Released[ Go to top ]
- Posted by: bad mASH
- Posted on: February 16 2005 12:39 EST
- in response to Burek Jogurt
Provide an inter-operability path with Struts -- Please!!!!
I would love to dump Struts (who wouldn't ?) but there is now way I can recode hundreds of actions and commands to move to a new technology. -
Tapestry and Struts[ Go to top ]
- Posted by: Howard Lewis Ship
- Posted on: February 16 2005 12:43 EST
- in response to bad mASH
With "friendly URLs" built in, and some other stuff coming, it will be very easy to have Struts (WebWork, Servlets, etc.) and Tapestry interoperate. -
Tapestry and Struts[ Go to top ]
- Posted by: Jason Carreira
- Posted on: February 16 2005 14:10 EST
- in response to Howard Lewis Ship
With "friendly URLs" built in, and some other stuff coming, it will be very easy to have Struts (WebWork, Servlets, etc.) and Tapestry interoperate.
Can you elaborate on how this might work? Are you just talking link-level interoperation? -
Tapestry and Struts[ Go to top ]
- Posted by: David Montoya
- Posted on: February 18 2005 19:41 EST
- in response to Jason Carreira
I am also interested in how this might work and in what version. We are currently considering integrating JSF or Tapestry into our struts environment. I just went through Kent Tong's excellent tapestry tutorial http://www2.cpttm.org.mo/cyberlab/softdev/tapestry/ and a myfaces tutorial. Tapestry would be a better fit for us. -
Tapestry 3.1?[ Go to top ]
- Posted by: Howard Lewis Ship
- Posted on: February 16 2005 12:43 EST
- in response to Burek Jogurt
We're currently running a vote to release 3.1-alpha-1. -
Not Invented Here Syndrome ?[ Go to top ]
- Posted by: bad mASH
- Posted on: February 17 2005 09:57 EST
- in response to Burek Jogurt
We have tried and trusted Spring and Pico. But instead of re-using that , why do we have to learn a brand new one ? -
Not Invented Here Syndrome ?[ Go to top ]
- Posted by: Howard Lewis Ship
- Posted on: February 17 2005 11:01 EST
- in response to bad mASH
We have tried and trusted Spring and Pico. But instead of re-using that , why do we have to learn a brand new one ?
You don't have to learn anything. If you don't want to know about HiveMind, you don't ever see it.
Spring and PicoContainer don't contain the features necessary to support Tapestry. -
Not Invented Here Syndrome ?[ Go to top ]
- Posted by: Serge Boulay
- Posted on: February 17 2005 16:04 EST
- in response to Howard Lewis Ship
will spring users still be able to leverage the full power of newer versions of tapestry without hivemind ? -
Not Invented Here Syndrome ?[ Go to top ]
- Posted by: Howard Lewis Ship
- Posted on: February 18 2005 21:31 EST
- in response to Serge Boulay
will spring users still be able to leverage the full power of newer versions of tapestry without hivemind ?
This is getting to be somewhat frustrating. These are frameworks not application servers. There's nothing that keeps you from using both Spring and HiveMind, or every lightweight container you can lay your hands on. That's open source --- freedom of choice, to mix and match to your heart's content. -
Tapestry 3.0.2 Released[ Go to top ]
- Posted by: Dean Jones
- Posted on: February 16 2005 11:41 EST
- in response to Howard Lewis Ship
I have been using Tapestry with Spring, and for 3.1 it will be integrated with HiveMind? Now I have two IOC containers and concepts to deal with ??? -
Tapestry 3.0.2 Released[ Go to top ]
- Posted by: Burek Jogurt
- Posted on: February 16 2005 11:57 EST
- in response to Dean Jones
I think hivemind can easily wrap spring services and you will be able to continue doing what you have so far. however, i do think some familiarity with hivemind will be necessary. -
Tapestry 3.0.2 Released[ Go to top ]
- Posted by: Howard Lewis Ship
- Posted on: February 16 2005 12:07 EST
- in response to Dean Jones
I have been using Tapestry with Spring, and for 3.1 it will be integrated with HiveMind? Now I have two IOC containers and concepts to deal with ???
Yep, but the containers are lightweight and invisible.
In 3.1, if you want to inject a HiveMind service into your page, you add the following to your page spec:
<inject property="myProperty" object="service:mymodule.MyService"/>
If you want to inject a Spring bean instead:
<inject property="myProperty" object="spring:MyBean"/>
I'm very excited about this; it's cleaner and more efficient than using OGNL and <property-specification> initial-value. -
Would Hivemind be a good canditate for StrutsShale?[ Go to top ]
- Posted by: John Reynolds
- Posted on: February 16 2005 13:36 EST
- in response to Howard Lewis Ship
StrutsShale is looking for a good IoC framework... Perhaps they ought to consider Hivemind since you have already demonstrated its value in Tapestry 3.1. -
Tapestry Question about throughput[ Go to top ]
- Posted by: jason williams
- Posted on: February 16 2005 22:28 EST
- in response to Howard Lewis Ship
I'd ever coded a simple program via tapestry, yet be not very familiar with it. And it reminded me of one question about it's performance. Hope someone could answer it, i.e., "Does Tapestry tag would slow down it's performance?". I had this question basically resulted from the tag lib that other framework used, e.g., webwork, may parse the tag, first, then rendering the html tag. Yet it yields a problem of displaying jsp based page, of which only few seconds the page would be shown out in comparison to html tag only page (w/t tag lib plugged).
Or How to avoid this problem?
I appreciate any suggestion.
Sincerely.
Arsene -
Tapestry Question about throughput[ Go to top ]
- Posted by: Bill Holloway
- Posted on: February 17 2005 00:19 EST
- in response to jason williams
Arsene,
Tapestry pages are compiled to bytecode, like servelets. Then they are cached in an object pool (like db connection pooling). When a user requests a tapestry page, an available instance of that page is drawn from the pool and any persistent data for the requesting user is applied to the instance; then the page is sent to the browser.
The resulting performance curves wind up being close to servlet performance curves.
Bill -
Tapestry Question about throughput[ Go to top ]
- Posted by: Howard Lewis Ship
- Posted on: February 17 2005 10:08 EST
- in response to Bill Holloway
Arsene,Tapestry pages are compiled to bytecode ...
Not exactly true. Tapestry does quite a bit of bytecode enhancement (writing ugly but necessary code for you at runtime). This exapnds greatly in 3.1.
Whereas a JSP compiled to a servlet is quite monolithic, Tapestry uses a goodly number of small objects (components, etc.). Rendering is a tree walk.
The bad news is that this is more memory and CPU intensive than a pure servlet solution. The good news is in two parts: first, it largely doesn't matter what's going on in the presentation teir; its contribution to the overall request processing time is negligable compared to any backend database access.
Second: Because Tapestry is based on pooled instances of pages (and the entire heirarchy of objects contained within the page), there's lots of room for optimizations of how and when data moves around. For example, most servlet containers spend a lotof work moving JSP tag objects into and out of pools, re-initializing them each time.
Tapestry components, roughly the equivalent of a JSP tag, are instantiated and configured once; once so constructed, they work quite efficiently. They aren't pooled directly, just as part of the overall page. Tapestry gains over JSPs in this way, because the granularity of pooling is at a much higher and coarser level, so less effort is expended managing pooled objects.
Tapestry 3.1 adds a number of improved optimizations that cuts down on the use of reflection for moving data around. This is good, because Tapestry applications can spend up to 50% of their time inside OGNL, doing reflective access. Less of that is more performance, and OGNL 3.0, due soon, is supposed to be much, much faster as well.
The biggest bottleneck I'm aware of in Tapestry is the conversion ofcharacters from internal Unicode to the (default) utf-8 encoding. -
Tapestry Question about throughput[ Go to top ]
- Posted by: jason williams
- Posted on: February 17 2005 20:58 EST
- in response to Howard Lewis Ship
Is there any report/ benchmark test about this comparison?
Or Is there any article, like "best practice", talking about tapestry? (For I'd ever searched several website, such as on.java as well as javaworld.com; seemly there ain't much stuff talking about tapestry).
I appreciate all your help, sincerely.
Arsene -
Same technology in TSS.NET?[ Go to top ]
- Posted by: Diego Dagum
- Posted on: February 19 2005 14:44 EST
- in response to Howard Lewis Ship
Very interesting and useful, Howard!!
I'm curious, TSS.NET was built upon same technology? -
Same technology in TSS.NET?[ Go to top ]
- Posted by: Howard Lewis Ship
- Posted on: February 20 2005 08:44 EST
- in response to Diego Dagum
Very interesting and useful, Howard!!I'm curious, TSS.NET was built upon same technology?
I think if you do a view source on a TSS.net page, you'll be able to draw your own conclusions.