2017-02-13 6 views
0

Java가 모든 API에 대해 "표준"구현을 제공하지 않는 이유는 무엇입니까? 예를 들어, JPA, XML, Transformers 등! 구현이 있다면Java가 구현 대신 사양을 제공하는 이유

은 더 편리하지 않을까요 사람들이 다음 그것을 좋아하지 않은 경우 그들은 (

+1

회사 전략이 실제로 주제에 맞는지 확실하지 않습니다 ... – AxelH

+0

Java의 요점은 무엇입니까? 크로스 플레이트 폼 (cross-plateform)이되기 위해서는 최상의 솔루션이 무엇인지, 제공되는 인터페이스를 사용하여 모든 플레이트 폼이 자체 API를 작성하게하십시오. – AxelH

+0

많은 경우에 구현을 제공하지만, 구현을 제공 할 상업적인 이유는 없습니다. –

답변

3

일 자신의 사양에 많은 참조 구현을 제공했던 인터페이스를 구현하는 다른 라이브러리에 의존 할 수 예를 들어 글래스 피쉬). 하지만 전부는 아닙니다.

Sun은 하드웨어 회사로서 처음으로 서버를 판매했습니다.

Java는 소프트웨어 판매를위한 것이 아니라 서버 판매를 촉진하기위한 것입니다. 그들은 누군가가 구현하고 경쟁 할 수있는 명세를 작성함으로써 자신의 이익이 더 잘 해결 될 것이라고 생각했습니다.

JPA는 TOPLink와 같은 객체 - 관계형 매핑 구현이 오랜 세월을 거치기 때문에 흥미로운 부분입니다. JMS가 작성되기 전에 메시지 대기열이 존재합니다.

+0

나는 "역사 부분"을 좋아한다. 오라클은 여전히 ​​데이터베이스 하드웨어/소프트웨어 공급 업체입니다. – AxelH

0

여기서 정확히 무엇을 요구하는지 잘 모르겠습니다. 예를 들어 JPA의 참조 구현은 EclipseLink이고, GlassFish는 JAX-WS 및 JAXB에 대한 참조 구현을 제공합니다.

0

표시 방법에 따라 다릅니다. 예를 들어 Jersey는 JAX-RS 구현이지만 Oracle Corporation에서 시작/개발 한 것입니다. https://en.wikipedia.org/wiki/Project_Jersey. 기술적으로 그들은 명세, 인터페이스 세트 등을 개발하고 그 중 하나를 구현합니다.