<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.infinite-erp.co.id/index.php?action=history&amp;feed=atom&amp;title=Prerequisite_Knowledge</id>
	<title>Prerequisite Knowledge - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.infinite-erp.co.id/index.php?action=history&amp;feed=atom&amp;title=Prerequisite_Knowledge"/>
	<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Prerequisite_Knowledge&amp;action=history"/>
	<updated>2026-04-06T18:42:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Prerequisite_Knowledge&amp;diff=33&amp;oldid=prev</id>
		<title>Wikiadmin: Created page with &quot;{{Languages|Prerequisite_Knowledge}}  == Introduction ==  This page lists the main knowledge areas which are relevant when developing in/with Openbravo. The exact required kno...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Prerequisite_Knowledge&amp;diff=33&amp;oldid=prev"/>
		<updated>2018-10-14T13:12:34Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Languages|Prerequisite_Knowledge}}  == Introduction ==  This page lists the main knowledge areas which are relevant when developing in/with Openbravo. The exact required kno...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Languages|Prerequisite_Knowledge}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This page lists the main knowledge areas which are relevant when developing in/with Openbravo. The exact required knowledge level depends very much on the task one needs to under take. Some development tasks will consist primarily of changes through the Openbravo UI which require very little deep technical knowledge. Other tasks can be more involving and require changing or extending Openbravo. In this last case also a technical understanding of the Openbravo product is required.&lt;br /&gt;
&lt;br /&gt;
== General Knowledge ==&lt;br /&gt;
&lt;br /&gt;
To develop in/with Openbravo it is at least required to have a basic (one year) understanding of the following technology:&lt;br /&gt;
&lt;br /&gt;
* [http://www.java.com/en/about/ Java]: The programing language used in all the server side components of Openbravo. It is used in all levels from the core components to ERP business logic.&lt;br /&gt;
* [http://java.sun.com/j2ee/overview.html J2EE]: The platform used for server programming in the Java language it adds libraries to provide enterprise capabilities to java applications running on an application server.&lt;br /&gt;
* [http://ant.apache.org/ Apache Ant]: The tool used to execute the build tasks related to Openbravo like compiling, deployment to an application server, exporting and importing the database schema, etc.&lt;br /&gt;
* [[How_to_setup_Eclipse_IDE|Eclipse IDE]]: An integrated development environment that helps in all the development tasks related to Openbravo like editing source files, debugging, executing build tasks, etc.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/SQL SQL]: A database computer declarative language. It is used across all the Openbravo server side components to access data stored in the relational database management systems used: PosgreSQL and Oracle.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/HTML HTML]: The markup language used to render the Openbravo user interface in the web browser used by Openbravo users.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/XML XML]: The markup language used to describe different documents in Openbravo like REST Web Services, Jasper Reports, configuration files, template files, etc.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
If the development tasks are primarily in the database area then a developer would also need to have experience with:&lt;br /&gt;
&lt;br /&gt;
* [http://www.postgresql.org/ PostgreSQL] or [http://www.oracle.com/us/products/database/index.html Oracle]: The target database used.&lt;br /&gt;
* Database schema concepts like constraints, foreign key, triggers, indexes...&lt;br /&gt;
* [http://en.wikipedia.org/wiki/PL/SQL PL/SQL]: The language used to develop business logic in the database side.&lt;br /&gt;
&lt;br /&gt;
== UI / Client-Side Code ==&lt;br /&gt;
&lt;br /&gt;
Openbravo [[System_Requirements#Client:_web_browsers|requires]] a web browser like Internet Explorer, Firefox, Chrome or Safari to render the user interface. For developments focused on the user interface there will be required experience with:&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/JavaScript JavaScript]: An scripting language used by web browsers to provide access to the user interface pages. Developers should be able to read, write and debug JavaScript code using the development tools provided by web browsers.&lt;br /&gt;
* [http://www.smartclient.com SmartClient]: The RIA Framework Openbravo 3 is based on, it is based on JavaScript it includes a large collection of widgets and other utilities for the client side.&lt;br /&gt;
&lt;br /&gt;
== Data Access Layer ==&lt;br /&gt;
&lt;br /&gt;
For server side developments in the Java programming language that access the database the following technologies are used:&lt;br /&gt;
&lt;br /&gt;
* [[Data_Access_Layer|Data Access Layer]]: The Openbravo component used to strengthen the development of business logic in Java. &lt;br /&gt;
* [http://www.hibernate.org Hibernate]: The library Data Access Layer is based on that provides Object/Relational mapping and enables developers to use an object model to access relational databases. To make the best use of the Data Access Layer, its main concepts are important to understand how to create more advanced queries, especially the Hibernate Query Language ([http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/queryhql.html HQL]) and the Hibernate Criteria API.&lt;br /&gt;
&lt;br /&gt;
== Web Services ==&lt;br /&gt;
&lt;br /&gt;
To consume and extend Openbravo web services a developer needs to have knowledge in the following areas:&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Representational_State_Transfer REST]: The style of software architecture used to provide web services in Openbravo.&lt;br /&gt;
* [http://www.w3.org/TR/xmlschema-0/ XML Schema] for XML Web Services, to represent the XML media type provided by this type web services.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/JSON JSON]: A text based standard designed for data interchange, it has a close relation with Javascript and it is used for JSON Web Services in Openbravo. &lt;br /&gt;
&lt;br /&gt;
[[Category:Concepts]]&lt;/div&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
</feed>