You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by jc...@apache.org on 2005/08/23 06:17:20 UTC

svn commit: r239334 - /jakarta/commons/sandbox/proxy/trunk/PROPOSAL.html

Author: jcarman
Date: Mon Aug 22 21:17:18 2005
New Revision: 239334

URL: http://svn.apache.org/viewcvs?rev=239334&view=rev
Log:
Adding proposal document

Added:
    jakarta/commons/sandbox/proxy/trunk/PROPOSAL.html

Added: jakarta/commons/sandbox/proxy/trunk/PROPOSAL.html
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/PROPOSAL.html?rev=239334&view=auto
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/PROPOSAL.html (added)
+++ jakarta/commons/sandbox/proxy/trunk/PROPOSAL.html Mon Aug 22 21:17:18 2005
@@ -0,0 +1,96 @@
+<!--
+   Copyright 2001-2004 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+<html>
+<head>
+    <title>Proposal for Proxy Package</title>
+</head>
+
+<body bgcolor="white">
+
+<div align="center">
+    <h1>Proposal for <em>Proxy</em> Package</h1>
+</div>
+
+<h3>(0) Rationale</h3>
+
+<p>
+    Many projects require the use of proxies in order to support such features as method interception/decoration, lazy
+    loading, dependency injection, etc. There are many different techniques for creating proxy objects which delegate to
+    other objects (JDK proxies, CGLIB, and Javassist to name a few). Using these technologies can prove to be quite
+    daunting. This package seeks to abstract away the difficult code required to implement proxies effectively and
+    efficiently so that developers can concentrate on implementing the core implementations and method interceptors.
+</p>
+
+<h3>(1) Scope of the Package</h3>
+
+<p>
+    The package shall create and maintain a suite of utility classes for creating proxy objects written in the Java
+    language
+    to be distributed under the ASF license. The package will include many different "object provider" implementations.
+    The package will also serve as a repository for many useful MethodInterceptor (AOP Alliance API) implementations.
+    The
+    package will provide multiple "proxy factory" implementations, supporting different proxying technologies (JDK
+    proxies,
+    CGLIB, Javassist).
+</p>
+
+<h3>(1.5) Interaction With Other Packages</h3>
+
+<p>
+    <em>Proxy</em> relies on some JDK5-specific features, such as generics and read/write locks
+    (java.util.concurrent.locks package). It utilizes the JUnit unit testing framework for developing and executing unit tests, but this is of
+    interest only to developers of the component. The original will include support for the Hessian and Burlap remoting
+    protocols.  The original codebase will also include support for CGLIB and Javassist-base proxies. Method interception will be
+    done using the AOP Alliance API.
+</p>
+
+<p>No external configuration files are utilized.</p>
+
+<h3>(2) Initial Source of the Package</h3>
+
+<p>
+    The initial codebase will be contributed by James Carman based on code in the Syringe (http://syringe.dev.java.net)
+    project and can be distributed under the Apache license.
+</p>
+
+<p>The proposed package name for the new component is
+    <code>org.apache.commons.proxy</code>.</p>
+
+
+<h3>(3) Required Jakarta-Commons Resources</h3>
+
+<ul>
+    <li>SVN Repository - New directory <code>proxy</code> in the
+        <code>jakarta-commons</code> SVN repository. All initial committers
+        are already committers on <code>jakarta-commons</code>, so no
+        additional user setups are required.</li>
+    <li>Mailing List - Discussions will take place on the general
+        <em>jakarta-commons@jakarta.apache.org</em> mailing list. To help
+        list subscribers identify messages of interest, it is suggested that
+        the message subject of messages about this component be prefixed with
+        [proxy].</li>
+    <li>Bugzilla - New component "Proxy" under the "Commons" product
+        category, with appropriate version identifiers as needed.</li>
+    <li>Jyve FAQ - New category "commons-proxy" (when available). </li>
+</ul>
+
+
+<h3>(4) Initial Committers</h3>
+<ul>
+    <li>James Carman</li>
+</ul>
+</body>
+</html>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org