11.07.2015 Views

Download slides - QCon

Download slides - QCon

Download slides - QCon

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!