+1. We also first need to differentiate the APIs from SPIs.. Thanks & regards, -Prabath
On Sat, Dec 14, 2013 at 9:44 PM, Sagara Gunathunga <[email protected]> wrote: > > > > On Sat, Dec 14, 2013 at 8:10 AM, Senaka Fernando <[email protected]> wrote: > >> Hi all, >> >> The general pattern is to use, >> >> com.foo --> API >> com.foo.spi --> SPI >> > > +1 I have seen bunch of Apache project also use above convention. If we > can follow the same pattern it's easy to external people to deal with our > code base. > > Thanks ! > >> >> 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 <%2B1%20408%20754%207388>; ext: 51736*; >> >> >> *M: +94 77 322 1818 <%2B94%2077%20322%201818> 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 >> >> > > > -- > Sagara Gunathunga > > Senior Technical Lead; WSO2, Inc.; http://wso2.com > V.P Apache Web Services; http://ws.apache.org/ > Linkedin; http://www.linkedin.com/in/ssagara > Blog ; http://ssagara.blogspot.com > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- 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
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
