|[wtp-dev] Server API change proposal|
This proposal briefs the limitation we see with current server publish API, and it suggests a solution. We had a short discussion during a conference call on Mar 13th, 2006. (mainly around the ServerBehaviourDelegate). The problem is also related to https://bugs.eclipse.org/bugs/show_bug.cgi?id=123676
We learned the original design was driven by a need of a very simply publish mechanism.
We found the current API is not ideal for BEA needs.
We delay much of publish process until user do an explicit publish action (menu item publish, or Run on Server).
For us, the publish process is better described as a 3 steps process: Assembly (artifact generation), Packaging (we package virtually), and Distribution (calls JSR-88 to distribute the application to the server).
The current SPI was driven by the need of simple publishing. The publish process iterates module by a flattend module list (not application by application.)
Because that most methods can be overridden, we can achieve our goal reasonably well. However, it incurs maintenance risk, because are not really implementing the delegate’s SPI. For example,
Because of the different design goal, we don’t implement the full spec of ServerBehaviourDelegate. While such changes might not be likely, an adopter should not be required to implement their delegate in a way to violate the SPI contract.
We can eliminate the problem by the following changes:
The changes will maintain compatibility for all current adopter, and the original design goal. It enables adopter with different needs to have full control of the publish process.
A brief study of the code indicated that we should able to implement it in a way that it doesn’t affect existing adopter.
A few optional changes can be introduced to ease the work of an adopter.
Senior Software Engineer
Email: tyip@xxxxxxx YIM: thomasleaf Phone: (206) 926-2906 Blog: http://theBigGrid.com/
"The complexity you remove can never fail." Burt Rutan.
_______________________________________________________________________ Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.