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

пятница, 1 июля 2016 г.

Управление доступом к Oracle MAF приложению(Oracle Mobile Application Framework Securing)

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

MAF представляет пользователю login страницу  когда активирована возможность работы с безопасностью в приложении. И только тогда, когда пользователь успешно введет авторизационные данные, MAF отрендерит view, UI компоненты или страницу приложения. Так же можно,  что бы часть страниц были доступны и анонимным пользователям( не прошедшим авторизацию).

MAF приложение можно настроить так, чтобы учетные данные пользователя были  проверены на удаленном сервере авторизации (таких как Oracle Access Manager Identity Server используемым веб-приложениями Oracle ADF) или же  на локольном  устройстве пользователя. Для поддержки локальных и удаленных режима подключения. MAF поддерживает следующие протоколы аутентификации:

  • HTTP Basic
  • Mobile-Social
  • OAuth
  • Web SSO


воскресенье, 5 июня 2016 г.

Интеграция Oracle JET в ADF (Integration Oracle JET in ADF)

Ранее я рассказывал о том, что в 2015 году Oracle представил набор библиотек  для создания клиентских приложений: http://www.oracle-adf.info/2016/03/oracle-jet.html

В этой статье я хочу рассказать как можно встроить этот набор и использовать его  вместе с ADF. JET часть я возьму с предыдущей  статьи : https://github.com/JealousyM/jet-app

1. Создайте Fusion ADF приложение.
2. Скопируйте Jet файлы во ViewConroller->public_html

суббота, 28 мая 2016 г.

Настройка производительности ADF приложений (ADF performance tuning)

При создании приложений, всегда в какой то момент встает вопрос производительности. Страницы начинают грузиться медленнее, данные с БД долго подгружаются и вообще всё не так. Что бы этого избежать этого , в начале и течении всей  разработки необходимо придерживаться некоторых правил. Об этом я и хочу сегодня рассказать.

Основные рекомендации по настройке

Перед сборкой, настройкой  и деплоем приложения, для достижения оптимальной производительности рекомендуется  выполнить следующее :
  • Конфигурация и профилирование ADF
  • Повышение производительности ADF
  • Настройка атрибутов ADF компонентов
  • Повышение производительности компонентов Table and Tree Components
  • Повышение производительности для  autoSuggest(автозаполнение)
  • Доставка данных( Lazy или Immediate)


воскресенье, 8 мая 2016 г.

Использование WebSocket в ADF (Using WebSocket in ADF)

Начиная с JDeveloper 12.1.3.0  в ADF появилась поддержка Java API for WebSockets.
WebSocket — это протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени.Он позволяет пересылать любые данные, на любой домен, безопасно и почти без лишнего сетевого трафика.

Для демонстрации WebSocket в ADF создадим приложение,   в котором будем вводить сообщение в inputtext.

1. Создайте Fusion Middleware  приложение
2. В это приложение  добавьте проект Web Socket Project


пятница, 29 апреля 2016 г.

Интеграция Solr в ADF (Integration Solr in ADF)

Solr  -  платформа полнотекстового поиска с открытым исходным кодом, основанная на проекте Apache Lucene. Её основные возможности: полнотекстовый поиск, подсветка результатов, фасетный поиск, динамическая кластеризация, интеграция с базами данных, обработка документов со сложным форматом (например, Word, PDF). Так как в Solr есть возможность распределенного поиска и репликации, Solr хорошо масштабируем. Solr является самым популярным поисковым движком.

В этой статье я хочу интегрировать поиск Solr в ADF. Я создам таблицу со 100 000 записями, проиндексирую их при помощи Solr а потом найду данные. Начнём.

