softwarelover
softwarelover

Reputation: 1019

Why are Java EE API's themselves implemented by makers of application servers?

Am I seeing a fundamental difference between how Java Standard API and Java EE API's are implemented?

Java Standard API is up here, implemented by Oracle, for anyone to use in Java programming: http://docs.oracle.com/javase/7/docs/api

But why is it that makers (i.e. IBM, RedHat, Oracle) of application servers (i.e. JBoss, WebLogic, WebSphere, GlassFish, WildFly) come up with different implementations of the same Java EE API?

Example-1: RESTEasy is an implementation of JAX-RS available with JBoss

Example-2: HornetQ is an implementation of JMS available with WildFly

I guess I should ask, "What does it even mean to have this EE API page on the Oracle website since every vendor has its own implementation? Is the link below just for a show?" https://docs.oracle.com/javaee/7/api/

Upvotes: 2

Views: 83

Answers (1)

Andy Guibert
Andy Guibert

Reputation: 42936

Your initial assumption is not entirely correct.

There are in fact several implementations of Java SE besides the most widely used oracle distribution. The biggest ones are OpenJDK and IBM's JDK.

So, the Java SE API's have a spec just like Java EE does, each with different implementations. The oracle api links you posted are merely requirements for the interfaces, but there still needs to be an implementation for these APIs whether it's Java SE or Java EE.

Upvotes: 2

Related Questions