Apex, Oracle Free edition
Posted September 1, 2007on:
|What is Application Express?
|Oracle Application Express (Oracle APEX), formerly called HTML DB, is a rapid web application development tool for the Oracle database. Using only a web browser and limited programming experience, you can develop and deploy professional applications that are both fast and secure. Oracle application express combines the qualities of a personal database, productivity, ease of use, and flexibility with the qualities of an enterprise database, security, integrity, scalability, availability and built for the web. Application Express is a tool to build web-based applications and the application development environment is also conveniently web-based. You can try Application Express simply by signing up for an account at apex.oracle.com.|
Application Express Home Page
|No client software is required to develop, deploy, or run Application Express applications. Application Express provides three primary tools:
|What types of applications can you build with Application Express?|
|Application Express is a productive tool to build applications that report on database data. Reports are typically hyper text linked with other reports allowing users to navigate through database data in the same way they navigate web sites. Columns in reports can be easily linked to other reports, charts, and data entry forms and it is all done declaratively. An extensive charting engine allows SQL queries to be represented graphically and that allows data to be more effectively communicated. Application Express is also very adept at editing database data and supports a large number of declarative form controls including radio groups, checkboxes, select lists, shuttles, text editors, and date pickers.|
|When to use Application Express?|
|Due to its ease of use, Application Express is designed to build opportunistic and departmental applications quickly. These application are deployed on the web with superior performance. Historically, departments, prototypes, and small projects have relied on desktop databases to provide an agile development tool for these smaller scale SMB or departmental application development needs. Desktop databases can become very fragmented because they keep data in too many places, they can be vulnerable or inappropriate for use with sensitive information, and they are typically not web friendly. The browser based design time interface, the declarative programming framework, and simple wizards make Application Express a natural replacement for multi-user desktop databases applications such as Microsoft Access.SQL Savvy application developers also appreciate the ease with which you can create database applications with little or no web experience. You don’t need to learn scripting languages or complex deployment frameworks, you simply write a few queries and choose from ready built user interface themes and form controls to create highly professional, secure, and scalable applications.|
|With Application Express, coding is declarative. That means that no code is generated, no code is compiled, and you interact with wizards and property sheets. The SQL language is used to define reports and charts, so some knowledge of SQL is very helpful. You can optionally write snippets of code using PL/SQL, if procedural logic is needed. Declarative code yields fewer differences between developers and this consistency makes Application Express applications easy to maintain and manage.|
|The Application Express engine renders applications in real time from data stored in database tables. When you create or extend an application, Oracle Application Express creates or modifies metadata stored in database tables. When the application is run, the Application Express engine then reads the metadata and displays the application. Application Express lives completely within your Oracle database. It is comprised of nothing more than data in tables and large amounts of PL/SQL code. The essence of Oracle Application Express is approximately 215 tables and 200 PL/SQL objects containing 300,000+ lines of code.To provide stateful behavior within an application, Oracle Application Express transparently manages session state in the database. Application developers can get and set session state using simple substitutions as well as standard SQL bind variable syntax.|
Application Express Architecture Diagram
|The sections that follow describe key features of Oracle Application Express.Reporting
With Oracle Application Express, you can quickly generate HTML reports that display the results of SQL queries. You can also download and print reports in HTML, PDF, RTF (compatible with Microsoft Word), and XLS (compatible with Microsoft Excel) formats.
You can declaratively link reports together to provide drill-down reporting and use bind variables to pass information from session state to a report. Reports support declarative column heading sorting, control breaks, sums, and pagination. Report sorting and pagination can use Partial Page Refresh (PPR) technology to avoid refreshing the entire page. You can also add declarative links to a report to download the report data to CSV or XML formats. Plus, you can customize the report appearance using templates.
The Application Express Web services engine supports loosely defined types and document style Web services. This makes it possible to support JDeveloper created Web services and Oracle BPEL synchronous Web services. It is also possible to interact with Web services over SSL (HTTPS) and Web services that require basic authentication. Finally, there is also support for manually creating a Web service reference if the Application Express engine cannot correctly parse the WSDL document for a particular service. You supply the SOAP request envelope and the URL endpoint among other information about the Web service.Spreadsheet Upload
Use the Create Application from Spreadsheet Wizard to quickly upload spreadsheet data directly into the database. You can choose to store the data in a new database table or add it to an existing database table. Once the data is uploaded, you can quickly create an application. This handy wizard enables you to go from spreadsheet to a shared application in just a few clicks.
Session State Management
SELECT * FROM EMP WHERE EMPNO = :P1_ID
In this example, the value in the item P1_ID is automatically bound when the query is run. You can also reference session state within a static context by prefixing the item name with an ampersand (&) and suffixing it with a period(.), for example:
For management of two dimensional data sets, Oracle Application Express provides a robust collections infrastructure. Best of all, session management is stateless and does not consume any memory.
User Interface Themes
Flow Control and Navigation
Conditionality on All Components
External Interfaces and Extensibility
Additionally, you can customize authorization to meet the needs of your environment and apply authorization selectively to an entire application, a page, or a page component. Finally, you can also take advantage of an innovative session state protection feature to prevent URL tampering and built-in features to protect an application form SQL Injection and cross-site scripting (XSS) attacks.
SQL Workshop Tools
Supporting Objects Utility
Creating a packaged application provides application users with an installer-like experience and automates the process of importing and installing an application in another development, test, or even production instance.
Oracle Application Express enables a single database to host large numbers of users. Users work in a dedicated work area called a workspace. This flexible architecture enables a single database instance to manage thousands of applications.You determine how the process of provisioning (or creating) a workspace works. In request provision mode, users request a workspace using a link on the login page. After the workspace request has been granted, users receive an email containing a link that they must click to verify the validity of their email address. Then they receive an email with their login credentials.