What Does It Mean When Technology is a Standard?

coding-standardsstandards

I started learning Java EE 7 and I am frequently coming across this term "standard", and I don't understand what it means.

So, for example, here is a quotation from this book:

Contrary to SOAP and the WS-* stack, which rely on W3C standards, REST
has no standard and is just a style of architecture with design
principles. REST applications rely heavily on many other standards:
HTTP, URI, URL…

I have some idea of what that might mean, but I'm not sure.

The best explanation that I have come across is the definition from here.

Best Answer

The term "standards" in programming often refers to a technology/document that is governed by a group or community. The members of that group often share common invested goals, are active users of that technology and want to ensure the technology continues.

There are many "things" in programming that have a community that governs them. These members can range from programmers to corporate representation (i.e. Apple, Microsoft, IBM, etc. etc.)

W3C is a very large group that work together to define many standards.

Here is a list of members.

http://www.w3.org/Consortium/Member/List

REST is an example of a technology, by way of it's popularity is used by many people, but there is no group or community governing it. Therefore, there is no one place to point a finger and say "that's how the standards say it should be done".

Companies like IBM, Microsoft and others have published documentation of how to implement REST. One could say there is a "common way" of implementing REST. You can pick an authoritative source that describes an implementation of REST, and claim to follow that reference. The use of authoritative sources is one way we've been dealing with the problems of compatibility in web browsers.

Related Topic