1. Скачайте последнюю версию Solr(http://lucene.apache.org/solr/downloads.html). Сейчас это 6-ая версия. В скачанном архиве зайдите в папку bin и выполните команду:

solr start

После того как появится сообщение "Waiting up to 30 to see Solr running on port 8983
Started Solr server on port 8983. Happy searching!", вы можете зайти на запущенный сервер(если вы хотите, что бы сервер запустился не на 8983 порте,  используйте параметр -p. Например:  solr start -p 8984 ) :


http://localhost:8983/solr



воскресенье, 24 апреля 2016 г.

Взаимодействие с данными в Oracle MAF(ADF Mobile). Часть 3. Использование REST-JSON Web сервисов (Using REST-JSON Web Services in Oracle MAF)

Взаимодействие с данными в Oracle MAF(ADF Mobile). Часть 1. Использование SOAP-XML Web сервисов ( Using SOAP-XML Web Services in Oracle MAF)
Взаимодействие с данными в Oracle MAF(ADF Mobile). Часть 2. Работа с БД ( Work with DB in Oracle MAF)

Ранее я рассказывал как взаимодествовать с БД и SOAP-XML сервисами. В мобильных приложениях чаще всего используют REST-JSON сервисы,  и в этой статье я хочу рассказать как в MAF работать с ними. Приступим.
Что бы вызвать REST-JSON сервисы из MAF приложений , вы должны использовать RestServiceAdapter интерфейс .  Все что нужно для корректной работы интерфейса RestServiceAdapter это соединение к сервису. Для этого создайте REST или URL connection  в вашем MAF приложении. Я взял  открытый для общего доступа сервис http://jsonplaceholder.typicode.com



Вызов RestServiceAdapter  выглядит следующим образом :


вторник, 16 февраля 2016 г.

Интеграция RSS в ADF (Integration RSS in Oracle ADF)

RSS (Rich Site Summary — обогащённая сводка сайта) - предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Обычно с помощью RSS 2.0 даётся краткое описание новой информации, появившейся на сайте, и ссылка на её полную версию. Интернет-ресурс в формате RSS называется RSS-каналом, RSS-лентой или RSS-фидом.
Документ RSS состоит их двух частей: загаловка  и статей.
В загаловке обязательными являются три элемента : 
  • title - имя канала 
  • link - ссылка на сайт, с которым установлен канал связи
  • description - описание канала
RSS-лента может состоять из множества статей. Основными составляющими статьи являются заголовок и описание.

В этой статье я хочу рассказать как интегрировать RSS ленту в ADF приложение.
1. Создайте ADF приложение.
2. Создайте HTTP Servlet (в мастере создания выберите  : Configuration file(web.xml) и поставьие галочку  в doGet() )



суббота, 13 февраля 2016 г.

WebLogic JMS и работа с ним в ADF ( Creating Weblogic JMS Server and work with him in ADF)

Добрый день. В какой то момент у вас может появится необходимость обмена данными между вашими приложениями. Для этого можно использовать  Java Message Service (JMS).
Для Oracle Fusion Middleware продуктов используется  WebLogic JMS (описание на англ: https://docs.oracle.com/cd/E24329_01/web.1211/e24387/fund.htm#JMSPG116). Он интегрирован в  WebLogic Server.

Немного теории:

JMS - это  набор интерфейсов и классов  для рассылки сообщений, позволяющий приложениям, выполненным на платформе Java EE, создавать, посылать, получать и читать сообщения.
JMS поддерживает две модели обмена сообщениями: «Point-to-point» и «Publish-subscribe».

Point-to-point модель применяется, когда одному или нескольким senders(отправителям) необходимо послать сообщение одному адресату (receiver).Модель основана на message queue. Отправитель посылают сообщения в очередь, а получатель читает сообщения из очереди.

Publish-subscribe модель применима, когда одному или нескольким отправителям необходимо послать сообщение одному или нескольким получателям. Данная модель основана на понятии message topic.Издатели посылают сообщения в topic, и все подписчики данного topic получают эти сообщения.

вторник, 12 января 2016 г.

Интеграция Spring В ADF (Integreation Spring in ADF)

Фрэймворк Spring очень популярен при разработке Java приложений.  И в какой то момент в вашем проекте может появиться необходимость его использовать. В этой статье я хочу объяснить как интегрировать Spring в ADF. Начнём

По умолчанию Jdev не даёт возможности работы со Spring. Сначала нужно установить extension: Spring & Oracle Weblogic Sca




четверг, 17 декабря 2015 г.

Использование Drag and Drop функциональности в ADF(Using Drag and Drop in ADF)

ADF Faces framework поддерживает возможность перетаскивания элементов на странице из одного места, в другое. Например перенос строки из одной таблицы в другую, перемещение компонентов на странице или копирование значений из одних объектов в другой.

ADF Faces поддерживает следующие сценарии:
  • Перемещение  значения атрибута из одного экземпляра компонента и копирование в другой. Например, пользователь может перенести данные из outputText в inputText .
  • Перемещение значения одного объекта в другой объект так, что он становится значением другого объекта.
  • Перемещение объекта из одной коллекции в другую.
  • Перемещение компонента из одной части страницы в другую.
  • Перемещения в компоненте calendar
  • Перемещения компонента  из или в  panelDashboard .
  • Перемещения маркера в DVT графиках для изменения значений.
  • Перемещение объекта из диаграммы Gantt в другой компонент.
  • Прочие перемещения в DVT

воскресенье, 6 сентября 2015 г.

Использование JSTL в ADF (Using JSTL in ADF )

Добрый день. Часто, работая с jsf фрагментами и jspx страницами не хватает стандартной функциональности. JavaServer Pages Standard Tag Library (JSTL) представляет часть дополнительных функций:

JavaServer Pages Standard Tag Library (JSTL) — расширение спецификации JSP, добавляющее библиотеку JSP тегов для общих нужд, таких как разбор XML данных, условная обработка, создание циклов и поддержка интернационализации


Тэги JSTL делятся на 5 категорий:

   Основные тэги:
  • Общего назначения: <c:out>, <c:set>, <c:remove>, <c:catch>
  • Условия: <c:if>, <c:choose>, <c:when>, <c:otherwise>
  • Относящиеся к URL: <c:import>, <c:url>, <c:redirect>, <c:param>
  • Итерации: <c:forEach>, <c:forTokens>

воскресенье, 24 мая 2015 г.

Использование MetaDataServices (MDS) в ADF (Using MetaDataServices in ADF)

Давным давно, я писал о ADF Security(Использование ADF Security в Oracle JDeveloper 12c ). 
После той статьи, я хотел рассказать о кастомизации приложения для пользователей, но забыл)
Исправляюсь : )
В этой статье я расскажу как кастомизировать и персонализировать наше приложение.  То есть сделаю так, что бы каждый отдельный пользователь приложения мог настроить форму под себя. Для этого нужно выполнить несколько  пунктов:
  1. Создать кастомизационные классы
  2. Включить кастомизацию в приложении
  3. Прописать кастомизационные файлы в  adf-config.xml  и при необходимости установить ограничения для кастомизации
