Child pages
  • SIF AU Technical Workshop November 2019
Skip to end of metadata
Go to start of metadata
Location & Times

Date: Monday November 18, 2019

Start time: 9:00am (access to the room from 8.30am)

Location: Melbourne Business Centre, Level 9, 440 Collins Street (Services meeting rooms)

Meeting Room: Conference Room

What to bring: Your own laptop

Catering: Morning tea, lunch and afternoon tea will be provide (please email with any dietary requirements)

Finish time: 5pm (room available until 5.30pm)


Some sessions may be recorded for online use. Participants are unlikely to be videoed, but if you have any concerns about this please contact the presenter.


The table below lists some pre-requisites for the training course. These are either installed software on your laptop or it can mean some reading that is recommended to be done before the course. It is split between Java and .Net due to different pre-installed software for each development environment.

It is important to note that the training course is limited to the SIF3 Framework. It is not a training course in administering a web-server (i.e. Tomcat, JBoss, IIS etc), neither is it a training course that will teach you Java, C# or how to maintain a database. It is expected that you are proficient in these technologies and programming languages prior to attending the SIF3 Framework Training course.


Window & Mac Users

Windows and Mac Users have two options to get their development environment ready for the training course:

Option 1 (recommended for Windows and Mac OS users)

We will provide a pre-installed development environment on the day. It will be distributed on a USB stick and participants simply copy the per-installed setup to their machine. This is the easiest option.

  • Mac OS Users: Please ensure that you have Java 8 installed (Visit this site for a free OpenJDK -
  • Windows Users: No need to install anything. All is provided including a self-contained OpenJDK 8.
Option 2 (manual)

Participants can install the development environment themselves ahead of the training. In this case it is important that the instructions listed after the agenda are followed to ensure a consistent training experience.

Linux Users

If you are a linux user you must setup your development environment manually according to the instructions listed after the agenda. This ensures a consistent training experience.

Although not explicitly required (included in either Visual Studio or the framework), the framework relies on the following technologies:

  • Web API
  • SQLite
  • IIS (express)
  • AutoMapper

Training Course Agenda

Monday November 18, 2019


8:30am - 9:00am"Registration" & Welcome
9:00am - 9:30am

SIF Intro - Joerg Huber

  • What is SIF?
  • What Problems are Solved?
  • What is an Adapter, a Broker, a Zone and what is their relationship? 
  • SIF Environment and Connections

Presentation - "00 - SIF Intro"
9:30am - 10:00am

SIF 3.x Concepts - Joerg Huber

  • REST
  • Immediate vs. Delayed
  • Events
  • Specification

See also Common Terms and SIF 3.0.x Concepts for some more information.

Presentation - "04 - SIF3 Concepts.pptx"

9:30am - 10:00am

SIF3  Framework Overview (Java & .Net)- Joerg Huber

  • Overview
  • What does it cover.
  • What is missing.

Presentation - "01 - SIF3 Framework Overview.pptx"

10:30am - 10:45amShort Coffee Break
10:45am - 12:15am

First Consumer (incl. Exercise) - Joerg Huber

  • What is a consumer
  • How to develop a basic consumer (Get Methods)

See also SIF Consumers.

Presentation - "03 - SIF3 First Consumer.pptx"

Exercise 1: Install & Verify SIF3 Framework - "SIF3 Training Exercises (1 Day) - Java.docx" & "Sif3Framework .NET Training Exercises (AU).docx"

Exercise 2: Write first Consumer Methods - "SIF3 Training Exercises (1 Day) - Java.docx" & "Sif3Framework .NET Training Exercises (AU).docx"

12:15pm - 1:00pmLunch Break
1:00pm - 1:45pm

First Look at an Object Provider - Joerg Huber

  • What is an Object Provider
  • What is it responsible for (events, RefId allocation, Environments if DIRECT)
  • What can the Frameworks do
  • How to develop a basic Object Provider

See also SIF Providers.

Presentation - "05 - SIF3 Providers.pptx"

1:45pm - 2:30pm

Exercise: Write a Provider - SchoolInfo

Presentation - "06 - SIF3 Provider Exercise.pptx"

Exercise 3 - "SIF3 Training Exercises (1 Day) - Java.docx" & "Sif3Framework .NET Training Exercises (AU).docx"

2:30pm - 3:00pm

Catch up on outstanding Exercises...


Optional Exercise 4: ("SIF3 Training Exercises (1 Day) - Java.docx" & "Sif3Framework .NET Training Exercises (AU).docx")

Add some more functionality to your Consumer (Multi-Object Operations)

3:00pm - 3:15pmShort Coffee Break
3:15pm - 3:45pm

REST URLs structures used in SIF 3.x - Joerg Huber

  • During testing it is useful to know the basics of a SIF3 REST URL.
  • Components
  • HTTP Headers or SIF eXpress?

Presentation: "08 - SIF3 REST URL Structure .pptx"

3:45pm – 5:00pm

Service Paths & Query By Example (QBE) - Joerg Huber

  • What is a Service Path
  • What is QBE
  • How to use them, when to use them?

Presentation: "12 - SIF3 Service Paths .pptx"

Exercise 7 - "SIF3 Training Exercises (1 Day) - Java.docx" & "Sif3Framework .NET Training Exercises (AU).docx"

5:00pm - 5:30pmWrap up ...

Manual Development Environment Setup for Java (required for Linux users, optional for Windows & Mac users)

Please note, while the SIF3 Framework is not tied into a given JDK, IDE, Database, Web- or Application Server there will be some constraints and boundaries we set for the training course to make it as efficient as possible. During the course and specifically for the exercises there will be very limited time to download, install and configure your development environment and therefore we expect certain software already be downloaded and installed. We also suggest a specific IDE, and Web-Server to ensure consistency during the exercises. So, please take note of the pre-requisits and their versions. If you wish to alter any of the suggested software you must ensure that you have installed and tested it before you start the training.

The SIF3 Framework (Java) Training will expect and use the following software and minimum versions thereof:

  • JDK 8 installed: Version 1.8 installed on the developer's machine (i.e.visit this site for a free OpenJDK -
    => It is assumed that the developer has a good working knowledge of Java and Java Web development.
  • Eclipse IDE installed: The training course will use the Java EE Developer version of Eclipse such as Luna. You can find it at this location: Please note you could use any other IDE but the training course is packaged as an Eclipse project, so using eclipse will make it much easier for you.
    => It is assumed that the developer has a good working knowledge on how to use their IDE of choice. 

  • Tomcat 8 or 8.5 installed: You can find it at this location: Please note you can use a newer version if you wish but the Training Project is pre-configured to use version 8 of Tomcat.
    => If you decide to use another web- or application server (i.e. JBoss 6+, Jetty 8+), please ensure that you have it downloaded, installed and configure to use it with your IDE. The selected web- or application server must support the servlet 3.0 specification and the developer must have a good understanding on how to administer the selected web- or application server.

  • DB: During the training we will use the SQLite DB that comes with the Training Projects. There is no need to install or bring along another DB.

  • DB Explorer installed: For some of the exercise we need to look at the DB setup of the framework. Therefore a DB Explorer based on JDBC will be required. DBVisualiser and SQuirreL ( are two examples. Because the training will use SQLite you need a SQLite JDBC driver. You can download one form here. Ideally you configure your DB Explorer to use this driver but this could potentially be done during the training.
  • Ant: Build scripts are provided as part of the training course. You may or may not use them. If you wish to use them you should have ant installed on your machine either as part of your IDE or external to your IDE.

  • REST Client: For some exercises we will need a REST client to test the code. There are quite a few rest clients around. The Firefox browser can be used but the most convenient and simplest REST Client is Postman. We recommend to use this and download it from here.

  • SIF3 Framework (optional but recommended) from Github ( downloaded and imported to the developer's IDE. It will be used as reference material and potentially as demo for some concepts.

  • SIF3 Training Project downloaded from Github ( Exercises, sample code and solutions for training course. Download and import into your IDE. It will be used as part of the training.