Средства за разработка на приложения на oracle
DESCRIPTION
Средства за разработка на приложения на Oracle. Георги Пашов ФМИ, 25.01.2006. Теми. Цели и стратегии при разработването и развитието на продуктите на Oracle Oracle Forms Oracle Forms – демонстрация ADF ADF – демонстрация Добри практики при разработка на софтуер Заключение. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/1.jpg)
Средства за разработка на приложения на Oracle
Георги ПашовФМИ, 25.01.2006
![Page 2: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/2.jpg)
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на софтуер• Заключение
![Page 3: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/3.jpg)
Защо Oracle?
Source: IDC, 2005
Пазарни дялове при RDBMS
![Page 4: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/4.jpg)
Средства за разработка на Oracle - цел
• Намаляване на разходите• Намаляване на риска• Подобряване на продуктивността• Подобряване на качеството и ефективността
на приложенията
![Page 5: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/5.jpg)
Средства за разработка на Oracle - преглед
• Категоризиране– Типове приложения– Подходи за разработка– Програмни езици– Deployment архитектура
![Page 6: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/6.jpg)
Типове приложения
• Транзакционни• Бизнес анализи• Интеграция• Портал
Data In
Information Out
Data Between
UnifiedEntryPoint
Data In
Information Out
Data Between
UnifiedEntryPoint
Data In
Information Out
Data Between
UnifiedEntryPoint
![Page 7: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/7.jpg)
Подходи за разработка
• Процедурни– Писане на код с използване на
APIs
• Декларативни– Използване на помощници и
редактори за генериране на код
• Моделни– Използване на абстрактни
диаграми, чрез които се генерира код или модули
Productivity
ControlC
od
e
Declarative
Mo
del-D
riven
High
Low
![Page 8: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/8.jpg)
Програмни езици
• PL/SQL– Ориентиран
към данните
• Java– Обектно
ориентиран– Широко
разпространен (20% от потр.)
![Page 9: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/9.jpg)
Deployment архитектура
Database
CustomApplication Server
J2EEApplication Server
ServletJSP
EJB
<xml></xml>
<html></html>
HT
TP
Listener
module<plugin>
</plugin>
![Page 10: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/10.jpg)
Средства за разработка на Oracle - стратегии
• Използване на общоприети стандарти• Обща IDE платформа• Интеграция• Намаляване на ръчното кодиране
![Page 11: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/11.jpg)
Използване на общоприети стандарти
Object Oriented ProgObject Oriented Prog
Document ManagementDocument Management
Application IntegrationApplication Integration
JavaJava XMLXML SQLSQL
Query & AnalysisQuery & Analysis
Transaction ProcessingTransaction Processing
CapabilitiesCapabilities
Поддръжка, разширение, съчетаване и дефиниране на стандарти,
свързани с трите базови Internet технологии
![Page 12: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/12.jpg)
Интегрирана среда за разработка (IDE)
Core IDE ServicesWindow Management, Menus, Toolbars, Navigators, Wizards,
Visual Modeling, Property Palettes, Log Window, etc.
ADF, BC4J, UIX, Struts,
etc.
Language ServicesEditing, Code Insight, Compiling,
Profiling, Refactoring, etc.
Extensions
Frameworks
![Page 13: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/13.jpg)
Интеграция на продуктите
• База от данни– SQL, PL/SQL, Java, Analytics, InterMedia, XDB
• Application Server– J2EE, Web Services, Business Intelligence, Portal,
Application Integration, Wireless
• E-Business Suite– Marketing, Sales, Service, Financials, Human
Resources, Supply Chain, Order Management, Manufacturing,…
![Page 14: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/14.jpg)
Намаляване на ръчното кодиране
• Процедурен– Генериране на интегриран код и средства за
проверка и подобряване на качеството– Компоненти за повторно използване
• Декларативен– Мета данни, очертаващи рамката за разработка– Общ склад и/или файлово базирана разработка
• Model driven– Двустранна модел/реализация синхронизация– Цялостно генериране на приложения– Трансформация от анализ към дизайн и
реализация
![Page 15: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/15.jpg)
Oracle Fusion Middleware
• Application Server– Oracle Application Server
• Business Integration– Oracle BPEL Process Manager– Oracle Business Activity Monitoring– Oracle Data Hubs – Oracle Enterprise Messaging Service
• Business Intelligence– Oracle Business Intelligence 10g– Oracle Reports Services– Oracle Business Intelligence
Discoverer– XML Publisher
• Collaboration– Oracle Collaboration Suite:– Real-Time Collaboration– Unified Messaging– Workspaces
• Developer Tools– Oracle JDeveloper & ADF– Oracle TopLink– Oracle Forms Services– Oracle Developer Suite
• Identity Management– Oracle Identity Management
• Portal– Oracle Portal
• Web Services Management– Oracle Web Services Manager
![Page 16: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/16.jpg)
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на софтуер• Заключение
![Page 17: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/17.jpg)
Oracle Forms
• Подход за разработка: Декларативен– Built-in application framework– Добре дефинирани точки за
тригериране• Език за програмиране:
PL/SQL• Deployment архитектура
– Java Applet клиент – оптимален за големи обеми от данни
– HTTP/Servlet Web Tier– Oracle9iAS Forms Services
PL/SQL Presentation and Business Logic
Oracle10g Forms Server
BrowserFormsApplet
HTTP Listener
Forms Servlet
Database
![Page 18: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/18.jpg)
Oracle Forms днес
• Активна база от клиентски приложения• 7 000+ тегления/месец от OTN (Oracle
Technology Network)• 1 500+ мнения /месец в OTN форума• Oracle E-Business Suite
![Page 19: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/19.jpg)
Oracle Forms - клиенти
• Банки и финанси
• Комуникационни компании
• Eurostar
• Metro
• HP Italy
• Keystone Solutions
![Page 20: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/20.jpg)
Развитие на Oracle Forms
БлоковрежимБлоковрежим
Символен режим
Символен режим
Клиент / Сървър
Клиент / Сървър WebWeb ? ? ? ?
![Page 21: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/21.jpg)
Йерархия на обектите
Обект Описание
Блок с данни Логическо обединение на елементи
Елемент Функционално групирани в редове
Канава Повърхност за аранжиране на визуални компоненти
Прозорец Съдържа една или няколко канави
Рамка Логическо обединение на визуални компоненти
Програмни модули Пакети, процедури, функции
Тригер PL/SQL модул, изпълняван при настъпване на събитие
![Page 22: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/22.jpg)
Oracle Forms Builder
![Page 23: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/23.jpg)
Блокове, елементи и канави
• Блокът обединява логически свързани елементи във функционална единица за съхранение, визуализиране и промяна на записи
• Елементите осигуряват взаимодействието между формата и потребителя
• Канавата (canvas) е “повърхността”, върху която се разполагат визуалните елементите
![Page 24: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/24.jpg)
Блокове с данни
БД
A B C
X Y Z
Главен блок
A B C D
Детайлен блок
X Y Z
X Y Z
X Y Z
1
2
3
![Page 25: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/25.jpg)
Характеристики на блоковете с данни
![Page 26: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/26.jpg)
Характеристики на рамките
![Page 27: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/27.jpg)
Типове елементи• Въвеждане на данни
– Текстови полета– Списъци– Радио бутони– Йерархични дървета
• Показване на данни– Поле за показване– Картини и звук– Полета за
изчисляване• Управляващи
– Бутони• Графични
– Етикети– Правоъгълници,
овали и др.
![Page 28: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/28.jpg)
Характеристики на елементите
![Page 29: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/29.jpg)
Тригери
• Същност• Обхват
– Форма– Блок– Елемент
• Типове– Key-– On-– Pre-– Post-– When-
Заявки
Валидация
Навигация
Грешки
…
Pre PL/SQL
Post PL/SQL
![Page 30: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/30.jpg)
Демонстрационна схема
Таблица Описание
EMPLOYEES Служители
JOBS Длъжности и нива на заплатите
JOB_HISTORY История на длъжностите, които са заемали служителите
DEPARTMENTS Отдели
LOCATIONS Адреси на отделите
COUNTRIES Страни, в които са разположени отделите
REGIONS Региони
![Page 31: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/31.jpg)
Демонстрационна схема
![Page 32: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/32.jpg)
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на софтуер• Заключение
![Page 33: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/33.jpg)
Oracle Application Server Form Services - архитектура
![Page 34: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/34.jpg)
Oracle Forms – предимства
• Сигурност• Протоколи: HTTP/1.0 или HTTP/1.0• Еднократно идентифициране• Интернационализиране• Тясна интеграция с Oracle RDBMS
– Връзка с базата– Кеширане на записи от таблиците– Заключване на редове– Поддържане на вмъкване/промяна/изтриване на
записи
![Page 35: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/35.jpg)
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на софтуер• Заключение
![Page 36: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/36.jpg)
Oracle Application Development Framework (ADF)
• Правят изграждането на J2EE приложения бързо, просто и ефективно
• Ключови характеристики– Среда за разработка– Платформена независимост– Избор измежду няколко технологии– Решение от край до край
![Page 37: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/37.jpg)
Oracle ADF архитектура
Базирана върху технология за дизайн MVC
• Модел• Изглед• Контролер
![Page 38: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/38.jpg)
Типична MVC архитектура
![Page 39: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/39.jpg)
Oracle ADF технологии
![Page 40: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/40.jpg)
Oracle ADF – обекти-същности
• Капсулира бизнес логиката
• Свързва се с единствен обект в базата (таблица или изглед)
• Колоните в таблицата са атрибути на обекта
• Отговаря за:– Валидация на данните– Бизнес логика (напр. някакви изчисления)
![Page 41: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/41.jpg)
Oracle ADF – изглед
• Изглед на обектите-същности към потребителя (напр. форма за въвеждане, списък от стойности и др.)
• Различен контекст– Сортиране– Филтриране
![Page 42: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/42.jpg)
Oracle ADF – приложен модул
• Бизнес модули за решаването на определена задача
• Поддръжка на транзакции, услуги за управление и обработка на данните
![Page 43: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/43.jpg)
Oracle10g JDeveloper
• Тип приложение: Транзакционно– Разширение и за други типове
• Подход за разработка– Процедурни Core IDE– Декларативна рамка– Model Driven UML
• Език за програмиране : Java– PL/SQL, SQL, XML, HTML
• Deployment архитектура:– J2EE, RDBMS, Web Services
J2EEApplication Server
ServletJSP
EJB
HTTP Listener
Database
<html></html>
![Page 44: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/44.jpg)
Oracle ADF – бизнес услуги
![Page 45: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/45.jpg)
Oracle ADF – контролер
![Page 46: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/46.jpg)
Oracle ADF – изглед
![Page 47: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/47.jpg)
Oracle ADF – визуални компоненти
![Page 48: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/48.jpg)
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на софтуер• Заключение
![Page 49: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/49.jpg)
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на
софтуер• Заключение
![Page 50: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/50.jpg)
Добри практики при разработка на софтуер
• Ясни бизнес-изисквания• Добре дефиниран процес на разработка• Подходяща архитектура• Добър дизайн• Кодиране• Функционални тестове и тестове за
ефективност• Отстраняване на грешки и слаби места• Обучение и нови технологии• Комуникация в екипа
![Page 51: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/51.jpg)
Комуникация в екипа
I spent 4 hours on a 5 minute task and the code is five times bigger than what it was before. It does
save 2 bytes from our 45 Megabyte footprint.
I have room for more features!
I've been working on this piece of code for so long, I know exactly
what it does, I can see the method when I close my eyes.
Good code is self commenting isn't it?
Hmm, I just thought of something that could really screw up the
system and crash badly. But no one will ever try to click on option X after option Y, so it should be
OK.
He never wants to ship it, always says it's not ready. So if
he says it's OK, must be good to go!
![Page 52: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/52.jpg)
Комуникация в екипа
Uh oh, his monthly magazine arrived. I'll have to talk to the guys in the
mail room again.
Manager's magazine says buzzword x will make you guys program faster and save me
money. I really don't have a clue what it really does or if it applies to our situation, but I am sure somehow we can apply it to
our 4 million line code base, by next week.
But the code does not even compile today. Well I guess I can
comment out something.
I have a deadline. I guess he thinks 9 women can make one baby in 1 month.
4 weeks = 4 developers x 1 week = 4 weeks x 1 developer.
Why not? It computes! Algebra does not lie.
![Page 53: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/53.jpg)
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на
софтуер• Заключение
![Page 54: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/54.jpg)
Жизнен цикъл
Oracle Forms 6i
Oracle Developer Suite 10g (9.0.4)
Extended SupportJa
n08Ja
n 05
Jun05
iDS/iAS (9.0.2)
Oracle Application Server 10g (9.0.4)
Jun08
Extended Support
Jan10
Oracle Developer Suite 10g R2 (10.1.2.0.2)Oracle Application Server 10g R2 (10.1.2.0.2)
> 2013
Extended Support
Next Application Server ReleasesRelease Dates tbd
![Page 55: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/55.jpg)
Заключение
• Стратегията на Oracle: бързо, ефективно и евтино
• Oracle Forms e мощно и силно развито средства за разработка на Oracle приложения
• JDeveloper е IDE на бъдещето. Целта е разработката на J2EE приложения да стане също толкова лесна, както е при Oracle Forms. Oracle ADF е голяма стъпка в тази посока
![Page 56: Средства за разработка на приложения на Oracle](https://reader031.vdocuments.pub/reader031/viewer/2022020718/568132c1550346895d99823d/html5/thumbnails/56.jpg)
Документация, статии, демонстрации, …
Oracle Technology Network
http://www.oracle.com/technology/index.html