Can you clarify what you mean by framework as opposed to implementation? Also, if BEA took a copy of struts and added their own methods (which they may have) then I wrote an application using the version of struts packaged with BEA it would not work if I took the same code and tried to run it on say, jboss and the apache struts library, correct? And assuming this is true, how would you recommend using struts in a "vendor neutral" way?
I'm not 100% sure but I believe the Struts framework used in BEA WebLogic and IBM WebSphere is the same codebase as the one available from jakarta.apache.org. I'm basing this assumption on the following arguments: - It would be very risky to be caught with your pants down trying to cause a vendor lock-in using a different Java API than in "standard" Struts - The vendor-specific tools such as WebLogic Workshop are very much reliant on custom javadoc tags a la XDoclet, which further reduces the possible reasons for touching the actual API - It wouldn't help migration towards the vendor's product at all - They would have to open source their changes anyway As I said, I'm just guessing. Would be interested to know for sure, though (which could probably be achieved by going to edocs.bea.com and reading the manual...).
Originally posted by Chris Hogg: Can you clarify what you mean by framework as opposed to implementation?
Shrikant actually said the Struts is a framework and not a specification, which means that Struts is indeed an implementation... (framework ~ APIs for custom code + implementation of common functionality)
Joined: Jan 24, 2004
Thanks Lasse for clarifying the framework,specification,implementation The WebLogic 8.1 Workshop comes bundled with Struts for its pageflow and some propreitory .jpf files (cant remember the name) that it generates. But that's during development time. However at runtime, you can include your own Struts library with the WAR, EAR or exploded deployment since the Struts bundled with BEA is not in its classpath to interfere with your own runtime sandbox version.