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

The JBoss Polyglot Revolution - Be part of it!

The JBoss Polyglot Revolution - Be part of it!

In this talk, Galder will look at the evolution of JBoss, from a producer of java based middleware, to the current expansion towards multi-language platforms. How did Torquebox come about? Why are we creating Ceylon? What is Escalante? What is Immutant? This and many other questions will be answered in this informal chat that will not only look into the motivations behind building middleware in other languages, but will also discuss the technological advances that have this expansion possible. During this presentation the audience will get invaluable feedback on the lessons learnt while developing with other languages, pitfalls of the different languages used, tips of learning new languages...etc, giving them first-hand advice that they will be able to apply in their work environments. Finally, the talk will finish with information on how join and contribute to the JBoss Polyglot Revolution!

Galder Zamarreño

November 15, 2012
Tweet

More Decks by Galder Zamarreño

Other Decks in Programming

Transcript

  1. The JBoss Polyglot Revolution - Be part of it! Galder

    Zamarreño Senior Software Engineer JBoss @ Red Hat @galderz Thursday, November 15, 12
  2. Galder Zamarreño (@galderz) • JBoss R&D engineer at Red Hat

    • Founder and lead of Escalante • Infinispan developer • Over 10 years developing Java applications • I’m a polyglot! • Basque (fluent), Java (fluent), Spanish, Python, Scala, English • Ruby (beginner), French, Pascal, German (so, so), Assembly (useless!) Thursday, November 15, 12
  3. Agenda • JBoss as Java middleware producer • Why are

    multiple languages interesting to JBoss? • What does it mean to be involved with these languages? • JBoss Polyglot projects • How you can get involved! Thursday, November 15, 12
  4. Why Java? VM execution, automatic memory management, safe referencing, static

    typing, readable,...etc Thursday, November 15, 12
  5. Binary class file format JVM knows nothing about Java lang,

    it only knows about the binary class file format Thursday, November 15, 12
  6. New language requirements Interoperability with Java, guarantee of message delivery,

    transactions (ACID?), audit trails...etc Thursday, November 15, 12
  7. Bob McWhirter A Ruby on Rails fan, used to run

    JBoss.org, but in 2008 he went back to development Thursday, November 15, 12
  8. Ruby on Rails issues Deployment of rails apps less than

    ideal, and there were scalability concerns (i.e. Twitter) Thursday, November 15, 12
  9. Deploy RoR on JBoss! Scheduled jobs, built-in clustering, messaging, platform

    independence, deploy without .war files...etc Thursday, November 15, 12
  10. “J2EE is too bloated”? It is possible to be lightweight

    and enterprise ready! Thursday, November 15, 12
  11. TorqueBox - torquebox.org Ruby on JBoss AS7 Ben Browning, Jim

    Crossley, Toby Crawley, Lance Ball, Bob McWhirter Thursday, November 15, 12
  12. class  AeroCar include   TorqueBox::Messaging::Backgroundable always_background  :recharge_battery def  recharge_battery  

    until  battery.fully_charged?   battery.charge_some end end end future  =   @aerocar.recharge_battery #  check  to  see  if  the  task   #  has  started future.started? #  check  to  see  if  the  task   #  completed future.complete?   #  check  to  see  if  an  error   #  occurred   future.error? Async programming with messaging Thursday, November 15, 12
  13. (require  ‘[immutant.web  :as  web]) (defn  my-­‐handler  [request]   {:status  200

       :headers  {“Content-­‐type”  “text/html”}    :body  “Hello  world!”}) (web/start  “/hi”  my-­‐handler) Dynamic deployment Thursday, November 15, 12
  14. Scala deployments are big... JBoss Application Server 7 Lift Hello

    World App 31 MB!!! :O Thursday, November 15, 12
  15. Let’s make it a bit leaner... Lift Hello World App

    8 KB!!! :)) Escalante Thursday, November 15, 12
  16. Red Hat OpenShift users happy :) Escalante Try  it  out!

    http://escalante.io/news/2012/10/28/lift-­‐on-­‐openshift/ Thursday, November 15, 12
  17. What is Vaadin? is a server-side java web app framework,

    using GWT to render UI in browser as pure HTML, CSS and JS Try  it  out! http://escalante.io/news/2012/11/05/scaladin-­‐quickstart/ Thursday, November 15, 12
  18. Some issues... Jython not quite first-class implementation, and some frameworks/apps

    assume C-based Python implementation Thursday, November 15, 12
  19. dyn.js (aka as.js) - dynjs.org JavaScript on JBoss AS7 Lance

    Ball, Bob McWhirter, Douglas Campos Thursday, November 15, 12
  20. Ceylon - ceylon-lang.org A new language for the JVM Gavin

    King, Stéphane Épardaud, Emmanuel Bernard, countless others Thursday, November 15, 12
  21. Goals Powerful static type system (union and intersection types...), readable

    syntax, predictable compiler... Thursday, November 15, 12
  22. 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 of the work of others rather than redoing so much of it in a trivially different way. Thursday, November 15, 12