JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further...
Transcript of JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further...
![Page 1: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/1.jpg)
Dr Mark Little,Red Hat,November 7th 2012.
JBoss Polyglot: Java & Beyond
1
Wednesday, 7 November 12
![Page 2: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/2.jpg)
Introductionl 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 projectsl How you can get involved
l Userl Contributor
2
Wednesday, 7 November 12
![Page 3: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/3.jpg)
3Source : www.tiobe.com, Sept 2012
Wednesday, 7 November 12
![Page 4: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/4.jpg)
4
Developer explosionBuild
Integration
DataProcessMessagesApplications
Management/Provisioning
Databases
Web Services
Devices / Clients
Data Center
Enterprise Applications
Wednesday, 7 November 12
![Page 5: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/5.jpg)
The JVM...
The best VM for $LANGUAGE
5
Wednesday, 7 November 12
![Page 6: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/6.jpg)
Before 20101 JVM, 1 Language
Polyglot
JVM JVM
Today1 JVM, Over 20 Languages
6
Wednesday, 7 November 12
![Page 7: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/7.jpg)
New language requirementsl Customers and community wants:
l Interoperabilityl Guaranteed message delivery
l Even in the presence of failuresl Transactions
l Though not necessarily ACIDl Audit trails and bullet-proof securityl Machine-readable SLAs
l N-tier approach with different languages
7
Wednesday, 7 November 12
![Page 8: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/8.jpg)
Enterprise capabilitiesl Java in 1996 did not possess enterprise features
l J2EE took several years to evolvel Some implementations layered on existing services
l Popular JVM languages experiencing similar problem
l Lack of enterprise capabilitiesl Two ways to resolve
l Build from scratch in languagel Leverage existing implementations in other languages
8
Wednesday, 7 November 12
![Page 9: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/9.jpg)
JBoss AS...
The best app-server for $LANGUAGE
9
Wednesday, 7 November 12
![Page 10: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/10.jpg)
“Java EE is too bloated”l Differentiate between the standard and
implementationl Bloatware should be a thing of the past
l It is possible to be lightweight and enterprise ready
10
Wednesday, 7 November 12
![Page 11: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/11.jpg)
11
Wednesday, 7 November 12
![Page 12: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/12.jpg)
12
Wednesday, 7 November 12
![Page 13: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/13.jpg)
13
Wednesday, 7 November 12
![Page 14: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/14.jpg)
Getting involved with communities
14
Wednesday, 7 November 12
![Page 15: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/15.jpg)
Parallel communitiesl The language communityl The implementation communityl 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
![Page 16: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/16.jpg)
TorqueBox
lRuby on EAP 6
16
Bob McWhirter, Jim Crossley, Ben Browning, Toby Crawley, Lance Ball
Wednesday, 7 November 12
![Page 17: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/17.jpg)
Beyond the basics
l Message-driven Ruby objectsl Scheduled Jobsl Services/Daemonsl Infinispan cachingl HA/Failover
17
Wednesday, 7 November 12
![Page 18: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/18.jpg)
Further beyondl Asynchronous programming model based on
messaging
18
class MyClass include Backgroundable always_background :slow
def slow() sleep 60 endend
Wednesday, 7 November 12
![Page 19: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/19.jpg)
Immutant
lClojure on EAP6
19
Jim Crossley, Toby Crawley
Wednesday, 7 November 12
![Page 20: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/20.jpg)
What you get ...
l HornetQl Infinispanl Quartzl XAl Clustering
20
Wednesday, 7 November 12
![Page 21: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/21.jpg)
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
![Page 22: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/22.jpg)
Escalante
lScala on EAP 6
22
Galder Zamarreño
Wednesday, 7 November 12
![Page 23: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/23.jpg)
Basics
l Multiple Lift apps on JBoss
l Multiple versions of Scalal Multiple versions of Lift
l Living happily together
23
Wednesday, 7 November 12
![Page 24: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/24.jpg)
YellowBeard (aka AS.py)
lPython on JBoss AS 7
24
Toby Crawley
Wednesday, 7 November 12
![Page 25: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/25.jpg)
Some issues ...
l Jython not quite first-classl Some Python frameworks/apps assume C-based
Python implementionl The occasional bug
25
Wednesday, 7 November 12
![Page 26: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/26.jpg)
AS.js
lJavaScript on EAP 6
26
Lance Ball, Bob McWhirter, Douglas Campos
Wednesday, 7 November 12
![Page 27: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/27.jpg)
Goals
l Support Node.js applicationsl Using DynJS Java7 InvokeDynamic for fast
executionl And all that other middleware stuff
27
Wednesday, 7 November 12
![Page 28: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/28.jpg)
l A new language for the JVM
28
https://ceylon-lang.org/
Gavin King, Emmanuel Bernard, Max Andersen, countless others
Wednesday, 7 November 12
![Page 29: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/29.jpg)
Goals
l Union and Intersection Typesl Type inference/Strongly-typedl Mixinsl Higher-order functionsl Operation Overloading
29
Wednesday, 7 November 12
![Page 30: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/30.jpg)
JBossThe J stands for
JVM not just Java
30
Wednesday, 7 November 12
![Page 31: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/31.jpg)
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
![Page 32: JBoss Polyglot: Java & Beyond...Infinispan caching! HA/Failover 17 Wednesday, 7 November 12 Further beyond! Asynchronous programming model based on messaging 18 class MyClass include](https://reader033.fdocuments.us/reader033/viewer/2022051901/5ff0920d36280b0db04c304c/html5/thumbnails/32.jpg)
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