jboss polyglot java beyond dr mark little red hat
play

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


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

  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

  3. Source : www.tiobe.com, Sept 2012 3 Wednesday, 7 November 12

  4. Developer explosion Build Devices / Clients Integration Databases Data Process Messages Data Applications Center Web Services Enterprise Applications Management/Provisioning 4 Wednesday, 7 November 12

  5. The JVM... The best VM for $LANGUAGE 5 Wednesday, 7 November 12

  6. Polyglot Before 2010 Today 1 JVM, 1 Language 1 JVM, Over 20 Languages JVM JVM 6 Wednesday, 7 November 12

  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

  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

  9. JBoss AS... The best app-server for $LANGUAGE 9 Wednesday, 7 November 12

  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

  11. 11 Wednesday, 7 November 12

  12. 12 Wednesday, 7 November 12

  13. 13 Wednesday, 7 November 12

  14. Getting involved with communities 14 Wednesday, 7 November 12

  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 Charlie Nutter, Thomas Enebo Douglas Campos, Bruno Oliveira 15 Wednesday, 7 November 12

  16. TorqueBox l Ruby on EAP 6 Bob McWhirter, Jim Crossley, Ben Browning, Toby Crawley, Lance Ball 16 Wednesday, 7 November 12

  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

  18. Further beyond l Asynchronous programming model based on messaging class MyClass include Backgroundable always_background :slow def slow() sleep 60 end end 18 Wednesday, 7 November 12

  19. Immutant l Clojure on EAP6 Jim Crossley, Toby Crawley 19 Wednesday, 7 November 12

  20. What you get ... l HornetQ l Infinispan l Quartz l XA l Clustering 20 Wednesday, 7 November 12

  21. Dynamic deployment l Service binding via code: (require ‘[immutant.web :as web]) (defn my-handler [request] {:status 200 :headers {“Content-type” “text/html”} :body “Hello world!”}) (web/start “/hi” my-handler) 21 Wednesday, 7 November 12

  22. Escalante l Scala on EAP 6 Galder Zamarreño 22 Wednesday, 7 November 12

  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

  24. YellowBeard (aka AS.py) l Python on JBoss AS 7 Toby Crawley 24 Wednesday, 7 November 12

  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

  26. AS.js l JavaScript on EAP 6 Lance Ball, Bob McWhirter, Douglas Campos 26 Wednesday, 7 November 12

  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

  28. https://ceylon-lang.org/ l A new language for the JVM Gavin King, Emmanuel Bernard, Max Anders e n, countless others 28 Wednesday, 7 November 12

  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

  30. JBoss The J stands for JVM not just Java 30 Wednesday, 7 November 12

  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

  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 of the work of others rather than redoing so much of it in a trivially different way. 32 Wednesday, 7 November 12

Recommend


More recommend