2017/12 42 p.
The present document evaluates REST, HTTP and JSON for their applicability to design and implement management interfaces. It provides also best practices and guidelines for designing management interfaces with REST, HTTP and JSON.
Since its creation 3GPP has used the following protocols: CMIP GDMO, CORBA IDL and SOAP WSDL.
CMIP was specified by the ITU-T and geared towards the management of telecommunication networks. It was very
powerful but suffered from the lack of tool and product support. CMIP was soon replaced by CORBA. CORBA was
widely used in the IT industry and the telecom world hoped to overcome the CMIP issues with it. But CORBA became
more complex over time, developers complained about expensive CORBA-ORBs and problems with firewalls since
tunnelling through port 80 is not easily feasible. At the same time the World Wide Web and its technologies saw an
impressive rise and CORBA was more and more used. Soon developers hoped for the better by using the technologies
of the World Wide Web, namely HTTP and XML and SOAP was born. SOAP is basically RPC where the operations
are described with XML and HTTP POST is used as transport. In a way this was also a step backwards since CORBA
and CMIP were object oriented approaches with operations being invoked on the objects and not against service
endpoints. That CORBA was not used by 3GPP in this way because so called facade objects (only real CORBA objects
with IOR) were introduced as service endpoints for scalability reasons is another story.
As with CORBA, SOAP required extensive software support on the client and server. XML was soon considered
complicated and running XML instance documents through parsers even more complicated. Developers started to prefer
JSON and HTTP that is readily available on many servers and clients. In 2000 Roy Fielding published in "Architectural Styles and the Design of Network-based Software Architectures" with
REST (REpresentational State Transfer) a new architectural style for designing interfaces with strict focus on resources
and not operations. HTTP and JSON can be used for implementing REST. More and more developers adopt RESTful
HTTP based interfaces.
full Table of Contents for TR 32.866 Word version: 15.0.0