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
