Средства за разработка на приложения на oracle
Post on 02-Jan-2016
72 Views
Preview:
DESCRIPTION
TRANSCRIPT
Средства за разработка на приложения на Oracle
Георги ПашовФМИ, 25.01.2006
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на софтуер• Заключение
Защо Oracle?
Source: IDC, 2005
Пазарни дялове при RDBMS
Средства за разработка на Oracle - цел
• Намаляване на разходите• Намаляване на риска• Подобряване на продуктивността• Подобряване на качеството и ефективността
на приложенията
Средства за разработка на Oracle - преглед
• Категоризиране– Типове приложения– Подходи за разработка– Програмни езици– Deployment архитектура
Типове приложения
• Транзакционни• Бизнес анализи• Интеграция• Портал
Data In
Information Out
Data Between
UnifiedEntryPoint
Data In
Information Out
Data Between
UnifiedEntryPoint
Data In
Information Out
Data Between
UnifiedEntryPoint
Подходи за разработка
• Процедурни– Писане на код с използване на
APIs
• Декларативни– Използване на помощници и
редактори за генериране на код
• Моделни– Използване на абстрактни
диаграми, чрез които се генерира код или модули
Productivity
ControlC
od
e
Declarative
Mo
del-D
riven
High
Low
Програмни езици
• PL/SQL– Ориентиран
към данните
• Java– Обектно
ориентиран– Широко
разпространен (20% от потр.)
Deployment архитектура
Database
CustomApplication Server
J2EEApplication Server
ServletJSP
EJB
<xml></xml>
<html></html>
HT
TP
Listener
module<plugin>
</plugin>
Средства за разработка на Oracle - стратегии
• Използване на общоприети стандарти• Обща IDE платформа• Интеграция• Намаляване на ръчното кодиране
Използване на общоприети стандарти
Object Oriented ProgObject Oriented Prog
Document ManagementDocument Management
Application IntegrationApplication Integration
JavaJava XMLXML SQLSQL
Query & AnalysisQuery & Analysis
Transaction ProcessingTransaction Processing
CapabilitiesCapabilities
Поддръжка, разширение, съчетаване и дефиниране на стандарти,
свързани с трите базови Internet технологии
Интегрирана среда за разработка (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
Интеграция на продуктите
• База от данни– 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,…
Намаляване на ръчното кодиране
• Процедурен– Генериране на интегриран код и средства за
проверка и подобряване на качеството– Компоненти за повторно използване
• Декларативен– Мета данни, очертаващи рамката за разработка– Общ склад и/или файлово базирана разработка
• Model driven– Двустранна модел/реализация синхронизация– Цялостно генериране на приложения– Трансформация от анализ към дизайн и
реализация
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
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на софтуер• Заключение
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
Oracle Forms днес
• Активна база от клиентски приложения• 7 000+ тегления/месец от OTN (Oracle
Technology Network)• 1 500+ мнения /месец в OTN форума• Oracle E-Business Suite
Oracle Forms - клиенти
• Банки и финанси
• Комуникационни компании
• Eurostar
• Metro
• HP Italy
• Keystone Solutions
Развитие на Oracle Forms
БлоковрежимБлоковрежим
Символен режим
Символен режим
Клиент / Сървър
Клиент / Сървър WebWeb ? ? ? ?
Йерархия на обектите
Обект Описание
Блок с данни Логическо обединение на елементи
Елемент Функционално групирани в редове
Канава Повърхност за аранжиране на визуални компоненти
Прозорец Съдържа една или няколко канави
Рамка Логическо обединение на визуални компоненти
Програмни модули Пакети, процедури, функции
Тригер PL/SQL модул, изпълняван при настъпване на събитие
Oracle Forms Builder
Блокове, елементи и канави
• Блокът обединява логически свързани елементи във функционална единица за съхранение, визуализиране и промяна на записи
• Елементите осигуряват взаимодействието между формата и потребителя
• Канавата (canvas) е “повърхността”, върху която се разполагат визуалните елементите
Блокове с данни
БД
A B C
X Y Z
Главен блок
A B C D
Детайлен блок
X Y Z
X Y Z
X Y Z
1
2
3
Характеристики на блоковете с данни
Характеристики на рамките
Типове елементи• Въвеждане на данни
– Текстови полета– Списъци– Радио бутони– Йерархични дървета
• Показване на данни– Поле за показване– Картини и звук– Полета за
изчисляване• Управляващи
– Бутони• Графични
– Етикети– Правоъгълници,
овали и др.
Характеристики на елементите
Тригери
• Същност• Обхват
– Форма– Блок– Елемент
• Типове– Key-– On-– Pre-– Post-– When-
Заявки
Валидация
Навигация
Грешки
…
Pre PL/SQL
Post PL/SQL
Демонстрационна схема
Таблица Описание
EMPLOYEES Служители
JOBS Длъжности и нива на заплатите
JOB_HISTORY История на длъжностите, които са заемали служителите
DEPARTMENTS Отдели
LOCATIONS Адреси на отделите
COUNTRIES Страни, в които са разположени отделите
REGIONS Региони
Демонстрационна схема
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на софтуер• Заключение
Oracle Application Server Form Services - архитектура
Oracle Forms – предимства
• Сигурност• Протоколи: HTTP/1.0 или HTTP/1.0• Еднократно идентифициране• Интернационализиране• Тясна интеграция с Oracle RDBMS
– Връзка с базата– Кеширане на записи от таблиците– Заключване на редове– Поддържане на вмъкване/промяна/изтриване на
записи
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на софтуер• Заключение
Oracle Application Development Framework (ADF)
• Правят изграждането на J2EE приложения бързо, просто и ефективно
• Ключови характеристики– Среда за разработка– Платформена независимост– Избор измежду няколко технологии– Решение от край до край
Oracle ADF архитектура
Базирана върху технология за дизайн MVC
• Модел• Изглед• Контролер
Типична MVC архитектура
Oracle ADF технологии
Oracle ADF – обекти-същности
• Капсулира бизнес логиката
• Свързва се с единствен обект в базата (таблица или изглед)
• Колоните в таблицата са атрибути на обекта
• Отговаря за:– Валидация на данните– Бизнес логика (напр. някакви изчисления)
Oracle ADF – изглед
• Изглед на обектите-същности към потребителя (напр. форма за въвеждане, списък от стойности и др.)
• Различен контекст– Сортиране– Филтриране
Oracle ADF – приложен модул
• Бизнес модули за решаването на определена задача
• Поддръжка на транзакции, услуги за управление и обработка на данните
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>
Oracle ADF – бизнес услуги
Oracle ADF – контролер
Oracle ADF – изглед
Oracle ADF – визуални компоненти
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на софтуер• Заключение
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на
софтуер• Заключение
Добри практики при разработка на софтуер
• Ясни бизнес-изисквания• Добре дефиниран процес на разработка• Подходяща архитектура• Добър дизайн• Кодиране• Функционални тестове и тестове за
ефективност• Отстраняване на грешки и слаби места• Обучение и нови технологии• Комуникация в екипа
Комуникация в екипа
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!
Комуникация в екипа
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.
Теми
• Цели и стратегии при разработването и развитието на продуктите на Oracle
• Oracle Forms• Oracle Forms – демонстрация• ADF• ADF – демонстрация• Добри практики при разработка на
софтуер• Заключение
Жизнен цикъл
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
Заключение
• Стратегията на Oracle: бързо, ефективно и евтино
• Oracle Forms e мощно и силно развито средства за разработка на Oracle приложения
• JDeveloper е IDE на бъдещето. Целта е разработката на J2EE приложения да стане също толкова лесна, както е при Oracle Forms. Oracle ADF е голяма стъпка в тази посока
Документация, статии, демонстрации, …
Oracle Technology Network
http://www.oracle.com/technology/index.html
top related