Средства за разработка на приложения на oracle

Post on 02-Jan-2016

72 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Средства за разработка на приложения на Oracle. Георги Пашов ФМИ, 25.01.2006. Теми. Цели и стратегии при разработването и развитието на продуктите на Oracle Oracle Forms Oracle Forms – демонстрация ADF ADF – демонстрация Добри практики при разработка на софтуер Заключение. - PowerPoint PPT Presentation

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