Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
  1. Home
  2. Projects
  3. Eclipse IoT
  4. Eclipse Leshan™
  5. Leshan
  6. Creation Review

Eclipse Leshan™ Creation Review

Type: 
Creation
State: 
Successful
End Date of the Review Period: 

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Wednesday, December 17, 2014
Project: 
Eclipse Leshan™

Creation Review

Proposal: 

Leshan

Parent Project: 
Eclipse IoT
Background: 

Most IoT (Internet of Things) developers these days are building their solutions with an approach where the Internet connectivity is taken as granted. That is, they focus very much on the application level without taking into consideration the network infrastructure. In the context of the Internet of Things, we’re talking about very constrained computing devices, that very often do not offer any sort of human-machine interface for operating purposes besides the fact that they are – hopefully – connected to the Internet. In order to manage and operate large fleets of such devices, and be able to track their overall “health” (battery level, quality of the cellular signal, etc) or upgrade them over the air, specific protocols as well as server-side infrastructure must be deployed.

 

The Open Mobile Alliance (OMA) is a standards body which develops open standards for the mobile phone industry like Multimedia Messaging Service (MMS), OMA Data Synchronization (OMA-DS) and OMA Device Management (OMA-DM).

OMA Lightweight M2M is a protocol for device and service management. The main purpose of this technology is to address service and management needs for constrained IoT devices, over a number of transports and bearers. 

 

A device which is LWM2M-ready can be managed remotely from a LWM2M server, and therefore be e.g. rebooted, upgraded, etc.

Scope: 

The Eclipse Leshan project provides a complete infrastructure for building IoT solutions using OMA LWM2M and the Java programming language:

 

  • A device management server library.

  • A device management client library.

  • A device management server with a web user interface.

  • A bootstrapping server (server in charge of the initial security configuration (keying) of the devices).
Description: 

Leshan is an OMA Lightweight M2M (LWM2M) implementation in Java.

Eclipse Leshan relies on the Eclipse IoT Californium project for the CoAP and DTLS implementation. It is tested against the LWM2M C cliented provided by the Eclipse IoT Wakaama project.

Why Here?: 

Eclipse Leshan is a natural fit for the Eclipse IoT ecosystem since it builds on top of existing standard IoT protocols and implementations that already live at Eclipse. Moreover, in order to facilitate the adoption of open standards like LWM2M, it is important to leverage the IP policies of the Eclipse Foundation to provide open source implementations that have clean IP and can safely be used in commercial products.

Initial Contribution: 

The initial code contribution consists of several Java-based components built using Apache Maven:

  • leshan-core is a Java library implementing a Lightweight M2M server. It uses Eclipse Californium for implementing the CoAP device API and the DTLS security layer.

  • leshan-standalone is a standalone Java server that uses “leshan-core” for running a Lightweight M2M server, with a web user interface.

  • The Web UI is built using Angular JS and Twitter Bootstrap. A REST API is exposed, using Eclipse Jetty and Google GSon, and used by the web UI for communicating with the server.

A Dockerfile is also provided in order to facilitate the deployment of Leshan in Docker containers.

Legal Issues: 

Whole code is under a BSD 2 clause license.

The main dependencies are:

Compile and runtime

ch.ethz.inf.vs:californium:jar:0.18.7final

ch.ethz.inf.vs:elementconnector:jar:0.2final

org.slf4j:slf4japi:jar:1.7.7:compile

commonscodec:commonscodec:jar:1.9

commonsio:commonsio:jar:2.4

commonslang:commonslang:jar:2.6

org.eclipse.jetty:jettywebapp:jar:9.1.4.v20140401

org.eclipse.jetty:jettyxml:jar:9.1.4.v20140401

org.eclipse.jetty:jettyutil:jar:9.1.4.v20140401

org.eclipse.jetty:jettyservlet:jar:9.1.4.v20140401

org.eclipse.jetty:jettysecurity:jar:9.1.4.v20140401

org.eclipse.jetty:jettyserver:jar:9.1.4.v20140401

javax.servlet:javax.servletapi:jar:3.1.0

org.eclipse.jetty:jettyhttp:jar:9.1.4.v20140401

org.eclipse.jetty:jettyio:jar:9.1.4.v20140401

org.eclipse.jetty:jettycontinuation:jar:9.1.4.v20140401

com.google.code.gson:gson:jar:2.2.4

 

Runtime only

org.apache.logging.log4j:log4jcore:jar:2.0rc1:runtime

org.apache.logging.log4j:log4japi:jar:2.0rc1:runtime

org.apache.logging.log4j:log4jslf4jimpl:jar:2.0rc1

 

Tests only

junit:junit:jar:4.11

org.hamcrest:hamcrestcore:jar:1.3

 

Web user interface

Angular JS 1.2.1

Bootstrap 3.1.1

Licenses: 
Eclipse Distribution License 1.0 (BSD)
Eclipse Public License 1.0
Project Scheduling: 

The plan is to implement the whole OMA Lightweight M2M specification incrementally.

The main addition to the features already available on GitHub would be the implementation of the device-initiated bootstrap specification.

 

First 0.2 release expected in Q4 of 2014.

 

People
Project Leads: 
Julien Vermillard
Committers: 
Julien Vermillard
Manuel Sangoï
Simon Bernard
Kai Hudalla
J.F. Schloman
Interested Parties: 

Sierra Wireless

Bosch Software Innovations

Zebra Technologies Corporation, Zatar

Intel

Vodafone

Mentors: 
Benjamin Cabé
  • Sign in to post comments.
  • Sign in to post comments.
Eclipse Leshan™

Project Links

  • Website

Related Projects

Related Projects:

  • Eclipse IoT
    • Eclipse Californium™ (Cf) CoAP Framework

Project Hierarchy:

  • Eclipse IoT
  • Eclipse Leshan™

Tags

Technology Types
  • Internet of Things
Build Technologies
  • Jenkins
  • Maven
Other Tags
  • LWM2M
  • java
  • IoT Standards

Eclipse Foundation

  • About Us
  • Contact Us
  • Donate
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top