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

Groovy в JDeveloper

Здравствуйте, в этой статье я хочу вам рассказать о языке Groovy, и его использовании в JDeveloper.
Как говорится в Википедии :
Groovy — объектно-ориентированный язык программирования разработанный для платформы Java как альтернатива языку Java с возможностями Python, Ruby и Smalltalk.
Groovy использует Java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим Java кодом и библиотеками. Язык может использоваться в любом Java проекте или как скриптовый язык.

Oracle JDeveloper и Oracle ADF 11g ввели поддержку сценариев языка Groovy, позволяющий создавать Groovy выражения, которые можно использовать в свойствах проверки атрибутов и в качестве источника для значений атрибутов .

 Начнем : )
Для демонстрации функциональности Groovy, создайте ADF приложение, соединитесь к тестовой  базе oracle  scott или hr, и создайте entity и view  объекты для таблиц этой схемы.

Oracle ADF предоставляет много мест, где можно использовать Groovy код:

- В значении атрибутов Entity и View объектов.
- В правилах проверки(Validation Rules) атрибутов Entity объектов.
- В выражениях для сообщений об ошибках
- В значениях Bind Variables во View объектах
- В проверке Transient атрибутов во View объектах

Groovy выражения в ADF Business Components объектах

Ссылка на атрибуты в одном объекте.

Простейший пример, работы Groovy, это ссылка на атрибут, во  View объекте.
Создайте Transient атрибут в View  объекте Empview : SumSal(type:number,value type:Expression,value: Sal*Comm)

среда, 13 февраля 2013 г.

Bounded и Unbounded Task Flows. Виды Task Flow и работа с ними(Часть 2 - работа с Bouned Task Flow)

  Здравствуйте. В первой части этой статьи мы рассматривали Unbounded Task Flow. В  этой рассмотрим Bounded Task Flow(BTF).Как говорилось ранее:
  Bounded Task Flow- task flow имеющая четкие границы,  одну точку входа и  ноль или несколько точек выхода,   входные/выходные параметры, собственную область памяти  и декларативное управление транзакциями.
 Для демонстрации работы с Bounded Task Flow  в созданном нами приложении TaskFlowDemo в первой части   создадим  2 ADF Task Flow(MyFirstBoundedFlow.xml,     MySecondBoundedFlow.xml) в которых будут находиться :

  • В MyFirstBoundedFlow.xml: JSFF страница в котором будет поле ввода номера отдела и кнопка перехода на следующую страницу в  MySecondBoundedFlow.xml.
  • Во втором task flow будет входящий параметр Номер отдела(Deptno), при вводе которого на  странице выводится отдел, и информация по нему. А при нажатии кнопки "Показать сотрудников" переходим на страницу со списком сотрудников. 
Приступим.
1.Создайте Entity Object(Dept,Emp) и View Object(DeptView,EmpView) соответственно;
2. Для того, что бы  делать выборки из View Object  нам нужно создать параметр и критерий. Это делается во вкладке Query, как показано на следующих картинках(создайте для DeptView -Bind variable(Deptnop),View Criteria(DeptViewCriteria, где Deptno= :Deptnop),а для EmpView -Bind variable(DeptnoE),View Criteria(EmpViewCriteria, где Deptno= :DeptnoE);


вторник, 5 февраля 2013 г.

Bounded и Unbounded Task Flows. Виды Task Flow и работа с ними(Часть1 - работа с Unbouned Task Flow)

Здравствуйте, в этой статье будет рассказываться о видах TaskFlow, их создании и работы  с ними. Приступим : )
Существует два вида Task Flow

  • Unbouned Task Flow - task flow не имеющая четких границ,  а имеющая множество активностей, правил их управления и managed beans при помощи которые позволяют пользователю выполнять требуемые задачи. В этом виде task flow может иметь множество входов и выходов.
  • Bounded Task Flow- task flow имеющая четкие границы,  одну точку входа и  ноль или несколько точек выхода,   входные/выходные параметры, собственную область памяти  и декларативное управление транзакциями.
Рассмотрим на примерах работу с Bounded и Unbounded Task flow;
Подготовительный этап:
 Создайте приложение (Fusion Web Application(ADF)) и назовите его TaskFlowDemo;


Unbounded Task flow

 Открыв adfc-config.xml,  вы увидите чистый лист.Это Unbounded Task Flow нашего приложения.  На него можно добавлять страницы(View), переходы между ними(Control Flow Case,  Wild Control Flow Rule), методы(Method Call), другие TaskFlow(Task Flow Call), будущий адрес приложения(URL View), сохранение данных(Save Point Restore), разветвление(Router)