Для кастомизации в ADF используется MetaDataServices (MDS). MDS  -  это хранилище, в котором можно хранить множество  метаданных. Например :
  • Взаимодействие с пользвователем (наш случай это кастомизация компонентов)
  • Управление бизнесс процесами (данные связанные с BPEL и BPM)
  • Конфигурационные файлы 
  • Веб сервисы (WSDL файлы, XML схемы, трансформации)

Более подробно о MDS можно прочитать здесь: http://www.oracle.com/technetwork/developer-tools/jdev/metadataservices-fmw-11gr1-130345.pdf

Приступим.

1.Создайте  кастомизационный файл (Java Class).


Расшарьте его классом oracle.mds.cust.CustomizationClass



вторник, 28 апреля 2015 г.

Вызов хранимых процедур и функций в JDeveloper 12c

Доброго времени суток. При разработке ADF проектов,  очень редко можно обойтись без вызова хранимых процедур и функций из базы. JDeveloper не имеет plug&play компонентов для работы с ними. Сегодня я хочу показать вам  как  это можно сделать.

1. Создайте в БД функцию складывающую два числа

CREATE OR REPLACE FUNCTION SUMMAB
    (
      A IN NUMBER
    , B IN NUMBER
    ) RETURN NUMBER AS
    BEGIN
      RETURN  A + B;
    END SUMMAB;


2.  Откройте Application Module Class у вашего Application Module



Если  у вас отсутствует этот класс,  сгенерируйте его, как указано на картинках ниже 



суббота, 25 апреля 2015 г.

Значок веб-страницы(favicon) и иконка для закладок в JDeveloper 12c

Favicon (от англ. FAVorite ICON -  «значок для избранного»)  - значок веб-страницы. Отображается браузером во вкладке перед названием страницы, а также в качестве картинки рядом с закладкой и  во вкладках .

Начиная с 11.1.2.x версии у тэга   <af:document>  появились атрибуты  smallIconSource  и largIconSource (тег <af:document> используется в jspx страницах).
 
smallIconSource - атрибут, для указания favicon. В необходимо указать адрес на небольшой значок размером 16 на 16(favicon). Если   этот атрибут не указан, браузер использует файл с именем "favicon.ico" находящийся  в корневом каталоге вашего сервера. Этот атрибут поддерживает  ввод списка файлов разделенных пробелами. Если путь к файлу определяет один слэш "/", это означает, что файл находится в корневой папке веб-приложения (т.е. "/misha.png" будет искаться в "http://www.oracle-adf.info/.../faces /misha.png "). Если путь к файлу определяет 2 cлэша "//', это означает, что файл находится в корневой папке сервера (т.е. "//misha.png" будет искаться в "http://www.oracle-adf.info/misha.png").  Как правило, используется первый в  списке файл . В противном случае, если браузер поддерживает только определенные типы файлов, то будет использоваться первый файл в списке, который поддерживает текущий браузер.

largeIconSource  - большой значок, который браузер может использовать для закладки вашей страницы. Если   этот атрибут не указан, браузер может использовать по умолчанию файл с именем  "apple-touch-icon.png". Возможные размеры  значка : 57x57 ,72 x72,129x129 пикселей.

Пример кода :
<af:document title="СуперПортал" 
 smallIconSource="/favicon.png /favicon.ico" 
 largeIconSource="/touchicon.png"> 
 <af:form> 
... 
</af:form> 
</af:document>




Если вы используете JDeveloper 11.1.1.x то вам придется использовать фасет metaContainer в тэге  <af:document>.

Пример  кода :


<af:document id="d1">
...
<f:facet name="metaContainer">
<af:outputText value="&lt;link rel='SHORTCUT ICON' href='#{facesContext.externalContext.requestContextPath}/favicon.ico'/>" id="favicon" escape="false"/>
</f:facet>
</af:document>


четверг, 16 апреля 2015 г.

Интеграция виджетов социальных сетей в Oracle ADF (Social Media Integration with Oracle ADF)

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

Каждая крупная социальная сеть имеет раздел для разработчиков, вот ссылки на них:

Facebook
Linkedin
Twitter (кнопка "Share")
ВКонтакте(VK)
Одноклассники(ok.ru)

В этих разделах обычно находится информация,  и даже код  для встраивания  различных  виджетов. Вот часть из них :

  • Авторизация - авторизация  в соц.сети
  • Комментарии (Comments)-  виджет позволяет установить на сайт блок для комментирования
  • Запись на стене (Embedded Posts) - виджет позволяет встроить на свой сайт отдельную запись или комментарий пользователя соц.сети
  • Мне нравится(Like button) - виджет позволяет пользователям выразить отношение к статье одним кликом или поделиться ссылкой на неё с друзьями
  • Публикация (Share button) - виджет позволяет быстро разместить ссылку на материал с вашего сайта на странице в соц сети 
  • Подписка(Follow) - виджет позволяет подписаться на пользователя или группу

  Получить код для виджета очень просто, например что бы сформировать кнопку "Поделиться(Share)" в VK нужно  : выбрать стиль кнопки, текст кнопки,страницу которой необходимо поделиться( та на которой кнопка или конкретный адрес) и логотип соц сети :

