суббота, 15 марта 2014 г.

Создание BPEL процессов в JDeveloper (часть 2.создание и развертывание простого BPEL процесса)

 В прошлой статье Создание BPEL процессов в JDeveloper (часть 1.Установка, описание компонентов) было описано как  обновить Jdev для работы с BPEL, и  описаны основные компоненты.  Здесь я опишу как создать простой процесс и развернуть его на  сервере Weblogic

     Приступим : )
     Создадим процесс который  при вводе названия страны выводит  города этой страны

1. Создайте BPM или SOA  приложение

пятница, 14 марта 2014 г.

Установка и настройка Oracle SOA Suite

   Для работы c Oracle SOA Suite нужно скачать и установить следующие инструменты:
  1. Oracle Database Express Edition: SOA Suite требует  БД.
  2. WebLogic Server: необходим для запуска SOA Suite.
  3. Repository Creation Utility: эта утилита создает схемы  в БД которые SOA Suite использует для различных задач
  4. SOA Suite: это JEE приложение  которое содержит   SOA инструменты развернутые на   WebLogic. 
  5. JDeveloper: это IDE которое используется для разработки и развертывания ваших SOA композитов. 
   Все это можно бесплатно скачать(предварительно зарегистрировавшись) по следующей ссылке :http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html

Шаги по установке:

    1. Установите  Oracle Express Edition (XE). Установка  Express Edition достаточна проста для описания. Если вы  хотите установить  не XE версию, воспользуйтесь следующим описанием: http://odba.ru/showthread.php?t=294

вторник, 11 марта 2014 г.

Создание BPEL процессов в JDeveloper (часть 1.Установка, описание компонентов)

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

     BPEL (англ. Business Process Execution Language) — язык на основе XML для формального описания бизнес-процессов и протоколов их взаимодействия между собой. BPEL расширяет модель взаимодействия веб-служб и включает в эту модель поддержку транзакций.

     В этой статье я хочу  рассказать о установке расширений для работы с BPEL и о компонентах BPEL в JDeveloper.

     Примечание: Работать с BPEL\BPM процессами можно  только в  версиях  Oracle JDeveloper 11g Release 1 (11.1.1.x).

     Начнем.
1. Установите и запустите  JDeveloper   версии 11.1.1.x
2. Подключите расширения SOA  как указано на рисунках ниже :
     


воскресенье, 2 марта 2014 г.

Работа с файлами (af:inputFile,af:fileDownloadActionListener, af:image) в JDeveloper

     Редко какой ADF проект обходится без  работы с файлами.
     В этой статье мы создадим проект, в котором будет реализована возможность добавления в базу изображений(фотографию сотрудника), их просмотр  и скачивание на компьютер.
     Приступим.
     Будем использовать тестовую схему  Oracle (Scott\tiger). В ней есть таблица  EMP (сотрудники)
Для работы с файлами существующих таблиц  недостаточно. Нужно добавить поле IMAGE_ID  в таблицу EMP, создать таблицу PHOTO (с структурой указанной ниже) и связать эти таблицы связью 1 к 1 по полям  IMAGE_ID.



воскресенье, 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.
     По следующей ссылку можно увидеть список компонентов и их свойства: