
|
 |
 |
Азы PL/SQL и Java
1 июня 2000 г.
Oracle Magazine no.5, 1999 (http://www.oracle.com/oramag/99-sep/59prim.html)
В версии Oracle8i разработчики могут создавать хранимые процедуры, написанные как на PL/SQL, так и на Java. Каждый язык имеет свои особенности, поэтому Oracle Database Server одинаково поддерживает и легко оперирует и тем, и другим, причем возможно использование обоих языков в одном приложении.
Возникает вопрос: какой из языков следует использовать и для чего? PL/SQL лучше всего подходит для приложений, интенсивно обращающихся к базе данных, в то время, как Java предназначен для приложений, основанных на элементах (Enterprise JavaBeans или CORBA). Кроме того, благодаря взаимодействию двух языков, которое является важной частью стратегии Oracle, можно написать очень полезное приложение, включающее характерные черты и того, и другого языка.
Основы PL/SQL
PL/SQL – это процедурное расширение стандартного промышленного Oracle SQL. Использование PL/SQL является простейшим (и пока еще самым мощным) средством программирования базы данных, потому что он разработан специально для этой цели. Кроме того, интерпретатор PL/SQL специально настроен на транзакционную обработку SQL.
Разработчикам легко понять язык PL/SQL, являющийся естественным расширением SQL. Например, система типов PL/SQL такая же, как и SQL, поэтому можно не беспокоиться о совместимости типов. Математические операции в PL/SQL точно такие же, как и в SQL. Связывающие типы %TYPE и %ROWTYPE вообще скрывают от пользователя систему типов SQL, позволяя писать программы с использованием типов столбцов и строк таблиц.
Пользуясь языком, естественным для программистов на SQL, PL/SQL обеспечивает прямой доступ к данным. Например, предложения SELECT и UPDATE являются такой же естественной частью языка, как и операции SUBSTR и TO_DATE. PL/SQL обеспечивает собственную поддержку всех встроенных SQL-операторов, динамический SQL и автономные транзакции. PL/SQL полезен для создания скриптов базы данных, поскольку к SQL-коду можно добавить процедурную логику. Кроме того, он является неотъемлемой частью объектно-ориентированной поддержки в базе данных, так как методы обычно пишутся на PL/SQL.
Для создания сложных форм и отчетов с помощью Oracle Developer и Oracle Developer Server нет необходимости изучать другой язык: PL/SQL поддерживается, как на уровне приложения, так и на уровне сервера базы данных для обеспечения взаимодействия между этими уровнями. И, наконец, PL/SQL обеспечивает самый быстрый доступ к базе данных посредством SQL через специальные возможности типа множественных связей. PL/SQL широко используется клиентами и администраторами баз данных Oracle в различных областях таких, как: обработка оперативных (online) транзакций, хранилища данных, Интернет, электронный бизнес,.. для разработки больших приложений, обрабатывающих базы Oracle.
Основы Java
Язык Java, созданным компанией Sun Microsystems, происходит от C++. Java является промышленным стандартом, общеупотребительным, широко распространенным языком программирования. С появлением в Oracle8i Database Server поддержки виртуальной Java-машины (Java virtual machine - Java-VM), запуск байтовых Java-кодов на сервере Oracle8i стал таким же, как и любой другой Java-VM. Это позволяет перенести существующий Java-код (или код C/C++, написанный в Java) с уровня приложения на уровень сервера базы данных, что обеспечивает повышение производительности, масштабируемости, безопасности и расширение возможностей управления, которые появятся после того, как запущенное приложение станет работать с данными.
Кроме того, объектно-ориентированные возможности Java, такие как поддержка IIOP (Internet Inter-ORB Protocol) на сервере Oracle8i, делают Java идеально подходящим для разработки многоуровневых, базирующихся на элементах, объектно-ориентированных приложений, использующих технологии типа распределенных объектов CORBA и элементов Enterprise JavaBeans.
Взаимодействие PL/SQL и Java
Несмотря на то, что для построения приложений можно использовать, и PL/SQL, и Java, эти два языка спроектированы для разных целей, т.е. предназначены для различных типов приложений. Благодаря тому, что PL/SQL спроектирован на основе SQL, типы данных SQL легче использовать, и SQL-операции быстрее выполняются в PL/SQL, чем в Java с его более общей системой типов, созданной для ориентированных на элементы приложений.
Oracle обеспечивает легкость взаимодействия между PL/SQL и Java, что позволяет воспользоваться преимуществами обоих языков. PL/SQL-программы могут явно вызывать хранимые процедуры Java, позволяющие строить основанные на элементах Enterprise Java-Beans и CORBA приложения. Обычный упаковщик (wrapper) дает PL/SQL-программам явный доступ к большому набору существующих библиотек Java-классов. Java-программы, с другой стороны, могут легко вызывать хранимые процедуры PL/SQL или анонимные блоки через JDBC или SQLJ, которые позволяют использовать PL/SQL там, где логика предусматривает интенсивную работу с базой данных.
PL/SQL и виртуальная Java-машина прочно встроены в оболочку общих процессов ядра базы данных, поэтому улучшение инфраструктуры будет видно в обеих средах. Так как Oracle придерживается политики улучшения, как PL/SQL, так и Java, то разработчики смогут свободно пользоваться сильными сторонами обоих языков в своих будущих разработках.
|
 |
|