вторник, 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)".Жмем  "ОК".


       
Появляется мастер создания приложения. В «Application Name»вводим  имя будущего приложения например «BigBang»,а в «Directory»–путь к приложению. Жмем «Next». В следующих окнах можно настроить под себя проекты(их названия, пути и технологии используемые в проектах). Если ничего не менять и нажать сразу Finish, то создадутся два проекта «Model» и «ViewController». В первом проекте будут использоваться технологии Java и ADF Business Components, а во втором: ADF Faces, ADF PageFlow, HTML, Java, JSF, JSP and Servlets и XML. Как видно по автоматически созданным проектам в ADF используется MVC архитектура.
     Следующим шагом в разработке приложения у нас будет создание соединения с БД. Для этого нам нужно зайти в File-New-Connections-Database Connection. Появится окно, в которое нам нужно будет ввести требуемые поля. А именно: Connection name(имя соединения), Username, Password, Hostname, SID и JDBC port. Все поля кроме имя соединения это ваши параметры подключения к Oracle DB.В нашем случае это:
Username:SCOTT
Password:tiger
Hostname:localhost
SID:orcldb

     Далее нам необходимы привязать таблицы БД. Для этого используются бизнес компоненты "Entity""View objeсt"и "Application Module".
Заходим в  File-> New(или Ctrl+N)->ADF Business Components->Business components from Tables. Появится окно с выбором соединения для последующего выбора таблиц(по умолчанию подставляется ранее созданное соединение)
  
               Появится окно выбора таблицы с БД, что бы увидеть существующие таблицы. Убедитесь что выбрана нужная схема и нажмите на кнопку Query.
Перенесем таблицу "DEPT"и "EMP"в область "Selected" нажатием стрелочки “>” или сочетанием клавиш "ALT+D".Жмем "Next>"

       В следующем окне жмем "ALT+L"и "Next"(В этом окне указываем какие View object мы создаем)

Жмем Finish.
Jdeveloper создал нам следующие Бизнес компоненты:
1.Entity object(объект на основе java класса сущности (entity), который маппируется на данные в базе данных) -  Dept, Emp;
2.Viewobject(объект на основе SQL запроса к базе) - DeptView,EmpView;
3.Association(отношения  между Entity объектами)  - FkDeptnoAssoc;
4.Link( используются для создания отношений master -> multiple detail и отношения cascading master-detail между View объектами) - FkDeptnoLink;
5.Application module(используется для добавления определенных методов и тестирования View объектов) – AppModule.

    Далее заходим в – "AppModule"и переключаемся на раздел "Data Model". Убеждаемся что  "DeptView1" и "EmpView1" находятся в правом окошке Data Model.
      Следующим этапом у нас будет создание jspx страницы.
    Для этого раскроем проект "ViewController"и откроем там "WebContent->Page Flows-<adfc-config". Появится пустое окно. Перенесите в это окно с вкладки "Component Palette"компонент "View"и назовите ее index.

      Нажмите два раза на созданный компонент и в появившемся окне нажмите "ОК". Страница создана. Добавим на страницу данные из базы данных.Для этого нам нужно раскрыть вкладку "Data Controls" в левой части среды разработки. Там у нас находится "AppModuleDataControl"в котором находятся наши "View объекты". И путем простого переноса этих объектов на страницу мы можем создать таблицу и другие компоненты(LOV,input text, output text и др). Перенесем "DeptView1" на страницу. Перед нами появится список с возможными компонентами для нашего объекта.Выберем "Table->ADF Table"

    Появится окно мастера создания таблицы. В котором мы на наше усмотрение  можем включить функции сортировки и фильтрации(Enable Sorting, Enable Filtering), установить способ выделения строки(None,Single Row, Multiple Rows), и выбрать какие строки и с каким именем столбца они будут выводиться. Делаем как показано на окне ниже и жмем "OK"

        Таблица создана. Теперь нам необходимо  что бы данные можно было удалить, добавить и сохранить. Для этого нажмем правой кнопкой по созданной таблице и выберем там «Surround with..» и в появившемся окне из списка выбираем «Panel Border Layout». После этого создастся на странице контейнер состоящий из 5 областей(facets) top,start,end,bottom и center.А наша таблица автоматически окажется в области center.
    Далее вернемся к вкладке DataControls.Раскроем объект DeptView1->Operations. Перенесем оттуда на страницу в область start   «Create insert» и «Delete».В появившемся списке выбираем «ADF Button». А с общей вкладке Data control-a  «Operation»  перенесите «Commit» и «Rollback».Изменим названия кнопок. Для этого выберем кнопку и во вкладке Property Inspector, свойстве Text напишем свои  названия

Приложение готово. Для его тестирования нажмем по index.jspx правой кнопкой и нажмем Run