db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Db-derby Wiki] Update of "WhatIsTheCodeToBeShared" by DavidVanCouvering
Date Tue, 27 Sep 2005 15:55:18 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.

The following page has been changed by DavidVanCouvering:

  I think we need to think what is the code in derby to be shared and between where we can
share code , in this discussion .
  (I also think answer may be there are no code and no part where to be shared in derby .....
Well... this is just my 'maybe' thinking now ... )
+ ----
+ '''DVC:''' 
+ I think part of what you are asking is what exactly is the "unit" of sharing.  Here is how
I would define it: a ''shared component'' is a collection of one or more packages that is
used across multiple subsystems within Derby.  Very loosely, I would define a "subsystem"
as the code contained in one of the top-level source directories, e.g. engine, client, drda,
tools, etc.  
+ If anyone has a better name than "shared component" please let me know.  I would love to
use "module" but since it's already in use in Derby with a very specific definition I don't
think we can use it.
+ Normally such a unit of sharing would be encapsulated in a JAR file.  I would actually like
to suggest that our internal build does create a JAR file for a shared component to make it
very clear what exactly composes the shared component.  When we create a release, the classes
in the shared component JAR file can be merged into derby.jar and derby-client.jar to avoid
increasing the number of JAR files seen by the end user.
+ You are also asking where we can share code, that is, who would be using the shared code.
 A shared component could be used by any top-level subsystem of Derby as defined above.
+ Finally, you are asking "what is the code in Derby to be shared."  Here is a list of potential
shared code, and I suspect the list could grow:
+    * Internationalization
+    * JDBC error messages and SQL States
+    * DRDA networking encode/decode functionality
+    * Security encryption/decryption of network traffic, passwords, etc.
+    * SanityManager and associated sanity classes
+    * ProductVersionHolder and associated info classes
+    * Common functionality between embedded and client JDBC drivers
+ Right now the only shared component that is proposed is all the classes under the package
org.apache.derby.common and its sub-packages.  It is possible in the future we may break out
some of this "common" code into other shared components, for instance org.apache.derby.common.drda
and org.apache.derby.common.jdbc, but that is not currently on the table. 
+ I hope this answers your questions. 
+ David

View raw message