Obix programming language tutorial


Table of Contents

Preface
I. Simplicity
1. Creating a web application with data stored in a database
Step 1: Creating a new project
Step 2: Writing source code for task objects
Step 3: Adding persistence to store objects in a database
Step 4: Creating a web interface to manage tasks
Bonus 1: Adding a web interface to directly manipulate database tables
Bonus 2: Creating a command line utility to manage tasks in a terminal window
Summary of development steps
II. Versatility
2. Different ways to create and execute code
Executing a single instruction
Executing Obix script files
Executing Java source code in an Obix script
Developing a standalone PC application
Developing a web application
Overview
Servlet web application
JSP web application
Further information
The Obix developer console
III. Reliability
3. Basic concepts and concepts for more reliable code
The 'Random arcs' application
Step 1: Create a new application
Step 2: Creating objects
Step 3: Unit testing
Advantages (so far)
Step 4: Making data more reliable and secure
Step 5: Object conversions and error handling
Step 6: File input/output
Step 7: Creating the 'random arcs' picture
Step 8: Testing the application
IV. Productivity
4. Interacting with applications (PAIOF framework)
Application input output interfaces
What we could do ...
What we will do ...
Using PAIOF to quickly make your application usable
Creating a command line utility
Getting input values from different sources
Output destinations, formats and contents
Executing lists of commands
Embedded web services
Customizing PAIOF

List of Figures

1.1. Create task (CRUD example)
1.2. JPA, Hibernate and H2 database used to persist the to do list
1.3. Create task web interface
1.4. Connection to H2 database
1.5. Manipulating database tables with H2
3.1. Obix programming language random arcs tutorial example
3.2. Example of random arcs
3.3. Example of random arcs
4.1. PAIOF application command
4.2.
4.3. Random arcs picture after executing a command list
4.4. PAIOF web interface example

List of Tables

4.1. Output destination values
4.2. Output format values
4.3. Output content values
4.4. Command list sources