32

Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Embed Size (px)

Citation preview

Page 1: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)
Page 2: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Increased  Developer  Produc1vity  for  IoT

 

2  

 

Page 3: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Disclaimer    The  following  is  intended  to  outline  our  general  product  direcBon.  It  is  intended  for  informaBon  purposes  only,  and  may  not  be  incorporated  into  any  contract.  It  is  not  a  commitment  to  deliver  any  material,  code,  or  funcBonality,  and  should  not  be  relied  upon  in  making  purchasing  decisions.The  development,  release,  and  Bming  of  any  features  or  funcBonality  described  for  Oracle’s  products  remains  at  the    sole  discreBon  of  Oracle.    

3  

Page 4: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Agenda

§  Why  look  at  developer  producBvity?  

§  A  use  case  

§  Overcoming  developer  challenges  

§  Summary  

§  Q&A  

Page 5: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

WHY?  Would  you  review  your  produc1vity?  

5  

Page 6: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

IoT  =  The  Third  RevoluBon                  =  Embedded  Market  TransformaBon  

Page 7: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Project  CharacterisBcs  •  Many  smaller  projects,  each  unique    

•  Custom  hardware,  OS  

•  Deployments  relaBvely  small  

Edge  Device  Characterics  •  Explosion  of  hardware/devices  •  Explosion  of  operaBng  systems  

•  Demand  for  intelligence  at  edge  

7  

Business  CharacterisBcs  •  Time  To  Market,  Time  To  Revenue  

•  Longevity  of  deployments    

•  Cost  of  maintaining  remote  devices  

•  Cost  of  connecBvity  

Developer  CharacterisBcs  •  Shortage  in  embedded  specialists  

•  Field  ApplicaBon  Engineers,  Enterprise  Developers,  Process  Engineers  struggle  to  become  embedded  programmers  

•  MulB-­‐disciplinary  engineering  teams  

 

IoT  success  requires  rethinking  developer  producBvity  

Page 8: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Project  CharacterisBcs  •  Many  projects,  each  unique    

•  Custom  hardware,  OS  

•  Deployments  relaBvely  small  

Edge  Device  Characterics  •  Explosion  of  hardware/devices  •  Explosion  of  operaBng  systems  

•  Demand  for  intelligence  at  edge  

8  

Business  CharacterisBcs  •  Time  To  Market,  Time  To  Revenue  

•  Longevity  of  deployments    

•  Cost  of  maintaining  remote  devices  

•  Cost  of  connecBvity  

Developer  CharacterisBcs  •  Shortage  in  embedded  specialists  

•  Field  ApplicaBon  Engineers,  Enterprise  Developers,  Process  Engineers  struggle  to  become  embedded  programmers  

•  MulB-­‐disciplinary  engineering  teams  

 

IoT  success  requires  rethinking  developer  producBvity  

   

 

.  

 

Page 9: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Java  Embedded  Making  Devices  Smarter    

(since  20  years)  

9  

Page 10: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Java’s  Unique  Market  PosiBon      

Java  provides  one  common  pla>orm  –  End  to  End  

Billions  of  Devices    already  run  Java  

The  majority  of  enterprise    &  business  Apps  run  on  Java  (On  Premise  and  Cloud)  

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

2015 marks twenty years of innovation

3 billion devices 97% enterprise computers 9 million developers 300+ Java User Groups in 81 countries

78

9+  million  developers  

Page 11: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

A  Use  case  

11  

Page 12: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

An  Industry  Customer  Example  

• How  can  I  make  my  PLC  ready  for  IoT/Industry  4.0  ?  – Which  funcBonality  do  I  need  ?  – How  do  I  expose  the  data?  – Which  sogware  do  I  use  ?  – How  do  I  maximize  the  producBvity  of  my  customers  ?  

How  To  Make  a  PLC  ready  for  Industry  4.0  

12  

Local  Real  Time  ConnecBvity  

Page 13: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

An  Industry  Customer  Example  

• How  can  I  make  my  PLC  ready  for  IoT/Industry  4.0  ?  

 -­‐>  Add  an  IoT  sogware  gateway  

How  To  Make  An  PLC  ready  for  Industry  $.0  

13  

Local  Real  Time  ConnecBvity  

IoT  Network  ConnecBvity  

 Industrial  Core  OS  &  Services  (Real  Time)  

Java  Run1me  &  Services  Layer  

IoT  Applica1ons  &  Service  

Page 14: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Smart  Things/Gateways  With  Java  The  Smart  Agent  in  The  Cyber  Physical  Environment  

Hardware  

Java  Embedded  

Embedded  OS/RTOS  

Dynamic  ApplicaBons  

Java  Device  Service  Framework  

Core  Framework  

NaBve  ApplicaBons  

Secure  Element  Trusted  Environment  

Protected  Smart  Agent  

Device  

Page 15: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

The  Java  Sogware  Gateway  Opens  Up  New  PossibiliBes  

15  

Network  Layer  &  ConnecBvity  

Data  PreparaBon  &  IntegraBon  

VerBcal    ApplicaBons  

Service  Development  Environment      

Security,  Service    &  Device  Management  

Cross  planorm  Embedded  Core    FuncBonality  

AoracBve  Web  Interfaces  

