Java со стороны сервера


Возможно, вы слышали разговоры о том, что для управления базами данных наиболее пригодным является Java. Говорят, что есть продукт, предлагающий в дополнение к SQL стандарт языка программирования, то есть то, что нужно отрасли серверов баз данных, и что это — язык Java.

При такой оценке был бы полезен некоторый скептицизм. Несмотря на утверждение рьяных сторонников Java, этот продукт не всемогущ. Например, что может сделать объектно-ориентированное программирование для серверов реляционных баз данных — Oracle, Informix или Sybase? Ответы на этот вопрос появляются при учете того, что, как код ядра Java (классы Java), так и компилятор (Java Virtual Machine, JVM) присутствуют на почти всех компьютерах, подключающиехя к Интернет с помощью браузеров Netscape Navigator и Microsoft Internet Explorer. Преимущества такого распределения в том, что программы Java, написанные для среды браузера, очень невелики, и этот код будет работать везде, где работает браузер (по крайней мере, теоретически).

Многие из направлений использования Java в управлении базами данных определяются возможностями модели распределения Java - небольшими портативными реализациями, пригодными для работы с Интернет. Это - одна из причин, почему многие ранние продукты нацелены на системный рынок встраиваемых продуктов. Такие продукты имеют небольшой размер, им нужно не более 2 Мб RAM и в качестве фоновых серверов баз данных они легко встраиваются в другие программные продукты. Например, поставщик приложений Janna Systems (www.janna.com), разрабатывающий приложения для контактного управления, решил использовать встраиваемые Java-серверы баз данных (в данном случае, Oracle Lite). Таким поставщикам, как Janna, необходимы согласованность со своим Java-кодом, портативность приложений и возможность перемещения управления данными между клиентом и сервером.

Большинство крупных разработчиков реляционных СУБД, такие, как Oracle, Sybase, IBM и Informix предлагают различные варианты использования Java в серверах баз данных. Возможно, точнее было бы сказать, что эти поставщики экспериментируют с Java и процессорами баз данных. За исключением IBM, которая уже встроила Java в свой DB2 Universal Server, другие производители, перед включением Java в свои основные сервера, используют ее в небольших продуктах. Oracle включил в Oracle Lite 3.0 многое из Java, а Sybase выпустила новый продукт SQL Anywhere (называемый сейчас Adaptive Server Anywhere), в котором используются многие возможности Java.

Такая благосклонность к Java, обычно совмещенная с другими средствами работы с Web, часто интерпретируется как отчаянная попытка перенести реляционные системы в объектный мир Интернет. Конечно, многие системы реляционных баз данных используют объекты, хотя и делают это не совсем изящно. Реляционные и объектные модели не полностью совместимы. Однако, связь между данными и объектами существует. В объектно-ориентированном случае, данные заключены в самих себя, инкапсулированы в объекте. Чаще всего данные поступают из какого-то внешнего источника, обычно - базы данных. Это лишний раз подтверждает, что объектно-орентированное программирование на самом деле не зависит от того, как объекты получают свои данные. Java-подход и мир реляционных баз данных, тем не менее, сосуществуют достаточно хорошо.

Однако, это сосуществование нельзя назвать безоблачным...


С вопросами и предложениями обращайтесь digraph@rinet.ru