суббота, 7 декабря 2013 г.

25й - практикум. Влияние опции Passivate state на LOV - ах

В этой статье хочу показать, что использование опции Passivate state на списках выбора (LOV), которая включено по умолчанию, не оправдана и может сказаться на производительности.

воскресенье, 1 декабря 2013 г.

24й - практикум. Dynamic Declarative Forms Builder

Dynamic Declarative Forms Builder (DDFB) - это динамическое построение формы ввода данных на основе описания (метаданных), используя декларативный подход.

суббота, 23 ноября 2013 г.

23й - практикум. Универсальный UI mapping

Задача этого практикума это научиться отображать значения компонент на форме на универсальное хранилище. Т.е, чтобы в дальнейшем при изменении количества компонент на форме, код по хранению значений не менялся. 

суббота, 9 ноября 2013 г.

21й - практикум. Oracle ADF. ADF Declarative Components. Свободный стиль списка выбора. II

В этом практикуме будет представлен собственно сам компонент - FreeStyleGrid. Компонент позволяет в относительно  свободном стиле располагать элементы выбора, ранее я писал про него в практикуме №20

воскресенье, 27 октября 2013 г.

20й - практикум. Oracle ADF. ADF Declarative Components. Свободный стиль списка выбора. I


В ADF есть также возможность создавать декларативные компоненты, которые могут быть очень полезными. В своем примере покажу компонент выбора различных значений в относительно свободном стиле расположения элементов.


четверг, 10 октября 2013 г.

19й - практикум. Oracle ADF. Database Change Notification + Active Data Service

В этом практикуме соединим две технологии: Database Change Notification и Active Data Service (ADS). Т.е. будем следить за изменениями данных в таблице БД  на странице приложения в браузере.

суббота, 21 сентября 2013 г.

18й - практикум. Oracle ADF. JDeveloper 12c - Polymorphic for dynamic interface

В ADF есть возможность использовать полиморфизм для Entity, ViewObject, ViewRow и для построения пользовательского интерфейса с использованием ADF dynamic component.

среда, 14 августа 2013 г.

17й - практикум. Oracle ADF. af:forEach vs af:iterator


Для динамического «клонирования», создания копий, коллекций компонент на странице, в ADF используются конструкции  af:forEach и af:iterator. Если внешне они имеют  сходство, то в работе есть большое отличие. Его я и хочу показать

понедельник, 5 августа 2013 г.

16й - практикум. Oracle ADF. JDeveloper 12c - RowFinder



Вышел JDeveloper 12c . По мере  изучения, возможно, сделаю несколько постов на тему новых возможностей. В этой статье посмотрим на новую возможность поиска записей «RowFinder». Создается он для ViewObject, на базе существующего ViewCriteria. И служит для того чтобы выполнять поиски-фильтровки данных основанных на ViewCriteria, но не затрагивая существующий набор данных, не меняя текущей записи и состава набора данных.   

суббота, 20 июля 2013 г.

15й - практикум. Oracle ADF. Groovy как динамический язык. Часть 2

Во второй части, я всего лишь сделаю вызов событий на groovy более универсальным и  буду использовать для этого способа, хранения событий в файлах, а не в БД. Это удобно когда  действительно начнется разработка и нужен будет контроль версий кода, поиск по текстам, merge кода и прочее.

воскресенье, 7 июля 2013 г.

14й - практикум. Oracle ADF. Groovy как динамический язык. Часть 1

Вступление.
     Когда эволюция приложения продолжается без пере компиляции программы, переустановки - это замечательно, по сути получив программу, можно дальше развивать ее функциональность, поведение. Обычно этим занимаются прикладные программисты, аналитики. Примеров таких программ  много, например 1С, мне приходилось развивать механизм скрипта в Diasoft FA# - Delphi Script, еще ранее подключал к ядру системы - Microsoft Script Host (VBScript). Идея достаточна у всех одинакова - иметь развитой язык программирования и возможность взаимодействия с внутренней бизнес моделью данных и интерфейсом пользователя.
      В Java для это созданы все условия. В ADF уже подключен и используется динамический язык Groovy, он в основном используется в модели данных (BC - Business Components) в выражениях для полей, переменных запроса, сообщениях, но ни чего не мешает распространить его далее.

