On May 15, 2008, at 11:06 AM, Sahoo wrote:
> Why are APIs that are exposed by connector-runtime not part of
> connector module?
right we should only move these APIs to an API module if we expect
different implementations (so we avoid repackaging them each time) or
plugability (feature may or may not be present, we still need the
interfaces even if the feature is absent).
Jerome
>
>
> BTW, why is this discussion not happening on dev alias?
>
> Thanks,
> Sahoo
>
> Marina Vatkina wrote:
>> CC-ing Sahoo.
>>
>> -marina
>>
>> Jagadish Prasath Ramu wrote:
>>> Hi,
>>> Based on the conventions for api's in GlassFIsh (attached mail from
>>> Jerome to dev_at_GF), I am planning to move the connector-runtime
>>> module
>>> exposed api from glassfish-ee-api to internal-ee-api.
>>>
>>> As of today, if a module is referring to glassfish-ee-api, it is
>>> only
>>> due to connector-runtime dependency. So, changing the dependency
>>> from
>>> glassfish-ee-api to internal-ee-api should be fine.
>>>
>>> I am planning to move these files early next week, I shall take
>>> care of
>>> updating all the necessary modules' dependencies.
>>>
>>> Please let me know if you have any queries by this week.
>>>
>>> I will be making necessary changes for the following modules.
>>>
>>> jpa-connector
>>> amx-impl
>>> container-common
>>> javaee-core
>>> jta
>>> ejb-container
>>> realm
>>>
>>> Thanks,
>>> -Jagadish
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> Subject:
>>> Shared modules
>>> From:
>>> Jerome Dochez <Jerome.Dochez_at_Sun.COM>
>>> Date:
>>> Fri, 07 Mar 2008 16:59:41 -0800
>>> To:
>>> dev_at_glassfish.dev.java.net
>>>
>>>
>>> Hi All
>>>
>>> Some have raised questions on how to package shared or public APIs
>>> in GlassFish V3. although there are no miracle recipe, there are a
>>> few modules that can be considered when packaging shared or public
>>> (including semi-public) classes.
>>> + common-util
>>>
>>> You should use this module when you need to package classes that
>>> do not depend on anything but JDK classes and that can be useful
>>> to other modules. Things like logging, common io routines and
>>> utility classes are a good fit for this module
>>>
>>> + common-ee-util
>>>
>>> This is a package for utility classes that are meant to be shared
>>> by Java EE containers, this module imports the Java EE APIs and
>>> can container common services like injection utilities, common
>>> security code etc.
>>>
>>> + internal-api
>>>
>>> these are semi public APIs of glassfish, meaning interfaces and
>>> contracts we used to implement GlassFish but are not meant to be
>>> the official extension point for external tools and plugins or
>>> extra containers. It's a free world so people can use it at their
>>> own risk but you don't have to provide backward compatibility to
>>> classes packaged in this module. Those internal APIs are meant to
>>> be integration points between the different part of the
>>> application, yet not part of the public extensibility APIs.
>>>
>>> + internal-ee-api
>>>
>>> same as internal-api but using depending on the Java EE APis. this
>>> module is empty for now, I will start moving some classes there
>>> soon.
>>>
>>> + glassfish-api
>>>
>>> These are the official blessed extensibility APIs internal/
>>> external folks can use to extend GlassFish, it contains contracts
>>> definition like Startup, AdminCommand and other hooks for
>>> container providers. None of these APIs are Java EE dependent as
>>> these APIs ship in nucleus which is the smallest glassfish
>>> distribution with no Java EE dependencies.
>>>
>>> + glassfish-ee-api
>>>
>>> Same as above but dependent on the JavaEE API, gives access to
>>> things like the InjectionManager, NamingManager for Java EE
>>> derived container access to GlassFish services.
>>>
>>> Let me know if you have any questions/issues.
>>>
>>> Thanks, Jerome
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>
>>