Базы данных Oracle - статьи

         

IV. Создание проекта в Oracle Real Time Decisions


Открыть Decision Studio из RTD_HOME\eclipse\eclipse.exe. Начать новый проект,для этого выбрать в меню File > New > Inline Service Project.

  • Ввести название для проекта Surveys и выбираем Basic Template в качестве шаблона. (По умолчанию файлы с проектом располагаются в директории C:\Documents and Settings\WIN_USER\Oracle RTD Studio\Surveys)

    Скриншот 14

    Интерфейс Decision Studio устроен следующим образом.

    Скриншот 15

    Справа в Проводнике проекта появляется созданный нами проект Surveys. Открыть элемент Surveys > Service Metadata > Application. Это основной объект, в котором содержится вся информация о проекте. Ввести описание для проекта и перейти на закладку Permissions.

    Скриншот 16

    Для того, чтобы можно было заходить в проект из Decision Studion (Web-приложение для конечного пользователя, необходимо дать доступ пользователя к проекту.

  • В разделе User or Groups нажимаем Add и далее Select Server. В появившемся окне вводим имя хоста и номер порта, где установлен RTD, а также имя пользователя “admin” и пароль “admin”. Нажимаем Connect и возвращаемся обратно в окно добавления пользователей.

  • Нажать галочку Show Users и затем кнопку Get Names. В таблице появится созданный нами ранее пользователь admin. Выбрать его нажать OK.

  • Выбрать пользователя admin и нажать в столбец Granted напротив строк Deploy Service from Studio и Download Service. После этого все 4 строчки должны быть помечены.

    Скриншот 17

    На предыдущих шагах, мы настроили в OC4J и ORTD поддержку нашего источника данных Surveys Data Source.

    Настроим источник информации для проекта. Нажать правую кнопку мыши на элементе Surveys > Service Metadata > Data Sources и выбрать New SQL Data Source

  • Ввести название Surveys Data Source

  • Справа откроется окно со свойствами, нажать кнопку Import.
  • Свойства сервера должны совпадать с настроенными нами ранее при импорте пользователя admin, нажать Next

  • Выбрать SURVEYSDS в качестве JDBC Data Source и таблицу CUSTOMER_SATISFACTION и нажать Finish.

  • Все колонки таблицы появятся в Output.
  • Перенести колонку Input Customer_Satisfaction_Id направо в input


    Скриншот 18

    К этому моменту мы создали новый проект, настроили доступ пользователя admin к нему, настроили источник данных из схемы Surveys. Теперь настроим основную логику работы.

    Создадим сущность, описывающую событие, что конкретный продукт получил или положительную или отрицательную оценку.



  • Нажать правую кнопку мыши на элементе Surveys > Service Metadata > Entities и выбрать New Entity


  • Ввести название Satisfaction


  • Нажать на кнопку Import и выбрать в качестве источника Surveys Data Source


  • В таблице появится список полей из таблицы


  • Нажать кнопку Add Key, ввести Display Label – Id, Data Type – Integer. Созданный ключ появится в таблице с полями.

    Скриншот 19

    Перейти на закладку Mapping.

    В таблице поля, которые были импортированы, автоматически настроены на источник Surveys Data Source. Созданное нами поле Id не имеет привязки к источнику. Нам надо привязать созданный нами атрибут на входные атрибуты.



  • В таблице Data Source Input Values нажать на поле в Input Value на поле CUSTOMER_SATISFACTION_ID.


  • Выбрать Attribute or variables и сущность Satisfaction, поле Id.


  • Выбрать File > Save All

    Во всех проекта Real Time Decisions есть специальная сущность Session, которая создается при открытии новой сессии к серверу. Нам надо связать сущность Session с только что созданной сущностью Satisfaction

    Открыть Surveys > Service Metadata > Entities > Session


  • Нажать Add Attribute, ввести название Satisfaction, выбрать Data Type – Other, затем Entity Types и Satisfaction


  • Нажать Select в около Session Keys from Dependent Entities и выбрать Session > Satisfaction > Id

    Скриншот 20

    Для построения анализа зависимостей оценки типа продукта, его версии и год обновления , надо создать группу возможных оценок продукта.



  • Нажать правую кнопку мыши на элементе Surveys > Service Metadata > Choices и выбрать New Choice Group, ввести название Feedback.


  • На закладке Choices Attributes нажать Add, ввести название code, Data Type – String

    C помощью атрибута code, будем определять оценку, которую получает той или иной продукт. Создадим сами оценки.





  • Нажать правую кнопку мыши на элементе Surveys > Service Metadata > Choices > Feedback и выбрать New Choice


  • Ввести имя NEGATIVE, на закладке Attributes Values ввести значение в поле Attribute Value для атрибута code – NEGATIVE

    Скриншот 21

    Аналогичным образом, нажать правую кнопку мыши на элементе Surveys > Service Metadata > Choices > Feedback и выбрать New Choice


  • Ввести имя POSITIVE, на закладке Attributes Values ввести значение в поле Attribute Value для атрибута code – POSITIVE

    Перейдем к созданию модели для поиска зависимостей между оценками продукта и его характеристиками.



  • Нажать правую кнопку мыши на элементе Surveys > Service Metadata > Models > Feedback и выбрать New Choice Model


  • Ввести название FeedbackAnalysis, на закладке Choice выбрать Choice Group – Feedback

    Скриншот 22

    Необходимо исключить саму оценку из анализа зависимостей.



  • На закладке Attributes в разделе Excluded Attributes нажать Select и выбрать Session > Satisfaction > Feedback

    Теперь создадим простейший информатор, который будет добавлять новые прецеденты к модели анализа FeedbackAnalysis



  • Нажать правую кнопку мыши на элементе Surveys > Service Metadata > Integration Points > Informants и выбрать New Informant, ввести название Process

    Для работы информатора надо выбрать Session Key и ввести логику его работы.



  • Нажать Select в Session Keys, выбрать Satisfaction / Id


  • Ввести 0 в поле Order, убрать галку с Force Session Close и перейти на закладку Logic

    Скриншот 23

    На закладке Logic вводится вся логика работы информатора. Логика пишется на языке Java. Список всех методов можно посмотреть в документации. Для обращения к созданным сущностям и объектам, используется стандартная нотация. Поскольку в Real Time Decisions есть сущность по умолчанию Session, то мы можем обратиться к ней всегда. Кроме того, на предыдущих шагах, мы связали Сущность Session c сущностью Satisfaction.



  • Ввести следующий код

    Скриншот 24

    Теперь создадим еще одного информатора, который будет закрывать сессию.





  • Нажать правую кнопку мыши на элементе Surveys > Service Metadata > Integration Points > Informants и выбрать New Informant, ввести название End


  • Аналогичным образом выбрать Session Key – Satisfaction / Id


  • Поставить Order – 1 и галку Force Session Close, которая означает после отработки этого информатора сессия будет закрываться.


  • На закладке Logic ввести logInfo(“Close”);

    Остается последний шаг, указать модели анализа выбора FeedbackAnalysis, где осуществляется добавление нового прецедента.



  • Открыть Surveys > Service Metadata > Models > FeedbackAnalysis


  • Перейти на закладку Learn Location, выбрать On Integration Point, нажать Select и выбрать Process.

    Скриншот 25

    Выбрать File > Save All

    После того, как мы создали все необходимые структуры, для того чтобы их протестировать , необходимо «задеплоить» проект на сервер, для этого надо выбрать в меню Project > Deploy. Затем выбрать проект Survyes, ввести название Inline Service – Surveys, Deploymeny State – Development, отметить Terminate active sessions и нажать Deploy.



    Если все было сделано правильно, то проект удачно «отдеплоится» на сервер и может приступать к тестированию. Если возникнут ошибки, то их список можно посмотреть, выбрав в меню Windows > Show View > Problems.

    Для тестирования необходимо выбрать Windows > Show View > Test.

    Скриншот 27

    В Integration Point надо выбрать Process, тогда в таблице Request Inputs появится одно поле Id. Введем значение 25 и нажмем справа вверху на кнопку Execute Request. Сервер выполнит наш запрос и запишет результаты в лог. Откроем закладку Log.

    Скриншот 28

    Сервер сделает запрос к таблице CUSTOMER_SATISFACTION по указанному Id, возьмем все характеристики по продукту, и запишет в модель анализа FeedbackAnalysis положительный или отрицательный отзыв.

    Для того, чтобы не перебирать руками все записи в таблице CUSTOMER_SATISFACTION, для построения модели анализа. В состав Oracle Real Time Decisions входит специальный инструмент для моделирования работы системы. Называется он Oracle RTD Load Generator и находится RTD_HOME/scripts/loadgen.cmd. Запустим его.




  • Содержание раздела