Tuesday, 17 September 2013

Oracle APEX - Talking the APEX talk

This is yet another topic that arose from a recent introduction to APEX course I taught in the UK. As part of one delegate's introduction he said when he was with experienced APEX developers he easily got confused with all the APEX jargon that was getting bandied about - workspaces/applications/websheets and a whole lot more besides. Once one delegate started the ball rolling a few others also chimed in to say they had the same problem. So I thought a blog might be a quick fix - although our Introduction to APEX course deals with all these things in much more detail!

OK, so the first bit of jargon is usually a WORKSPACE. A workspace is a shared work area linked to one or more database schemas. It is an area where multiple APEX applications can be created and developed. Users can be created in a workspace and they can share access to the applications developed within that workspace.

Well I guess that brings us to APPLICATIONS. An application is a number of pages designed to help people achieve a certain activity. In Oracle APEX 4 there are three types of applications : database, websheet and packaged applications.

Every workspace is linked to one or more database SCHEMAS. A schema stores the database objects for each application such as tables, views, packages, sequences etc

A DATABASE APPLICATION is made up of a number of pages based on database objects such as tables. The developer can manually control all aspects of the development process. Whereas a WEBSHEET APPLICATION is created and maintained by the business user directly. They can manage structured and unstructured data without any prior developer knowledge.

PACKAGED APPLICATIONS are fully functional applications. A number of business productivity applications come with APEX 4.2 and once installed into a workspace they can be developed further to suit your business's needs.

Each appliction is made up of a number of PAGES. A page within an APEX application forms the basis of the web page that the user sees when they run the application. The development environment of a page is referred to as the PAGE DEFINITION and is usually made up of thre main sections. PAGE RENDERING occurs when the page is loaded or built, PAGE PROCESSING occurs when the page is submitted and SHARED COMPONENTS are those components that can be used across pages in an application eg tabs. On the page are REGIONS. A region holds content eg in the shape of a form, a report or text. There are lots to choose from!

In APEX there are a number of different types of REPORT.  A report displays non-editable data  on a page. A CLASSIC REPORT is usually driven by a SQL query and allows the end user limited runtime  customisation - such as column sorting. A WIZARD REPORT does not require the developer to know how a SQL query is formatted - everything, the tables, columns and conditions are all built up through selecting them via the tool through eg select lists. An INTERACTIVE REPORT is driven by a SQL query and allows extensive end user runtime customisation- such as searching, filtering, sorting, column selection and highlighting.

FORMS on the other hand are editable and allow data to be entered and written back to database tables. They are made up of fields - called ITEMS and BUTTONS.  There are a number of different types of forms. A TABULAR FORM allows you to perform update, insert, and delete operations on multiple records at one time in a single page. These records are displayed in a tabular format. A MASTER DETAIL form allows you to create forms with master-detail relationships from two tables eg customers and orders.

THEMES are collections of templates that can be used to define the layout and style of an entire application. TEMPLATES hold the actual HTML, CSS and references to any other objects that the page needs to display such as images.

And finally to security. AUTHENTICATION relates to the way a user's identity is checked prior to them accessing an application. This is usually done via a login page. AUTHORISATION restricts the user to specific pages or components. And the last one, SESSION STATE PROTECTION, prevents users from tampering with the URL.

Well I think that has covered most bits of APEX speak - let me know if you think of any others that I can add to the blog.

No comments:

Post a Comment