[an error occurred while processing this directive] IT • archiv :: Print

IT • archiv


[an error occurred while processing this directive]

[an error occurred while processing this directive]

Программирование устройств на Java — обзор

[an error occurred while processing this directive](none) [an error occurred while processing this directive](none)[an error occurred while processing this directive] ::
[an error occurred while processing this directive](none)
[an error occurred while processing this directive]([an error occurred while processing this directive] Билл Дэй [an error occurred while processing this directive])

[an error occurred while processing this directive](none)

Ускорение Java для малых устройств.

Java Devices
PDF versionPDF версия
Обзор
Компьютеры повсюду. Возрастающие возможности обработки встраиваются в устройства, размеры которых продолжают снижаться, характеристики компьютеров смещаются в сторону устройств меньших физических размеров и габаритов. Статья Билла открывает колонку Программирование устройств на Java и освещает вопросы использования программ Java для разработки этих специфических устройств. (2800 слов)

Не так давно компьютеры были огромными коробами, требующими мощной вентиляции и защиты. Они сокрывались в специальных комнатах, принадлежащих корпорациям и большим вычислительным центрам. Их было не так много, каждым пользовалось по несколько работников. Процессорное время стоило очень дорого, доступ и время работы часто были сильно ограничены. Да, теперь мир изменился!

Сегодня мы различаем три этапа развития вычислительной техники:

Большинство из нас используют компьютеры, встроенные в устройства и инструменты чаще, чем персональные компьютеры, рабочие станции и большие машины. Например, краткий обзор моего повседневного инвентаря показывает, что я использую лаптоп, несколько серверов и рабочую станцию. Но в машине, на которой я приезжаю на работу каждый день, находится больше процессоров, чем во всей традиционной компьютерной технике, которую я назвал! Добавив к последним все микрочипы в мобильных телефонах, электронных организаторах, микроволновых печах, сетевых хабах, коммуникационном и другом оборудовании, которое мы используем на работе, мы замечаем, что уже довольно сильно освоили эру повсеместных вычислений.

Помимо того, что процессоры вездесущи, почти все наши взаимодействия с ними происходят в сетях. Как программисту использовать преимущества повсеместного внедрения компьютеров и сетевых решений в гетерогенных устройствах и средах?

Технология Java поддерживает повсеместные сетевые вычисления

В статьях по истории Java говорится, что на ранних стадиях разработки язык был ориентирован на программирование устройств. Идея Java первоначально базировалась на использовании в нетрадиционных вычислительных устройствах; со временем она была перенесена на ПК и серверы. Малый размер кода, возможность пересылать объекты по сети, межплатформенная совместимость были разработаны для малых мобильных разнородных устройств. То, что эти свойства оказались очень полезны в сфере взаимодействующих в Сети больших компьютеров, можно считать большой удачей.

Технология Java уже сделала один виток, а теперь вновь программирование устройств на Java приобретает актуальность. Тема статьи касается различных API, инструментов и продуктов для программирования бытовой электроники, такой как персональные цифровые помощники (PDA), мобильные телефоны, пейджеры и другие спецвычислители. В этой статье мы постараемся раскрыть, как Java можно использовать в этих устройствах и какие преимущества это сулит для перспективных проектов.

Основные API Java для устройств и их цели

Sun и ее партнеры разрабатывают несколько API для использования в среди устройств на Java:

Кроме того, несколько других компаний ведут независимые разработки Java для бытовой и встроенной техники. Среди таких разработок наиболее известны следующие:

Также появляются другие наборы прикладных API. Группы таких API называют профилями в терминологии Sun, они должны строиться на базовых исполняемых модулях Java, обеспечивая определенный уровень совместимости и межвзаимодействия для устройств одного класса, предназначенных для одного рынка или одной отрасли промышленности.

Идея профилей в настоящее время дорабатывается рабочими группами в сообществах разработчиков бытовых и встроенных устройств. Можно найти следующие профили:

Профили до сих пор находятся в состоянии разработки, но большинство платформ и инструментов уже доступны в той или иной форме. В Resources в конце этой колонки приводится больше информации о платформах, профилях и других технологиях встроенного Java.

В следующей таблице показаны состояния основных бытовых и встроенных API Java и технологий на 23 июня 1999.

