- Service - SSL/TLS
- Service - Mutual SSL
- Service - Basic Auth file user store
- Service - Basic Auth LDAP user store
- Service - JWT Auth
- Service - OAuth2
- Client - SSL/TLS
- Client - Mutual SSL
- Client - Basic Auth
- Client - Bearer Token Auth
- Client - self signed JWT Auth
- Client - OAuth2 Client Credentials grant type
- Client - OAuth2 Password grant type
- Client - OAuth2 Refresh Token grant type
- Client - OAuth2 JWT Bearer grant type
- Service - SSL/TLS
- Service - Mutual SSL
- Service - Basic Auth File user store
- Service - Basic Auth LDAP user store
- Service - JWT Auth
- Service - OAuth2
- Client - SSL/TLS
- Client - Mutual SSL
- Client - Basic Auth
- Client - Bearer Token Auth
- Client - self signed JWT Auth
- Client - OAuth2 Client Credentials grant type
- Client - OAuth2 Password grant type
- Client - OAuth2 Refresh Token grant type
- Client - OAuth2 JWT Bearer grant type
- Service - SSL/TLS
- Service - Mutual SSL
- Service - Basic Auth file user store
- Service - Basic Auth LDAP user store
- Service - JWT Auth
- Service - OAuth2
- Client - SSL/TLS
- Client - Mutual SSL
- Client - Basic Auth
- Client - Bearer Token Auth
- Client - self signed JWT Auth
- Client - OAuth2 Client Credentials grant type
- Client - OAuth2 Password grant type
- Client - OAuth2 Refresh Token grant type
- Client - OAuth2 JWT Bearer grant type
Mobile Left Nav
Ballerina By Example
Ballerina by Example enables you to have complete coverage over the language, while emphasizing incremental learning. This is a series of commented example programs.
Language concepts
- Hello World
- Hello world main
- Hello world service
- Simple basic types
- Integers
- Floating point numbers
- Decimal type
- Nil
- Strings
- Strings
- Conditional statements
- Booleans and conditionals
- Match statement
- Functions
- Functions
- Function values
- Iteration
- Foreach statement
- While statement
- Lang library
- Langlib functions
- Error handling
- Error handling
- Check expression
- Error subtyping
- Panics
- Ignoring return values and errors
- Ignoring return values and errors
- Mutability and identity
- Identity
- Const and final
- Enumerations
- Immutability
- Query expressions
- Query expressions
- Destructuring records
- Let clause
- Ordering
- Limit clause
- Querying tables
- Creating tables with query
- Join clause
- Stream type
- Querying with streams
- Backtick templates
- Raw templates
- Backtick templates
- XML templates
- XML
- XML data model
- XML operations
- XML subtyping
- XML navigation
- XML templates and query
- XML namespaces
- XMLNS declarations
- Metadata
- Documentation
- Annotations
- Network interaction
- Consuming services: client objects
- Providing services
- Module lifecycle
- Service declaration
- Resource methods
- Hierarchical resources
- Resource path parameters
- Configurability
- Configurable variables
- Concurrency
- Asynchronous function calls
- Named workers
- Sequence diagrams
- Waiting for workers
- Strands
- Named worker return values
- Alternate wait
- Multiple wait
- Named workers and futures
- Inter-worker message passing
- Inter-worker failure propagation
- Transactions
- Transaction statement
- Check semantics
- Rollback
- Retry transaction statement
- Transactional qualifier
- Transactional named workers
- Commit/rollback handlers
Network libraries
- REST API
- Service path and resource path
- Service data binding
- Default resource
- Path parameter
- Query parameter
- Matrix parameter
- Header parameter
- Typed resource responses
- Restrict by media type
- REST client
- Client
- Client data binding
- Caching client
- REST API security
- Service - SSL/TLS
- Service - Mutual SSL
- Service - Basic Auth file user store
- Service - Basic Auth LDAP user store
- Service - JWT Auth
- Service - OAuth2
- Client - SSL/TLS
- Client - Mutual SSL
- Client - Basic Auth
- Client - Bearer Token Auth
- Client - self signed JWT Auth
- Client - OAuth2 Client Credentials grant type
- Client - OAuth2 Password grant type
- Client - OAuth2 Refresh Token grant type
- Client - OAuth2 JWT Bearer grant type
- REST API interceptors
- Request Interceptors
- Response Interceptors
- Error Handling
- Interceptor Error Handling
- GraphQL
- Hello world
- Returning record values
- Hierarchical resource paths
- Returning service objects
- Input types
- Mutations
- Subscriptions
- Context
- File upload
- Documentation
- Interceptors
- GraphQL security
- Service - SSL/TLS
- Service - Mutual SSL
- Service - Basic Auth file user store
- Service - Basic Auth LDAP user store
- Service - JWT Auth
- Service - OAuth2
- WebSockets
- Client
- Client - Retry
- Service
- WebSocket security
- Service - SSL/TLS
- Service - Mutual SSL
- Service - Basic Auth File user store
- Service - Basic Auth LDAP user store
- Service - JWT Auth
- Service - OAuth2
- Client - SSL/TLS
- Client - Mutual SSL
- Client - Basic Auth
- Client - Bearer Token Auth
- Client - self signed JWT Auth
- Client - OAuth2 Client Credentials grant type
- Client - OAuth2 Password grant type
- Client - OAuth2 Refresh Token grant type
- Client - OAuth2 JWT Bearer grant type
- Listeners
- Dynamic listener
- gRPC
- Simple RPC
- Simple RPC with headers
- Server streaming RPC
- Client streaming RPC
- Bidirectional streaming RPC
- Proto to Ballerina
- gRPC security
- Service - SSL/TLS
- Service - Mutual SSL
- Service - Basic Auth file user store
- Service - Basic Auth LDAP user store
- Service - JWT Auth
- Service - OAuth2
- Client - SSL/TLS
- Client - Mutual SSL
- Client - Basic Auth
- Client - Bearer Token Auth
- Client - self signed JWT Auth
- Client - OAuth2 Client Credentials grant type
- Client - OAuth2 Password grant type
- Client - OAuth2 Refresh Token grant type
- Client - OAuth2 JWT Bearer grant type
Common libraries
Observability
Deployment
- Code to Cloud
- Docker
- Kubernetes
- Function as a Service
- Azure Functions
- AWS Lambda