|
|
|
|
|
by jxm262
4191 days ago
|
|
I believe haakon is correct on this one, unless I'm missing something. We just got into an argument at my work over the correct usage of the term "api", but found this post to back up my arguments - http://stackoverflow.com/questions/8772746/difference-betwee... Anyway, I'm not trying to nitpick or keep this side-discussion alive. But I'm genuinely curious how most people classify the difference between api and library. Also on a sidenote, who's downvoting all the comments and the thread itself? This seems like a really cool project and it doesn't look like anyone's posted anything completely irrelevant here. |
|
JMS is an API [1], [2].
ActiveMQ [3] is an implementation of the JMS API.
Commons BeanUtils [4] is a library. The library itself has an API (that's how we interact with the library).
There is a semantic difference between the "JMS API" and the "BeanUtils API".
The former is just an API. It's a standard. It has no implementation. Implementations are all expected to utilize the API.
The latter is a library, but we need to talk to the library - and we do that through its API. However, the API that BeanUtils exposes is not standardized. It's by and large local to BeanUtils.
I hope this helps. Sorry it's so Java centric.
[1] http://en.wikipedia.org/wiki/Java_Message_Service
[2] http://docs.oracle.com/javaee/6/tutorial/doc/bncdr.html
[3] http://activemq.apache.org/
[4] http://commons.apache.org/proper/commons-beanutils/