Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Multi{Platform,Paradigm} Programming

Multi{Platform,Paradigm} Programming

Sources: https://github.com/peel/multi

Polyglot, multiparadigm environments become the bread and butter of every developer’s work. With the drive towards microservices and reactive software developers start to look into Erlang/OTP platform more often. The platform offers incredible tools we can’t directly make use of from within JVM languages or can we?

The talk shows the integration between JVM languages and BEAM’s LFE/Elixir. The fundamental pattern that will be explored are Erlang/OTP as a base platform/language and a JVM-based data access layer. We will explore JInterface, a set of Java classes which are used to make communication between JVM languages and Erlang, providing a message-based protocol. In the end the talk compares the JInterface-based approach to HTTP REST-style communication.

Piotr Limanowski

April 11, 2016
Tweet

More Decks by Piotr Limanowski

Other Decks in Programming

Transcript

  1. M U L T I { P L A T

    F O R M , P A R A D I G M } P R O G R A M M I N G P I O T R L I M A N O W S K I
  2. @ P E E L # 4 D E V

    2 0 1 6 S C A L A E L I X I R R U B Y H A S K E L L D E V A R C H I T E C T M A K E R
  3. @ P E E L # 4 D E V

    2 0 1 6 E R L A N G J V M J I N T E R F A C E D I S T R I B U T E D S O F T W A R E E P M D
  4. @ P E E L # 4 D E V

    2 0 1 6 C A P
  5. @ P E E L # 4 D E V

    2 0 1 6 C A PE X A M P L E by
  6. @ P E E L # 4 D E V

    2 0 1 6 CONSISTENCY AVAIALABILITY PARTITION TOLERANCE
  7. @ P E E L # 4 D E V

    2 0 1 6 C O N S I S T E N C Y A V A I L A B I L I T Y P A R T I T I O N T O L E R A N C E
  8. @ P E E L # 4 D E V

    2 0 1 6 C O N S I S T E N C Y A V A I L A B I L I T Y P A R T I T I O N T O L E R A N C E
  9. @ P E E L # 4 D E V

    2 0 1 6 C O N S I S T E N C Y A V A I L A B I L I T Y P A R T I T I O N T O L E R A N C E
  10. @ P E E L # 4 D E V

    2 0 1 6 C O N S I S T E N C Y A V A I L A B I L I T Y P A R T I T I O N T O L E R A N C E
  11. @ P E E L # 4 D E V

    2 0 1 6 U N L E S S …
  12. A N Y S U F F I C I

    E N T L Y C O M P L E X S C A L E D A P P C O N T A I N S A N A D H O C , I N F O R M A L L Y - S P E C I F I E D , B U G - R I D D E N , F L A K E Y , S L O W I M P L E M E N T A T I O N O F H A L F O F E R L A N G .
  13. @ P E E L # 4 D E V

    2 0 1 6 E R L A N G D I S T R I B U T E D
  14. @ P E E L # 4 D E V

    2 0 1 6 H A V E Y O U E V E R B E E N I N T O T H E W O O D S ?
  15. @ P E E L # 4 D E V

    2 0 1 6 N O D E S O R D E V I C E S ?
  16. @ P E E L # 4 D E V

    2 0 1 6 E R L A N G V M = = N O D E
  17. @ P E E L # 4 D E V

    2 0 1 6 O K , B U T J V M
  18. @ P E E L # 4 D E V

    2 0 1 6 A K K A T W I T T E R O S S ( R P C ) D O C K E R C O R E O S E T C D K U B E R N E T E S
  19. @ P E E L # 4 D E V

    2 0 1 6 A K K A T W I T T E R O S S ( R P C ) D O C K E R C O R E O S E T C D K U B E R N E T E S J V M / O T P ?
  20. @ P E E L # 4 D E V

    2 0 1 6 J I N T E R F A C E
  21. @ P E E L # 4 D E V

    2 0 1 6 C O M M U N I C A T I O N T O O L S E R L A N G T Y P E S &
  22. @ P E E L # 4 D E V

    2 0 1 6 J A V A < > E R L A N G J A V A < > J A V A J A V A < > C E R L A N G < > C
  23. @ P E E L # 4 D E V

    2 0 1 6 C O D E the