Page 16: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Overcoming  developer  challenges  

16  

Page 17: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Concurrent  event  driven  programming  is  difficult  

17  

Page 18: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

ReacBve  Blocks  to  the  Rescue!  

Java  Embedded  

Java  Device  Service  Framework  

RPi GPIO Digital In

valuestop

init

initError

initOk

isLow

isHigh

stopped

read

initPS

Kura CloudClient Handler

readypublish

start

failed

waitingstop

msgArrived

MQTT Core

initOksubscribe

init

initFailed

publishOk

message

error

stopped

disconnected

unsubscribe

publish

stop

Modbus

initOkexecutedReadInput

init

initFailed

readDone

writeDone

readFailed

stopped

writeFailed

deviceId

executedWrite

stop

dataCount

writeFunctionId

executeReadOther

executeReadHolding

registerId

Pick   Compose   Deploy  

Page 19: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

ReacBve  Blocks  

Alarm System

Toll System

Logistics System

Libraries of building blocks Ready-Made Reference Applications

With Reactive Blocks, developers can take existing applications as working starting points, and combine their own applications from them.

Pick existing blocks from the libraries 1 Build by combining blocks and Java code 2 Automatically generate code ready to deploy 3

code ready to deploy

Page 20: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

What  ReacBve  Blocks  does  for  you  

•  Off-­‐the-­‐shelf  visual  building  blocks  remove  need  for  deep  experBse  •  Reuse  of  building  blocks  done  right  •  AbstracBon  from  mulBthreading  +  proven  correctness  of  thread  synchronisaBon  

•  Generate  Java  JAR  files  or  OSGi  bundles  +  documentaBon  

•  Freedom  to  code  manually,  do  JNI/JNA  calls  to  legacy  code,  C  code  etc.  

•  Design,  Code,  DocumentaBon  always  in  sync  

•  High  overall  producBvity  gain  •  All  while  using  your  trusted  Eclipse  IDE  

Page 21: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Ready-­‐to-­‐use  Building  Blocks  Generic  FuncBonality  •  Buffering  •  Counters  •  Flow  Logic  •  Session  UBls  •  Iterator  Timers  •  Timers  •  Periodic  Timers  •  Watchdogs  ApplicaBon  Prototyping  •  Java  Swing  Components  •  Java  FX  •  Speech  •  ProperBes  Hardware  ConnecBons  •  Modbus  •  Serial  I/O  •  Raspberry  Pi  GPIO  •  Berryclip  for  Raspberry  Pi  •  Gertboard  for  Raspberry  Pi  •  USB  Camera  

Files  •  File  UBliBes  •  File  I/O  •  ProperBes  End-­‐User  CommunicaBon  •  SMS:  Twilio,  Keyteq,  Clickatell  •  Email  •  XMPP  Client  CommunicaBon  •  HTTP/HTTPS  •  MQTT  •  CoAP  •  JSON-­‐RPC  •  AMQP  •  Network  Monitoring  •  OPC-­‐UA  •  LoRA  Data  CollecBon  Services  •  Sierra  Wireless  AirVantage  •  IBM  IoT  FoundaBon  •  Eurotech  ESF  •  Xively  •  Solair  

Security  •  Cryptography  •  Oauth  2.0  TransformaBon  •  GSON  •  XML  Parsing    •  XLS  TransformaBon  Eclipse  Kura  and  OSGi  •  ConfiguraBon  Listener  •  Cloud  Client  Handler  •  Event  Admin  •  Service  Tracker  •  TerminaBon  •  Service  Register  LocaBon  •  Geofence  •  KML  Data  Processing  •  Geofence  •  KML  

Page 22: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Building  Blocks  

Behavioral contract

Java code

Diagram

Page 23: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

System  Structure  

Page 24: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Example  1  

Page 25: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Demo  Bme!  

25  

Page 26: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

AutomaBc  Analysis  

Page 27: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Reuse  

Application-Specific

Reusable from Libraries

Communication ~70 %

Page 28: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Summary  and  Call  to  AcBon  

28  

Page 29: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Summary  

•  IoT  and  smart  embedded  is  all  about  the  services:    transforming  data  from  disparate  devices  into  valued  insights  and  beoer  acBons  and  device  applicaBons  

•  The  rapid  and  producBve  development  of  these  services  is  key  to  IoT  projects  ongoing  success  

• Oracle  Java  Embedded  Technology  together  with  BitreacBve  building  blocks  will  enable  fast,  secure  and  efficient  IoT  projects  

Security     Customer    Experience  

Lifecycle    

DistribuBon  Scale   IntegraBon  

Page 30: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Get  Started  

•  Embedded  Java  – hops://www.oracle.com/java/technologies/embedded.html  – hop://www.oracle.com/technetwork/java/embedded/overview/javaembedded-­‐community-­‐1981554.html  

• ReacBve  Blocks  – Download  at:  hop://www.bitreacBve.com/installaBon/  – Tutorials,  Whitepapers,  Example  apps:  hop://reference.bitreacBve.com  

Jumpstart  your  IoT  edge  skills!  

30  

Page 31: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)
Page 32: Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracle, Bitreactive joint session at JavaONE 2015)

Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Q  &  A      

32