Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures

1,697 views

Published on

This slide deck explores the reasoning behind creating Ballerina - the new programming language - the current state of it, how it'll affect WSO2 product and its future roadmap.

Published in: Technology
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Very interesting! (even though my knowledge on languages is minimal to none) So definitely going to get the dev team look in to this.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures

  1. 1. Ballerina-in-Chief Founder, Chairperson and Chief Architect; WSO2 Lt. Col. & IT Advisor; Sri Lanka Army Ballerina Plans and Futures Sanjiva Weerawarana, Ph.D.
  2. 2. • Why are we doing Ballerina? • What is the state of Ballerina? • How will it affect the WSO2 products? • What should you do to prepare for it? What will you leave with? Hopefully, answers to these questions:
  3. 3. Why, oh why… ?
  4. 4. Make Integration Great Again
  5. 5. • 286k SaaS services to use – The new shared library • Everything you make is useful to someone else – Serve, or be forgotten • Need for agility – Recompose, recompose, recompose Networked interactions are everywhere
  6. 6. • Too hot ‘n heavy for the future – Microservices, serverless, containers • Too restrictive with DSL approach and hacks galore Why not use ESBs?
  7. 7. • Too hot ‘n heavy for the future – Microservices, serverless, containers • Too restrictive with DSL approach and hacks galore • (In the future; today just keep buying the ESB!) Why not use ESBs?
  8. 8. • Writing, managing and deploying code is now rapid with awesome SDLC tools • DSLs and ESBs don’t love CICD processes Code is Great Again! “Configuration over code” is over
  9. 9. • Type system mismatches - no understanding of json, xml, sql • Generally poor at handling asynchronous programming • Writing network resilient programs is very hard with frameworks galore Why not Java/NodeJS/Python/*?
  10. 10. Sequence diagram based programming language will make integration great again.
  11. 11. State of the Ballerina Union
  12. 12. • An event-driven, parallel programming language for networked applications • Textual and graphical syntaxes with sequence diagram metaphor • Powerful type system, connectivity and resiliency • Designed for modern development practices The Ballerina Programming Language
  13. 13. Ballerina has been influenced & inspired by C, C++, Java, Go, Kotlin, Dart, NodeJS, Javascript, Maven, NPM, Tomcat, Hysterix and a variety of other awesome programming languages, technologies & tools. Thank you; we strive to do you proud. Standing on the shoulders of giants!
  14. 14. • V0.95 released on Monday • Many things are stable • Some things are not stable • Performance is getting better, but not there yet • Editing experience is getting better, but not there yet Work in progress
  15. 15. Type system
  16. 16. • Connectors – Failover, load balancing, circuit breaking, caching, timeout, .. • Transactions – XA for DB/JMS type – Microtransaction model for B-to-B usecases • Security – Taint checking, authn, authzn Resiliency
  17. 17. • Most languages are sequential first, parallel second • Ballerina is parallel always ultimately natural – Sequence diagrams are inherently parallel • Funky semantics for parallel workers of functions • Async is not right yet; will make it better Parallelism
  18. 18. • Server and client connectors as you’d expect • Powerful I/O library for non-blocking I/O for any kind of channel of bytes, chars or records • Caching, logging, math, ... Standard library
  19. 19. • IDE support - Composer, Idea, VSCode, .. • Unit testing framework • Documentation framework • Versioned module and dependency framework • Docker integration Support for programming lifecycle
  20. 20. • Compile to Ballerina byte codes .balo • Statically linked to executable .balx • BVM interpreter for bytecodes – Written in Java Execution model
  21. 21. • Ballerina has ZERO Java semantics • We’re writing most of the tools in Java – Because its an ok language to do so ;-) – “native” is currently bound to Java, but internal • Planning to compile from .balx to native binary – Looking at LLVM – Or Graal – Or ?? (Help wanted!) Ballerina/Java: Friends without benefits!
  22. 22. • Download it, try it, give it a whirl • Join the community – https://groups.google.com/forum/#!forum/baller ina-dev We want your help!
  23. 23. Ballerina and WSO2 Products
  24. 24. • Is awesome – API composition – Fantastic multi-environments via labels – Microgateways, offline gateways – Bunch of other cool things • Oh, and it uses Ballerina in the gateway API Manager v3
  25. 25. • Gateway will be programmed using Ballerina • Much more flexible and easy to use than current gateway – Graphical composer will be part of it API Manager v3 Gateway
  26. 26. • Will replace ESB and DSS with Ballerina • Significant change from a programming model sense • Migration tool will deal with a lot of the pain Enterprise Integrator 7
  27. 27. NO! Do APIMv3 and EI 7 have to be together?
  28. 28. • NO! • APIMv3 and EI7 will support serverless, container and good ‘ol server modes • If you want to go all micro, we’re there for you – (And the only one!) Do I have to go microservices?
  29. 29. NO! There will be many more minor releases of EI6 as we continue to enhance its functionality. It will be supported as long as you need it to be. OMG is ESB/EI6 gone?
  30. 30. Dunno, yet. What about IS / DAS / IoT
  31. 31. What should I do today?
  32. 32. Don’t stop buying the current products! Very important!
  33. 33. • Avoid writing ESB class mediators as much as possible – Migration tool can’t convert those • Don’t hack around with properties and magic ESB, DSS, EI 6 users
  34. 34. • Don’t do too much hacking in the gateway mediation sequences – In particular, no Java code • Use checkin-in/check-out for environments APIM users
  35. 35. Play nice, stay within boundaries and don’t go crazy then you’ll be ok! Summary
  36. 36. Conclusion
  37. 37. • Ballerina current supports main programs and services • Thinking about long running processes • Thinking about events & streams APIs, events and streams
  38. 38. • Ballerina makes it easier to write smart(er) endpoints – Type system, resiliency, parallelism Smart endpoints and dumb pipes
  39. 39. • Only about once in a decade and takes a decade or more – Fortran, Cobol, C, C++, Java, C#, Javascript, Python, Go • Combination of fast boot, low memory, non-blocking, network integration, micro all, serverless opens door for Ballerina to win Creating a winning language is very hard.
  40. 40. Long term effort

×