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

Работа с Web-сервисами в Oracle JDeveloper(Часть 3.Создание ADF Web service connection)

              Когда идет разработка продукта, то приложения деплоятся на много площадок  и сервисы соответственно находятся тоже на разных площадках. Если у вас всего один сервис в приложении, то вы можете просто перегенирировать  его. Но лучше всего использовать ADF Web service connection. При его помощи создаются соединения,  в которых потом в режиме реального  времени можно менять адреса к wsdl сервису.
             ADF Web service connection создается очень просто.Нужно  найти в  прокси классе сервиса контейнер, он заканчивается словом Proxy, нажать по нему правой кнопкой и выбрать там Create ADF Web Service Connection. 
   

Работа с Web-сервисами в Oracle JDeveloper(Часть 2.Создание прокси класса и работа с сервисом в коде)

Когда в Orace ADF начинается разработка, то часто начинают использоваться  данные не только c БД, но и с других источников. И очень часто каким то другим источником является веб сервис. Для взаимодействия сервиса  c приложением используется  "Web Service proxy". 

В этой статье я хочу показать как создавать  для сервиса  "Web Service proxy" и  с его помощью вызвать необходимые методы в сервисе(Сервис будет использоваться из предыдущей статьи 
Работа с Web-сервисами в Oracle JDeveloper(Часть 1.Создание Web-сервиса   ).Если вам не хочется  читать прошлую статью используйте какой нибудь сервис с сайта  http://www.service-repository.com/

Приступим. Для создания прокси класса  нужно нажать CTRL+N и во вкладке "Web Services" выбрать Web Service proxy

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

Работа с Web-сервисами в Oracle JDeveloper(Часть 1.Создание Web-сервиса)

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

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

в JDeveloper есть возможность их создания.
Для этого создадим касс Calculating который  будет считать в зависимости от введенного знака(+,-,*,/) считать x и y.



понедельник, 28 октября 2013 г.

Использование JavaScript в ADF

Доброго времени суток. В этой статье будет показано на примере как использовать Java Script(JS) в ADF.А именно,рассмотрим такие вещи как:
1. Вызов JS функции с ADF страницы.
2. Вызов JS функции с Java.
3. Передача аргументов в JS функцию.
4. Работа с ADF компонентам в JS.

Для этого создайте  форму с компонентами:

  • 2 af:commandButton  (cb1,b2);
  • af:inputText(it1,it2,it3);
  • 2  af:outputText (ot1,ot2).
  •  af:popup (p1) с af:dialog (d2) и af:outputText (ot3) с value="Привет Мир  


и назовите их как показано на следующем рисунке :


Описание работы  кнопок:
 "Запустить сценарий со страницы" - запуск  JS функции по нажатию кнопки со страницы, которая передаст  данные с X(it1),Y(it2) в JS   при помощи  af:clientatribute и установит в Z cсумму X и Y при помощи поиска;
"Запустить сценарий с Java" - запуск  функции через Java код;

вторник, 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
       И установите свойства как показано на следующей картинке

среда, 23 января 2013 г.

Каскадные списки (LOV).Cascade List of values.



       Часто возникает необходимость в  создании на странице двух списков. Причем что бы второй формировался в зависимости  от значения первого. Такие  списки называются каскадными.
       Для создания списков будем использовать стандартную тестовую базу Scott.
В этой базе находится таблицы Dept(отделы)и Emp(сотрудники).


Dept
Название поля
Тип
Описание
Deptno
Number
Номер отдела
Dname
String
Имя отдела
Loc
String
месторасположение

Emp
Название поля
Тип
Описание
Empno
Number
Номер сотрудника
Ename
String
Имя сотрудника
Job
String
Должность
Mgr
Number
Номер руководителя
Hiredate
Date
Дата принятия
Sal
Number
Зарплата
Comm
String
Примечание
Deptno
Number
Номер отдела
       
       Каждый отдел  имеет свой номер и имя. А каждый сотрудник имеет номер, имя и номер отдела к которому он принадлежит. Создадим каскадные списки, что бы при выборе отдела в одном списке, во втором выводились его сотрудники. Приступим.

пятница, 18 января 2013 г.

Создание списков LOV(List Of Values) в Jdeveloper 11.1.1.6.0

      В прошлой статье, мы создали Master-Detail форму. Поле Руководитель(Mgr) в таблице Emp имеется  значение Empno  руководителя текущего сотрудника. Что бы поле стало читабельным, и была  быстрая возможность смены руководителя создадим список.
Для этого нам необходимо открыть нужный нам View object(VO) EmpView.Зайти во вкладку "Attributes" и одним нажатием левой клавиши мыши выбрать атрибут  в котором мы хотим создать список. После выбора нажимаем на "+" в "List of values:Mgr"
   

Создание Master-Detail формы в JDeveloper 11.1.1.6.0

          Создадим форму с таблицами, у которых имеется связь "Master-Detail".
   Будем использовать таблицы Dept и Emp из демонстрационной схемы Oracle  Scott(user:scott,password:tiger).
           Подразумевается что у вас уже установлена БД Oracle, Jdeveloper и вы  умеете создавать Entity Object(EO),View Object(VO),Application Module(AM),Link и Association.
Если нет, то вот ссылки на предыдущие сообщения блога:
Ссылки на пошаговые инструкции по установке Oracle Database,JDeveloper и Weblogic;
Создание простого приложения ADF в Jdeveloper.

- Создайте приложение "MyAppMD";

- Создайте соединение к демонстрационной схеме Scott;
- Создайте Бизнес компоненты EO(Dept,Emp), VO(DeptView,EmpView). Если вы создавали EO и VO c помощью "File-> New(или Ctrl+N)->ADF Business Components->Business components from Tables", то автоматически был создан ViewLink. Если нет, то выполните следующие действия:
 -Нажмите  правой кнопкой по DeptView и выберите "New View Link ..."
           Появится следующее окно, в котором в Name напишите "FKDeptnoLink" и нажмите "Next"

         

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

Создание простого приложения ADF в Jdeveloper 11.1.1.6.0



             Jdeveloper  является мощным средством разработки приложений, форм и сервисов. В этом сообщении я хочу рассказать, как создать простое ADF-приложение с его помощью. Для этого требуется что бы на вашем ПК были уже установлены и настроены следующие компоненты : БД Oracle и  Jdeveloper(ссылки на инструкции по установке находятся в следующей статье 
Ссылки на пошаговые инструкции по установке Oracle Database,JDeveloper и Weblogic
.Далее необходимо запустить Jdeveloper  и совершить следующие действия.
  •     Выбираем  "File-> New(или Ctrl+N)";
  •     Выбираем вкладку  "General->Application";
  •     Выбираем  "FusionWebApplication(ADF)".Жмем  "ОК".


       

среда, 2 января 2013 г.

Описание Jdeveloper 11.1.1.6.0

Здравствуйте. Сегодня я хочу вам рассказать  о Oracle Jdeveloper.
Как утверждается на официальном сайте и Википедии :

     JDeveloper — бесплатная интегрированная среда разработки программного обеспечения, разработанная корпорацией Oracle. Предоставляет возможность для разработки на языках программирования Java, XML, SQL и PL/SQL, HTML, JavaScript, BPEL и PHP. JDeveloper покрывает весь жизненный цикл разработки программного обеспечения от проектирования, кодирования, отладки, оптимизации и профилирования до его развёртывания.
     Производитель отмечает в качестве основной задачи среды — максимальное использование возможностей визуального и декларативного подхода к разработке программного обеспечения в дополнение к удобной среде кодирования. Oracle JDeveloper интегрирована с Oracle Application Development Framework — Java EE-каркасом для создания коммерческих приложений на Java.
     Итак, запустим эту среду.После загрузки перед нами появится такое окно: