Download slides - QCon
Download slides - QCon
Download slides - QCon
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
JBoss Polyglot: Java & BeyondDr Mark Little,Red Hat,November 7th 2012.1Wednesday, 7 November 12
IntroductionllllWhy are multiple languages interesting to JBoss?What does it mean to be involved with theselanguages?llWhat are we trying to accomplish with the communities?What are we trying to accomplish with ourimplementations?Illustrate with some projectsHow you can get involvedlUserl Contributor2Wednesday, 7 November 12
Source : www.tiobe.com, Sept 20123Wednesday, 7 November 12
Developer explosionBuildDevices / ClientsIntegrationDataProcessMessagesApplicationsWeb ServicesDatabasesDataCenterEnterpriseApplicationsManagement/Provisioning4Wednesday, 7 November 12
The JVM...The best VM for$LANGUAGE5Wednesday, 7 November 12
PolyglotBefore 20101 JVM, 1 LanguageToday1 JVM, Over 20 LanguagesJVMJVM6Wednesday, 7 November 12
New language requirementslCustomers and community wants:lllllInteroperabilityGuaranteed message deliverylEven in the presence of failuresTransactionslThough not necessarily ACIDAudit trails and bullet-proof securityMachine-readable SLAsl N-tier approach with different languages7Wednesday, 7 November 12
Enterprise capabilitieslllJava in 1996 did not possess enterprise featureslJ2EE took several years to evolvelSome implementations layered on existing servicesPopular JVM languages experiencing similarproblemlLack of enterprise capabilitiesTwo ways to resolvellBuild from scratch in languageLeverage existing implementations in other languages8Wednesday, 7 November 12
JBoss AS...The best app-serverfor $LANGUAGE9Wednesday, 7 November 12
“Java EE is too bloated”llDifferentiate between the standard andimplementationlBloatware should be a thing of the pastIt is possible to be lightweight and enterprise ready10Wednesday, 7 November 12
Wednesday, 7 November 1211
Wednesday, 7 November 1212
Wednesday, 7 November 1213
Getting involved with communities14Wednesday, 7 November 12
Parallel communitiesl The language communityl The implementation communityl Work to ensure the JVM implementation of alanguage is a first-class citizenCharlie Nutter, Thomas EneboDouglas Campos, Bruno Oliveira15Wednesday, 7 November 12
TorqueBoxl Ruby on EAP 6Bob McWhirter, Jim Crossley, Ben Browning, Toby Crawley, LanceBall16Wednesday, 7 November 12
Beyond the basicsllllMessage-driven Ruby objectsScheduled JobsServices/DaemonsInfinispan cachingl HA/Failover17Wednesday, 7 November 12
Further beyondlAsynchronous programming model based onmessagingclass MyClassinclude Backgroundablealways_background :slowdef slow()sleep 60endend18Wednesday, 7 November 12
Immutantl Clojure on EAP6Jim Crossley, Toby Crawley19Wednesday, 7 November 12
What you get ...llllHornetQInfinispanQuartzXAl Clustering20Wednesday, 7 November 12
Dynamic deploymentl 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
Escalantel Scala on EAP 6Galder Zamarreño22Wednesday, 7 November 12
BasicslMultiple Lift apps on JBossllMultiple versions of ScalaMultiple versions of Liftl Living happily together23Wednesday, 7 November 12
YellowBeard (aka AS.py)l Python on JBoss AS 7Toby Crawley24Wednesday, 7 November 12
Some issues ...llJython not quite first-classSome Python frameworks/apps assume C-basedPython implementionl The occasional bug25Wednesday, 7 November 12
AS.jsl JavaScript on EAP 6Lance Ball, Bob McWhirter, Douglas Campos26Wednesday, 7 November 12
GoalsllSupport Node.js applicationsUsing DynJS Java7 InvokeDynamic for fastexecutionl And all that other middleware stuff27Wednesday, 7 November 12
https://ceylon-lang.org/l A new language for the JVM28Gavin King, Emmanuel Bernard, Max Andersen, countless othersWednesday, 7 November 12
GoalsllllUnion and Intersection TypesType inference/Strongly-typedMixinsHigher-order functionsl Operation Overloading29Wednesday, 7 November 12
JBossThe J stands forJVMnot just Java30Wednesday, 7 November 12
Wayfinding•http://torquebox.org/•http://immutant.org/•http://escalante.io/•http://jruby.org/•http://dynjs.org/•http://ceylon-lang.org/31Wednesday, 7 November 12
Richard Hamming, 1968 Turingspeech• Whereas Newton could say, "If I have seen a littlefarther than others, it is because I have stood onthe shoulders of giants," I am forced to say, "Todaywe stand on each other's feet." Perhaps the centralproblem we face in all of computer science is howwe are to get to the situation where we build on topof the work of others rather than redoing so muchof it in a trivially different way.32Wednesday, 7 November 12