Page navigation
- Что такое "технологии Java"?
- Зачем следует изучать Java?
- Какие технологии являются основными компонентами платформы Java?
- Технологии Java и создание Web-приложений
- Технологии Java, SOA и Web-сервисы
- Какое отношение имеет Java к динамическим языкам и функциональному программированию?
- Java и создание свободного программного обеспечения
- Как развивать навыки программирования на Java?
- Продукты и технологии IBM для Java-разработчиков
В разделе Java на сайте developerWorks содержатся сотни статей, руководств, советов и материалов, написанных представителями сообщества Java, которые помогут вам максимально эффективно использовать платформу Java и сопутствующие технологии при разработке приложений. Однако начинающим разработчикам, которые только приступают к изучению Java, может быть трудно сориентироваться в огромном объеме ресурсов, доступных в Интернете. Поэтому мы создали эту страницу, на которой представлен обзор базовых Java-технологий в общем контексте возможностей этого языка. Здесь вы найдете ссылки на материалы для дальнейшего изучения Java, например, статьи developerWorks для начинающих и другие образовательные ресурсы, а также ссылки для загрузки продуктов IBM.
Вы - начинающий Java-разработчик? На этой странице вы найдете обзор основных Java™-технологий и их места в разработке современного программного обеспечения. Эта страница, содержащая ссылки на вводные статьи developerWorks по этой и смежным темам, другие образовательные материалы, а также на материалы для загрузки и продукты IBM, является превосходной отправной точкой для изучения Java.
Что такое "технологии Java"?
Java - это одновременно язык программирования и платформа.
Во-первых, Java представляет собой высокоуровневый объектно-ориентированный язык программирования. При компиляции, которая выполняется один раз во время сборки приложения, код на Java преобразуется в код на промежуточном языке (байт-код). В свою очередь, байт-код анализируется и выполняется (интерпретируется) виртуальной машиной Java (JVM), которая играет роль транслятора между языком Java и аппаратным обеспечением с операционной системой. Все реализации Java должны эмулировать JVM, чтобы создаваемые приложения могли выполняться на любой системе, включающей виртуальную машину Java.
Во-вторых, Java - это программная платформа, версии которой поставляются для различных аппаратных систем. Существуют три версии Java (см. раздел Редакции платформы Java ниже). Платформа включает в себя JVM и интерфейс прикладного программирования на Java (API), представляющий собой обширный набор готовых программных компонентов (классов), облегчающих разработку и развертывание апплетов и приложений. API Java охватывает многие аспекты разработки на Java, в том числе манипулирование базовыми объектами, сетевое программирование, обеспечение безопасности, генерацию XML и Web-сервисы. API организован в виде набора библиотек, именуемых пакетами, которые содержат классы и интерфейсы для решения связанных друг с другом задач.
В дополнение к API каждая полноценная реализация платформы Java должна включать следующее:
- Инструментарий разработчика для компиляции, запуска, мониторинга, отладки и документирования приложений.
- Стандартные механизмы развертывания приложений в пользовательской среде.
- Инструментарии, позволяющие создавать сложные графические интерфейсы пользователей.
- Интеграционные библиотеки для программного доступа к базам данных и удаленного манипулирования объектами.
JVM также является проверенной средой для выполнения приложений, написанных на отличных от Java языках. В частности, Groovy, Scala и специализированные реализации Ruby и Python предоставляют разработчикам возможность исполнения на JVM динамических и функциональных языков (более подробная информация приведена в разделе Какое отношение имеет Java к динамическим языкам и функциональному программированию?).
Язык Java был разработан компанией Sun Microsystems. В настоящее время развитие Java-технологий, в том числе работа над спецификациями, эталонными реализациями и тестами совместимости, осуществляется под контролем открытой некоммерческой организации JCP (Java Community Process), которая объединяет Java-разработчиков и держателей лицензий. В 2007 г. Sun выпустила свободную версию Java, включающую основные компоненты платформы, под лицензией GNU GPL v2 (GPLv2). Подробнее об этой версии можно прочитать в разделе Java и разработка свободного программного обеспечения.
Зачем следует изучать Java?
Основное преимущество языка Java выражается в переносимости Java-приложений, т.е. способности работать на любых аппаратных платформах и операционных системах, поскольку все JVM, независимо от того, на какой платформе они работают, способны исполнять один и тот же байт-код.
Язык и платформа Java обладают великолепной масштабируемостью. Вы можете легко создавать приложения для устройств с ограниченными ресурсами, адаптируя программное обеспечение, изначально написанное для настольных компьютеров. При этом язык Java идеально подходит и для разработки серверных Web-приложений, при помощи которых пользователь может получать доступ к вычислительным ресурсам в Web. Возможность безопасного выполнения кода, загруженного через сеть, была изначально заложена в конструкцию Java, поэтому этот язык обеспечивает высокий уровень безопасности при работе через Интернет. Web-приложения работают в средах выполнения, называемых Web-контейнерами, которые предоставляют множество удобных сервисов, в том числе диспетчеризацию запросов, обеспечение безопасности и параллельной работы, управление жизненным циклом, а также доступ к таким API, как управление именами, транзакциями и электронная почта. На Java написан ряд серверов приложений, выполняющих функции Web-контейнеров для других компонентов Java, XML и Web-сервисов, которые взаимодействуют с базами данных и динамически формируют содержимое Web-страниц. Подобные серверы также предоставляют среду для развертывания корпоративных приложений и средства для управления транзакциями, кластеризации, обеспечения безопасности, связности и необходимого уровня доступности, производительности и масштабируемости.
Поддерживая применение открытых стандартов в корпоративных приложениях, Java открывает широкие возможности для применения Web-сервисов на основе XML, помогающих бизнес-партнерам обмениваться информационными ресурсами и приложениями (см. раздел Java, архитектура SOA и Web-сервисы). Java лежит в основе многих продуктов и услуг технического консалтинга IBM (см. раздел Продукты и технологии IBM для Java-разработчиков), а также играет ключевую роль для ряда важнейших направлений деятельности компании.
- Ознакомьтесь с подходом к сервис-ориентированной архитектуре (SOA), принятым в IBM, и узнайте, как SOA помогает создавать гетерогенные приложения, функциональность которых обеспечивается из разных источников как внутри, так и за пределами предприятия, тем самым поддерживая горизонтальные бизнес-процессы. IBM предоставляет ряд вводных материалов по SOA (EN), ориентированных на бизнес-пользователей и ИТ-специалистов, которые помогут вам начать использовать эту технологию.
-
Управление бизнес-процессами на основе SOA (EN)
- это предлагаемый IBM компонентный подход, предоставляющий весь спектр возможностей для проведения стратегических изменений. Предоставляемые решения базируются на гибком, расширяемом, основанном на открытых стандартах программном обеспечении (в том числе Java) и аппаратной инфраструктуре.
-
Project Zero
- это инкубационный проект IBM, основной задачей которого является создание приложений Web 2.0 с архитектурой SOA по методикам Agile-разработки.
Редакции платформы Java
Существуют три редакции платформы Java, позволяющие разработчикам приложений, поставщикам услуг и производителям аппаратного обеспечения создавать решения, отвечающих требованиям конкретных групп пользователей.
-
Java SE (Java Platform, Standard Edition). Используя Java SE, вы можете создавать и развертывать Java-приложения для настольных компьютеров и серверов, а также разрабатывать встроенное программное обеспечение и программы для систем реального времени. Редакция Java SE включает классы, необходимые для создания Web-сервисов, и базовые компоненты Java EE (Java Platform, Enterprise Edition). Текущей версией платформы Java SE является Java SE 6, также известная как "Мустанг". При этом многие разработчики по-прежнему используют Java SE 5 (Java 5.0, или "Тигр").
- Прекрасный обзор возможностей Java SE 5 приведен в статьях колонки Приручение Тигра (EN). Большая часть аспектов программирования для платформы Java SE 5, для которой были созданы многие существующие приложения, по-прежнему актуальны и для Java SE 6.
- В статье Мониторинг и диагностика производительности в Java SE 6 описываются новые возможности Java SE 6, служащие для мониторинга и оценки производительности приложений.
- В статье Создание функционально насыщенных приложений с помощью JavaFX Script приводится введение в скриптовый язык, работающий поверх платформы Java SE 6 и служащий для упрощения программирования сложных пользовательских интерфейсов.
- В серии из двух статей под названием Используйте динамические языки динамично содержится введение в API, предоставляемый Java SE 6, который позволяет Java-приложениям выполнять динамический скриптовый код и наоборот. За более подробной информацией о применении скриптовых языков в Java обратитесь к разделу Какое отношение имеет Java к динамическим языкам и функциональному программированию?.
- Прекрасный обзор возможностей Java SE 5 приведен в статьях колонки Приручение Тигра (EN). Большая часть аспектов программирования для платформы Java SE 5, для которой были созданы многие существующие приложения, по-прежнему актуальны и для Java SE 6.
-
Java EE (Java Platform, Enterprise Edition). Эта корпоративная версия платформы помогает разработчикам создавать и развертывать переносимые, надежные, масштабируемые и безопасные серверные приложения на Java. Развивая возможности Java SE, Java EE предоставляет API Web-сервисов, компонентных моделей, удаленного взаимодействия и управления для реализации корпоративного программного обеспечения по принципам SOA и Web 2.0.
- Прочитайте статьи Познакомьтесь с Java EE 5 и Java EE 5: Мощь и производительность при меньшей сложности, в которых содержится вводный обзор возможностей последней версии платформы Java EE.
- Обратите внимание на серию статей о Spring (EN) - популярной инфраструктуре для создания легковесных и надежных приложений Java EE.
- Дополнительная информация о Java EE приводится в статьях колонки Исследование J2EE (EN).
- Статьи серии Начало пути: Миграция на платформу Java (EN) были написаны специально для разработчиков .NET, клиент-серверных приложений для Windows и приложений ASP, чтобы помочь им перейти на Java.
- Прочитайте статьи Познакомьтесь с Java EE 5 и Java EE 5: Мощь и производительность при меньшей сложности, в которых содержится вводный обзор возможностей последней версии платформы Java EE.
-
Java ME (Java Platform, Micro Edition). Java ME предоставляет среду для выполнения приложений, созданных для широкого круга мобильных и встроенных систем, например мобильных телефонов, карманных компьютеров, телевизионных приставок и принтеров. Эта редакция платформы предоставляет средства создания гибких пользовательских интерфейсов, надежную модель обеспечения безопасности, полный спектр встроенных сетевых протоколов, а также мощную поддержку сетевых и оффлайновых динамически загружаемых приложений. Приложения, базирующиеся на спецификациях Java ME, могут быть запущены на множестве устройств и при этом способны эффективно задействовать их системные возможности.
- Обратите внимание на серию из четырех статей (EN), которая является исчерпывающим источником информации о J2ME и стандарте MIDP (Mobile Information Device Profile).
- Вам также может быть полезно руководство из двух частей под названием Создание интеллектуальных приложений для мобильных устройств (EN) при помощи J2ME.
- Обратите внимание на серию из четырех статей (EN), которая является исчерпывающим источником информации о J2ME и стандарте MIDP (Mobile Information Device Profile).
Какие технологии являются основными компонентами платформы Java?
В разделе Java на сайте developerWorks содержится полный перечень стандартных технологий (EN), входящих в состав Java. Ниже перечислены некоторые из компонентов, возможных дополнительных пакетов и расширений, входящих в состав каждой редакции платформы. Для каждой технологии приведено краткое описание, а также ссылка на материалы, в которых описывается ее место в мире Java. Обратите внимание, что многие из компонентов входят в состав всех трех редакций платформы Java.
Технологии, входящие в состав Java SE:
-
Java Foundation Classes (Swing) (JFC) - это набор библиотек Java-классов, служащих для создания графических интерфейсов пользователя и реализации других графических функций в клиентских Java-приложениях. Руководство Введение в Swing (EN), а также статьи Проектирование динамических интерфейсов в Swing (EN) и Улучшение доступности графических интерфейсов пользователя (EN) помогут вам начать работать с Swing.
-
JavaHelp - это независимая от платформы расширяемая справочная система, позволяющая разработчикам и техническим писателям встраивать справочные страницы в апплеты, программные компоненты, приложения, операционные системы и устройства, а также создавать справочные Web-системы. Обратитесь к статье Создание справочных систем для Java-приложений (EN).
- Благодаря Java Native Interface (JNI) Java-приложения, выполняющиеся внутри JVM, могут взаимодействовать с программами и библиотеками, написанными на других языках программирования. Прочитайте статью Обработка событий, сгенерированных платформенно-зависимым кодом, в Java (EN).
-
Java Platform Debugger Architecture (JPDA) представляет собой отладочную инфраструктуру в Java SE (см. статью Будущее разработки программного обеспечения (EN)).
- В состав Java 2D API входят наборы классов для работы с двухмерной графикой, предоставляющих широкие возможности создания изображений и управления альфа-каналами, классы для манипулирования цветовыми палитрами и преобразования цветов, а также операторы для работы с изображениями (см. руководство Введение в Java 2D (EN)).
- Технология Java Web Start упрощает развертывание Java-приложений, позволяя пользователям загружать и запускать функционально насыщенные программные средства, например, электронные таблицы, одним нажатием на кнопку мыши, без инсталляции (см. статью Java Web Start (EN)).
-
Certification Path API предоставляет набор API для создания, формирования и проверки маршрутов сертификации (также известных как "цепочки сертификатов"), служащих для безопасного сопоставления открытых ключей и субъектов доступа (см. статью Генерация цепочек сертификатов для тестирования Java-приложений (EN)).
-
Java Database Connectivity (JDBC) - это API, предоставляющий средства для доступа к большинству реляционных источников данных из Java-приложений. С его помощью можно подключаться к множеству баз данных SQL, а также другим табличным источникам данных, например, электронным таблицам и неструктурированным файлам. Более подробную информацию можно найти в статье Что нового в JDBC 3.0 (EN) и руководстве Работа с JDBC (EN).
-
Java Advanced Imaging (JAI) - это объектно-ориентированный API, предоставляющий простую высокоуровневую модель программирования, упрощающую манипулирование изображениями (см. статью Управление изображениями в JSP (EN)).
-
Java Authentication and Authorization Service (JAAS) - это технология, предоставляющая сервисам средства для аутентификации пользователей и проверки их прав доступа. Она включает Java-реализацию стандартной инфраструктуры PAM (Pluggable Authentication Module) и поддерживает авторизацию на уровне пользователей. За более подробной информацией обратитесь к статьям Технологии JAAS и JSSE для обеспечения безопасности в Java-приложениях (EN), Механизмы авторизации в Java (EN) и руководству Безопасность в Java. Часть 2: Аутентификация и авторизация (EN).
-
Java Cryptography Extension (JCE) - это набор пакетов, предоставляющих инфраструктуру и реализации алгоритмов шифрования, генерации и обмена ключами и установления подлинности сообщений (Message Authentication Code - MAC). Эта технология также включает поддержку симметричных, асимметричных, блочных и поточных шифров, а также безопасных потоков и опечатанных объектов (sealed objects). Более подробную информацию можно получить в руководстве Безопасность в Java: Основы криптографии (EN).
-
Java Data Objects (JDO) - это стандартная абстрактная модель долговременного хранения Java-объектов, базирующаяся на интерфейсах. С ее помощью разработчики могут напрямую сохранять экземпляры Java-классов предметной области в постоянном хранилище (например, базе данных). Эта модель в ряде случаев может заменять прямую запись в файл, сериализацию, JDBC, а также использование серверных компонентов EJB, как управляемых контейнерами (Container Managed Persistence - CMP), так и самостоятельно хранящих состояние (Bean Managed Persistence - BMP). Подробнее см. Практическое руководство по JDO (EN).
- Пакет Java Management Extensions (JMX) содержит средства для создания распределенных, модульных, динамических и доступных через Web приложений для управления и мониторинга устройств, программного обеспечения и сетей, основанных на предоставлении сервисов (см. статью Использование компонентов управления платформой Java).
-
Java Media Framework (JMF) позволяет добавлять аудио-, видео- и другую медиа-информацию в приложения и апплеты на Java (см. руководство Основы Java Media Framework (EN)).
-
Java Naming and Directory Interface (JNDI) - это унифицированный интерфейс для обращения к различным сервисам имен и каталогов в корпоративной сети. С его помощью приложения могут эффективно подключаться к различным службам имен и каталогов в гетерогенной среде уровня предприятия (см. статьи Оптимизация JNDI промышленного уровня (EN) и Навигация в лабиринте JNDI (EN)).
-
Java Secure Socket Extensions (JSSE) - это набор пакетов для обеспечения безопасного обмена информацией в Интернете. Они реализуют Java-версию протоколов SSL (Secure Sockets Layer) и TLS (Transport Layer Security) и предоставляют средства для шифрования данных, проверки целостности сообщений, аутентификации на сервере и на клиенте (последняя возможность не является обязательной). Подробнее о JSSE можно прочитать в статье Обеспечение безопасности в Java при помощи JAAS и JSSE (EN), а также в руководстве Использование JSSE для безопасной передачи данных через сокеты (EN).
-
Java Speech API (JSAPI) включает в себя спецификации JSGF (формат грамматики Java Speech) и JSML (язык разметки Java Speech). Этот пакет предоставляет возможности для использования речевых технологий в пользовательском интерфейсе. JSAPI - это кросс-платформенный API для поддержки распознавания голосовых команд, систем речевого ввода данных и синтеза речи. За более подробной информацией обратитесь к следующему разделу статьи Интерфейсы пользователя в Java 2 (EN).
-
Java 3D - это API, предоставляющий кросс-платформенные и масштабируемые возможности для работы с 3D-графикой в Java-приложениях. API организован в виде набора объектно-ориентированных интерфейсов, складывающихся в единую простую высокоуровневую модель программирования (см. руководство Комфортная работа с Java 3D (EN)).
- Механизм Metadata Facility позволяет разработчикам определять атрибуты для классов, интерфейсов, полей и методов, благодаря чему они могут подвергаться специальной обработке со стороны средств разработки, развертывания и сторонних библиотек на этапе выполнения приложения (см. статью Аннотации в Тигре. Часть 1: Добавление метаданных в Java-код (EN)).
-
Java Content Repository API - это API для доступа к репозиториям контента в Java SE независимо от их реализации. Подобные репозитории представляют собой высокоуровневые системы управления информацией и являются расширенными вариантами классических репозиториев данных. Подробнее можно прочитать в статье Введение в API для работы с репозиториями контента в Java (EN).
-
Enumerations (перечисление) - это тип данных, позволяющий описывать различные элементы данных в виде типизированного набора констант (см. статью Введение в перечислимые типы).
-
Generics (обобщенные типы) позволяют создавать классы с параметрами (абстрактными типами), которые указываются на этапе инстанциирования. За подробностями обратитесь к статье Введение в обобщенные типы в JDK 5.0 (EN), а также ознакомьтесь со статьей Оживите ваши коллекции при помощи обобщенных типов и возможностей параллельного доступа (EN), в которой рассказывается о том, как обобщенные типы облегчают работу с коллекциями в Java SE 6.0.
- Утилиты Concurrency - это набор классов, предоставляющих функциональность среднего уровня, которая обычно требуется приложениям, выполняющим параллельную обработку данных (см. руководство Параллелизм в JDK 5.0 (EN)).
-
Java API for XML Processing (JAXP) - это API, при помощи которого Java-приложения могут разбирать и преобразовывать XML-документы вне зависимости от используемого процессора XML. Это позволяет приложениям легко переключаться между разными процессорами без изменений в прикладном коде. В свою очередь, технология JAXB (Java API for XML Binding) предоставляет возможности для автоматизации сопоставления документов XML и объектов Java. Вначале ознакомьтесь с руководством из трех частей Работа с XML в Java (EN), а затем, если вас интересуют подробности JAXP, обратитесь к статьям Все о JAXP, часть 1 и Все о JAXP, часть 2. Далее прочитайте серию статей Связывание с данными на практике и загляните в раздел XML на сайте developerWorks.
-
SOAP with Attachments API for Java (SAAJ) предоставляет разработчикам функции для формирования и обработки сообщений в соответствии со спецификацией SOAP 1.1 c указанием SOAP with Attachments (SOAP с вложениями). За более подробной информацией обратитесь к статье Совет: Отправка и получение сообщений SOAP с помощью SAAJ).
Технологии, входящие в состав J2EE:
-
Enterprise JavaBeans (EJB) - это компонентная модель, которая упрощает разработку связующего программного обеспечения, предоставляя такие сервисы, как управление транзакциями, обеспечение безопасности и подключение к базам данных. Подробнее о EJB можно прочитать в руководстве Введение в технологию EJB (EN), серии Передовые подходы при работе с EJB (EN) и статье Проектирование корпоративных приложений при помощи API хранения объектов в EJB 3.0 (EN).
-
Спецификация портлетов определяет набор API для создания порталов на Java, охватывая такие аспекты, как агрегирование и представление информации, персонализация и обеспечение безопасности (см. статью Что нового в Java Portlet Specification V2.0 (JSR 286)?).
-
JavaMail - это API, предоставляющий набор абстрактных классов, моделирующих почтовую систему. Подробнее можно прочитать в руководстве Основы JavaMail (EN).
-
Java Message Service (JMS) - это API, поддерживающий создание переносимых Java-приложений на основе механизма обмена сообщениями. Он определяет общий набор базовых понятий и стратегий программирования для всех систем обмена сообщениями, совместимых с JMS (см. руководство Введение в Java Message Service (EN)).
-
JavaServer Faces (JSF) предоставляет программную модель, помогающую создавать Web-приложения путем компоновки страниц из многократно используемых компонентов пользовательского интерфейса, а также связывания этих компонентов с источниками данных, а событий, генерируемых на клиенте - с серверными обработчиками. За более подробной информацией обратитесь к руководству из двух частей Введение в JavaServer Faces (EN) и серии статей колонки JSF для скептиков (EN).
-
JavaServer Pages (JSP) предоставляет Web-разработчикам средства для быстрого создания и простой поддержки динамических, кросс-платформенных Web-страниц, которые разделяют пользовательский интерфейс и генерацию контента, благодаря чему дизайнеры могут изменять разметку, не трогая динамически формируемое содержимое (см. руководство Введение в технологию JavaServer Pages (EN) и статьи серии Передовые подходы к использованию JSP (EN)).
-
Стандартная библиотека тегов для JavaServer Pages (JSTL) - это набор специализированных тегов, предоставляющих стандартный формат для выполнения действий, необходимых многим Web-приложениям. Ознакомьтесь со статьей Обновите ваши страницы JSP при помощи JSTL (EN) и серией из четырех частей под названием Учебник по JSTL (EN).
-
Сервлеты Java расширяют функциональность Web-серверов, предоставляя кросс-платформенный, компонентный подход к созданию Web-приложений, свободный от ограничений производительности, характерных для CGI. Если вы планируете начать использовать сервлеты, прочитайте руководство Введение в сервлеты Java (EN).
-
J2EE Connector Architecture (JCA) предоставляет стандартную архитектуру для подключения приложений J2EE к разнородным корпоративным информационным системам (EIS). Эта архитектура определяет набор масштабируемых и безопасных механизмов на основе транзакций, при помощи которых поставщики EIS могут предоставлять стандартные адаптеры ресурсов для включения в сервер приложений. За более подробной информацией обратитесь к статьям Освоение JCA-транзакций, Выбор технологии для интеграции прикладных систем предприятия (EAI) - JCA, JMS или Web-сервисы?, Интеграция распределенных корпоративных информационных систем при помощи JCA, JMS и Web-сервисов (EN) и руководству Введение в архитектуру JCA в J2EE (EN).
-
Спецификация J2EE Management (JMX) определяет информационную модель управления для платформы J2EE. Эта модель была специально спроектирована для взаимодействия со многими системами и протоколами управления. Она содержит стандартные средства для сопоставления с общей информационной моделью (Common Information Model - CIM), информационной базой управления SNMP (SNMP Management Information Base - MIB) и объектной моделью Java при помощи резидентного серверного компонента EJB (J2EE Management EJB Component - MEJB). Подробнее о JMX можно прочитать в статье От черных ящиков до систем уровня предприятия. Часть 1: Управление в стиле JMX 1.1 (EN).
- Java Transaction API (JTA) – это высокоуровневая реализация и независимый от протоколов API, предоставляющий программам и серверам приложений средства для доступа к транзакциям. Java Transaction Service (JTS) определяет реализацию менеджера транзакций, который поддерживает JTA и реализует на нижележащем уровне сопоставление с объектным транзакционным сервисом OMG (Object Transaction Service - OTS 1.1). Распространение транзакций в JTS реализуется при помощи протокола Inter-ORB (IIOP). За более подробной информацией обратитесь к статье Понимание JTS - введение в транзакции.
Технологии, входящие в состав J2ME:
-
Mobile Information Device Profile (MIDP) — это одна из двух конфигураций, составляющих среду выполнения Java для мобильных устройств с ограниченными ресурсами. MIDP предоставляет приложениям базовую функциональность, включающую в себя средства для создания интерфейсов пользователя, подключения к сетевым ресурсам, локального хранения данных и управления жизненным циклом. За более подробной информацией обратитесь к руководству Реализация технологии Push в J2ME и MIDP (EN), статьям Проектирование лучших мидлетов (EN) и Создание собственных графических интерфейсов в MIDP 2.0 (EN), а также руководству Создание мидлетов при помощи инструментария Wireless (EN).
-
Connected Device Configuration (CDC) – это стандартизированная инфраструктура для создания и развертывания приложений, доступ к которым может осуществляться со стороны многих сетевых и встроенных устройств (см. статью Обеспечение безопасности при беспроводном доступе в J2ME (EN)).
-
Mobile 3D Graphics API для J2ME (M3G) — это легковесный интерактивный API для реализации трехмерной графики, являющийся дополнительным компонентом J2ME. Подробнее о нем можно прочитать в серии из двух частей 3D-графика в Java для мобильных устройств (EN).
Технологии Java и создание Web-приложений
На протяжении многих лет Java является основным языком разработки Web-приложений. В последнее время появилось множество инфраструктур и библиотек, облегчающих создание Web-приложений на Java, в том числе многофункциональных интерактивных приложений Web 2.0.
Ознакомьтесь с приведенными ниже материалами, посвященным вопросам Web-разработки на Java.
- Статьи колонки Изучение Grails (EN) рассказывают о Grails – современной инфраструктуре для создания Web-приложений, написанных на Groovy. Grails позволяет органично сочетать ранее написанный код на Java с возможностью использования гибкого и динамического скриптового языка. Более подробная информация о Groovy приведена ниже, в разделе Какое отношение имеет Java к динамическим языкам и функциональному программированию?.
- Ajax – это методология программирования, предусматривающая использование скриптовых языков на стороне клиента для обмена данными с Web-сервером, что позволяет быстро обновлять информацию на страницах без необходимости их полной перезагрузки. Прочитав серии статей Просто об Ajax и разработке Java-приложений (EN) и Ajax для Java-разработчиков (EN), вы узнаете, чем Ajax может помочь вам как разработчику Java-приложений. За дополнительной информацией вы можете обратитесь к центру материалов Ajax (EN) на сайте developerWorks.
- JavaServer Faces (JSF) предоставляет программную модель, помогающую создавать Web-приложения путем компоновки страниц из многократно используемых компонентов пользовательского интерфейса, а также связывания этих компонентов с источниками данных, а событий, генерируемых на клиенте - с серверными обработчиками. За более подробной информацией обратитесь к руководству из двух частей Введение в JavaServer Faces (EN) и серии статей колонки JSF для скептиков (EN).
- Платформа Web-инструментария Eclipse ( Web Tools Platform – WTP) расширяет популярную среду разработки Eclipse, добавляя в нее средства для создания Web-приложений на основе технологий Java EE (см. руководство Введение в инструментарий Web Tools Platform v1.0 для Eclipse (EN)).
- В разделе Web-разработки на сайте developerWorks можно найти множество других превосходных материалов по этим вопросам.
Технологии Java, SOA и Web-сервисы
Сервис-ориентированная архитектура (SOA) – это компонентная модель, связывающая функциональные модули приложения (известные как сервисы, откуда произошел термин Web-сервисы) через строго описанные интерфейсы и контракты. Определения интерфейсов не зависят от используемого аппаратного обеспечения, операционной системы и языка программирования, на котором реализован сервис, благодаря чему поддерживается унифицированное взаимодействие между сервисами, являющимися компонентами разных систем. SOA – это пример слабо связанной программной модели, представляющей собой альтернативу классическим сильно связанным объектно-ориентированным моделям.
Созданные по такому принципу Web-сервисы позволяют описывать бизнес-правила и процессы на XML, благодаря чему взаимодействие приложений может осуществляться независимо от используемых платформ и языков программирования. XML-технологии способствуют переносимости данных и упрощают создание сообщений, в то время как технологии Java позволяют писать переносимый код. XML и Java отлично сочетаются и потому представляют собой идеальную связку технологий для создания и развертывания Web-сервисов.
Более подробную информацию можно получить, прочитав следующие материалы:
- Страницы Введение в SOA и Web-сервисы (EN) и Введение в XML (EN) на сайте developerWorks помогут вам сориентироваться в этих непростых технологиях.
- В статьях серии Web-сервисы Java (EN) рассказывается об инфраструктурах Web-сервисов на Java, а также о новых функциональных слоях, созданных на базе этих сервисов.
- В статье Создание Web-сервисов REST (EN) приводится введение в элегантный стиль проектирования Web-сервисов под названием Передача репрезентативного состояния (Representational State Transfer — REST) и рассказывается об использовании Java для создания Web-сервисов по принципам REST.
- Понимание технологии JAX-RPC (RPC на основе API Java для работы с XML) имеет большое значение для создания эффективных Web-сервисов на Java. Хорошее введение в JAX-RPC можно найти в руководстве Создание сервиса и клиента RPC при помощи JAX-RPC (EN).
- JAX-WS – это очевидный следующий шаг в развитии JAX-RPC. Практическое введение в этот новый API дано в руководстве Проектирование и реализация Web-сервисов при помощи JAX-WS 2.0 (EN).
- Серия статей Создание приложений SCA (EN) представляет собой руководство по компонентной архитектуре сервисов (Service Component Architecture - SCA) - спецификации, описывающей модель разработки приложений и систем по принципам SOA.
- В статье Введение в Service Data Objects приводится введение в инфраструктуру Service Data Objects (объекты данных сервисов), которая упрощает модель работы с данными в Java EE при создании SOA-приложений.
Какое отношение имеет Java к динамическим языкам и функциональному программированию?
Многие разработчики, начинающие осваивать Java, имеют богатый опыт работы с другими языками программирования. При этом даже самые маститые программисты признают, что Java не является идеальным языком для решения всех встречающихся на практике задач. К счастью, благодаря поддержке со стороны JVM при разработке приложений для платформы Java можно пользоваться всеми преимуществами современных динамических скриптовых и функциональных языков. Гибкость и динамизм этих языков оказываются очень полезными при создании прототипов и реализации определенных типов приложений.
Подробнее о возможностях применения динамических и функциональных языков на платформе Java можно прочитать в материалах, ссылки на которые приведены ниже.
Пересекая границы
Новые технологии, в том числе принципы, лежащие в основе альтернативных языков, оказывают влияние на процесс создания Java-приложений и могут изменить ваш стиль программирования. В статьях колонки Пересекая границы (EN) обсуждаются принципы и подходы, отличающиеся от традиционно принятых в Java, но при этом имеющие непосредственное отношение к этой платформе.
- Скриптовый язык Groovy позволяет Java-разработчикам использовать наиболее привычные языковые конструкции и библиотеки, при этом предоставляя гибкую, динамическую среду разработки, которая не требует компиляции, упрощает синтаксис и поддерживает выполнение скриптов внутри обычных Java-приложений. Детальный обзор возможностей этого языка приводится в статьях серии Groovy на практике (EN).
- Новый API скриптов в Java SE 6, обеспечивающий обратную совместимость с Java SE 5 и содержащий небольшой набор интерфейсов и классов, предоставляет простой способ вызова из Java-кода скриптов, написанных на десятках языков. С его помощью вы можете загружать и вызывать внешние скрипты на этапе выполнения, динамически изменяя поведение приложения. Подробнее об этом API можно прочитать в серии из двух статей под названием Используйте динамические языки динамично.
- Вы - горячий сторонник функционального программирования? Тогда вам следует обратить внимание на колонку Путеводитель по Scala для Java-разработчиков, в которой рассказывается о Scala - языке программирования для JVM, сочетающем функциональный и объектно-ориентированный подход к разработке.
- VM поддерживают альтернативные языки программирования уже на протяжении длительного времени. В статьях колонки alt.lang.jre можно прочитать о реализациях для JVM таких языков, как Rexx, Ruby, JavaScript, Python и некоторых других.
Java и создание свободного программного обеспечения
Существует бесчисленное множество открытых проектов по созданию библиотек, инструментариев, инфраструктур, программ и серверов приложений на Java, которые открывают для разработчиков дополнительные возможности по использованию этой мощной платформы. Ряд свободных технологий со временем был включен в состав платформы Java, а другие на протяжении многих лет остаются популярными среди Java-разработчиков, в некоторых случаях играя роль фактических стандартов.
Ниже приведены ссылки на материалы, рассказывающие о некоторых из наиболее значимых свободных технологий для создания приложений на Java.
- Организация Apache Software Foundation объединяет множество открытых проектов, большинство из которых разрабатываются на основе технологий Java. Ниже перечислены некоторые представители этого семейства проектов.
- Apache Struts - это инфраструктура для создания Web-приложений, архитектура которых следует принципу "Модель-Представление-Контроллер" (Model-View-Controller). Подробнее можно прочитать в статье Передовые методики создания приложений на основе Struts (EN).
- Apache Shale - еще одна современная инфраструктура для создания Web-приложений, являющаяся наследницей Struts и базирующаяся на технологии JSP (JavaServer Pages). Введение в Shale содержится в статьях серии Здравствуй, Shale!.
- Apache Ant является фактическим стандартом для автоматизации процесса сборки Java-приложений (см. руководства Apache Ant 101: Сборка приложений - это просто (EN) и Вызов Apache Ant программным образом (EN)).
- Средство сборки Apache Maven проектировалось с учетом требований современных проектов по созданию программного обеспечения, для которых характерны динамичное взаимодействие между группами разработчиков и зависимость от множества независимо поддерживаемых компонентов (см. руководство Введение в Apache Maven (EN)).
- Apache Tomcat - это популярный Web-контейнер, поддерживающий сервлеты и серверные страницы Java (JSP). Ознакомьтесь с руководством Tomcat для начинающих Web-разработчиков (EN), которое поможет вам начать работу с Tomcat.
- Проект Apache Geronimo заключается в создании полностью соответствующего спецификации сервера приложений Java EE на основе исключительно свободных технологий. Подробнее о Geronimo можно прочитать в статье Geronimo для начинающих, а также в разделе Geronimo (EN) на сайте developerWorks, содержащем множество полезных материалов.
- Apache Derby - это сервер реляционных баз данных, полностью реализованный на Java. Введение в Derby приводится в статье Разработка при помощи Apache Derby - тройной выигрыш: Введение в Apache Derby, а более детальная информация - в материалах раздела Derby (EN) на сайте developerWorks.
- Apache Struts - это инфраструктура для создания Web-приложений, архитектура которых следует принципу "Модель-Представление-Контроллер" (Model-View-Controller). Подробнее можно прочитать в статье Передовые методики создания приложений на основе Struts (EN).
-
Eclipse – это открытая и независимая платформа разработки, а также набор базовых инструментов для создания программного обеспечения. Она написана на Java и предоставляет инфраструктуру на основе подключаемых модулей, облегчающую разработку, интеграцию и использование программных средств. IBM является одним из учредителей Eclipse.org и активно участвует в совете управляющих этого проекта, а также его подкомитетах. О некоторых компонентных технологиях платформы Eclipse, направленных на создание Java-приложений, можно прочитать в следующих материалах:
- AspectJ - это аспектно-ориентированное расширение языка Java, которое может использоваться для модульной реализации сквозной функциональности, например журналирования или обработки исключений. Подробнее можно прочитать в руководстве Введение в АОР (EN), а также в нескольких статьях серии АОР в работе (EN).
- Standard Widget Toolkit (SWT) - это инструментарий, позволяющий задействовать возможности операционной системы для создания элементов пользовательских интерфейсов эффективным и переносимым образом (см. статью Плавное введение в SWT и JFace: Создание простого приложения на базе SWT (EN)).
- Mylyn - это мощная система управления заданиями для пользователей Eclipse. Подробное руководство содержится в статьях Mylyn 2.0, часть 1: Интегрированное управление задачами и Mylyn 2.0, часть 2: Автоматизация управления контекстом.
- Инструментарий тестирования и производительности платформы Eclipse (Eclipse Test and Performance Tools Platform - TPTP) предоставляет базовые средства и сервисы для тестирования и оценки производительности (см. руководство Введение в Eclipse TPTP (EN)).
- Web-инструментарий платформы Eclipse (Eclipse Web Tools Platform - WTP) расширяет среду Eclipse, добавляя к ней средства для разработки Web-приложений на базе J2EE. За более подробной информацией обратитесь к руководству Введение в Eclipse WTP V1.0 (EN).
- AspectJ - это аспектно-ориентированное расширение языка Java, которое может использоваться для модульной реализации сквозной функциональности, например журналирования или обработки исключений. Подробнее можно прочитать в руководстве Введение в АОР (EN), а также в нескольких статьях серии АОР в работе (EN).
-
Spring - это популярная многоуровневая архитектура для создания приложений для платформы Java EE.
- Подробно о Spring можно прочитать в статьях серии Spring (EN) и руководстве Введение в Spring 2 и JPA (EN).
- Проект Spring Security, ранее известный как "система безопасности Acegi для Spring" - это мощное и гибкое решение для обеспечения безопасности в корпоративных приложениях, созданных на базе инфраструктуры Spring. Она подробно рассматривается в четырех статьях серии Обеспечение безопасности Java-приложений с помощью Acegi.
- Подробно о Spring можно прочитать в статьях серии Spring (EN) и руководстве Введение в Spring 2 и JPA (EN).
- Компания Sun Microsystems также начала работу по переводу платформы Java в разряд свободного программного обеспечения, запустив следующие общественные проекты на сайте java.net:
Как развивать навыки программирования на Java?
Есть два основных пути развития ваших навыков программирования на Java: пройти специальный курс обучения (с возможностью сертификации) или изучать Java самостоятельно, практикуясь в написании кода. Обучающие курсы не только позволяют вам перенять опыт квалифицированных разработчиков, но и дают возможность получения сертификата, который может убедить потенциального работодателя, что вы обладаете навыками, необходимыми для решения стоящих перед нам технических задач. При этом вы сможете углубить свои знания в различных областях Java, экспериментируя самостоятельно и используя все доступные ресурсы. Какой бы путь вы ни выбрали, вам помогут следующие материалы.
-
Руководства и статьи
- На сайте developerWorks представлена обширная коллекция практических руководств по Java-технологиям, которые по степени полезности в процессе изучения Java уступают только самостоятельному написанию кода. Если вы только начинаете знакомиться с Java, обратитесь к подробным руководствам Роя Миллера (Roy Miller) Введение в программирование на языке Java (EN) и Java для среднего уровня (EN).
- Статьи серий Магия Мерлина (EN) и Приручение Тигра (EN) прекрасно подходят для совершенствования вашей техники владения Java.
- Применение теории проектирования при создании реальных приложений рассматривается в статьях серии Теория и практика Java.
- Опытные разработчики Java заранее закладывают в свои приложения средства для их отладки и тестирования. На сайте developerWorks представлены несколько статей серии Диагностика Java-кода (EN), посвященных отладке, в которых особое внимание уделяется типичным ситуациям, часто приводящим к ошибкам. Кроме того, вам может быть полезна серия Повышение эффективности тестирования Брайана Гётца (Brian Goetz) и его же статья Избавьтесь от ошибок.
- На сайте developerWorks представлена обширная коллекция практических руководств по Java-технологиям, которые по степени полезности в процессе изучения Java уступают только самостоятельному написанию кода. Если вы только начинаете знакомиться с Java, обратитесь к подробным руководствам Роя Миллера (Roy Miller) Введение в программирование на языке Java (EN) и Java для среднего уровня (EN).
-
Игры
-
Robocode - это простой в использовании симулятор битв роботов, созданный на основе Java-технологий, который предлагает развлекательный подход к изучению программирования. Введение в Robocode можно найти в статье Врежь ему, Robocode! (EN). Кроме того, вам может быть полезна статья Секреты мастеров Robocode: Советы, подсказки и рекомендации от экспертов игры Robocode (EN).
-
CodeRuler, CodeRally и CodeInvaders Challenge - это игры реального времени на базе платформы Eclipse, направленные на изучение программирования на Java. Вводная информация о CodeRuler приводится в статье Завоевание средневековых королевств вместе с CodeRuler (EN).
-
Robocode - это простой в использовании симулятор битв роботов, созданный на основе Java-технологий, который предлагает развлекательный подход к изучению программирования. Введение в Robocode можно найти в статье Врежь ему, Robocode! (EN). Кроме того, вам может быть полезна статья Секреты мастеров Robocode: Советы, подсказки и рекомендации от экспертов игры Robocode (EN).
-
Технические обучающие курсы IBM
- Вашему вниманию предлагается большой выбор онлайновых, очных и мультимедийных курсов по Java, разработанных подразделением IBM Global Services.
- Вашему вниманию предлагается большой выбор онлайновых, очных и мультимедийных курсов по Java, разработанных подразделением IBM Global Services.
-
Сертификация
- Вы можете сдать несколько экзаменов для получения сертификатов, свидетельствующих о ваших навыках программирования на Java. Материалы, посвященные курсам с последующей сертификацией, находятся на сайте Java Certification.
- IBM предоставляет возможность профессиональной сертификации ваших навыков в таких технологиях, имеющих отношения к Java, как создание корпоративных приложений для WebSphere, программное обеспечение Rational, DB2, XML и SOA.
- Вы можете сдать несколько экзаменов для получения сертификатов, свидетельствующих о ваших навыках программирования на Java. Материалы, посвященные курсам с последующей сертификацией, находятся на сайте Java Certification.
-
Форумы
-
Форумы по Java, модерируемые экспертами, за плечами которых многолетний опыт работы с Java-технологиями - это наиболее интерактивный из способов изучения языка Java.
-
Форумы по Java, модерируемые экспертами, за плечами которых многолетний опыт работы с Java-технологиями - это наиболее интерактивный из способов изучения языка Java.
Продукты и технологии IBM для Java-разработчиков
IBM занимает одним из лидеров в практическом применении Java-технологий. Ниже приведены ссылки на некоторые продукты и технологии IBM, предлагаемые разработчикам приложений для платформы Java.
- Бесплатно загружаемые продукты:
- Комплект Java-разработчика (Java Developer Kit) - это набор средств для создания и тестирования апплетов и приложений для Java SE и Java ME на множестве популярных операционных систем, в том числе Windows, Linux и AIX.
- Пакет разработки приложений для Eclipse от IBM (IBM Development Package for Eclipse) - это основанный на Eclipse неподдерживаемый инструментарий разработчика, позволяющий создавать и запускать приложения в собственной готовой среде разработки.
- Параллельно выпускаемые проекты Eclipse: Вы можете загрузить пакеты свободного программного обеспечения Eclipse c сайта developerWorks, в том числе параллельно выпускаемые продукты Calisto и Europa.
- Раздел Java-технологий на alphaWorks - это виртуальное хранилище перспективных Java-технологий, разрабатываемых в IBM. К ним относятся API, интегрированные среды разработки, комплекты разработчика, эталонные реализации и утилиты. Ниже приведены ссылки на некоторые технологии, представленные в alphaWorks.
- Анализ и генерация скриптов сборки Ant. Эта утилита помогает анализировать и генерировать пригодные для тестирования Ant-скрипты для сборки проектов, разработанных при помощи Eclipse, Rational и WebSphere IDE для платформ Java EE и SCA.
- Средства моделирования и анализа распространенных ситуаций при сборке мусора в Java (IBM Pattern Modeling and Analysis Tool for Java Garbage Collector). Данная утилита разбирает подробные трассировочные файлы GC, анализирует использование динамической памяти (кучи) и рекомендует настройки приложения на основе полученных результатов моделирования работы с памятью.
- Анализатор дампов потоков и мониторов для Java (IBM Thread and Monitor Dump Analyzer for Java) позволяет выявить причины зависаний, взаимных блокировок, конфликтов при доступе к ресурсам и прочих узких мест в производительности Java-потоков.
- HeapAnalyzer - это утилита с графическим интерфейсом, помогающая находить утечки памяти из кучи.
- Инструментарий языка разметки абстрактных интерфейсов пользователя (Abstract User Interface Markup Language Toolkit) - это набор средств и API, позволяющих создавать графические приложения, интерфейс которых может реализовываться как при помощи Swing, так и HTML.
- Инструментарий MPEG-4 - это набор Java-классов, API и демонстрационных приложений для генерации контента в формате MPEG-4 для соответствующих устройств.
- Безопасный командный интерпретатор для Java (Secure Shell Library for Java) - это легковесная реализация протокола SSH-2, разработанного комитетом IETF (Internet Engineering Task Force). Он предоставляет средства для безопасной аутентификации и другие защищенные сервисы, работающие в условиях незащищенной сети.
- Fluid Sync - это Java-инфраструктура, упрощающая разработку приложений для коллективной работы с использованием множества вычислительных устройств.
- Комплект Java-разработчика (Java Developer Kit) - это набор средств для создания и тестирования апплетов и приложений для Java SE и Java ME на множестве популярных операционных систем, в том числе Windows, Linux и AIX.
- Продукты IBM линейки Rational, созданные на базе Eclipse 3.0, облегчают разработку, тестирование и развертывание высококачественных приложений. Это семейство включает следующие продукты:
- Rational Method Composer - настраиваемая платформа для управления процессом разработки программного обеспечения.
- Средства управления конфигурированием приложений, например, ClearCase и ClearQuest.
- Инструменты для тестирования, такие как Rational Robot, TestManager и Test RealTime.
- Средства для управления требованиями и анализа, в частности RequisitePro.
- Пакеты визуального моделирования и разработки, например, Rational Software Modeler, Rational Systems Developer, PurifyPlus и Rose Technical Developer.
- Rational Application Developer для WebSphere - среду быстрой разработки программного обеспечения для создания, анализа, тестирования, профилирования и развертывания приложений на основе технологий Web, SOA, Java и J2EE, а также порталов для сервера IBM WebSphere.
- Rational Method Composer - настраиваемая платформа для управления процессом разработки программного обеспечения.
-
WebSphere Application Server - это полнофункциональный, удовлетворяющий спецификациям Java EE сервер приложений, предоставляющий защищенную, масштабируемую и отказоустойчивую инфраструктуру, необходимую приложениям уровням предприятия, имеющим архитектуру SOA. Подробнее о средствах для создания приложения для WebSphere можно прочитать в перечисленных ниже материалах.
- Посетите страницу для начинающих в WebSphere, а также ознакомьтесь с другими техническими материалами, которые помогут вам эффективно использовать эту ключевую интеграционную платформу IBM.
- Инфраструктура WebSphere Enterprise Service Bus предоставляет средства для взаимодействия с Web-сервисами, отправки и получения сообщений JMS, а также сервис-ориентированные возможности интеграции для ваших приложений SOA.
- Продукты WebSphere Process Server и WebSphere Integration Developer предоставляют интеграционную платформу для корпоративных сервисов, созданных по принципам SOA.
- WebSphere sMash - это платформа для создания и выполнения динамических приложений Web 2.0, имеющих архитектуру SOA и созданных на основе технологии Project Zero.
- Посетите раздел, посвященный средствам разработки для WebSphere (EN), в котором содержатся свежие технические материалы и руководства по использованию продуктов WebSphere для создания, тестирования и развертывания J2EE-приложений уровня предприятия.
- Rational Application Developer для WebSphere Software - это среда быстрой разработки программного обеспечения для создания, анализа, тестирования, профилирования и развертывания приложений на основе технологий Web, SOA, Java и J2EE, а также порталов для сервера IBM WebSphere.
- В разделе, посвященном порталам для WebSphere (EN), вы найдете портлеты, программное обеспечение и новостные материалы, ориентированные на разработчиков, использующих технологию WS Portal.
- WebSphere MQ - это интерфейс прикладного программирования для организации взаимодействия между приложениями.
- Решение WebSphere MQ Everyplace позволяет обращаться к корпоративной информации с удаленных и мобильных устройств, обеспечивая при этом гарантированную доставку сообщений.
- Branch Transformation Toolkit для WebSphere Studio - это прикладная инфраструктура и набор специализированных инструментов на базе Eclipse, ускоряющие сборку многоуровневых транзакционных банковских приложений.
- WebSphere Message Broker предоставляет расширенную реализацию Enterprise Service Bus, включающую возможности соединения и универсального преобразования данных для как стандартных, так и нестандартных приложений и сервисов, составляющих архитектуру SOA.
- Посетите страницу для начинающих в WebSphere, а также ознакомьтесь с другими техническими материалами, которые помогут вам эффективно использовать эту ключевую интеграционную платформу IBM.
- В число программных продуктов IBM для управления информацией входят семейство мощных серверов управления реляционными базами данных (РСУБД), хранилища данных, продукты для анализа данных и извлечения информации, решения по управлению медиаактивами и корпоративным контентом, а также средства для интеграции информации. Кроме того, продукты этой категории включают средства поддержки разработки на Java, которые предоставляют клиентские приложения, серверные инструменты и дополнительные утилиты, упрощающие создание и развертывание программного обеспечения.
- СУБД DB2 UDB - это естественный выбор для компаний, делающих ставку на открытые и стандартизированные технологии.
- СУБД IBM Informix обеспечивает превосходную производительность при работе с базами данных в средах с большим числом параллельно выполняющихся транзакций.
- Программное обеспечение IBM для интеграции информации позволяет консолидировать и преобразовывать данные, тем самым повышая продуктивность, гибкость и производительность вашего бизнеса за счет оперативного доступа к нужной информации.
- СУБД DB2 UDB - это естественный выбор для компаний, делающих ставку на открытые и стандартизированные технологии.