JBoss Polyglot: Java & Beyond Dr Mark Little, Red Hat, - - PowerPoint PPT Presentation

jboss polyglot java beyond dr mark little red hat
SMART_READER_LITE
LIVE PREVIEW

JBoss Polyglot: Java & Beyond Dr Mark Little, Red Hat, - - PowerPoint PPT Presentation

JBoss Polyglot: Java & Beyond Dr Mark Little, Red Hat, November 7th 2012. 1 Wednesday, 7 November 12 Introduction l Why are multiple languages interesting to JBoss? l What does it mean to be involved with these languages? l What


slide-1
SLIDE 1

Dr Mark Little, Red Hat, November 7th 2012. JBoss Polyglot: Java & Beyond

1 Wednesday, 7 November 12
slide-2
SLIDE 2

Introduction

l Why are multiple languages interesting to JBoss? l What does it mean to be involved with these

languages?

l What are we trying to accomplish with the communities? l What are we trying to accomplish with our

implementations?

l Illustrate with some projects l How you can get involved l User l Contributor 2 Wednesday, 7 November 12
slide-3
SLIDE 3 3

Source : www.tiobe.com, Sept 2012

Wednesday, 7 November 12
slide-4
SLIDE 4 4

Developer explosion

Build Integration Data Process Messages Applications Management/Provisioning Databases Web Services Devices / Clients Data Center Enterprise Applications Wednesday, 7 November 12
slide-5
SLIDE 5

The JVM...

The best VM for $LANGUAGE

5 Wednesday, 7 November 12
slide-6
SLIDE 6

Before 2010

1 JVM, 1 Language

Polyglot

JVM JVM

Today

1 JVM, Over 20 Languages

6 Wednesday, 7 November 12
slide-7
SLIDE 7

New language requirements

l Customers and community wants: l Interoperability l Guaranteed message delivery l Even in the presence of failures l Transactions l Though not necessarily ACID l Audit trails and bullet-proof security l Machine-readable SLAs l N-tier approach with different languages 7 Wednesday, 7 November 12
slide-8
SLIDE 8

Enterprise capabilities

l Java in 1996 did not possess enterprise features l J2EE took several years to evolve l Some implementations layered on existing services l Popular JVM languages experiencing similar

problem

l Lack of enterprise capabilities l Two ways to resolve l Build from scratch in language l Leverage existing implementations in other languages 8 Wednesday, 7 November 12
slide-9
SLIDE 9

JBoss AS...

The best app-server for $LANGUAGE

9 Wednesday, 7 November 12
slide-10
SLIDE 10

“Java EE is too bloated”

l Differentiate between the standard and

implementation

l Bloatware should be a thing of the past l It is possible to be lightweight and enterprise ready 10 Wednesday, 7 November 12
slide-11
SLIDE 11 11 Wednesday, 7 November 12
slide-12
SLIDE 12 12 Wednesday, 7 November 12
slide-13
SLIDE 13 13 Wednesday, 7 November 12
slide-14
SLIDE 14

Getting involved with communities

14 Wednesday, 7 November 12
slide-15
SLIDE 15

Parallel communities

l The language community l The implementation community l Work to ensure the JVM implementation of a

language is a first-class citizen

15

Charlie Nutter, Thomas Enebo Douglas Campos, Bruno Oliveira

Wednesday, 7 November 12
slide-16
SLIDE 16

TorqueBox

lRuby on EAP 6

16

Bob McWhirter, Jim Crossley, Ben Browning, Toby Crawley, Lance Ball

Wednesday, 7 November 12
slide-17
SLIDE 17

Beyond the basics

l Message-driven Ruby objects l Scheduled Jobs l Services/Daemons l Infinispan caching l HA/Failover 17 Wednesday, 7 November 12
slide-18
SLIDE 18

Further beyond

l Asynchronous programming model based on

messaging

18

class MyClass include Backgroundable always_background :slow def slow() sleep 60 end end

Wednesday, 7 November 12
slide-19
SLIDE 19

Immutant

lClojure on EAP6

19

Jim Crossley, Toby Crawley

Wednesday, 7 November 12
slide-20
SLIDE 20

What you get ...

l HornetQ l Infinispan l Quartz l XA l Clustering 20 Wednesday, 7 November 12
slide-21
SLIDE 21

Dynamic deployment

l Service binding via code: 21

(require ‘[immutant.web :as web]) (defn my-handler [request] {:status 200 :headers {“Content-type” “text/html”} :body “Hello world!”}) (web/start “/hi” my-handler)

Wednesday, 7 November 12
slide-22
SLIDE 22

Escalante

lScala on EAP 6

22

Galder Zamarreño

Wednesday, 7 November 12
slide-23
SLIDE 23

Basics

l Multiple Lift apps on JBoss l Multiple versions of Scala l Multiple versions of Lift l Living happily together 23 Wednesday, 7 November 12
slide-24
SLIDE 24

YellowBeard (aka AS.py)

lPython on JBoss AS 7

24

Toby Crawley

Wednesday, 7 November 12
slide-25
SLIDE 25

Some issues ...

l Jython not quite first-class l Some Python frameworks/apps assume C-based

Python implemention

l The occasional bug 25 Wednesday, 7 November 12
slide-26
SLIDE 26

AS.js

lJavaScript on EAP 6

26

Lance Ball, Bob McWhirter, Douglas Campos

Wednesday, 7 November 12
slide-27
SLIDE 27

Goals

l Support Node.js applications l Using DynJS Java7 InvokeDynamic for fast

execution

l And all that other middleware stuff 27 Wednesday, 7 November 12
slide-28
SLIDE 28 l A new language for the JVM 28

https://ceylon-lang.org/

Gavin King, Emmanuel Bernard, Max Andersen, countless others

Wednesday, 7 November 12
slide-29
SLIDE 29

Goals

l Union and Intersection Types l Type inference/Strongly-typed l Mixins l Higher-order functions l Operation Overloading 29 Wednesday, 7 November 12
slide-30
SLIDE 30

JBoss

The J stands for

JVM

not just Java

30 Wednesday, 7 November 12
slide-31
SLIDE 31

Wayfinding

  • http://torquebox.org/
  • http://immutant.org/
  • http://escalante.io/
  • http://jruby.org/
  • http://dynjs.org/
  • http://ceylon-lang.org/
31 Wednesday, 7 November 12
slide-32
SLIDE 32

Richard Hamming, 1968 Turing speech

  • Whereas Newton could say, "If I have seen a little

farther than others, it is because I have stood on the shoulders of giants," I am forced to say, "Today we stand on each other's feet." Perhaps the central problem we face in all of computer science is how we are to get to the situation where we build on top

  • f the work of others rather than redoing so much
  • f it in a trivially different way.
32 Wednesday, 7 November 12