Технология Тип Спецификация API (версия) FAQ Ссылка на реализацию (версия) список рассылки по теме
PersonalJava Среда приложений (станет профилем в будущем) Да (1.1.1) Да Да (3.0, соответствует версии 1.1.1 API) Нет
JavaPhone API расширения (войдет в состав одного или нескольких) Да (0.91) Да Нет Нет
JavaTV API расширения (войдет в состав одного или нескольких) Да (0.90) Да Нет Нет
EmbeddedJava Среда приложений Да (1.1) Нет Да (на базе JDK 1.1.6) Нет
JavaCard Платформа Да (2.1) Да Да (ранний доступ) Нет
K Virtual Machine Исполняемая среда Да (1.0 в июне 1999) Нет (есть документация) Да (предварительная демонстрация для участников JavaOne) Да (подписка на сайте KVM)
Java 2 Platform, Micro Edition Платформа Java 2 Platform, для устройств Нет Нет Нет (кроме демо KVM на JavaOne) Нет (кроме списка KVM)

Отметим, что для составления таблицы использовалась публично распространяемая информация Sun и других компаний, лицензионные реализации и несогласованные источники не указывались. Большая часть из этой информации получена по ссылкам страницы Java компании Sun, домашних страниц других компаний и из публичных демонстраций на конференции разработчиков JavaOne в 1999 году.

За дополнительной информацией обратитесь к адресам в Ресурсах в конце этой статьи. В частности, много полезной информации содержит статья JavaOne Today по разработке устройств.

Следите за обзорами материалов на сайте J2ME, где в последующие месяцы, вероятно, появится много специфических и важных дополнений по Enterprise Edition (J2EE), Standard Edition (J2SE) и Micro Edition (J2ME).

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

Методика программирования устройств

Успех методики в колонке Media Programming приводит нас к мысли о составлении такой же методики здесь. Мы рассмотрим различные технологии программирования устройств на Java и предоставим как можно больше конкретных примеров, чтобы познакомить читателя с ними и использовать их самим. Мы также предоставим информацию по эмуляторам и другим инструментам разработчика, которая позволит читателю начать программировать устройства как можно раньше, иногда даже заблаговременно до появления реальных устройств. (В результате чтения информации колонки, стоимость разработки должна снизиться.) Автор настоятельно рекомендует изучить код, сопутствующий выпуску колонок.

Идеи следующих колонок составляют:

Автор принимает предложения по составу рассматриваемых тем. Приветствуются любые идеи и комментарии. Автор надеется предоставить в этой колонке полезную информацию и осветить идеи, которые позволят разрабатывать сетевые приложения Java для использования в повсеместной вычислительной инфраструктуре.

Замечание о номенклатуре и соглашениях

В колонке Media Programming разработана удачная номенклатура. Поэтому мы сохраним здесь эту номенклатуру, добавив некоторые обновления.

В этой колонке мы разработаем ряд советов с упором на Java, затем на Windows и Linux, так как в этих средах находится сфера наших интересов.

Мы будем понимать термины бытовой и встроенные. Первые мы будем использовать для обозначения Java в малых устройствах, а последние — в устройствах, которые работают в рамках других систем (как сетевой чип в телефонных системах). Возможная путаница прояснится из контекста.

Будем придерживаться следующих принципов:

Заключение

Тысячи участников JavaOne уже начали писать свой код на Java для своих устройств Palm. За несколько следующих месяцев мы рассмотрим рост внедрения Java в Palm, мобильники и другие устройства. Сегодня используются миллионы карманных компьютеров и партнеры Symbian планируют выпустить от 40 до 60 миллионов беспроводных телефонов с Java за следующие три года. Мораль: программирование устройств на Java стало реальностью уже сегодня, а в ближайшее время получит широкое распространение.

Об авторе

Bill Day — апологет технологии на Sun Microsystems и признанный лектор Association for Computing Machinery (ACM). Кроме колонки программирование устройств на Java, Bill ведет еженедельную колонку Q&A для рассылки новостей карьеры JavaWorld. Bill работал над тематическими статьями SunWorld, Gamasutra, и JavaSoft и часто высказывается на темы мультимедиа на Java и программирования бытовых устройств.

Ресурсы

Reprinted with permission from the July 1999 edition of JavaWorld magazine. Copyright © ITworld.com, Inc., an IDG Communications company.
View the original article at: http://www.javaworld.com/ jw-07-1999/jw-07-device.html

[an error occurred while processing this directive]
[an error occurred while processing this directive] Перевод на русский © Андрей Ковалев, к.т.н., доцент МИЭТ, 2000
< Вернуться на caйт :: Copyright © 1999 — 2010, IT • archiv.