The Applications Framework

By Jeannie Dobney With 11i, Oracle introduced the Applications Framework. This paper describes what the Applications Framework is and what it means for Applications users. An example of personalisation using the Application Framework is included. Introduction For many end users of Oracle Applications, the first time we became aware of “the framework” is when our home page changes, from this:

To this:

and the change was not always welcome! 1 So what is the Applications Framework (also known as the OA Framework and OAF) and what else does it offer? That is the topic of this paper. (Note that this presentation was originally intended for a primarily functional audience, however as it now includes some
Page 1 of Applications Framework presentation ©Jeannie Dobney 2006

quite technical material an Appendix from an earlier paper includes background material on topics like Java. There is also a Glossary and Acronym decoder. The Applications Framework Defined We know that Oracle’s “core” Applications are currently written in Oracle Forms. Examples are General Ledger, Human Resources, Order Management etc. This has become known as the Professional Interface. In addition Oracle offer a range of self-service or web Applications, in what is often called the HTML Interface. An example of this type of Application would be iProcurement. The Applications Framework is the standardised technical development and deployment architecture introduced by Oracle for their HTML based Applications. It has been at least partially available since about 11.5.7 but with 11.5.10 Oracle have now migrated all of their web Applications to it. In an Open World 2005 Applications Technology presentation, Lisa Parekh, Oracle’s Vice President of Technology Integration summed up the Applications Framework up as the technology foundation for HTML applications in the E-Business Suite.2 Her presentation made clear that various web Applications have previously been developed using individual JSPs or were based on PL/SQL page generation, but that now all the HTML interface Applications would move to the OA Framework. By using their own toolset to create a standardised development and deployment platform for Oracle Applications, Oracle has also been able to offer technology improvements which include: • Improved Application performance (due to features like partial page rendering and optimized network traffic), • Built in protection against known HTML hacking strategies. Because this security protection is implicit in OA Framework, web Applications created with it do not need to be redeveloped if new security vulnerabilities emerge, i.e. a framework enhancement would address such issues. • Durable Personalisations (allowing users a range of preferences) • Extensibility (supporting custom development using Oracle’s own toolset). Both Personalisation and custom development will be described later in this paper. However before we move away from Oracle’s strategy for Applications technology, it is worth also mentioning that in the same Open World paper quoted above, Lisa Parekh stated that as “Oracle’s technology for HTML continues to advance, HTML is becoming an increasingly effective interface for professional applications”. In other words, Forms technology will be gradually replaced by OA Framework technology. OA Framework Technology The Oracle Application Framework uses 100% Java & XML. There is no getting away from Java in the Oracle Applications technology stack so a simplified introduction to it is included as an Appendix to this paper. Refer to page 19. Oracle’s JDeveloper tool with an Oracle Applications extension is used for development for the Oracle Applications Framework. This Integrated Development Environment (IDE) brings the programming benefits of a 4GL-like model to creating HTML applications. JDeveloper offers a wealth of productivity tools such as the Unified Modelling Language (UML) modeller, code coach, integrated debugger, local testing environment and documentation generator.

Page 2 of Applications Framework presentation ©Jeannie Dobney 2006

View. The metadata used to describe the UI is loaded into a database repository. • The Controller responds to user actions and directs application flow.The following screen shot displays the JDeveloper interface: The OA Framework architecture is based on the industry-standard J2EE Model-ViewController (MVC) design pattern.which could support any client (not just OAF) So it also possible to think of the OA Framework as the programmatic ‘glue’ which integrates the technologies listed above. called Meta Data Services (MDS). 3 Consistent with Object-Oriented principles each of these are clearly distinct: the View and Controller code act as client classes. UIX uses XML to describe the components and hierarchy that make up an application page. at deployment time and optionally at design time as well. Page 3 of Applications Framework presentation ©Jeannie Dobney 2006 . and the Model code acts as a server class . this is implemented using Oracle Business Components for Java (BC4J) • The View formats and presents data from a model to the user using UI XML (UIX). it is a pure Java class implementation. and Controller: • The Model encapsulates underlying data and business logic of the application. The MVC architecture is a component-based design pattern with clean interfaces between the Model. UIX also provides runtime capabilities to translate that metadata into HTML output so that it can be shown on a Browser or a mobile device.

The following diagram illustrates this architecture: 4 The next section describes how this works in more detail. A servlet is a Java-based web application server extension program that implements a standard API. A typical JSP application involves the following components: a browser for client access. A servlet session is a mechanism for maintaining state between HTTP requests during a period of continuous interaction between a browser and a web application. Page 4 of Applications Framework presentation ©Jeannie Dobney 2006 . A JSP is a file with some HTML and Java code that executes top to bottom. The browser communicates with the middle tier using HTTP (Hyper Text Transfer Protocol) which involves sending a request message to which the middle tier replies with a response message. a database for enterprise data and a web application server ("middle tier") where the application objects live. or by a period of user inactivity. it is compiled into a Java class which is actually a servlet. A session usually corresponds to an application login/logout cycle A JavaBean (or "bean" for short) is simply a reusable component that implements specific design patterns to make it easy for programmers and development tools to discover the object's properties and behaviour. Any objects in the middle tier that communicate with the database use a JDBC (Java Database Connectivity) driver. A session may be initiated at any time by the application and terminated by the application. At runtime. by the user closing the browser.

the OA Framework recreates the web bean hierarchy if necessary (the hierarchy is cached between requests. the OA Framework hands the web bean hierarchy to the UIX framework so it can generate and send HTML to the browser. For each bean with an associated UI controller. OA Framework Development The take-away message for most functional users from this section will be that the Applications Framework enables efficient development of custom web pages using standards which allow them to fit in with “look and feel” of Oracle Applications. When the browser issues a form submit (if. the tabs. the application branding image and so on) actually corresponds to one or more web beans in the hierarchy. for example. In the middle tier. When page processing completes. JDeveloper (shown in this screen shot) is used to create or modify OA Framework pages. the user selects a search region's "Go" button). this page is actually implemented in memory as a hierarchy of Java beans – very much like a classical Java client UI. When page processing completes. The development steps are:5 • • Set Up a Project in JDeveloper The project files (*. This is the Extensibility benefit identified in the introduction.jpx) will include the XML definitions Create or modify the Model: Page 5 of Applications Framework presentation ©Jeannie Dobney 2006 .renders as standard HTML. and typically needs to be recreated only in exceptional cases that we'll discuss in detail later).At the browser level. however. the page HTML is generated again and sent to the browser. When the browser issues a request for a new page. and then calls any event handling code that you've written for the page beans. a table. As mentioned above. the OA Framework reads the page's declarative metadata definition to create the web bean hierarchy. the OA Framework calls code that you write to initialize the page. an OA Framework page -like any other web page . Each UI "widget " that renders in the page (buttons.

apps. Entity Object BC4J entity objects encapsulate the data sources and the business rules (validations etc) associated with database records. The result set contains one or more view rows.beans.framework." the OA Framework will instantiate an oracle.webui. Query Bean BC4J view object encapsulates a database query most likely through a simple SQL statement.apps.fnd. Results Table After a query is executed. tables. if you define a region whose style property is "table. All pages must have a single top-level region (often called the "root region") whose style is pageLayout.server. a view object provides iteration over and access to its result set.beans.OATableBean. After a query is executed. For example. images and so on which contain no children. This is instantiated as an oracle. Examples of regions include headers. The result set contains one or more view rows. Those include inserting. Regions are container objects that can hold items and other regions. a BC4J view object encapsulates a database query. Item Properties you use JDeveloper to define pages comprised of regions and items. • • • Create or modify the View & Controller • • • Page 6 of Applications Framework presentation ©Jeannie Dobney 2006 . updating and deleting database records.layout. The sequence in which regions and items appear in JDeveloper page tree (and the corresponding XML file) tells the Framework where to add these objects to the runtime bean hierarchy.framework. All view objects that you create subclass the oracle.table.fnd. where a view row comprised of individual attributes corresponds to a row returned by a database query. Items are simple widgets like buttons. View Object In the simplest terms.framework. fields. a view object provides iteration over and access to its result set. and special layout components. where a view row comprised of individual attributes corresponds to a row returned by a database query.apps.OAViewObjectImpl class.webui. Each region and item that you define has a style property that tells the OA Framework what web bean object to instantiate for it at runtime (and this in turn dictates what HTML is generated for the bean).OAPageLayoutBean.fnd.• Application Module A BC4J application module is essentially a container that manages and provides access to "related" BC4J model objects.

Alternatively Oracle Education provide a 5 day Instructor-Led Training Course 11i Extend Oracle Applications: Building OA Framework Applications (US$ 3. The main focus of UIX is the user presentation layer of an application. such as an online human Page 7 of Applications Framework presentation ©Jeannie Dobney 2006 .6 For those seeking further information. UIX is designed to create applications with page-based navigation. where a decision is made by the operator or a certain action routine is automatically triggered. which can be ASCII files. UIX (User Interface XML) is a set of technologies that constitute a framework for building web applications. such as an online human resources application. Execution of an action terminates in a new decision point. UIX is designed to create applications with page-based navigation.750) Sidebar: UIX This section adds some additional detail about UIX technology for those who are interested. with additional functionality for managing events and for managing the state of the application flow. with additional functionality for managing events and for managing the state of the application flow. there is a list of references at the end of this paper. or resource files. such as an integrated development environment (IDE). The main focus of UIX is the user presentation layer of an application. An application can interact with UIX in predefined places called decision points. rather than full-featured applications requiring advanced interaction. The application's structure is provided to UIX in configuration files. databases.

Examples are overriding existing business logic and adding new functional flows. • The end user can create personalisations applicable only to their own system use and pertaining to their own specific needs. You can use some or all of these technologies. . Extensibility means extending the functionality of an application. for example changing the order in which data is displayed or the colour scheme of the User Interface. . . It is worthwhile to familiarize yourself with all the UIX technologies to make sure you take full advantage of what they provide. XML languages. Firstly.A localisation. (If the concept of declarative changes is new.8 Oracle state that using personalisations can enhance user productivity.7 OA Personalisation One of the biggest benefits for functional users of the Applications Framework. beyond what can be done through personalisation.A user.A site.resources application. and other technologies for developing different aspects of web-based applications. This section describes how that can be done.9 Personalisation Levels Analogous to profile options which can be set by either the system administrator or the user for themselves. or . By comparison configuration uses pre-built features to match Application functionality to the business and deployment practices of a particular customer. The simple explanation is that such changes are not done by changing code). layout or visibility of page content to suite a business need or a user preference. such as an integrated development environment (IDE). because modifications add to maintenance and upgrade costs. UIX includes Java class libraries. APIs. Page 8 of Applications Framework presentation ©Jeannie Dobney 2006 .A specific function.e.A responsibility. Personalisations are not affected by upgrades. They also emphasise that there are advantages is using configuration and personalisation rather than customisation due to lower costs especially in terms of total cost of ownership i. For example setting profile options or entering a chart of accounts. is the ability it provides to personalise web Application pages. it will probably make more sense as we proceed. rather than full-featured applications requiring advanced interaction. depending on what aspects of a web application you are developing. what is a Personalisation? Oracle defines personalisation as declaratively tailoring the user interface look-and-feel. there are effectively 2 kinds of personalisations: • System administrators can create personalisations that will overwrite any other personalisations applicable to: .

When you select the global Personalise Page button on any page. when applicable • Item cascading style sheet (CSS) . If this system profile option is set to Yes. when applicable Each of these options is described in the Oracle Application Framework Personalisation Guide. any personalisations you make. Note that the Administrator level personalisation can also use the Responsibility Functional Administrator. the personalisation user interface prompts you for the scope and administrative level at which you wish to create your personalisations before displaying the OA Personalisation Framework UI. Typically. The default is No. • FND: Personalisation Region Link Enabled (FND_PERSONALIZATION_REGION_LINK_ENABLED) Page 9 of Applications Framework presentation ©Jeannie Dobney 2006 . however we will look only at some examples to provide a sense of what can be done. Only the original base definition of each OA Framework-based application page is ever displayed. then when you log on as the Administrator. new items are limited to a few styles • Controller class to override controller logic.Here is a comparative list of what can be done at each level10: Administrator Level Personalisation • Number of rows displayed in a table • Product branding (image) • Region header icon • Hiding or showing items in a region • Layout order of regions and items within the boundaries of the parent region • Including or excluding descriptive flexfield segments • Rearranging data sorting • Filtering (restrict querying) tabular data • Item labels and region headers • Required state of non-mandatory items • Updating allowed state for updateable items • Totals for table columns. • Disable Self-Service Personal (FND_DISABLE_OA_CUSTOMIZATIONS) This is a system profile option specifically created for use by Oracle Support. The default is No. Use this profile option to help Oracle support staff determine whether a problem arises from applied personalisations or from the base application. if needed. OA Framework Profile Options There are two key system profile options that will affect the behaviour of the OA Personalisation Framework: • Personalise Self-Service Defn (FND_CUSTOM_OA_DEFINTION) If this profile option is set to Yes. part of an extensibility project. You can set this profile option to Yes at the site or application level. typically part of an extensibility project User Level Personalisation • Number of rows displayed in a table • Hiding or showing regions and items (results table columns are a typical example) • Changing the layout order of regions and items within the boundaries of the parent region (order of results table columns are a typical example) • Up to three sorting levels for tabulated data • Filtering (restrict querying) tabular data • Item labels and region headers • Totals for table columns.personalising the look and feel of an item • Default value for an item • Tips (in-line instructions and usage help) associated with items • Adding new items to an existing region. regardless of the level at which you make the personalisations. will not be applied. a global Personalise Page button appears on each OA Framework-based application page.

Each link takes the user first to the Choose Personalisation Context page. with focus on the region from which you selected the Personalise Region link. Personalise Region links appear above each region in a page. This link provides valuable information for Administrators. Note that enabling the Personalise Region links allows administrators to also personalise regions that are dynamically added to the page from custom code in the controller. because when it is set to Yes.• • When you set this profile option to Yes. it renders an About this Page link on each page. The default is null (no root path is set). then to the Page Hierarchy Personalisation page. The following (older) image highlights this information11: • Page 10 of Applications Framework presentation ©Jeannie Dobney 2006 . FND: Diagnostics This profile option can be especially helpful to Developers. Xliff Import Root Path (FND_XLIFF_IMPORT_ROOT_PATH) Use this profile option to set the root path for uploading translated personalisations. Xliff Export Root Path (FND_XLIFF_EXPORT_ROOT_PATH) Use this profile option to specify the root path for extracting translated personalisations. The default is null (no root path is set). The default is null (not set).

Personalisation Example Here’s an example of using the personalisation feature: First set profile options FND: Personalisation Region Link Enabled = Yes Now personalisation links are available: Personalisation Objective: Simplify Column Heading and remove optional column Click link to Personalise the Table: Select item and click on Personalise / Edit icon Page 11 of Applications Framework presentation ©Jeannie Dobney 2006 .

e. i.Option to choose the level of personalisation. Context Change Column heading text: Page 12 of Applications Framework presentation ©Jeannie Dobney 2006 .

Remove (optional) Column from display Review personalised page: Page 13 of Applications Framework presentation ©Jeannie Dobney 2006 .

Switch to responsibility and locate page to be personalised: Page 14 of Applications Framework presentation ©Jeannie Dobney 2006 . First define DFF: In this example use the Functional Administrator Responsibility to personalise the page.Second Example: Make Descriptive Flexfield visible.

All items will be displayed: Scan down or search to locate the item to be personalised Click personalise icon Page 15 of Applications Framework presentation ©Jeannie Dobney 2006 .

Those styles control the colour and font of HTML components. This is also now possible via personalisation of the Application Framework. The CSS specifications are maintained by the World Wide Web Consortium (W3C). Oracle have published the standards they use for the web Applications under the acronym BLAF (i. and CSS3.12 In Oracle Web Application terms a style sheet document (.xss extension) lists the styles for the “Look-and-Feel” (LAF) of the Application. Cascading Style Sheets Cascading Style Sheets (CSS) is a stylesheet language used to describe the presentation of a document written in a markup language.e. BLAF and CLAF… This section describes the use of so called skins to customise the graphical user interface. and ultimately a consistent user experience across the entire suite of Oracle eBusiness products.13 Page 16 of Applications Framework presentation ©Jeannie Dobney 2006 . Each level of CSS builds upon the last. CSS2. developers and product teams building HTML applications to achieve a consistent look and feel. Browser Look and Feel). The BLAF User Interface Guidelines are a set of standards designed to help designers. Rendered = True) And use the Segment List field to choose which segments to display using the syntax: Segment Name1 | Segment Name 2 (where the name of the segment is inserted between the pipe characters) CSS. typically adding new features and are typically denoted as CSS1. CSS has various levels and profiles.Make field visible (i. but the language can be applied to any kind of XML document. a consistent interaction model. including SVG and XUL. Its most common application is to style web pages written in HTML and XHTML.e.

Organization or User level by setting the profile option Oracle Applications Look and Feel (APPS_LOOK_AND_FEEL). The skins that OA Framework will provide are apparently still under development. Framework Utilities Oracle also provide some very useful utilities to assist with the completing the implementation process for personalisations.xml.jrad. as well as update an existing Look-and-Feel.XMLExporter /oracle/apps/per/customizations/responsibility/50648/selfservice/personalinformation/webui/ OverviewPG –username <uname> -password <pw> -dbconnection "(description=(address_list=(ADDRESS=(PROTOCOL=TCP)(HOST=<HOSTNAME>) (PORT=<PORT #>)))(CONNECT_DATA=(SID=<name>)))" -rootdir /tmp The exported file will be placed on the root directory as specified in the previous statement. Execute the following command: jdr_utils. which allows a valid path for importing and exporting personalisations to be set (at Site level).importer. Further information can be found in the Oracle Application Framework Personalisation Guide. Application.The use of Style Sheets allows the user to customise the appearance of an application to suit the different tastes of different users. you can delete the customisation. The Personalisation Manual states that OA Framework will provide a set of skins that extend the base and simple LAFs from UIX. Responsibility. See above on page 10 for details. These custom graphical appearances are known as skins and software which supports skins is referred to as being skinnable.jrad.tools. You can import the personalisations into another instance by executing the following command: adjava -mx128m -nojit oracle. Page 17 of Applications Framework presentation ©Jeannie Dobney 2006 . The Customizing Look-and-Feel (CLAF) feature provides a self-service user interface that allows you to create a new Look-and-Feel.tools.listcustomizations(‘< DOCUMENT NAME >’). Ensure that the word “customization” appears in the name of the document you are deleting.xml.XML -username <uname> -password <pw> -dbconnection "(description=(address_list=(ADDRESS=(PROTOCOL=TCP)(HOST=<HOSTNAME>)(PO RT=<PORT #>)))(CONNECT_DATA=(SID=<name>)))" -rootdir /tmp To revert to the original status of a personalised page. In 11i10 there are also new profile options. This task requires quite a detailed technical understanding of both Style Sheets and UIX but is available and supported. These skins may be applied at the Site.exporter. Where DOCUMENT NAME refers to a web page name like the following: /oracle/apps/per/selfservice/personalinformation/webui/OverviewPG You can export those personalisations execute the following command: adjava -mx128m -nojit oracle.XMLImporter E:\tmp\oracle\apps\per\customizations\responsibility\50648\selfservice\personalinformation\ webui\OverviewPG.deletedocument('oracle\apps\per\customizations\responsibility\50648\selfservice\per sonalinformation\webui\OverviewPG'). Ensure that a backup is taken before the page is deleted.14 You can list personalisations by executing the following command on the Application Server: jdr_utils.

(OTN = http://www. The OA Framework Development team and Oracle Support monitor and participate in some of the discussion threads on this forum. Oracle Application Framework Developer's Guide Release 11i (11.10 (Metalink Note 275874. available on the Applications Release 11.10) (Metalink Note 269138.html Select Forums ~ More from menu and then select OA Framework from the Forums home page) Page 18 of Applications Framework presentation ©Jeannie Dobney 2006 .5.com) hosts a discussion forum for OA Framework Extensions and the OA Extension to Oracle9i JDeveloper. Navigate to OTN Forums under the E-Business Suite (http://forums. Framework Release Notes for 11. Additionally.1). About the Author Jeannie Dobney is an independent consultant specialising in Oracle Financials. OA Framework Discussion Forum on the Oracle Technology Network Starting with Release 11. You can use the forum to post questions and exchange information with other customers on the OTN community working on extensions.1) Explains how to build OA Framework-based applications including Extending OA Framework-based applications Oracle Application Framework Development FAQ Release 11i (11.1) Lists common questions and answers related to developing with the OA Framework.5.e. The personalisation process is however non-trivial and should ideally be handled like any other system change i.com Reference Material Oracle Application Framework Personalisation Guide Release 11i (11.5. Documentation Roadmap MetaLink Note #275880. by appropriately skilled personnel with documentation.5. you may also consider participating in the OTN JDeveloper forum for usage questions concerning Oracle JDeveloper.10) (Metalink Note 275878.10 of the OA Framework.com/forums/index.oracle.5.com/technology/index. not least of them being the opportunity to personalise rathe than modify the web Applications. She has over a decade’s experience with Oracle Application and can be contacted by email at jdobney@bigpond.oracle.10) (Part Number B25439-01.Conclusion The Applications Framework offers users some great advantages. The most current version of this document is published in Metalink Note 275846.5.oracle. OTN (http://otn. It describes how to personalise OA Framework-based Oracle E-Business Suite application pages.10 + Online Documentation CD). testing and a controlled migration process.1 Oracle Browser Look and Feel (BLAF) UI Guidelines.1.jsp?cat=3).

it encourages good programming practices and reusability of software components. For example if you are writing a Java application for a cell-phone or PDA. Page 19 of Applications Framework presentation ©Jeannie Dobney 2006 . This presentation is now almost 2 years old but contains some very valuable introductory information. not just a language In addition to the Java language. Java will run inside a web-browser. There are probably 2 major implications of the Open Source software movement: a general downward pressure on software prices and the reduction in dependence on certain vendors. but this is a start…) JAR Files are groups of Java Classes packages together into an archive format (like a self-extracting zip file). The major business significance of Java is probably its contribution to the development of an almost de facto acceptance that software should be built in reusable components • • • • Most of Oracle’s products now support Java. but the business effect is similar to Open Source.e. including UIX and BC4J objects extended by the Framework. The standard that applies for multi-tiered Internet deployable applications (like Oracle Apps) is J2EE i. you would use the resources in the J2ME framework. Other excellent references: Ahalya Shingireddy’s paper titled Personalisation Is Just For You which can be found in the OAUG conference Database Don Driggs’s paper titled Using Personalisations to Give Your Self-Service Applications a Custom Look and Feel which can be found in the OAUG conference Database OpenWorld Presentation by Sara Woodhull. which is a piece of software that “translates” the generic Java code into something a specific Operating System can execute. It does this by means of something called a Java Virtual Machine (JVM). so that as these terms are used in context later in the paper they will mean a bit more: A Java Class is a program unit or file containing Java code.16 Here is a summary of some Java terminology before proceeding17.OA Framework Javadoc Documents all core Oracle Application Framework packages and classes. which is a sophisticated Integrated Development Environment (IDE) for J2EE developers. Java is “free” Strictly speaking Java is not Open Source15 software (because users are not licensed to change the source code). the Enterprise Edition of Java 2 Java is an Object Oriented (OO) language By its structure. Here are some reasons for its popularity: • Java is platform independent: it will run on any Operating System. The Java programs which run inside web browsers are called Applets. Sun provide a number of programming frameworks applicable to different needs. Appendix: Java and XML Primer Sun developed the Java language / programming system during the 1980’s but it really gained popularity in the 1990’s. (The other well-known and increasingly popular OpenSource product is the Linux operating system). (Object Oriented purists will probably want you to know that it is a lot more than that too. This platform independence (or portability) reduces the cost of developing software because only the JVM has to be OS specific (rather than the entire software) and those savings hopefully flow on to users. An example is the Forms Applet which the core Oracle Applications currently use. Oracle Principal Product Analyst: Oracle Applications Framework (OAF) Overview & Architecture Oracle E-Business Suite 11i9. Java is actually a whole programming system. This includes the JDeveloper product.

The simplicity and power of this has been one of the genuine revolutions in computing. for example to and from Oracle databases across the web. Java Server Pages (JSPs) are an extension to the servlet functionality that enables a simple programmatic interface to Web pages. or even movie clips. allow them to respond to the user) and to add logic. To illustrate this the following text can be created in Notepad and saved as "mypage. Java servlets are a key component of server–side Java development. Each individual markup code is referred to as an element or tag. The Web itself is a great source of information on these topics. SQL functions for dealing with XML data and the JDeveloper product now uses XML generation to allow Java developers to build database applications almost as easily as Forms Developers do. Page 20 of Applications Framework presentation ©Jeannie Dobney 2006 . XML is "extensible" because no tags are predefined. such as connecting to a database.e. separating the page logic from the static elements. Typically they focus on intra-process communication and are assembled to create Java applications. They were developed by Sun as an alternative to Microsoft's ASPs (Active Server Pages) .e. The World Wide Web was developed at CERN in Switzerland as a new form of communicating text and graphics across the Internet making use of the hypertext markup language (HTML) as a way to describe the attributes of the text and the placement of graphics. To make web pages “dynamic” (i. maintaining client information. <b>This text is bold</b> </body> </html>18 Of themselves.19 XML (eXtensible markup language) uses a similar tag type of approach to extend the concepts behind HTML to allow transmission of the syntax and structure of a document or data set between computer systems20. HTML works by using so-called “markups” which tell the browser how to display a Web page's words and images for the user. The Java code that is executed on the Web server or application server providing dynamic functionality to HTML pages. The tags are a kind of meta-data i. Some elements come in pairs that indicate when some display effect is to begin and when it is to end. HTML pages are “static” i. These attempts originally used keyboard driven methods including FTP and programs called gophers.g. sounds. Java Servlets are programs that run within a Web-Server on the middle tier in a similar way to that in which an Applet runs within a browser on the desktop. a “protocol” is required. they can only display pre-defined text and images. HTML. The original development of the Internet represented attempts by researchers to exchange information between their computers. XML and Web Applications For computers to be able to exchange information. the way that the Oracle Data Dictionary describes the Oracle database. or rendering a screen page. A JavaBean is reusable Java class which can be used to perform well–defined tasks.htm" and then viewed in a browser: <html> <head> <title>Title of page</title> </head> <body> This is my first homepage. JSPs are actually compiled into servlets when first requested and run in the server's JVM. A Web browser is a program running on a desktop client that views documents formatted in HTML. JSPs are HTML pages with special tags and allow for the embedding of Java servlet code within HTML pages.An Applet is a Java program that is downloaded to a desktop client from an HTTP server. they describe the data itself in a similar way to which a table of contents describes a book – or more exactly. for those with some background knowledge. Oracle now provide significant support for XML e.e. Thus they provide a “pluggable” extension to a server that will enhance the server’s functionality. web-developers use various other technologies. and run within a Java-enabled web browser on a PC. Elements and tags may be defined as needed to share data across various platforms. JSPs have dynamic scripting capability that works in tandem with HTML code.

or “Forms” (no relation to Oracle Forms!). called hypertext. it refers to creating an instance of a specific class of objects (for example a variable based on a data type). Applet A Java program that is downloaded to a desktop client from an HTTP server.Acronyms and Glossary API An API (Application Programming Interface) is a set of published ways for programmers to interact with a specific application. then my dog Spot is an instance of that class and instantiates the class. CSS (Cascading Style Sheets) CSS is a stylesheet language used to define colours. For example. Most IDEs will automatically generate Javadoc HTML. HTTP listener A program on an HTTP server that accepts and processes incoming HTTP requests from Web browsers. Javadoc Javadoc is a computer software tool from Sun Microsystems for generating documentation into HTML format from Java source code. typically a mouse. or rendering a screen page. CSS is built in levels each of which builds on the previous one and adds detail (hence cascading). (Currently used by Forms technology) BC4J objects Business Components for Java. GUI (Graphical User Interface) An interface used with personal computers and workstations that allows the user to access fields and regions of the screen with a pointing device. It is designed to separate the document content (for example in HTML) from the document presentation (held in style sheet documents). HTML (Hypertext Markup Language) A simple language used to format documents. Portions of text or images. JavaBeans A reusable Java class which has specific naming conventions for its methods and variables. JavaBean components can be used to perform well–defined tasks. it was a key part of Plato's philosophy. fonts and layouts for web-pages and other documents written in HTML and XML. By analogy if dog is the object class. which rested on a foundation of eternal Ideas. JAR (Java Archive) file A collection of Java classes compressed into a file for faster download to a desktop client. maintaining client information. predominantly for viewing with a Web browser. Java A computing language used to produce programs that can be downloaded and run on a desktop client using a Web browser. It may surprise some technical users that the term is not new. It is also used to produce platform-independent programs that run on a server. can be associated with other documents. HTTP (Hypertext Transfer Protocol) The TCP/IP-based network protocol used to transmit requests and documents between an HTTP server and a Web browser. and sends out Web pages in response to HTTP requests from remote browsers. a J2EE application development framework that comes with JDeveloper. Java class Components of a Java program that define objects and operations performed on objects. HTTP server An application server that runs an HTTP listener. the TCA (Trading Community Architecture) API is a set of PL/SQL programs which allow programmers to insert customer data into the Oracle database (as an alternative to the Customer Open Interface). and run within a Java-enabled web browser. either interactively or when invoked through a request from a Web browser. Java class also identifies an operating system file that contains a program or part of a program written in Java. A Java block comment starting with /** Page 21 of Applications Framework presentation ©Jeannie Dobney 2006 . HTTPS The use of Secure Sockets Layer (SSL) as a sub-layer under the regular HTTP application layer. In Object Oriented programming. BC4J is an object-relational mapping tool that implements J2EE Design Patterns. Developers use certain commenting styles and Javadoc tags when documenting source code. such as connecting to a database. Instantiate The Dictionary definition of this term refers to the representation of an abstract by a concrete instance.

JDBC (Java Database Connectivity) A Java programming interface that enables Java programs to access the Oracle9i server. you would use the resources in the J2ME framework. A Java-enabled web browser has an internal JVM that allows it to execute applets or applications written in Java. get_customer_data. For example if you are writing a Java application for a cell-phone or PDA. JSP (Java Server Pages) An extension to the servlet functionality that enables a simple programmatic interface to Web pages. this is the way a human user interacts with a computer system.e. in an attempt to manage the increasing complexity of hardware and software. So for example for a Zoo application developers would start by defining a generic class called animal with certain attributes (e.e. For example Oracle Applications currently use a graphical interface which supports the use of mouse clicks for the user to issue commands etc. JSPs are actually compiled into servlets when first requested and run in the server's JVM. Includes Use case diagrams. to machine code. ”pluggable” extension to a server that will enhance the server’s functionality. the Unified Modeling Language (UML) is a non-proprietary specification language for object modeling. because each operating system’s JVM translates bytecode to instructions that the microprocessor can execute. you will always be able to issue a get_customer_data command regardless of the way the software internals change.e. UI User Interface. JSPs are HTML pages with special tags and embedded Java code that is executed on the Web server or application server providing dynamic functionality to HTML pages. (see also http://en.g.g. It is unrelated to the Java programming language and frameworks. JSPs allow for the embedding of servlet code within HTML pages. JVM (Java Virtual Machine) An interpreter that translates a compiled Java program. A class is a blueprint or prototype from which specific objects are created or instantiated. the OA standards for Oracle Applications i. Object Model Page 22 of Applications Framework presentation ©Jeannie Dobney 2006 . A Javadoc tag begins with an "@" for example @author John Doe Javascript Javascript is a scripting language that adds significant power to HTML files without the need for server–based CGI programs. Sun provide a number of programming frameworks applicable to different needs. JVM makes Java portable. called bytecode. UML In software engineering. J2EE In addition to the Java language. Java Servlets A small. TCP/IP (Transmission Control Protocol / Internet Protocol) A widely used industry-standard networking protocol used for communication among computers. An object is a software bundle of related state and behaviour.will begin a Javadoc comment block which will be included in the generated HTML. Java servlets are a key component of server–side Java development. number of legs). By its structure. These characteristics would then be inherited by every type of animal that subclasses and / or extends it. referred to as a UML model. specifically related to the eBusiness Suite Object-orientation Object-oriented programming (OOP) is a paradigm supported by the Java platform and many other programming languages. For example not just the customer data object but a set of related "methods" (mini-programs) which allows you to do common actions to this object e. The data structure and the methods are "encapsulated" and present a clean and unchanging "interface" to other programs i. Inheritance provides a mechanism for structuring software to minimise rework.org/wiki/Object-oriented_programming) Servlet A Java program executed on an HTTP server. it encourages good programming practices and the reusability of software components.wikipedia. The standard that applies for multi-tiered Internet deployable applications (like Oracle Apps) is J2EE i. OOP was born at the end of the 1960s. the Enterprise Edition of Java 2 (ironically Java 2 is actually Java EE 5 but anyway…) OA Used for example in the term OA Framework. UML is a general-purpose modeling language that includes a standardized graphical notation used to create an abstract model of a system. Object Oriented analysis also emphasises “abstraction”. rather than downloaded to a desktop client. 3 models are key elements: Functional Model Showcases the functionality of the system from the user's Point of View.

com/glossary/faqglosx. Dynamic Model Showcases the internal behaviour of the system. XML is great for information exchange.orafaq. and can easily be extended to include user-specified and industry-specified tags. Activity Diagrams and State Machine Diagrams. operations. attributes. Includes Sequence Diagrams. XML XML (Extensible Markup Language) allows information and services to be encoded with meaningful structure and semantics that computers and humans can understand. Includes Class Diagrams. It differs from traditional Functional Specification primarily in that it includes the interaction between external actors and the system under consideration to accomplish a business goal. roles users can play.wikipedia. or other systems.htm) Page 23 of Applications Framework presentation ©Jeannie Dobney 2006 . A Web browser sends requests to a HTTP server using a special protocol (HTTP) to retrieve documents and Java applets.Showcases the structure and substructure of the system using objects. and associations. Actors are parties outside the system that interact with the system. an actor can be a class of users. (see also http://en.org/wiki/Unified_Modeling_Language) Use Case A use case is a type of functional specification. (from http://www. Web Browser A program running on a desktop client that views documents formatted in HTML and runs Java applets.

such as flexfields and attachments. 15 For a definition of OpenSource see http://en.End Notes The personal home page display is controlled by a profile option Self Service Personal Home Page mode and for a while it was possible to change the default value of Framework only to Personal Home Page (the latter value being the version we old hands mostly preferred).oracle.oracle.Browser Look and Feel which can be found at www. however to date it appears to still be available for the die-hards… 2 From an Open World presentation by Lisa Parekh. There have been repeated warnings that the Personal Home Page would eventually be disabled.webdevelopersjournal.com/technology/tech/blaf 14 This topic is covered more thoroughly in Ahalya Shingireddy’s excellent paper titled Personalisation Is Just For You which can be found in the OAUG conference Database.com 1 Page 24 of Applications Framework presentation ©Jeannie Dobney 2006 .5.oracle.10: An Oracle White Paper. E-Business Suite: Technology Updates and Roadmap.com/docs/cd/B10501_01/appdev.org/wiki/Css 13 For further detail see User Interface guidelines for BLAF . refer to John King’s paper XML Survival Skills which can be downloaded from http://www.920/a96621/adx26uix.html 9 Refer to Oracle presentation Configuring and Personalising the E-Business Suite which can be downloaded from Oracle’s web-site. available from Oracle’s web-site 4 Diagram is from An Introduction to the Oracle Applications Framework Release 11.w3schools. available the OAUG Conference database. alternatively refer also to http://www. Oracle Applications Framework Architecture also supports Java in a number of ways including: .10 7 These notes are from Oracle’s web-site http://downloadeast.wikipedia. available for download from the Oracle web-site 5 This section draws upon a presentation by Mark Sullivan OA Framework: An Overview.AOL/J provides the Oracle Applications Framework with underlying security and applications Java services.5.org/wiki/Open_source 16 You may also see the acronym ADF. It provides the Oracle Applications Framework with its connection to the database and with application-specific functionality.kingtraining. Both acronyms i. are used to create Java business components for representing business logic.com/oramag 20 For a good introduction to XML.BC4J (Business Components for Java).com/articles/java_jargon. It also provides a mechanism for mapping relational tables to Java objects. It allows the separation of the application business logic from the UI.com/html/html_intro.asp 19 Oracle Magazine is an excellent source of data on new developments in Oracle technology http://otn.com/technology/products/applications/development_pesonalization/index. available from Oracle’s web-site 12 From http://en. meaning Application Development Framework.wikipedia.e. which can be downloaded from Oracle’s website 6 From Oracle Application Framework Developer’s Guide Release 11. by Principal Product Analyst Sara Woodhull. available from Oracle’s web-site 3 Refer to Open World presentation on the OA Framework.htm 8 From Oracle Application Framework Personalisation Guide Release 11i. 10 The layout of this summary is from a paper by Daniel Benhur Personalisation and Extensibility Using Oracle Applications Framework. . The list of personalisable features is from the Oracle Application Framework Personalisation Guide 11 From an incredibly helpful presentation by Sara Woodhull Oracle Applications Framework (OAF) Overview & Architecture Oracle E-Business Suite 11i9. IDE and ADF attempt to convey the productivity-support which such an environment provides to programmers. 17 For a readable introduction to Java see Steve Patient The Bluffer’s Guide to Java at http://www.html 18 Example is from http://www.oracle. The content in this section relies largely on that paper.

Sign up to vote on this title
UsefulNot useful