Hi all,

The general pattern is to use,

com.foo --> API
com.foo.spi --> SPI

See http://docs.oracle.com/javaee/7/api/ for more information. -1 for using
"internal", and deviating from the standard pattern.

Thanks,
Senaka.


On Sat, Dec 14, 2013 at 7:38 PM, Afkham Azeez <[email protected]> wrote:

> We need a clear mechanism to indicate what is the API & what is the
> implementation. We also need to clearly indicate what is the SPI, where
> relevant. Not clearly separating these out has resulted in implementation
> details leaking into APIs.
>
>
> On Sat, Dec 14, 2013 at 6:58 PM, Sameera Jayasoma <[email protected]>wrote:
>
>> +1 for not using the the word "api" in the package name.
>>
>> In addition I've seen many place where people have used the word
>> "internal" to include the implementation classes of an API.
>>
>> e.g.
>>
>> org.wso2.carbon.registry.core --> API
>> org.wso2.carbon.registry.core.internal --> Implementation.
>>
>> If we follow a similar approach then we can easily decide which packages
>> to share and which packages to hide from an OSGi bundle.
>>
>> Thanks,
>> Sameera.
>>
>>
>> On Sat, Dec 14, 2013 at 6:00 PM, Prabath Siriwardena <[email protected]>wrote:
>>
>>> Should we use "api" in the API package name ?
>>>
>>> I think we should not..
>>>
>>> Currently we have org.wso2.carbon.user.api, org.wso2.carbon.regostry.api
>>> and possibly many more..
>>>
>>> I think should avoid putting API in the package name - and it should be
>>> quite obvious..
>>>
>>> For example, in Java - in JDBC API [1] - there in no API package name..
>>>
>>> Also - the Java Collections API [2] - and JMS API [3]
>>>
>>> It has been an industry best practice to not to use the word "api" in
>>> package name..
>>>
>>> I think we should follow that too ?
>>>
>>> [1]: http://docs.oracle.com/javase/7/docs/technotes/guides/jdbc/
>>> [2]: http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html
>>> [3]: http://docs.oracle.com/javaee/6/api/javax/jms/package-summary.html
>>>
>>> Thanks & Regards,
>>> Prabath
>>>
>>> Twitter : @prabath
>>> LinkedIn : http://www.linkedin.com/in/prabathsiriwardena
>>>
>>> Mobile : +94 71 809 6732
>>>
>>> http://blog.facilelogin.com
>>> http://blog.api-security.org
>>>
>>
>>
>>
>> --
>> Sameera Jayasoma,
>> Architect,
>>
>> WSO2, Inc. (http://wso2.com)
>> email: [email protected]
>> blog: http://sameera.adahas.org
>> twitter: https://twitter.com/sameerajayasoma
>> flickr: http://www.flickr.com/photos/sameera-jayasoma/collections
>> Mobile: 0094776364456
>>
>> Lean . Enterprise . Middleware
>>
>
>
>
> --
> *Afkham Azeez*
> Director of Architecture; WSO2, Inc.; http://wso2.com
> Member; Apache Software Foundation; http://www.apache.org/
> * <http://www.apache.org/>*
> *email: **[email protected]* <[email protected]>
> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: *
> *http://blog.afkham.org* <http://blog.afkham.org>
> *twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
> * linked-in: **http://lk.linkedin.com/in/afkhamazeez
> <http://lk.linkedin.com/in/afkhamazeez>*
>
>
> *Lean . Enterprise . Middleware*
>



-- 

* <http://us13.wso2con.com/> *

*Senaka Fernando*
Senior Technical Lead; WSO2 Inc.; http://wso2.com



* Member; Apache Software Foundation; http://apache.org
<http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: +1 408
754 7388; ext: 51736*;


*M: +94 77 322 1818 Linked-In: http://linkedin.com/in/senakafernando
<http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to