13й - практикум. Oracle ADF. Программное наполнение данными. Часть 2

Во второй части покажу как показать данные от программного ViewObject (Programmatic ViewObject), т.е. это VO, но данные он получает не из БД, а например из коллекции.

пятница, 21 июня 2013 г.

12й - практикум. Oracle ADF. Программное наполнение данными. Часть 1

Существует потребность предоставлять данные не только те что находятся в БД, а полученные из других источников, например Webservice, файл, из коллекций и др. В первой части покажу как сделать редактируемую форму от коллекции данных, во второй части от Programmatic ViewObject. Первую часть назовем - Programmatic  POJO Collection Data

понедельник, 17 июня 2013 г.

11й - практикум. Oracle ADF. Динамическая форма. Dynamic EntityDefImpl, ViewDefImpl, JUIteratorDef, JUCtrlAttrsBinding, RichInputText и др.

Участвуя в разных проектах, в разное время, приходилось сталкиваться с такой задачей как динамическое создание форм, подключение их к данным (bindings) и.т.д. В ADF тоже приходилось делать аналогичные задачи, видимо это особенность больших проектов.

пятница, 17 мая 2013 г.

10й - практикум. Oracle ADF. Проверки (Validation rules)

Без проверок в бизнес приложениях пожалуй точно не обойтись и в ADF для их реализации  достаточно возможностей. Покажу лишь некоторые из них.


среда, 15 мая 2013 г.

9й - практикум. Oracle ADF. MultiTaskFlow, Shared Library, Динамическое подключение модулей.

Суть этого практикума в том, что он показывает, то с чем приходится иметь дело в реальной разработки больших проектов. А именно модульное построение приложения, динамическое подключение модулей.
Состоит приложение из оболочки AppShell, которая использует реестр taskFlow из таблицы БД, загружает его при старте,  и на его основе строит интерфейс (закладки в panelTabbed). Реализация функционала который размещается на вкладках, выполнен в разных shared library, которые самостоятельно загружены на WLS.

вторник, 14 мая 2013 г.

8й - Практикум. Oracle ADF. Контекст пользователя. prepareSession, CONTEXT, dbms_session, JPublisher

Часто 3х звеные приложения организованы так, что сервер приложений ходит к БД под одним пользователем (владельцем схемы), а пользователи подключаются к серверу приложений под своими именами. А в контексте БД надо знать что за пользователь обращается к данным. Вот тут и используется возможность указать в контексте БД пользовательскую информацию.


суббота, 11 мая 2013 г.

7й - Практикум. Oracle ADF. Create Page Definition в taskFlow, Списки List SelectItem ...

Полезным бывает самостоятельное наполнение списков для Choise компонент. Для этого надо подготовить список вида - List<SelectItem>. А также полезным бывает использование доступа к данным (bindings) без загрузки страницы, но в запущенном taskFlow.

пятница, 10 мая 2013 г.

6й-Практикум. Oracle ADF. LOV, зависимые списки (Dependency LOV)

На примере таблицы "Locations" схемы HR сделаем список для выбора значений который будет в свою очередь зависеть от другого списка выбора.

пятница, 19 апреля 2013 г.

5й- Практикум. Oracle ADF. Программный и декларативный подходы.ADFUtils, JSFUtils

Поскольку FrameWork ADF позиционирует себя как декларативный, то для многих операций можно использовать декларативный, программный - через java код и смешанный - java + декларативный подход. Когда начинается использование java, то удобно подключить в проект ADFUtils.java и JSFUtils.java. Они есть в поставке примера от Oracle - "FusionOrderDemo"

понедельник, 15 апреля 2013 г.

четверг, 28 февраля 2013 г.

1й - Практикум. Oracle ADF. Задание

Пример из практикума 1,  можно изменить в плане работы главного taskFlow "adfc-config". После авторизации будет запускаться не страница index с фрагментом "task-flow-main", а переход будет идти на taskFlow "task-flow-main".

понедельник, 25 февраля 2013 г.

1й - Практикум. Oracle ADF. Шаблон, Форма, Авторизация, Bean,...

  В этом практикуме построим первую форму, первый bean, сделаем авторизацию как  неотъемлемую часть бизнес приложения, ну и конечно - шаблон формы, т.к. никто не делает формы с нуля.