воскресенье, 8 февраля 2015 г.

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

При разработке ADF проектов часто может возникнуть  необходимость  создать регистрацию пользователей. И что бы обезопасить  эту часть проекта от ботов, используют Капчу. Капча - компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. В этой статье я хочу показать как встроить ее  в ADF проект (исходных код приложения можно скачать на github: https://github.com/JealousyM/captcha-adf ).

1. Создайте Fusion ADF приложение. В нем создайте jspx страницу со следующими компонентами:


  • inlineFrame - компонент для отображения капчи
  • 2 commandToolbarButton. Первая для обновления капчи, если она не разборчива.Вторая для обработки введенных данных.
  •  inputText  - компонент для ввода данных которые вы увидели в капче.
  •  group layout - компонент для группировки элементов страницы.



среда, 6 августа 2014 г.

Интеграция Google Maps в Oracle ADF

Добрый день, друзья.
В наше время мало какой сайт  может обойтись без интеграции Google  технологий. Я постараюсь рассказать как интегрировать в ADF  Google maps. Приступим. Сделаем  страничку на которой можно найти место на карте, введя его в input text



четверг, 3 июля 2014 г.

Использование ADF Security в Oracle JDeveloper 12c

Неделю назад вышла новая версия  Oracle Jdeveloper 12.1.3 . Что бы быть в тренде, эта статья будет написана на последней версии JDeveloper : ))
В этой статье я хочу рассказать как работать с ADF Security.ADF Security это  технология, которая  обеспечивает аутентификацию и авторизацию  веб-приложений Fusion.
Создадим простейшее приложение с таблицей EMP на странице jspx


Теперь включим ADF Security. Для этого запустим мастер настройки



вторник, 10 июня 2014 г.

Тестирование ADF приложений. Часть 2(Тестирование форм при помощи Selenium)

После того как проверен код, нам нужно проверить работу форм.  Автоматизируем и эту проверку.Для этого мы будем использовать утилиту Selenium.

Selenium это бесплатная утилита с открытым кодом, для тестирования веб-приложений. Он состоит из двух частей:

  •  Selenium  IDE является Firefox плагином, в котором  вы записываете вашу тестовую сессию. Из IDE, вы можете воспроизводить сеанс для быстрой проверки, и экспортировать его в виде JUnit теста.
  •  Selenium Remote Control Server является сервером , который будет выполнять записанные тесты с помощью браузера

Между записью  и воспроизведением тестов , вы можете изменить их  в JDeveloper. Это 
позволяет добавлять параметры и выходить за рамки простого тестирования.


Selenium IDE существует только как Firefox плагин. Так что для начала установите браузер Firefox (http://www.firefox.com).Selenium IDE можно загрузить из Firefox в Открыть меню | Дополнения.



четверг, 29 мая 2014 г.

Тестирование ADF приложений. Часть 1(Тестирование модулей при помощи JUnit)

Очень важным этапом при разработке приложений является их тестирование. Ручное тестирование занимает много времени и усилий. И что бы облегчить эту работу  мы автоматизируем этот этап.

      Над ADF приложениями проводятся тестирования 3 видов:

  • Тестирование модулей (будем использовать  JUnit)
  • Тестирование форм (будем использовать Selenium)
  • Тестирование нагрузки (будем использовать JMeter)

В этой статье рассмотрим тестирование модулей приложения. Приступим
В статье я буду использовать проект, который был создан в одной из предыдущих статей
https://drive.google.com/file/d/0ByLMFtz8FbBvZGE1S2tXaGN1QUU/edit?usp=sharing