Показаны сообщения с ярлыком Oracle. Показать все сообщения
Показаны сообщения с ярлыком Oracle. Показать все сообщения

четверг, 17 марта 2016 г.

Полезный код для managed bean в ADF(Useful code for managed beans in ADF)

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

BindingContext, BindingContainer DCBindingContainer

BindingContext, BindingContainer and DCBindingContainer классы. Эти классы необходимы, что получать данные из ADF pagedef объектов.

//получение BindingContext,BindingContainer   и DCBindingContainer 
BindingContext bc = BindingContext.getCurrent();
BindingContainer bcon = bc.getCurrentBindingsEntry();
DCBindingContainer dcbcon = (DCBindingContainer) bc.getCurrentBindingsEntry(); 

List<AttributeBinding> attr = bcon.getAttributeBindings();
List<OperationBinding> oper = bcon.getOperationBindings();
List<ControlBinding> ctrl = bcon.getControlBindings();
List<AttributeBinding> attrDcbcon = dcbcon.getAttributeBindings();
List<OperationBinding> operDcbcon = dcbcon.getOperationBindings();
List iterDcbcon = dcbcon.getIterBindingList(); List exec = dcbcon.getExecutableBindings(); List<ControlBinding> ctrlDcbcon = dcbcon.getControlBindings();

//получение метода,установка значений его параметров и выполнение
OperationBinding method = dcbcon .getOperationBinding("methodAction");
Map paramsMap = method.getParamsMap();
paramsMap.put("param","value") ; method.execute();
List errors = method.getErrors();

//получение аттрибута и установка нового значения
AttributeBinding attr = (AttributeBinding)dcbcon.getControlBinding("test");
attr.setInputValue("test");

//получение данных из ADF tree и table

FacesCtrlHierBinding treeData = (FacesCtrlHierBinding)dcbcon.getControlBinding("tree");
Row[] rows = treeData.getAllRowsInRange();

//получение данных из итератора
DCIteratorBinding iterBind= (DCIteratorBinding)dcbcon.get("Iterator");
String attribute = (String)iterBind.getCurrentRow().getAttribute("field");

// обновление итератора
iterBind.executeQuery();
iterBind.refresh(DCIteratorBinding.RANGESIZE_UNLIMITED);

суббота, 5 марта 2016 г.

Oracle JET. Описание и создание простого приложения (Oracle JET. Creating simple application)

В 2015 году на Oracle OpenWorld 2015 был представлен народу Oracle JavaScript Extension Toolkit (Oracle JET). Oracle JET - это  набор JavaScript библиотек находящихся в открытом доступе и созданных Oracle для более простого  и эффективного как это возможно построения клиентских приложений, которые  используют и   взаимодействуют с сервисами и продуктами Oracle

Oracle JET предназначен для :

  • добавления интерактивности к существующим страницам
  • добавления более тесной  интеграции с сервисами Oracle для существующего приложения
  • создания нового полноценного клиентского приложения
Oracle Jet использует следующие библиотеки и технологии(большинство вы технологий вы знаете) :


  • jQuery - JavaScript библиотека , фокусирующаяся на взаимодействии JavaScript и HTML
  • jQuery UI -  JavaScript библиотека   для создания насыщенного пользовательского интерфейса в веб-приложениях 
  • Knockout - JavaScript библиотека, позволяющая реализовать Model-View-View Model (MVVM) паттерн на клиенте
  • RequireJS - загрузчик модулей использующийся для управления библиотеками и загрузки ресурсов. RequireJS использует  Asynchronous Module Definition (AMD) концепцию
  • JavaScript - всеми нами известный прототипно-ориентированный сценарный язык программирования : )
  • CSS (Cascading Style Sheets) - формальный язык описания внешнего вида документа, написанного с использованием языка разметки.
  • HTML 5 -  язык для структурирования и представления содержимого в интернете
  • SASS (Syntactically Awesome Style Sheets) - это метаязык на основе CSS, предназначение которого увеличивать уровень абстракции CSS кода и упрощать файлы каскадных таблиц стиля. SASS предоставляет больше возможностей и свободы при написании CSS для создания сайтов.

