SlideShare une entreprise Scribd logo
1  sur  34
@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, now in Austin, TX
•CTO at
•Spec Lead – JSR363
•V2COM’s Representative at JCP Executive Committee
[www.linkedin.com/in/leomrlima]
@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
@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 and as many vertical
aspects
@leomrlima#FastIoTJ1
On connecting things
The buzz of IoT is connecting things
Does everything needs to be connected?
The implications of connectivity
@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
@leomrlima#FastIoTJ1
So many constraints!
Hardware constraints
Software constraints
Protocol constraints
Real life considerations
@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
@leomrlima#FastIoTJ1
BUSINESS & TECHNICAL CONCERNS (OR
FUNCTIONAL & NON FUNCTIONAL REQUIREMENTS)
What do you need, commander?
@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”
@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 and Composability
• Connectivity
• Data Management
• Analytics and Advanced Data Processing
• Device Management
@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.
…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
@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 address it
But sometimes too many standards do get in the way
Standards and open source go very well together
@leomrlima#FastIoTJ1
Data Management
• Query, Publish and Subscribe
• Storage, Persistence and Retrieval
• Integration
• Description and Presence
• Rights Management
@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
@leomrlima#FastIoTJ1
Connectivity
• Communication Transport
• Get data there
• Connectivity Framework
• How data is structured and used
@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 management
• Billing
• Non-functional aspects
@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 are doing this, why not…”
• Monitor stock level
• Check if others are using our freezer for something else
• Server and embedded development
@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
@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
@leomrlima#FastIoTJ1
Addressing the concerns – Integrability
• Extensive Java EE standards for REST and SOAP
WebServices
• JSR 363 helps with interoperability between diverse
systems
@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)
@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 )
@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
@leomrlima#FastIoTJ1
Major IoT offerings
• Oracle IoT CS
• IBM BlueMix
• GE Predix
• Microsoft Azure IoT
• Amazon AWS IoT
• PTC ThingWorx
@leomrlima#FastIoTJ1
Q & A
@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
@leomrlima#FastIoTJ1
Thanks!

Contenu connexe

Similaire à Using Java and Standards for Fast IoT Development [CON5513]

01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferay
daveayan
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePoint
Louis-Philippe Lavoie
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2
 

Similaire à Using Java and Standards for Fast IoT Development [CON5513] (20)

Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with Microservices
 
CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development
 
Atlassian Executive Business Forum - LinkedIn HQ
Atlassian Executive Business Forum - LinkedIn HQAtlassian Executive Business Forum - LinkedIn HQ
Atlassian Executive Business Forum - LinkedIn HQ
 
What ya gonna do?
What ya gonna do?What ya gonna do?
What ya gonna do?
 
Social Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and Domino
 
Adobe Flash Platform for the Enterprise
Adobe Flash Platform for the EnterpriseAdobe Flash Platform for the Enterprise
Adobe Flash Platform for the Enterprise
 
Spring
SpringSpring
Spring
 
SharePoint Best Practice and the Cloud
SharePoint Best Practice and the CloudSharePoint Best Practice and the Cloud
SharePoint Best Practice and the Cloud
 
LTI Advantage: The Next Big Thing in LMS Integration
LTI Advantage: The Next Big Thing in LMS IntegrationLTI Advantage: The Next Big Thing in LMS Integration
LTI Advantage: The Next Big Thing in LMS Integration
 
01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferay
 
IoT Security: Cases and Methods [CON5446]
IoT Security: Cases and Methods [CON5446]IoT Security: Cases and Methods [CON5446]
IoT Security: Cases and Methods [CON5446]
 
DCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to Microservices
 
Why we got to Docker
Why we got to DockerWhy we got to Docker
Why we got to Docker
 
Choosing the right Technologies for your next unicorn.
Choosing the right Technologies for your next unicorn.Choosing the right Technologies for your next unicorn.
Choosing the right Technologies for your next unicorn.
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePoint
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
 
Ideas spracklen-final
Ideas spracklen-finalIdeas spracklen-final
Ideas spracklen-final
 
The Myth of The Iron Triangle in Security
The Myth of The Iron Triangle in SecurityThe Myth of The Iron Triangle in Security
The Myth of The Iron Triangle in Security
 
#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?
 

Plus de Leonardo De Moura Rocha Lima

Plus de Leonardo De Moura Rocha Lima (10)

Top 9 mistakes to avoid when developing with NoSQL
Top 9 mistakes to avoid when developing with NoSQLTop 9 mistakes to avoid when developing with NoSQL
Top 9 mistakes to avoid when developing with NoSQL
 
JavaOne 2017 - JNoSQL: The Definitive Solution for Java and NoSQL Database [C...
JavaOne 2017 - JNoSQL: The Definitive Solution for Java and NoSQL Database [C...JavaOne 2017 - JNoSQL: The Definitive Solution for Java and NoSQL Database [C...
JavaOne 2017 - JNoSQL: The Definitive Solution for Java and NoSQL Database [C...
 
JavaOne 2017 - Collections.compare:JDK, Eclipse, Guava, Apache... [CON1754]
JavaOne 2017 - Collections.compare:JDK, Eclipse, Guava, Apache... [CON1754]JavaOne 2017 - Collections.compare:JDK, Eclipse, Guava, Apache... [CON1754]
JavaOne 2017 - Collections.compare:JDK, Eclipse, Guava, Apache... [CON1754]
 
JavaOne 2017 - Choosing a NoSQL API and Database to Avoid Tombstones and Drag...
JavaOne 2017 - Choosing a NoSQL API and Database to Avoid Tombstones and Drag...JavaOne 2017 - Choosing a NoSQL API and Database to Avoid Tombstones and Drag...
JavaOne 2017 - Choosing a NoSQL API and Database to Avoid Tombstones and Drag...
 
Java & IoT
Java & IoTJava & IoT
Java & IoT
 
Collections.compare(JDK, Eclipse, Guava, Apache...);
Collections.compare(JDK, Eclipse, Guava, Apache...);Collections.compare(JDK, Eclipse, Guava, Apache...);
Collections.compare(JDK, Eclipse, Guava, Apache...);
 
IoT Security: Cases and Methods
IoT Security: Cases and MethodsIoT Security: Cases and Methods
IoT Security: Cases and Methods
 
Secure IoT with Blockchain: Fad or Reality? [BOF5490]
Secure IoT with Blockchain: Fad or Reality? [BOF5490]Secure IoT with Blockchain: Fad or Reality? [BOF5490]
Secure IoT with Blockchain: Fad or Reality? [BOF5490]
 
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
 
A internet das coisas e o futuro - Java ME 8 e adiante!
A internet das coisas e o futuro - Java ME 8 e adiante!A internet das coisas e o futuro - Java ME 8 e adiante!
A internet das coisas e o futuro - Java ME 8 e adiante!
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Using Java and Standards for Fast IoT Development [CON5513]