You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by Apache Wiki <wi...@apache.org> on 2005/09/27 17:55:18 UTC
[Db-derby Wiki] Update of "WhatIsTheCodeToBeShared" by DavidVanCouvering
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:
http://wiki.apache.org/db-derby/WhatIsTheCodeToBeShared
------------------------------------------------------------------------------
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
+