2 REQUIREMENTS OF
WEB-APIS IN INTERNET OF
THINGS
Currently, the existing Web-APIs have a set of basic
characteristics that are used to carry out the
communication of devices with the Internet or for
needs of these motes due to its limitations. These
fundamental features are described in this article in
order to enumerate some of the concepts that can be
used to serve as basis for self configuration
mechanism, such as the form of communication with
Rest (Zeng, 2011), storage and standardization
communication through the use of markup data
languages (XML, YAML, JSON) (Xively 2013).
2.1 Open-source
Although this characteristic is not a specific
functionality that help directly the devices, it was
regarded as important for that in the future people
will work on top of existing Web-APIs and make
your code to be improved and become Customer
self-configurable.
This term refers to the so-called free software,
where to be held a consolidated distribution, is also
distributed its source code for that can be freely
used, modified and shared by its users.
2.2 Rest
The REST-based architecture is considered "the true
architecture of the Web" (Zeng, 2011), it is based on
the concept that everything is modeled as resource
using the HTTP URI. Thus, customers can identify
the resources they need through the URI,
manipulating them through traditional HTTP
commands like: PUT, GET, POST and DELETE.
The PUT and DELETE.
Moreover, it has self-descriptive messages, i.e,
the resources are free to make their own
representations of data format. Obviously, end-
systems must agree with this representation so that
communication can take place properly. In this way,
it is possible to use HTML, XML, text, PDF and
images as the format of data to be sent.
Another important feature is that REST works
with stateless requests, treating each request
independently, and this may not require a server to
store session information or the status as is each of
the multiple acquisitions. However, statefull
interactions can be supported in REST through the
use of hyperlinks, so the states of the resources can
be transferred by means of URIs for cookies or
hidden fields (Zeng, 2011).
2.3 Standardization
As the APIs and the devices are usually developed in
different languages, it must be pre-established a
format of data communication between the receiver
and transmitter and how they will exchange
messages to inform how the data is separated and
what the content within it represent. Consistently, to
earn this type of representation the IoT sought
markup languages known data, such as XML, JSON,
YAML or CSV.
These languages are very portable because it
does not depend on hardware or software platforms
to work and any databases can communicate with
each other through them. By having the ability to
self define data, as well as having the characteristics
described above, these languages are used for
interoperable networks, allowing objects of different
characteristics understand each other.
2.4 Centralized Architecture
Due to the limitations of the devices many of the
activities more robust need to be sent to a server that
has capacity to perform a greater load of processing
and storage. Therefore currently the Web-APIs, tend
to be centered on a server that is able perform this
type of activity. Thus, a network IoT using these
Web-APIs tend to use the REST to communicate
with a server that is receiving data and managing the
devices in the network.
2.5 Security
When the term security is mentioned, the first word
illustrated is identification. In IoT, recognition of
each device with the use of traditional IPs. Despite
this, only a network identification is not sufficient to
ensure the safety, it is necessary a profile control to
inform if this equipment has access to the service
that it is requesting. As in IoT these services are
provided by APIs, the controls of inflows are usually
made by API-Keys.
Within the API-Key are encapsulated three types
of permissions that operate in a hierarchical manner:
object key (the general key of the API), object
permissions and the permissions of features of
objects, the latter being optional. The general
permissions objects keys are created for your
applications to have access to APIs. Each
application may ask how many objects keys you
AnSelf-configurationArchitectureforWeb-APIofInternetofThings
329