Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
@leomrlima#FastIoTJ1
Using Java and Standards for Fast IoT
Development [CON5513]
Leonardo Lima
@leomrlima
http://v2com.mobi
@leomrlima#FastIoTJ1
About me
Leonardo Lima
•Computer engineer, server & embedded SW developer
•From São Paulo, Brasil, no...
@leomrlima#FastIoTJ1
Agenda
Aspects of IoT development
Business & Technical Concerns (or Functional & Non
Functional Requi...
@leomrlima#FastIoTJ1
ASPECTS OF IOT DEVELOPMENT
Oh so many things to consider!
@leomrlima#FastIoTJ1
IoT Development…
Is not just connecting things
Has a lot of constraints
Has many horizontal aspects a...
@leomrlima#FastIoTJ1
On connecting things
The buzz of IoT is connecting things
Does everything needs to be connected?
The ...
@leomrlima#FastIoTJ1
It’s here and there
We can talk about these concerns both in embedded
and cloud development
We’re goi...
@leomrlima#FastIoTJ1
So many constraints!
Hardware constraints
Software constraints
Protocol constraints
Real life conside...
@leomrlima#FastIoTJ1
Aspects deep and wide
Business considerations
• What process are we replacing, enhancing or
creating?...
@leomrlima#FastIoTJ1
BUSINESS & TECHNICAL CONCERNS (OR
FUNCTIONAL & NON FUNCTIONAL REQUIREMENTS)
What do you need, command...
@leomrlima#FastIoTJ1
It starts very simple
”Just need this value in this system”
”Can’t you just connect a cable and read ...
@leomrlima#FastIoTJ1
But it gets complicated
Explicit concerns
And ones they don’t even think about
@leomrlima#FastIoTJ1
It gets down to
• Safety
• Security, Trust & Privacy
• Resilience
• Integrability, Interoperability a...
@leomrlima#FastIoTJ1
WHY JAVA?
would you like a cup of java with that, sir?
@leomrlima#FastIoTJ1
Java…
…is a programming language and computing platform
first released by Sun Microsystems in 1995.
…...
@leomrlima#FastIoTJ1
USING STANDARDS – PICK YOUR FLAVOR!
Oh so many choices!
@leomrlima#FastIoTJ1
Standards address common issues
Every major concern in our bucket list has at least one
standard to a...
@leomrlima#FastIoTJ1
Data Management
• Query, Publish and Subscribe
• Storage, Persistence and Retrieval
• Integration
• D...
@leomrlima#FastIoTJ1
Security, Trust & Privacy
• Endpoint security
• Communication security between the endpoints
• Data d...
@leomrlima#FastIoTJ1
Connectivity
• Communication Transport
• Get data there
• Connectivity Framework
• How data is struct...
@leomrlima#FastIoTJ1
Integrability, Interoperability and
Composability
• Integrability
• Interoperability
• Composability
@leomrlima#FastIoTJ1
Device Management
• Day-to-day operations (who’s not online and why)
• Firmware & configuration manag...
@leomrlima#FastIoTJ1
IRL (IN REAL LIFE)
What would you choose?
@leomrlima#FastIoTJ1
A Smart Freezer
• ”Simple” business concept
• Monitor temperature to avoid product loss
• ”Since we a...
@leomrlima#FastIoTJ1
Addressing the concerns – Connectivity &
Security
• Use JCA (Java Crytography Architecture) for secur...
@leomrlima#FastIoTJ1
Addressing the concerns – Data Integration
• Java has plenty of standards for data parsing and
repres...
@leomrlima#FastIoTJ1
Addressing the concerns – Integrability
• Extensive Java EE standards for REST and SOAP
WebServices
•...
@leomrlima#FastIoTJ1
It gets more complicated...
• When thinking of expansion, it does get more complicated
as there are m...
@leomrlima#FastIoTJ1
Going the open source route…
• iot.Eclipse.org has a ever increasing (20+) suite of tools
and framewo...
@leomrlima#FastIoTJ1
… Or closed systems
• Major IT vendors have something to offer in IoT now
• For device development
• ...
@leomrlima#FastIoTJ1
Major IoT offerings
• Oracle IoT CS
• IBM BlueMix
• GE Predix
• Microsoft Azure IoT
• Amazon AWS IoT
...
@leomrlima#FastIoTJ1
Q & A
@leomrlima#FastIoTJ1
In the end…
• There are plenty of options to match plenty of requirements
• Each project is a project...
@leomrlima#FastIoTJ1
Thanks!
Upcoming SlideShare
Loading in …5
×

Using Java and Standards for Fast IoT Development [CON5513]

10,684 views

Published on

How fast can you deploy a new IoT solution? If you have a business challenge to solve, there are so many aspects to be considered that an IoT project seems to take forever: security, deployment, device management, connectivity, sensors, and more.... The promise of “write once, run anywhere" and 20 years of a vivid ecosystem have empowered Java to be the language for successful IoT stories. In this session, check out how to use Java and many standards (for communication, security, deployment, and coding) to develop a “smart freezer,” address many business concerns, and keep the project on schedule.

Published in: Technology
  • Be the first to comment

Using Java and Standards for Fast IoT Development [CON5513]

  1. 1. @leomrlima#FastIoTJ1 Using Java and Standards for Fast IoT Development [CON5513] Leonardo Lima @leomrlima http://v2com.mobi
  2. 2. @leomrlima#FastIoTJ1 About me Leonardo Lima •Computer engineer, server & embedded SW developer •From São Paulo, Brasil, now in Austin, TX •CTO at •Spec Lead – JSR363 •V2COM’s Representative at JCP Executive Committee [www.linkedin.com/in/leomrlima]
  3. 3. @leomrlima#FastIoTJ1 Agenda Aspects of IoT development Business & Technical Concerns (or Functional & Non Functional Requirements) Why Java? Using Standards – pick your flavor! IRL Q&A
  4. 4. @leomrlima#FastIoTJ1 ASPECTS OF IOT DEVELOPMENT Oh so many things to consider!
  5. 5. @leomrlima#FastIoTJ1 IoT Development… Is not just connecting things Has a lot of constraints Has many horizontal aspects and as many vertical aspects
  6. 6. @leomrlima#FastIoTJ1 On connecting things The buzz of IoT is connecting things Does everything needs to be connected? The implications of connectivity
  7. 7. @leomrlima#FastIoTJ1 It’s here and there We can talk about these concerns both in embedded and cloud development We’re going to focus more on embedded
  8. 8. @leomrlima#FastIoTJ1 So many constraints! Hardware constraints Software constraints Protocol constraints Real life considerations
  9. 9. @leomrlima#FastIoTJ1 Aspects deep and wide Business considerations • What process are we replacing, enhancing or creating? • Who’s being impacted, equipment and people wise? Technical considerations • Even very different verticals have the same technical requirements – and this lets us leverage standards
  10. 10. @leomrlima#FastIoTJ1 BUSINESS & TECHNICAL CONCERNS (OR FUNCTIONAL & NON FUNCTIONAL REQUIREMENTS) What do you need, commander?
  11. 11. @leomrlima#FastIoTJ1 It starts very simple ”Just need this value in this system” ”Can’t you just connect a cable and read it?” ”Just put a chip in there and it’ll work” ”But it’s just a modem”
  12. 12. @leomrlima#FastIoTJ1 But it gets complicated Explicit concerns And ones they don’t even think about
  13. 13. @leomrlima#FastIoTJ1 It gets down to • Safety • Security, Trust & Privacy • Resilience • Integrability, Interoperability and Composability • Connectivity • Data Management • Analytics and Advanced Data Processing • Device Management
  14. 14. @leomrlima#FastIoTJ1 WHY JAVA? would you like a cup of java with that, sir?
  15. 15. @leomrlima#FastIoTJ1 Java… …is a programming language and computing platform first released by Sun Microsystems in 1995. …has a vibrant ecosystem where open source plays a major role …virtual machine allows true ”write once, compile once and run anywhere” for embedded and server environments
  16. 16. @leomrlima#FastIoTJ1 USING STANDARDS – PICK YOUR FLAVOR! Oh so many choices!
  17. 17. @leomrlima#FastIoTJ1 Standards address common issues Every major concern in our bucket list has at least one standard to address it But sometimes too many standards do get in the way Standards and open source go very well together
  18. 18. @leomrlima#FastIoTJ1 Data Management • Query, Publish and Subscribe • Storage, Persistence and Retrieval • Integration • Description and Presence • Rights Management
  19. 19. @leomrlima#FastIoTJ1 Security, Trust & Privacy • Endpoint security • Communication security between the endpoints • Data distribution and secure storage • Management and monitoring security of both the endpoints and the communication mechanism
  20. 20. @leomrlima#FastIoTJ1 Connectivity • Communication Transport • Get data there • Connectivity Framework • How data is structured and used
  21. 21. @leomrlima#FastIoTJ1 Integrability, Interoperability and Composability • Integrability • Interoperability • Composability
  22. 22. @leomrlima#FastIoTJ1 Device Management • Day-to-day operations (who’s not online and why) • Firmware & configuration management • Billing • Non-functional aspects
  23. 23. @leomrlima#FastIoTJ1 IRL (IN REAL LIFE) What would you choose?
  24. 24. @leomrlima#FastIoTJ1 A Smart Freezer • ”Simple” business concept • Monitor temperature to avoid product loss • ”Since we are doing this, why not…” • Monitor stock level • Check if others are using our freezer for something else • Server and embedded development
  25. 25. @leomrlima#FastIoTJ1 Addressing the concerns – Connectivity & Security • Use JCA (Java Crytography Architecture) for security concerns • Or, alternatively BouncyCastle framework • JavaCard/PKCS11 helps with authentication and cryptography • Standard protocols for IoT communication • HTTPS (TLS/SSL) if you can afford • MQTT • CoAP
  26. 26. @leomrlima#FastIoTJ1 Addressing the concerns – Data Integration • Java has plenty of standards for data parsing and representation • JSR 363 for measurements • JSR 353 for JSON-P • JSR 339 for JAX-RS (REST) • JSR 343 for Messaging (JMS 2.0) • You can use an MQ that exposes MQTT to the devices and JMS to your servers • Using these standards in a Java EE environment will lead to a very efficient development
  27. 27. @leomrlima#FastIoTJ1 Addressing the concerns – Integrability • Extensive Java EE standards for REST and SOAP WebServices • JSR 363 helps with interoperability between diverse systems
  28. 28. @leomrlima#FastIoTJ1 It gets more complicated... • When thinking of expansion, it does get more complicated as there are many different aspects to consider • Device management • Multiple WANs • Multiple legacy protocols • There are plenty of options that encapsulate (some) of these concerns, for a cost (or not)
  29. 29. @leomrlima#FastIoTJ1 Going the open source route… • iot.Eclipse.org has a ever increasing (20+) suite of tools and frameworks for IoT that helps to address some concerns we discussed • You can get professional support on top of them • Kura (OSGi for services gateways) • Paho (open-source implementations of open and standard messaging protocols) • For server side, we get a LOT of options (just look at your session catalog )
  30. 30. @leomrlima#FastIoTJ1 … Or closed systems • Major IT vendors have something to offer in IoT now • For device development • Standard framework for development • Tight integration with backend system • And server side • Device management • Message Routing • Analytics and Processing
  31. 31. @leomrlima#FastIoTJ1 Major IoT offerings • Oracle IoT CS • IBM BlueMix • GE Predix • Microsoft Azure IoT • Amazon AWS IoT • PTC ThingWorx
  32. 32. @leomrlima#FastIoTJ1 Q & A
  33. 33. @leomrlima#FastIoTJ1 In the end… • There are plenty of options to match plenty of requirements • Each project is a project, and you’ll be re-evaluating requirements for each of them • It pays to have a broad knowledge of what’s available and do a quick survey of their strengths • Standardized solutions will always be the ones with better support and odds of being the best tool
  34. 34. @leomrlima#FastIoTJ1 Thanks!

×