На простом примере продемонстрируем как создаются страницы в task flow и осуществляется навигация между activity(страницы,методы,роутеры). Путем переноса на лист с "Component Palette"    создайте три view(page1,page2,page3), один Wild Card Control Flow Rule, и два  Control Flow Case(p1top2 - от page1 к page2,p3-  от Wild Card Control Flow Rule к page3)

воскресенье, 3 февраля 2013 г.

Развертывание (Deploy) приложения на Weblogic

Используя  предыдущие статьи в блоге, мы уже с легкостью сможем  создать приложение и запустить его локально при помощи встроенного в JDeveloper WebLogic сервера. В этой статье мы научимся развертывать приложения на WebLogic Server. Подразумевается что вы уже умеете создавать приложения и у вас установлен WebLogic. Использовать будем демонстрационную схему Scott и создадим простую страничку которая будет выводить табличку с отделами.
Подготовительный этап:

1. Создайте Entity Object Dept,View Object DeptView и добавьте DeptView в Application Module; 
2. Cоздайте страницу DepApp.jspx;
3. Добавьте на страницу panelStretchLayout;
4. Добавьте  из Data control DeptView на страницу и создайте read-only таблицу (Row Selection: Single row) в фасетку  center компонента  panelStretchLayout

 Приступим к настройке развертывания нашего приложения на сервер. Для этого нужно настроить в каждом проекте профиль развертывания "Deployment profile" и настроить профиль развертывания для всего приложения. Для этого нужно правой кнопкой нажать по проекту и выбрать "Project Properties"(в случае приложения "Application Properties"), а там выбрать вкладку Deploy  

пятница, 1 февраля 2013 г.

Managed beans(программное управление компонентами) в JDeveloper 11.1.1.6.0

                  При помощи drag-n-drop технологий в JDeveloper можно с легкостью создать приложение, которое будет отображать и редактировать  Master-detail связи,списки,графики. Но часто для реализации необходимых требований приложения требуется программное управление компонентами и выполнение определенных Java методов. Для этого в ADF существуют конфигурационные файлы называемые "Bean"(Бины). Бины представляют из себя Java классы со своей областью жизни(scope) экземпляров методов и переменных.
                 
                  Области жизни Managed bean-ов бывают следующих видов:

  • Application scope - экземпляр bean-a существует на протяжении работы приложения;
  • Session scope - экземпляр bean-a создается один раз при обращении пользователя к приложению, и используется на протяжении жизни сессии;
  • Page flow scope  - эта область используется для взаимосвязи между страниц в TaskFlow и существует ;
  • Request scope - экземпляр bean-a создается на каждый запрос до тех пор пока не отправится обратно клиенту;
  • Backing bean scope  - это область используется для декларативных компонентов и page fragment(region) и существует так же как и request scope  ;
  • View scope - экземпляр bean-a создается один раз при обращении к странице, и используется ровно столько, сколько пользователь находится на странице (включая ajax запросы). 

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

Работа с Layout компонентами в Jdeveloper 11.1.1.6.0 для компоновки объектов страницы

     Здравствуйте! После создания простейшего приложения ADF в Jdeveloper появляется сложность в удобном расположении компонентов на странице.  Для этого в Oracle ADF используются компоненты компоновки. В этой статье  я  хочу описать эти компоненты.
     Если раскрыть вкладку в окне Component Pallete->Layout мы увидим следующие  компоненты:

четверг, 24 января 2013 г.

Всплывающие окна(Popup) в Jdeveloper 11.1.1.6.0

        Часто при разработке форм в Oracle Jdeveloper возникает необходимость, что бы данные  выводились в отдельном окне на странице.Для этого в Jdeveloper существует компонента Popup. Разработаем форму,  в которой будет таблица отделов, а во всплывающем окне будет выводится таблица сотрудников.Приступим(использовать будем демонстрационную базу Oracle - Scott).
       Запустите Jdeveloper и создайте приложение PopupApp. В нем создайте Entity и View объекты таблиц Dept и Emp и ViewLink между ними. Создание приложения и бизнес компонент описана в статье Создание простого приложения ADF в Jdeveloper 11.1.1.6.0.
       Создайте страницу  и добавьте на  нее таблицу с помощью Data Control DeptView1
       И установите свойства как показано на следующей картинке