Openbravo Tt2 Course Guide 2016
Openbravo Tt2 Course Guide 2016
Openbravo Tt2 Course Guide 2016
Business Suite
Technical
Training 2
Development
Course Guide
v3.3
© 20082016 Openbravo S.L.U. All rights reserved. The information in this document is confidential and may not be
disseminated or disclosed to third parties (either in digital form or on paper) without the prior written consent of Openbravo S.L.U.
Introduction
Audience
Content
Session 1
Concepts and Scenario Presentation
Session 2
Development Environment
Session 3
Modularity & Initial Client Setup
Session 4
Advanced Application Dictionary
Session 5
Customization of Core Database Artefacts
Session 6
Java Processes and the Data Access Layer
Session 7
Callouts
Session 8
Events
Session 9
Background Processes
Session 10 Webservices
Session 11 ToolBar and Navigation Bar Customizations
Session 12 Manual Window/View
Session 13 Packaging
Formats
Online Elearning Format
Requirements
Knowledge prerequisites
Computer Requirements
Terms & Prices
Times, Prices & Registration
Language
Notes
Introduction
Technical Training level 2 aims to provide an in depth knowledge of how Openbravo Business Suite can be
customized, extended and packaged into modules . Client and server side development is discussed
through a real life scenario and numerous hands on exercises.
Note: This course does not cover topics such as installation, basic customizations through the use
of
application dictionary and report development! To learn those, please consider participating in our
Techn
ical
Training 1.
Audience
This course is targeted at
experienced Java developers who will be customizing or extending Openbravo
Business Suite with new functionality. See the
Requirements
section below for a more detailed list of required
knowledge.
Content
Session 1
Concepts and Scenario Presentation
This first session will welcome the student to the course, present the schedule and give an overview of the
topics and assignments.
To resemble a real life scenario a hotel management module will be developed with the following
requirements:
● a new Guest entity that ties to a Business Partner to whom an invoice can be issued
● a new Room entity
● a new Stay entity
overnight stay of a particular guest in a room
● a new Guest/Stay window where the corresponding entities can be managed and edited
● a new Room window where rooms can be managed and edited
● customized Business Partner screen
● background and on demand recalculation of guest rates based on the history of stays
● webservice that exposes a list of available rooms to the world according to smoking/non smoking
criteria
● automatic check out from the original room upon switching rooms
● custom screen showing a monthly overview of room utilization
● package all developments for this solution into a single OBX file that can be shared/distributed
Session 2
Development Environment
Before any coding takes place, a development environment will be set up and configured.
●
checkout of the latest stable code
● installation and configuration of Eclipse
All exercises and customizations within this course must be done in this local environment! An Openbravo
On Demand instance owned by each student will be used to simulate a testing/pre production
environment where all developments will have to be deployed to and verified by the instructor.
Session 3
Modularity & Initial Client Setup
Development of any artifact MUST be part of a module. A new Hotel Management template + module will
be created which all subsequent course developments will belong to.
We will also learn how to install other existing external modules.
An initial client+organization setup will be performed for a fictitious customer Hotel Green Terrace to simulate
the application setup and a testing environment.
Session 4
Advanced Application Dictionary
The student should be familiar with the basic concepts of Openbravo's Model Driven Development (MDD)
approach by now. This metadata is also called the Application Dictionary in Openbravo Business Suite and its
advanced powers will be discussed with topics such as:
● creating new tables, windows, tabs and fields
● creating new references
● making fields conditionally read only
● making fields display under certain conditions
● changing labels and descriptions of fields
● derived default values
● document sequences
● making and exporting changes to a core window
Session 5
Customization of Core Database Artefacts
Stored Procedures: Most of Openbravo Business Suite business logic is located within stored procedures
inside the database. Customization of certain main stored procedures through extension points is often
required and will be explained here.
Triggers: Another portion of Openbravo Business Suite business logic is implemented using database
triggers. The student will learn how triggers are structured and how to override core triggers.
Development of new business logic should be done through Java processes and will be discussed in later
chapters.
Session 6
Java Processes and the Data Access Layer
Data Access Layer
Instead of stored procedures and SQL statements, Openbravo Business Suite offers Object Relational
Mapping through plain Java objects that allow the developer to perform all database operations. In Openbravo
Business Suite it is called the Data Access Layer (DAL, based on Hibernate) which will be discussed here.
Action Buttons
Extending standard windows defined inside the application dictionary can often be done by placing action
buttons on them with a Java process behind it. An action button will be introduced to the guest window that
recalculates a specific guest's rate based on his or her stay within the last X months.
Session 7
Callouts
Doing validations, additional database lookups or plain calculations within automatic windows is possible
using callouts associated with individual columns. A new callout will be developed that upon entering a
checkout date for a guest's stay, automatically calculates the final sum based on the nights stayed and the
room rate given.
Session 8
Events
Events are Java processes that replace the database trigger functionality. A new event will be developed
within this section that operates on our list of stays, doing an automatic checkout of a guest that switches to
another room.
Session 9
Background Processes
Any Java process in Openbravo can easily be developed and scheduled as a background job. The hotel
management scenario requires the guest rate to be recalculated automatically using a background process
developed here.
● Process vs DAL Based Process
● Develop a short background process
● Scheduling
● Monitoring
Session 10
Webservices
Webservices are a great way of making applications flexible and open to integration with other systems.
Openbravo supports SOAP as well as REST (XML & JSON) webservices which will be discussed in this
chapter. A new REST webservice will be developed that offers a list of available (non occupied) rooms
according to the smoking/non
smoking criteria passed.
Session 11
ToolBar and Navigation Bar Customizations
Custom buttons or widgets can be added to the Toolbar or the Navigation bar. Both will be discussed and
developed within this chapter.
Session 12
Manual Window/View
When a certain functionality cannot be supported by the elements discussed until this point or when a
different UI is required, a custom screen can be developed from scratch to fill the gap. This is the last resort
which should only be taken when no other framework artifact can be used to implement the solution. Custom
windows offer limitless options but make you the full owner and maintainer of it. Consequently, these do not
benefit from Openbravo bugfixes and upgrades.
The use of the SmartClient RIA library will be explained here to develop the front
end, coupled by a back
end
Java process.
Session 13
Packaging
By this point, the student will have lots of additional developments done compared to the core Openbravo
Business Suite. Packaging them together in order to install them at a customer's site or share them with the
community is crucial. One will learn how to define datasets and export all metadata to a specific module's
folder and package it together into a single .OBX file.
Formats
Online Elearning Format
The online version of the course delivers the same content as the classroom one but in a self study manner
and over a longer period of time, 4weeks. The online format of this training is an alternative designed for
participants
with financial and/or resource constraints . To make up for the classroom interactivity, the
online elearning platform comes with the following collaboration elements:
● News blog where live sessions and other news will be published
● Documentation for each topic and assignments that can be printed out
● Links to Howto articles and additional readings
● Q&A forums monitored and answered by Openbravo training specialists
● Exercises and assignments
● Embedded IRC live chat sessions/support tutored by a Openbravo training specialists
● An Openbravo On Demand virtual instance of Openbravo Business Suite application is provided
where exercises are deployed, executed and troubleshot by the instructor
This course requires roughly
45 hours (depending on the student’s background and proficiency) of
student self study 4
which he or she may invest as they see fit across the week availability
:
Week 1
Week 2
Week 3
Week 4
IRC Chat Live IRC Chat Rooms where an Openbravo Instructor is present to resolve any
Assistance questions, issues or doubts that may arise during the course.
*This is an experimental feature for which we cannot guarantee any service levels
yet
Elearning The elearning platform with all its elements such as
study materials, virtual
Platform environments, forums and assignments available for the full length of the
Availability course
Classroom Format
Classroom format of the training is aimed at those in need to learn how to customize and extend Openbravo
Business Suite in the shortest and most efficient manner possible, when given as such and delivered by an
Openbravo Training Specialist, the Advanced Development. The 5 day course with the following schedule:
Day 1 Day 2 Day 3 Day 4 Day 5
Requirements
Knowledge prerequisites
● knowledge of basic development concepts in Openbravo Business Suite (mastered by taking the
Technical Training 1)
● excellent senior knowledge of
Java
● good knowledge of Javascript
● master the concepts of web applications (preferably J2EE)
● basic knowledge of database concepts and SQL (SELECT, stored procedures, triggers)
● Knowledge of source control (Mercurial) is a plus
Computer Requirements
● dual core processor (2GHz or faster)
● 4Gb RAM or more
● A compatible web browser. Due to the fact that Openbravo Business Suite is a
rich internet
application (RIA)
, the newest browsers with optimized Javascript engines are recommended for the
best user experience:
Web browser Minimum required Recommended version
Internet Explorer 9 11 or higher
Safari 7 8 or higher
Terms & Prices
Times, Prices & Registration
Please visit
http://www.openbravo.com/training
for a list of scheduled dates and locations and to purchase
seats for attending one of the upcoming courses.
Language
All
training materials
are available in
English
only.
Classroom teaches and online course support
(forums & chats) however can also be delivered in Spanish.
Notes
● The course is led and followed by an Openbravo Training Specialist .
● Training is based on
Openbravo Business Suite 3.0PR15Q3.3 .
● Prices are quoted per student and do not include taxes.
● This course is open to all participants, regardless of affiliation with Openbravo.
● This course does not cover the functiona l or
basic technical configuration topics required to
complete an implementation which are delivered during the Functional Training 1
and
Technical
Training 1.
For detailed Terms and Conditions of Openbravo courseware delivery, please visit the following
link:
http://university.openbravo.com/university terms.html