© 2020

Beginning Ballerina Programming

From Novice to Professional


Table of contents

  1. Front Matter
    Pages i-xvii
  2. Anjana Fernando, Lakmal Warusawithana
    Pages 1-14
  3. Anjana Fernando, Lakmal Warusawithana
    Pages 15-53
  4. Anjana Fernando, Lakmal Warusawithana
    Pages 55-87
  5. Anjana Fernando, Lakmal Warusawithana
    Pages 89-119
  6. Anjana Fernando, Lakmal Warusawithana
    Pages 121-149
  7. Anjana Fernando, Lakmal Warusawithana
    Pages 151-170
  8. Anjana Fernando, Lakmal Warusawithana
    Pages 171-190
  9. Anjana Fernando, Lakmal Warusawithana
    Pages 191-225
  10. Anjana Fernando, Lakmal Warusawithana
    Pages 227-268
  11. Anjana Fernando, Lakmal Warusawithana
    Pages 269-322
  12. Back Matter
    Pages 323-335

About this book


Discover the Ballerina programming language for next-generation microservices and cloud-native application development. This book shows you that Ballerina is a cutting-edge programming language which incorporates many of the latest technological advancements in programming language theory. You'll learn variables and types, modules and functions, flow control, error handling, concurrency, I/O, cloud/network programming, persistence and data access, security and more.

Additionally, Beginning Ballerina Programming introduces many foundation computer science topics along the way and doesn’t assume much prior knowledge. For example, when introducing transport-level security, you will get a brief introduction to public-key cryptography, how it is different from private-key cryptography, and why we need it. This provides an added bonus for you to learn something new and general in computer science. 

After reading and using this book, you'll be proficient with Ballerina and cloud-first programming and be able to apply these concepts and techniques to your next cloud application developments  

You will:

  • Start programming with Ballerina 
  • Gain the basics of network communication and programming
  • Obtain a solid understanding of services/API development and resilient communication
  • Effective use of concurrency in programming
  • Learn the basics of information security and its applications
  • Persistent data storage and access


Ballerina programming language microservices Java web development software application source code

Authors and affiliations

  1. 1.Mountain ViewUSA
  2. 2.Mountain ViewUSA

About the authors

Anjana Fernando is a director and architect at WSO2. He is a key part of WSO2’s Ballerina and ecosystem engineering team where he leads efforts to shape the capabilities offered in related technology areas. He has also contributed to WSO2’s integration-related projects, including the Ballerina programming language, in the areas of the VM, transactions, and data handling. He has carried out several onsite customer engagements providing support for various integration and analytics projects as well. Anjana has a first-class honors degree in software engineering from the Informatics Institute of Technology, Sri Lanka, which is affiliated with the University of Westminster, UK. He also has a masters in computer science from the University of Colombo, School of Computing, where his main research area was distributed systems on the web.

Bibliographic information

Industry Sectors
IT & Software
Consumer Packaged Goods
Finance, Business & Banking
Oil, Gas & Geosciences