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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  11. @ 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

    View Slide

  12. @ 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

    View Slide

  13. @ 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

    View Slide

  14. @ P E E L # 4 D E V 2 0 1 6
    U N L E S S …

    View Slide

  15. @ P E E L # 4 D E V 2 0 1 6

    View Slide

  16. 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 .

    View Slide

  17. HELLO MIKE
    HELLO JOE.
    THEY DID IT AGAIN?
    IT SEEMS SO.

    View Slide

  18. @ 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

    View Slide

  19. @ 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 ?

    View Slide

  20. @ P E E L # 4 D E V 2 0 1 6

    View Slide

  21. @ 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 ?

    View Slide

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

    View Slide

  23. @ P E E L # 4 D E V 2 0 1 6

    View Slide

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

    View Slide

  25. @ 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

    View Slide

  26. @ 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 ?

    View Slide

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

    View Slide

  28. @ 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
    &

    View Slide

  29. @ 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

    View Slide

  30. @ P E E L # 4 D E V 2 0 1 6
    C O D E
    the

    View Slide