How to run Oracle Forms without a browser
People have been hearing that Oracle Forms is dead for almost 10 years now. Little do they know that today Oracle Forms is a major participant in the cloud ecosystem! It’s imperative for organizations with major investments in Oracle Forms to understand that they do not need to throw away years of work, and introduce risk and cost into the system. Their existing back-office system can be leveraged into the next-generation. One of the main reasons for people claiming the death of Forms is it’s inability to run without a browser. In light of the new browser restrictions on Applets, Forms users fear the death of forms is near. To help dispel all myths, this blog will drill down further into the new runtime options for Oracle Forms.
Today I would like to highlight 3 new runtime options to start your application:
- The default case (as a browser plugin)
- With Java Web Start
- As a standalone client (Oracle Forms Standalone Application Launcher — FSAL)
Oracle definitely looked ahead towards the future with new operating system issues e.g. new browsers and their new behavior in Windows 10.
OPTION 1: The default case — Run Oracle Forms as a browser plugin
The normal way Oracle provides to start the Forms application out of the browser. Here, the client browser must support the Java Plugin
sample URL: http://<hostname>:<port>/forms/frmservlet
OPTION 2: Running Oracle Forms With Java Web Start
In the new version of Forms 12c Java Web is officially certified as a method for running your application. Java has to be installed on the client as well. Sample URL:
OPTION 3: Run Oracle Forms without a Browser — Using Oracle Forms Standalone Application Launcher — FSAL
The Oracle Forms Stand-alone Application Launcher (FSAL) offers an alternative way for end-users to run Oracle Forms applications. FSAL offers a browser-less, more client/server-like interface. As a result of not using a browser, FSAL does not use the Java Plugin component of a Java Runtime Environment (JRE) or Java Developer Kit (JDK). All that is required to run FSAL on the end-user machine is a Java installation. This can be either the JDK or the JRE.
Starting from the fsal.htm you can load the associated frmsal.jar to the client.
So quite simply, this method even works without a browser! But again with JDK or JRE on the client machine.
Conclusion and Resources:
We see that the classic way to start a Forms module still works. But with the discontinuation of java plug-in support in recent bowsers, Oracle was forced to react and to break new ground. Keep it up!
Как запустить oracle forms
Введение в Oracle Forms
Данная глава представляет вам Oracle Forms и объясняет как запустить Designer Oracle Forms и подсоединиться к базе данных ORACLE. Она включает следующие темы:
· Об Oracle Forms 1 — 2
· Об объектах и свойствах 1 — 3
· О блоках и элементах 1 — 4
· О программировании, управляемом событиями 1 — 5
· Запуск Designer Oracle Forms 1 — 7
· Подсоединение к ORACLE 1 — 8
· Что делать вначале 1 — 9
Об Oracle Forms
Oracle Forms — это мощный инструмент разработки прикладных программ для создания прикладных программ баз данных клиент-сервер, переносимых на различные платформы с GUI и символьным режимами.
Oracle Forms — это часть Developer/2000, исчерпывающего набора инструментов, который поддерживает полный цикл разработки прикладных программ.
Прикладные программы, создаваемые с помощью Oracle Forms и других инструментов Developer/2000, полностью масштабируемы и подходят для развертывания на любом уровне вашего предприятия, от поддержки решений для малых рабочих групп до критичных к стилю проектов с интенсивными транзакциями, которые должны поддерживать сотни пользователей.
Oracle Forms и другие инструменты Developer/2000 оптимизированы так, чтобы иметь полное преимущество мощных свойств Oracle7 Server, ведущего управляющего сервера баз данных Oracle.
Компоненты Oracle Forms
При построении программ с помощью Oracle Forms вы используете три компоненты:
· Oracle Forms Designer
· Oracle Forms Generate
· Oracle Forms Runform
Designer — это среда для разработки прикладных программ, в которой вы работаете с тремя типами модулей Oracle Forms — формами, меню и библиотеками. Designer включает набор визуальных инструментов, позволяющих создавать объекты, устанавливать их свойства и писать программные модули для прикладных программ.
Компонента Generate используется для генерации файлов прикладных программ, чтобы создавать исполняемые файлы. Генерация модуля формы компилирует все ее программные объекты и создает исполняемый файл с расширением .FMX.
Компонента Runform — это двигатель, который операторы формы используют для выполнения законченной прикладной программы Oracle Forms.
Модули Oracle Forms
Прикладные программы Oracle Forms включают три типа модулей:
Формы — это совокупность объектов и программных модулей, включая окна, текстовые элементы, переключатели, кнопки, триггеры и процедуры. Форма может включать любое количество отдельных окон.
Меню — это совокупность объектов меню (главное меню, ниспадающее меню, элементы меню) и программа команд меню.
Библиотеки — это совокупность процедур PL/SQL, функций и пакетов, которые могут вызываться из других модулей.
Вы можете объединять модули форм, меню и библиотек таким образом, какой требуется для построения завершенной прикладной программы. Например, вы можете создать меню прикладной программы, определив модуль меню и подсоединив его затем к одной или более форм. Подобным образом вы можете подсоединять к другим модулям модули библиотек. Триггеры и процедуры, которые вы напишете в тех модулях, могут вызывать процедуры в подсоединенных библиотеках.
Прикладная программа Oracle Forms может также включать модули от других инструментов Developer/2000, таких как Oracle Reports и Oracle Graphics. Например, кнопка в форме может вызывать отчет, построенный с помощью Oracle Reports. Или в форму может быть вставлен вывод диаграммы, сгенерированной с помощью Oracle Graphics. Такой модульный подход предоставляет максимальную гибкость при проетировании и разработке новых прикладных программ, а также для поддержания и улучшения существующих.
Об объектах и свойствах
При построении прикладных программ с помощью Oracle Forms много сил во время разработки тратится на создание объектов и установку их свойств. Например, элемент текста имеет такие свойства, как Ширина, Высота, Тип Данных и Требуемость. Объект окна имеет такие свойства, как Заголовок, Модальность, Удалять при Выходе и т.д. Когда вы создаете объект, его свойства автоматически устанавливаются на значения по умолчанию.
Вы можете устанавливать свойства для управления не только тем, как будут выглядеть создаваемые объекты, но и их функциональностью. Такой подход к разработке прикладных программ содействует ускорению разработки и уменьшает необходимость в написании программ для выполнения таких стандартных операций, как:
· запрос, вставка, обновление и удаление записей
· координацию главных и подчиненных записей
· вывод объектов на экран
Многие свойства объектов можно устанавливать во время выполнения, а также во время проектирования.
О блоках и элементах
Во время создания интерфейса вашей прикладной программы вы работаете с двумя типами объектов Oracle Forms — блоками и элементами. Элементы — это такие объекты интерфейса, которые выводят на экран информацию для пользователей и позволяют им взаимодействовать с прикладной программой. Oracle Forms поддерживает множество элементов интерфейса, включая кнопки, переключатели, радио-группы, элементы списка, элементы неизменного текста, элементы изображения, OLE-контейнеры, элементы диаграмм Oracle Graphics и VBX Controls.
Каждый элемент принадлежит блоку. Блок — это логический контейнер для элементов. Он также является отдельным объектом с собственным набором свойств. Свойства блока определяют то, как конечные пользователи будут взаимодействовать с теми элементами, которые он содержит.
Блок может иметь прямую связь с таблицей или обзором базы данных. Это значит, что элементы текста, переключатели и другие элементы в блоке могут быть ассоциированы с определенными колонками в базовой таблице этого блока.По умолчанию это отношение позволяет операторам запрашивать, обновлять, вставлять и удалять записи в соответствующей таблице.
Блоки — это только логические группировки. Элементы в блоке формы могут выстраиваться в любом порядке и могут даже выводиться на экран в разных окнах. Форма может включать любое количество блоков и блок может включать любое количество элементов.
О программировании, управляемом событиями
Oracle Forms поддерживает модель программирования, управляемое событиями. Определив однажды основную структуру и функциональность прикладной программы путем создания объектов и установки их свойств, вы можете расширять и улучшать ее функциональность по умолчанию написанием программ.
Программы, которые вы пишете в Oracle Forms, пишутся на PL/SQL, процедурном языковом расширении Oracle для SQL, языке реляционных баз данных. PL/SQL объединяет возможности манипулирования данными и обработки транзакций с конструкциями, обычно встречающимися в процедурных языках программирования, такими как объявления переменных и констант, присвоения, циклы и условное ветвление. Язык PL/SQL описан в PL/SQL User’s Guide and Reference.
Oracle Forms включает интегрированную интерактивную среду отладки, позволяющую отслеживать и прерывать выполнение программы, совершать пошаговое движение, контролировать и устанавливать значения переменных.
О триггерах
Первый способ добавления в форму программы — посредством триггеров. Триггер — это блок программы PL/SQL, который вы подсоединяете к определенному объекту и который исполняется в ответ на определенное событие. Например, для создания командной кнопки вам нужно начертить на форме кнопку, затем подсоединить триггер When-Button-Pressed, который исполнит нужную командную программу. Как предполагает его название, триггер When-Button-Pressed исполняется, или срабатывает, всякий раз при нажатии этой кнопки.
Oracle Forms предоставляет большое множество событий, на которые вы можете реагировать с помощью триггеров. Вместе со стандартными интерфейсными событиями, такими как щелчок мыши в кнопке или на переключателе, Oracle Forms распространяется на множество событий внутренней обработки. Например, триггер When-Validate-Item срабатывает тогда, когда Oracle Forms проверяет достоверность значения в элементе текста. По умолчанию проверка достоверности происходит согласно хорошо определенному набору правил событий. Поняв однажды эти правила, то есть модель событий Oracle Forms, вы сможете писать триггеры для виртуального управления любым аспектом поведения вашей прикладной программы.
О встроенных подпрограммах
Для облегчения написания программ Oracle Forms включает свыше 150 встроенных процедур и функций, выполняющих множество стандартных функций прикладных программ, включая навигацию, обработку фиксирования и программного получения и установки свойств объектов.
В дополнение к встроенным подпрограммам Oracle Forms вы можете также писать собственные процедуры функции и пакеты с именами пользователя. Эти объекты, собирательно именуемые как программные модули, могут определяться в модулях форм, меню или библиотек. Определив однажды процедуру или функцию, вы можете вызывать ее в триггерах, командах элементов меню и других программных модулях.
О делении прикладных программ
PL/SQL — это язык, используемый как для прикладных программ Oracle Forms со стороны клиента, так и для триггеров и сохраненных процедур со стороны базы данных сервера, и двигатель PL/SQL имеется как в Oracle Forms Runform, так и в Oracle7 Server. Это означает, что вы можете иметь преимущества при разделении прикладной программы для исполнения или на клиенте, или на сервере. Деление прикладной программы позволяет оптимизировать работу и использование ресурсов путем сохранения и исполнения процедур локально или на сервере, в зависимости от того, что наиболее выгодно для вашей конкретной прикладной программы и конфигурации.
Когда вы работаете в Oracle Forms Designer, вы можете использовать интегрированные редакторы сохраненных процедур и триггеров базы данных для программирования логики на стороне сервера в то же время, когда вы разрабатываете свои прикладные программы для стороны клиента.
Чтобы еще более облегчить деление прикладных программ, Oracle Forms позволяет вам перетаскивать процедуры между вашей прикладной программой и сервером одной простой операцией мышью. С помощью деления перетаскиванием вы можете быстро перемещать процедуры между прикладной программой и сервером, не изменяя никаких программ в вашей прикладной программе.
Запуск Designer Oracle Forms
Примечание : Данный раздел предполагает, что в вашей системе база данных ORACLE и Oracle Forms инсталлированы. Процедуры инсталляции специфичны по платформам; для вашей системы обратитесь к документации Oracle Forms.
Для запуска Designer Oracle Forms:
1. Щелкните дважды на иконке Designer. Или в приглашении системы введите следующую команду:
f45des [module] [userid/password] [parameters]
Примечание: В Motif для исполняемого имени используйте f45des.
2. Если вы при запуске не укажете модуль, Oracle Forms автоматически открывает для вас новый модуль формы. чтобы открыть существующий модуль, выберите Файл->Открыть.
Когда вы запускаете Oracle Forms Designer из командной строки, вы можете указать следующие необязательные параметры командной строки в качестве пары ключевое_слово=значение. Не вводите пробелов до или после =.
Указывает название открываемого модуля. Если вы не укажете module_name, то Oracle Forms выводит диалог для файла, позволяющий выбрать модуль.
userid/password
Определяет действительную цепочку соединения для вхождения в ORACLE.
module_type
Определяет тип модуля (форма, меню или библиотека). Этот параметр требуется в случае, если модуль, обозначенный module_name, двусмысленный, так как имеются модули разных типов с одним и тем же именем.
module_access
Определяет местонахождение модуля, указанного module_name. Допустимыми значениями являются файл и база данных. По умолчанию это файл.
Определяет, что Oracle Forms Designer при запуске должен выводить экран помощи. Экран помощи дает список параметров командной строки и их значений по умолчанию.
Вы можете вводить специальные параметры module и userid, пользуясь или позиционным обозначением, или ключевыми словами. Использование позиционного обозначения позволяет вам избавиться от ключевых слов, но параметры должны вводиться в нужном порядке:
f45des [module] [userid] [optional parameters]
f45des accounts scott/tiger module_access=database
При обозначении ключевыми словами вы можете вводить параметры в любом порядке:
f45des module=acconts module_access=database userid=scott/tiger
Если вы открываете модуль в файловой системе, то расширение файла (.FMB, .MMB, .LIB) этого модуля необязательно:
f45des accounts.fmb scott/tiger
f45des accounts scott/tiger
Параметр идентификатора пользователя может указывать цепочку для вхождения в ORACLE:
f45des accounts scott/tiger:@:bigcorp:SALES
Если открываемый модуль находится не в том же директории, что исполняемый файл f45DES, то вы можете указать полный путь к этому модулю:
f45des c:\my_apps\accounts scott/tiger
Подсоединение к ORACLE
Вы можете запускать Oracle Forms Designer подсоединенным к базе данных ORACLE или отдельно. Многие операции проектирования, такие как редактирование таблиц базы данных или компиляция триггерных программ PL/SQL, требуют, чтобы Designer был подсоединен к ORACLE. Но другие процедуры, такие как работа над разметкой окна формы, могут выполняться без подсоединения к ORACLE.
Вы можете подсоединиться к ORACLE из командной строки при запуске Oracle Forms Designer или в любое время во время работы в Designer.
Для подсоединения к ORACLE в командной строке:
Введите допустимую цепочку соединения в командной строке при запуске Oracle Forms Designer:
f45des accounts scott/tiger:@:bigcorp:SALES
Если вы не указываете модуль, который должен загрузиться при запуске, то вы должны указать ключевое слово идентификатора пользователя:
f45des accounts scott/tiger:@:bigcorp:SALES
Для подсоединения к ORACLE из Designer:
Появляется окно Соединение.
Введите в соответствующих полях действительное имя пользователя, пароль и цепочку подсоединения к базе данных.
Если вы впервые запускаете Oracle Forms Designer, то вы увидите Объектный Навигатор.
Что делать вначале
Oracle Forms включает большое количество функций по умолчанию, которые автоматически доступны в создаваемых вами объектах. Например, если вы создаете простую форму, содержащую один блок с базовой таблицей, то Oracle Forms автоматически поддерживает в этом блоке запросы, обновления, вставки и удаления записей. Кроме того, ваша простая форма автоматически управляет блокировкой для многопользовательских окружений, выдает сообщения в ответ на события пользователя и предоставляет меню по умолчанию со стандартными командами для навигации, ввода данных и обработки фиксирования. Начинающие пользователи иногда смотрят свысока на эту функцию по умолчанию и сразу начинают сами писать программу для разработки тех же возможностей.
Прежде чем вы начнете разработку своих прикладных программ, вы должны получить представление о встроенных возможностях Oracle Forms. Лучший способ получить обзор Oracle Forms — это прочесть Getting Started with Oracle Forms. Руководство Getting Started включает описание новых возможностей и учебник, охватывающий как Oracle Forms Runform, так и Oracle Forms Designer. Он усыпан примечаниями по Developer, объясняющими основные концепции Oracle Forms.
Как и другие раководства в комплекте документации по Oracle Forms, Getting Started доступен как сопровождающий документ при инсталляции Oracle Forms, а также в печатном формате. Для просмотра сопровождающих документов используйте просмотровщик документов Oracle Book.
Об инсталляции
Вы можете инсталлировать Oracle Forms отдельно или с другими инструментами Developer/2000, такими как Oracle Reports и Oracle Graphics. Информацию об инсталляции Oracle Forms вы найдете в руководстве по инсталляции для вашей платформы.
Если вы планируете хранить модули своих прикладных программ в базе данных ORACLE, то вам или вашему администратору БД нужно создать необходимые таблицы в БД. Эти процедуры также рассматриваются в руководстве по инсталляции.
Обзор этапов построения формы
Основные этапы создания формы следующие:
1. Запустите Oracle Forms Designer и подсоединитесь к базе данных.
Насчет информации обратитесь к темам “Запуск Oracle Forms Designer” и “Подсоединение к ORACLE” в данной главе.
2. Для создания одного или более блоков с базовой таблицей, соответствующих основным таблицам в вашей прикладной программе, используйте окно New Block. Для вызова окна New Block выберите Tools->New Block.
Например, если вы строите прикладную программу ввода заказов, и в вашей базе данных есть таблица под названием ORDERS, то вы сможете создать блок с базовой таблицей для соответствия с таблицей ORDERS. Когда вы создаете блок с базовой таблицей, Oracle Forms создает также в базовой таблице элементы текста по умолчанию для каждой колонки.
Насчет информации обратитесь к “Созданию блока с базовой таблицей” в Главе 6 “Основы проектирования форм”.
3. Чтобы увидеть элементы в блоке с базовой таблицей, вызовите Редактор Разметки Layout Editor. Для вызова Layout Editor выберите Tools ->Layout Editor.
В Layout Editor вы можете выстраивать объекты, добавлять шаблонный текст и графику и, если требуется, создавать новые элементы. Насчет информации обратитесь к “Редактору Разметки” в Главе 2, Работе с инструментами Designer”, и Главе 6 “Основы проектирования форм”.
Run Oracle Forms 11g on Windows using OpenJDK 8 and IcedTea
This article shows how to run Oracle Forms 11g using OpenJDK 8 and IcedTea as a replacement for Java Web Start. It’s not a supported solution, but it works.
The Problem
The Oracle Forms runtime is an applet, which has traditionally been run from a browser. Running Oracle Forms from a browser has become increasingly difficult over time due to browser compatibility issues. In 11g Forms it is still the only supported way to run Oracle Forms, but it is possible to run Oracle Forms 11g using Java Web Start, as described here.
If you are running Oracle Forms 12c, it is also possible to use Java Web Start in a supported manner, as it was baked into the product.
According to MOS Doc ID 1557737.1, users of Oracle Forms are allowed to use Java SE 8, including the updates without incurring additional costs.
Unfortunately Java Web Start has been removed from any version of Java after version 8, and if you want Java 8 security updates for any commercial desktops you must either pay support (but not for Forms, see above) for the Oracle JDK, or switch to OpenJDK 8. This introduces yet another issue as OpenJDK 8 doesn’t ship with Java Web Start. There is no «javaws.exe» in the «JAVA_HOME\bin» directory.
Once again, if you are using Oracle Forms 12c there is a solution, which is to use the Oracle Forms Services Stand-alone Application Launcher (FSAL), but this doesn’t support Oracle Forms 11g.
So how do you continue to use Java Web Start on a Windows desktop without having to pay for Java8 support? A possible option is to use IcedTea as a replacement for Java Web Start.
Software
Download a suitable OpenJDK distribution for Windows 10.
Download the latest IcedTea binary distribution. In this case it was version 1.7.1.
Installation
Install the AdoptOpenJDK by double-clicking on the MSI file. This results in the JAVA_HOME being placed under the «C:\Program Files\AdoptOpenJDK» directory.
Unzip the IcedTea distribution to a location of your choice. In this case I unzipped it under the «C:\utils\» directory.
For convenience I used a batch file to launch my applications containing the following environment variable settings, but these could be included in the user or system environment variables.
Running Forms
You will find a «javaws.bat» file in the «bin» directory of the IcedTea distribution, which is now in our path. This allows us to run a JNLP file like as follows.
With the correct environment variables and file association you should be able to double-click on the JNLP file to start it. In my case I used batch files that looked like this.
If you need access to something resembling the the «Configure Java» panel, you can run the «itweb-settings.bat» file.
Considerations
Oracle Forms 11g is only officially supported when running from a browser. It’s not supported from Java Web Start and certainly not from IcedTea.
You may have to make some minor adjustments to your JNLP files, compared to running with Java Web Start. For example, when attempting to run the Banner application (from Ellucian) I might use the following «serverURL» parameter value.
When running though IcedTea, I had to include the full URL.
At this point I have no idea if all functionality is available using this method, and I’m not sure how stable it is. I’ve used it and it works, but that’s as far as I’ve gone with it.
Как запустить oracle forms
Запуск Oracle Forms 6 i и инструменты проектирования
Запуск Designer Oracle Forms
В этом разделе будет описано, как запустить ваше приложение в графическом и символьном режиме, подсоединение к Oracle , а также детально рассмотрены инструменты для работы в Designer Forms .
Подсоединение к ORACLE
Вы можете запускать Oracle Forms Designer и быть подсоединенным к базе данных ORACLE или отдельно, не подсоединяясь. Многие операции проектирования, такие как редактирование таблиц базы данных или компиляция триггерных программ PL/SQL, требуют, чтобы Designer был подсоединен к ORACLE. Но другие процедуры, такие как работа над разметкой окна формы, могут выполняться без подсоединения к ORACLE.
Вы можете подсоединиться к ORACLE из командной строки при запуске Oracle Forms Designer или в любое время во время работы в Designer.
Для подсоединения к ORACLE в графической среде:
Для этого запустите Designer , затем выберите Файл->Соединить, после чего появится окно подсоединения к базе данных, где вы укажите ваш Логин, Пароль и строку связи. После чего нажимаете OK . Но необязательно подсоединяться к Oracle сразу, это можно сделать и при создании таблицы либо процедуры, в тот момент, когда вам будет предложено выбрать таблицу для создания блока данных.
Запуск Forms ’ a , осуществляется как с командной строки в символьном режиме, так и в графической среде:
* Для запуска в графической среде, два раза щелкнете на файл: f 60 desm
* Для запуска с командной строки, в символьном режиме, введите: f 60 des , и нажмите Enter .
Графическая среда
Если вы работаете в графической среде, то запуск и подготовка к разработке форм происходит следующим образом:
Запускаете Designer Oracle Forms, командой f60desm
После этого появиться окно Form Builder (Рис.1), в котором вы можете выбрать параметры запуска: