13 окт. 2010 г.

Oracle day 2010 Kyiv (День Оракл 2010 Киев)

Скоро допишу что было, что обсуждали, как было организовано.

               

09:00 Вступительное слово. Эдуард Попович, Глава представительства Oracle в Украине и Молдове.
Эдуард Попович поприветствовал всех присутствующих (наверно человек 500), сказал формально необходимые слова о развитии компании, перспективах  и планах. Сказал, что его приход в Оракл в 1993 году стал для него самым важным событием в жизни и что корпорация за это время не один раз менялась. После чего пригласил для доклада старшего вице-президента Оракл.


09:10 Software. Hardware. Complete. Роберт Шимп, Старший вице-президент Oracle.
Штаб-квартира в Калифорнии, США
Формальное приветствие. Рассказал о тенденциях, которые сейчас сложились в мире, что корпорация лидер в многих сферах ИТ индустрии. Рассказал, что сейчас все пытаются получить как можно больше возможностей за как можно меньшие деньги и что именно Oracle может предложить.
Основные подходы:
-       Поставлять программно-аппаратные комплексные решения, которые охватывают сразу всю архитектуру системы. Не нужно отдельно выбирать систему (сервер приложений, БД, аппаратную часть сервера), Оракл сразу поставляет все.
-       Интеграция существующих систем и программных продуктов между собой.
-       Все решения будут базироватся на открытых системах и стандартах, что позволит их легко интегрировать.
Oracle Exadata V2 – как высокопродуктивная система, которая хорошо подходит для разнородных вычислительных задач.
Oracle Exalogic Elastic Cloud – высокопродуктивное комплексное решение максимально настроенное для облачных вычислений (стойка из 30-ти серверов, 3Тб оперативной памяти, с большим дисковым массивом, между серверами InfiniBand 40Gb/sec). Позволяет обрабатывать 1 миллион http запросов в секунду,   Поставляется вместе с программным обеспечением промежуточного уровня. Работает пока что на Unbreakable Linux, и в планах запустить его на новой версии Solaris.
Oracle Fusion Applications – набор решений для бизнеса в области финансовой аналитики, управления человеческими ресурсами, в области управления поставок, взаимосвязями с клиентами. Многие решение были приняты на основе уже существующих систем. Данные программные  решение прекрасно интегрированы между собой и с другими продуктами Oracle благодаря Oracle Service-Oriented Architecture (SOA).
В облачных вычислениях рассказал пару слов о гипервизоре Oracle VM.
            Подытожил, что сейчас наступает интересное время для бизнеса, так как у Oracle появилось возможность поставлять перечисленные выше услуги, оборудование, комплексные решения. 

09:40 Oracle Siebel CRM как единая фрон-офисная система в коммерческом банке: теория и практика реализации. Дмитрий Казанин (АО «Ситроникс Информационные Технологии Украина»), Анатолий Сидбко (Дочерний банк «Сбербанк России»).
Посторенние и исполнения бюджета на базе Oracle Hyperion. Алла Колодяжная (АО «Ситроникс Информационные Технологии Украина», Роман Курило (ВТБ Банк).
«… возникла необходимость интегрировать весь зоопарк систем… »
            Данные выступления посвящены были конкретным проектам в банковской сфере, которые реализовывают необходимые функции банка исходя из его работы. Например в банках существовало много систем, которые выполняли узкие функции (аналитическая система, система управления и выпуском карточки, какие-то внутренние системы…).  Необходимо объединить эти все системы в рамках «единого окна». Пользователь, неважно кем он есть, должен выполнять все в рамках единой системы и в зависимости от его роли в банке должен иметь доступный ему функционал. На примере Сбербанка и ВТБ рассказали (но не показывали) что им удалось достичь. Очень много посвящено компании и функциональным операциям банка (структуре, организации работы) и мало конкретных технических решений, посредством которых это все достигнуто.
Демонстрировался внешний вид приложения, без каких то тонкостей технической реализации (по Сбербанку, по ВТБ только презентация).

10:25 Обзор прикладных решений компании CS на базе программных продуктов Oracle. Олег Вязьмитинов (CS Integra).
            Рассказал про компанию CS. Много внимания уделил разработанными компанией CS решений в области банковской сферы (системы АБС Б2, IFOBS). Больше уделено внимания именно техническим аспектам. Данный программный продукт (Б2) основан на Oracle Business Intelligence. В рамках системы написаны интерфейсы на основе компонентов, что позволяет использовать уже готовые модули для выполнения типовых операций. Активно используется технология JSP для построения интерфейса.
            Очень много показывали на примере работающей системы (или демонстрационной части). Понравилось построение отчетов путем выбора из перечня доступных процессов банка (проводки, операции кредиты) оформленных в виде рубрикатора. построение разрезов, срезов из большущего перечня, с разбитием на группы, построение графиков, возможностью регулярных построений, автоматических отправок на почту (FTP), логические триггеры на показатели, которые будут информировать об изменении каких-то показателей. Выглядело интересно. Можно было просмотреть запрос, сгенерирован визардом прямо там же в веб-приложении, правда, он был относительно простой. К тому же требует навыков при работе с приложением.

11.10 Тренды серверных платформ. Дмитрий Грязнов (Intel).
К сожалению, предыдущий докладчик затянул время, так что я успел послушать формальное приветствие и то, что Интел последнее время начал уделять внимания системам безопасности и защиты. К сожалению, было уже 12:00 и нужно было идти в другой зал :(

              
Программное обеспечение промежуточного слоя
12:00 Вступительное слово. Развитие программного обеспечения промежуточного слоя – Нейл Шолэй (Oracle).
Сообщалось, что после кризиса активней будет развиваться бизнес чем гос. сектор, так как он медленнее отходит от кризиса.
Облачные вычисления необходимо создавать на основе новой платформы, которой может  стать Oracle Exadata v2. Это инновация разрушает привычную рабочую модель при построении ИТ системы. Так же Оракл применяет концепцию по сокращению сложности за счет использования открытых стандартов при совместимости программных систем. Exadata продали в Украину. Oracle Exalogic Elastic Cloud – хорошая платформа для облачных вычислений, так как содержит аппаратный комплекс (30 серверов, infiniband), так и программный (БД и софт промежуточного уровня), который настроен для облачных вычислений. Остается только реализовать бизнес-логику. Сейчас идет только с unbreakable linux  в ближайшей перспективе – Solaris.

12:30 Наиболее лучшие в своем классе набор решений для информационной безопасности. Андрей Гусауков(Oracle).
Рассказал, что растут требования к безопасности ИТ, выход новых законов, требующих их повышать. Как концепцию, корпорация предлагает вести защиту на всех уровнях системы (на уровне ОС, на уровне СУБД, на уровне промежуточного слоя и на прикладном уровне).
В  Oracle Fusion Applications учтены требования к безопасности. Как одно из решений - Oracle Identity Management. Все функции по идентификации и аутентификации вынесены на отдельный сервер и в зависимости от привилегий пользователя он получает доступ к тем или иным приложениям или функциональным возможностям.
13.00 Бизнес-аналитика, обзор продукта и новшества. Сальбольч Раднай (Oracle).
«Oracle всегда говорит только правду»
            Много шутил. Честно сказать из его рассказа и обзора вспоминаю немного. Его лекция стала как бы предисловием к следующей. Рассказал об Oracle Business Intelligence 11g, как о аналитической системе с большим количеством возможностей.
13.30. Новая платформа бизнес аналитики BI 11g. Михаил Грочовский (Oracle).
            Показывал работу и возможности Oracle Business Intelligence. Рассказал что это гибкая система построения отчетов. Продемонстрировал, создав отчет путем drag-and-drop в браузере из разных рубрикаторов (как кстати создаются эти рубрикаторы не упомянул), поменял параметры сгруппировал по разным сущностям. С виду все просто, правда непонятно как оно «ляжет» и «поймет» произвольную структуру базы. Показал кучу диаграмм, видов отчетов, експорты отчета в разные форматы. Рассказал, что система хорошо кастомизирована и позволяет задать каждому пользователю/группе разные меню, возможности. Автоматическая отправка отчета на почту/ftp‑сервер, логические триггера, которые будут Вас информировать о изменении параметров, что бы вы смогли вовремя отреагировать на процессы в организации и тд. С виду красиво.

15:00 Использование продуктов линейки Fusion Middleware для решений практических задач бизнеса. Дмитрий Трубачев (АО «Ситроникс Информационные Технологии Украины»).
Рассказал о двух интересных вещах: система защиты документооборота от распространения и о видеоархиве для телекомпаний.
Сиситема защиты документооборота представляет собой ПО без которого офисные документы, PDF и ряд других форматов просмотреть нельзя. Пример: при открытии  документа Word, проверяется  пользователь ОС и установленные политики на этот документ (чтение, копирование, редактирование, время работы, время офлайновой работы, группа пользователей итд) на сервере компании и разрешается или не разрешается доступ к документу. Если отправить такой документ по почте и если не установлено время офлайновой работы, то его нельзя будет открыть. Можно устанавливать время удаленной работы, что позволяет определенным пользователям работать с документом вне компании.
Видеоархив представляет собой систему в которую загружается видеофайлы и задается текстом описание его в рамках категорий, ключевых слов. Видео сразу же конвертируется в разные форматы (для моб. Устройств, предпросмотра). Исходя из этого упрощается поиск видеорепортажей по событиям.

15:45. Решения Oracle  в области E 2.0. Михаил Скопинский (Oracle).
Рассказал о желании использовать открытые сервисы (icq, skype, соц. сети, блоги) для работы. Рассказал об идеи использовать общественное мнение на пользу корпорации: например конкурс на нахождение золотой шахты в 1млн. долларов. Ясное дело, что прибыть компании от одной шахты будет куда больше, но она не тратит средств на поиски и разработку, за неё делают другие (корпорация Gold Corp). Второй пример, компания, выпускающая разную бытовую химию, спрашивает мнение о продуктах и что можно улучшить. Из миллиона отзывов и предложений компания может получить 1-2 вменяемых отзыва о продукте, тем самым, получая нормальное решение без каких либо затрат (P&G).
            Насколько я понял, Enterprise 2.0 позволяет строить подобные опросы, тем самым ставя общественное мнение на службу компании.

17:00 Архитектура SOA и Oracle Inside. Балаш Молнар (Oracle).
            Рассказал о SOA. Достоинства в том, что SOA позволяет делать из систем «монолитные модули» и легко стыковать их друг с другом, а так же вести взаимодействие между ними. Рассказал о «модели зрелости» - когда предприятию нужно переходить на модель SOA. Рассказал, какие существуют стандарты.
            Oracle Inside – программа от Oracle, которая позволяет оценить их и помочь в SOA.

Далее будет...

11 окт. 2010 г.

Отображение картинок в Oracle Apex.

На днях необходимо было реализовать отображение картинок в Oracle Application Express (ApEx). Казалось бы тривиальная задача, но тривиальна она лишь при определенных условиях.
Все что ниже описывает ситуацию, когда есть сервер СУБД Oracle 10g EE и Apex версий 3.1.2 или 3.2 (разницы не заметили), сервер приложений Oracle HTTP Server (компонент Oracle Application Server 10g Release 2).

Краткая предыстория:

Есть используемое десктоповое приложение, использующее прикладную схему Oracle. В ней хранятся все данные приложения (таблици, представления итд), а так же логика работы (пакеты, функции итд). Была поставленная задача сделать простенький web интерфейс к ней. В приложении есть таблица с личными данными сотрудников (ФИО, дата рождения, фотография, адрес). Назовем эту прикладную схему APPSCHEMA. Для работы с Apex необходимо в настройках Workspace добавить схему, которая станет видимой из конструктора приложений (Home>Manage Workspaces>Manage Workspace to Schema Assignments).
Проблема в том, что приложение уже работает и администратор не хочет включать уже работающую APPSCHEMA  и давать полный доступ web-приложению к всем объектам схемы (что вообще то логично). К тому же web здесь используется как новшество и пока в качестве эксперимента. Поэтому было принято решение создать схему для веба и выдать ей грант на соответственный объект в схеме APPSCHEMA.

Тестовый пример

Для чистоты эксперимента, создадим пустое web-приложение и парсинг схему (Parsing Schema) с тестовым (демонстрационным) приложением и прикладную схему приложения.
create user APPSCHEMA identified by "1"
Default Tablespace "MYSPACE"
Temporary Tablespace "TEMP"
quota unlimited on "MYSPACE";

grant connect to APPSCHEMA;

create table appschema.PersData (
  Id number(10), 
  Surname varchar2(50), 
  Name varchar2(50), 
  FatherName varchar2(50), 
  br date,
  address varchar2(100),
  photo blob
)
  Tablespace MYSPACE
;
create unique index appschema.persdatapkindex on appschema.persdata (id asc) tablespace myspace;
alter table appschema.persdata add  (constraint pk_persdata primary key (id )) ;
Загрузим данные (load.ctl):
load data
infile *
append
into table appschema.PersData
fields terminated by '|'
(
  Id,
  Surname,
  Name ,
  FatherName,
  br,
  address,
  photo lobfile(Id) terminated by eof
)
begindata
1|Иванов|Иван|Иванович|17.09.1960|г. Град ул. Городская 4|
2|Петров|Петр|Петрович|23.04.1972|г. Град ул. Городская 10|
Имя картинки должно быть 1 и 2 без расширений итд. Грузим командой, запущенной в каталоге с ctl файом и картинками.
sqlldr userid=APPSCHEMA/1@alias control=load.ctl log=_load.log
Создадим схему для апекс приложения:
create user webschema identified by "1"
Default Tablespace "MYSPACE"
Temporary Tablespace "TEMP"
quota unlimited on "MYSPACE";
Добавим её в apex (Home>Manage Workspaces>Manage Workspace to Schema Assignments). Создадим чистое (пустое) приложение, выбрав в качестве парсинг схемы webschema.

Первый способ:

Итак, первый самый простой и наименее функциональный: непосредственное размещение картинке, где-то в каталогах Apache сервера.
В директорию на сервере Oracle Apache  ORACLE_HOME\Apache\images\ создаем каталог APPSCHEMA и в неё кидаем файл flixtrix2.jpg. На странице создаем HTML регион и в Region Source прописываем
reg



Преимущества: простота, легкость формирования ссылки на картинку итд.
Недостатки: картинка должна сначала как-то попасть в нужную директорию на сервере с нужным именем.

Второй способ:

Тот который описан в демонстрационном приложении (Sample Application). Для начала дадим грант webschema на выборку из appschema.PersData.
Grant select on appschema.PersData to webschema;
Создадим вью
create or replace view webschema.persdataview as
select Id, photo from appschema.PersData;
Создадим страницу как форму на основании таблицы или представления см скрины.










Можно поменять полю P5_ID тип hiden and protection просто на hiden. Добавляем итем P5_IMAGE типа «Display as Text» (обязательно does not save state).
В Source тема P5_IMAGE прописываем:
RETURN '<img src="'||APEX_UTIL.GET_BLOB_FILE_SRC('P5_PHOTO',:P5_id)||'" />';


В результате должны получить следующее (прошу обратить внимание на адрес(url), там явно передается параметр P5_ID, на самом деле, данные параметры могут быть переданы при переходе на эту страницу, как зависит от вашего web приложения).

 
Естественно все лишнее на странице можно скрыть при помощи условий.
Некоторые замечания по данному способу:
  1. Из парсинг-схемы будет видно только таблица или вьюшка. С синонимы хоть и будут работать, но создать страницу с типом «Форма на базе таблицы или представления» на синоним не выйдет.
  2. Попытки создать страницу типа «Форма на базе таблицы или представления» из схемы которая не находится в webschema (в моем случае на appschema.PersData) закончились неудачей. И хоть данные видно, изображение не отображается. Видимо, что бы отображать картинку, объект должен находится в парсинг схеме. 
 
Страницу не обязательно создавать на основе «Форма на базе таблицы или представления»


Теперь создадим на странице item P3_ID типа hide, и сделаем ссылку на этуже страницу в регионе типа report.
Создаем еще один регіон типа HTML и бросаем на него элемент file browse, а так же 2 процесса: Automated Row Fetch (причем сначала он не позволит Вам выбрать нужную схему, но потом создавшись, позволит) и Automatic Row Processing (DML).
Есть еще способы, которые описаны у Denes Kubicek: Вариант1 и Вариант 2
У первого есть минус – нужно создавать public синоним на my_image_display (без этого не работало). Так же жестко привязана к таблице функция. Так же просмотреть картинки можно по ссылке вида:
http://apex.oracle.com/pls/otn/DKUBICEK.my_image_display?p_image_id=3390640906422855233 Это означает, что любой встречный без аутентификации зная ссылку может перебором айдишников просмотреть изображение, и надо думать, как обезопасится от такого. Так же стоит сказать, что в описании забыли важный момент: что бы работал такой способ нужно отредактировать функцию  apex_030200.wwv_flow_epg_include_mod_local у меня без редактирования ничего не вышло.Так же частично я описывал тут.