понедельник, 24 марта 2014 г.

Создание простого BPM процесса в Jdeveloper 11.1.x.0

ADF разработчик должен уметь не только разрабатывать ADF  приложения, но и полноценные BPM решения.
В этой статье, мы разработаем BPM процесс, с помощью  Oracle SOA Suite.  Если он у вас не установлен, то сначала изучите эту статью :  Установка и настройка Oracle SOA Suite

Итак, BPM - это подход к моделированию, автоматизации, управлению и оптимизации бизнес-процессов в рамках организационных подразделений, систем и приложений.

Создадим простой процесс  по принятия студента в университет.

Что бы его создать, нам нужно пройти следующие этапы:
  1. Моделирование бизнес-процесса.
  2. Создание Ролей и пользователей
  3. Создание процесса.
  4. Создание бизнес объектов(Data object и Bussines object)
  5. Создание Human Task 
  6. Создание форм
  7. Разработка процесса
  8. Deploy процесса.
  9. Тестирование процесса


воскресенье, 26 января 2014 г.

Запуск критериев (ViewCriteria) с Java кода в JDeveloper

     В Oracle ADF существует возможность создания критериев для сформированных  нами ViewObject-ов, чтобы при необходимости выполнять запросы к базе   по определенным  полям.  В этой статье будет описано создание этих критериев и вызов их с Java кода.Для этого в приложение созданное в прошлой статье " Использование af:iteraror вместо af:table в JDeveloper "  добавим два критерия : Фильтр сотрудников по номеру отдел и фильтр по дате рождения. Приступим.
     Зайдите во VO  EmpView и перейдите во вкладку Query. Там находится три секции:
  • Query - в ней находится запрос по которому формируется VO
  • Bind Variables - в эту секцию добавляются параметры которые  будут использоваться в критериях
  • View Criteria -секция в которой создаются критерии.

суббота, 18 января 2014 г.

Использование af:iteraror вместо af:table в JDeveloper

       В Oracle ADF стандартным компонентом для отображения таблиц баз данных является af : table.
       Это стандартная таблица. Часто бывает так, что заказчик хочет увидеть данные не в виде таблицы, а в каком то другом виде. Для этого существует af:iterator. Этот  компонент выводит данные  с БД в том виде, какой вы создадите : )

       af:iterator   в отличии af : table  нельзя создать путем  переноса VO c DataControl. Но что бы не создавать в ручную итераторы и   компонент, мы переконвертируем  компонент af:table.

Приступим.

1. Создайте приложение ADF приложение
2. Добавьте connection с базой к стандартной схеме  Scott.
3. Их соединения scott добавьте ADF Busines Component  Emp
4. Создайте jspx страницу
5. Добавьте на страницу c DataControl EmpView1  как таблицу.
Страница должна выглядеть так

четверг, 16 января 2014 г.

Добавление компонентов на форму в режиме реального времени в ADF

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

     Сначала нужно написать метод описанный снизу


public void addComponent(UIComponent parentUIComponent, 
                            UIComponent childUIComponent)
   {
 parentUIComponent.getChildren().add(childUIComponent);
 AdfFacesContext.getCurrentInstance().addPartialTarget(parentUIComponent);
    }


     Этот метод добавляют созданную компоненту childUIComponent  в родительский компонент parentUIComponent (например panelGroupLayout) и обновляет родительский компонент, что бы отобразился созданный элемент.

    Далее в нужном вам методе добавьте строки

RichInputText uic = new RichInputText();  
uic.setId("rit1");
uic.setLabel("Название поля");
uic.setValue("Значение поля");
addComponent(pGL1,  uic);


     В первой строке создается  компонент RichInputText ( компонент для ввода строк)
     Во второй, третьей и четвертой устанавливаются свойства компонента.
     В пятой при помощи созданного ранее метода  addComponent новый компонент добавляется на форму.

     Как вы сами понимаете добавлять можно не только inputtext.
     По следующей ссылку можно увидеть список компонентов и их свойства:

воскресенье, 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);
  • 3 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)

пятница, 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 запросы). 

пятница, 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)".Жмем  "ОК".