Database Reference
In-Depth Information
is a low-power REST Engine for Contiki. libCoAP 3 is a C implementation of
CoAP that can be used both on constrained devices (running operating systems
such as Contiki) and on a larger POSIX system.
On the client-side, CoAP application testing can be performed by using the
Copper (Cu) [ 22 ] browser extension. Copper can be used to perform custom
CoAP requests through a web browser interface, by intercepting requests with
the coap: scheme.
The use of Java for IoT applications has received much attention lately after
the release of the Oracle Java Embedded platform [ 23 ]. In fact, Java features
several advantages from a programming perspective, such as flexibility, Object-
oriented approach, and cross-platform portability. Moreover, Java has an estab-
lished developer base, which can develop IoT applications while reusing previous
experience.
4 The mjCoAP Library
In this section, we describe the CoAP implementation provided by mjCoAP [ 24 ].
mjCoAP is a development project that provides a completely open-source Java-
based implementation of the standard CoAP protocol as defined by RFC 7252.
The main objective of the mjCoAP project is to provide a powerful and
easy to use CoAP library for developing both server-side and client-side CoAP-
based IoT applications. For such a reason, the library is at the same time as
lightweight as possible, in order to be included and executed in tiny devices,
and as rich as possible, in order to provide to the programmer suitable APIs for
easily developing powerful server applications (possibly including various CoAP
extensions as defined by other RFCs and Internet-Drafts). Hereafter, the list of
requirements that the mjCoAP was based on is reported:
1. standard compliant - the mjCoAP should provide a CoAP implementation
completely compliant to the current IETF standard RFC and extensions;
2. easy to use - the library should provide a set of APIs that should be as much
intuitive as possible, in order to let the programmer to immediately develop
CoAP based applications without requiring a particular training phase;
3. lightness - the resulting library should be as simple and compact as possible
in order to be easily used and integrated in constrained devices with limited
processing and memory resources; the library should feature a very small
footprint;
4. Java compatibility - it should be compatible with any Java-enabled devices
running either J2SE, J2EE, J2ME/Embedded Java platforms, thus making
it suited to being used on a wide range of devices;
5. rich set of functions - the library should at the same time include a rich set
of APIs in order to allow the programmer to access both high-level and low-
level CoAP functionalities; the idea was to develop a single library that can
be used for developing both very small and simple CoAP applications and
rich and powerful server-side applications;
3 http://libcoap.sourceforge.net .
Search WWH ::




Custom Search