Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы Intel Проект ТЭЛМА Жерздев С.В. Java 2 Micro Edition Платформа Java 2 Micro Edition 1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Архитектура J2ME • J2ME использует так называемые конфигурации и профили для уточнения исполняющего окружения Java Runtime Environment (JRE). • Конфигурация J2ME определяет основу исполняющего окружения: – – набор основных классов; конкретную виртуальную машину Java, которая работает на устройствах заданного типа. • Профиль определяет область применения приложения, а именно - добавляет к виртуальной машине дополнительные, специфические для данной области применения классы; 2 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Конфигурации и профили • Тогда как виртуальная машина Java Standart Edition обычно обозначается как JVM, виртуальные машины J2ME - KVM и CVM, которые являются специфическим для J2ME подмножествами JVM. J2ME app. MIDlet 3 J2ME app. Spotlet J2ME application J2EE application J2SE J2EE JVM JVM Foundation profile MIDP CLDC KJava CLDC CLDC CLDC CDC KVM KVM CVM (с) ИТЛаб, ННГУ, ВМК, 2003г J2SE application Java 2 Micro Edition Жерздев С.В. Конфигурации • В настоящее время существует две конфигурации J2ME, хотя в будущем могут быть определены и дополнительные. 4 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. CLDC • Connected Limited Device Configuration используется обычно в рамках виртуальной машины KVM для 16- и 32-разрядных устройств с ограниченным объемом памяти. Эта конфигурация и виртуальная машина используются для небольших J2ME приложений. Эти ограничения делают CLDC более интересной средой для разработки приложений, чем CDC. 5 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. CLDC • Приложения для CLDC, ориентированы на устройства со следующими характеристиками: – – – – 6 от 160 до 512 Кб ОЗУ, доступных для платформы Java в целом (включая приложения) ограниченное энергообеспечение, как правило, батареи или аккумуляторы сетевое соединение непостоянно и имеет ограниченную полосу пропускания, часто применяются беспроводные технологии интерфейс пользователя различного уровня, иногда может отсутствовать полностью (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. CDC • Connected Device Configuration (CDC) используется с виртуальной машиной CVM на устройствах с 32-разрядной архитектурой и требует более 2 Мб памяти: – – – – – 7 32-разрядный процессор не менее 2 Мб ОЗУ, доступной платформе Java устройство должно обеспечивать полную функциональность виртуальной машины Java 2 сетевое соединение непостоянно и имеет ограниченную полосу пропускания, часто применяются беспроводные технологии интерфейс пользователя различного уровня, иногда может отсутствовать полностью (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Профили • Профиль определяет тип устройств, поддерживаемых приложением. Профиль дополняет конфигурацию специфическими классами, определяющими область применения устройств. • В J2ME определено два профиля, построенных на основе CLDC: – – Kjava Mobile Information Device Profile (MIDP). • Для CDC доступен шаблонный профиль, на котором можно строить свои собственные, Foundation Profile. 8 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Реализация J2ME • CDC является расширенным подмножеством J2SE (добавляет некоторые классы, отражающие специфичные для портативных устройств возможности и особенности). Конфигурация CLDC является строгим подмножеством CDC. 9 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Области применения 10 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. CLDC • Конфигурация Connected Limited Device Configuration (CLDC) предоставляет виртуальную машину KVM и набор библиотек основных классов. • CLDC ориентировано на устройства с медленными сетевыми соединениями, ограниченным электропитанием, 128 Кб энергонезависимой защищенной от записи памяти и 32 Кб энергозависимой памяти для исполнения приложений. CLDC использует энергонезависимую память для хранения библиотек и KVM. 11 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Требования CLDC • Полная поддержка языка Java (за исключением вычислений с плавающей запятой, финализации и обработки инсключений) • Полная поддержка спецификации JVM • Обеспечение безопасности • Ограниченная поддержка интернационализации приложений • Унаследованные классы - все классы, кроме привнесенных CLDC, должны быть подмножеством классов J2SE 1.3 12 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Требования CLDC • Классы, специфичные для CLDC должны находиться в пакете javax.microedition и его подпакетах. В дополнение к ним, CLDC API содержит подмножества пакетов J2SE java.io, java.lang, java.util. • Хотя эти классы и присутствуют в J2SE, их реализация в CLDC не обязательно содержит все методы, поддерживаемые J2SE. Для уточнения списка реализованных методов следует обращаться к документации по CLDC API. 13 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. CDC • Connected Device Configuration (CDC) является урезанной версией Java 2 Standard Edition (J2SE) с добавлением собственных классов CDC. Поскольку CDC является надстройкой над CLDC, приложения, разработанные для устройств CLDC будут выполняться и на устройствах CDC. • CDC обеспечивает средства построения стандартизированной, переносимой, полнофункциональной виртуальной машины Java 2 (CVM) для бытовой техники и встроенных устройств. 14 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Профиль KJava • Профиль KJava является патентованной разработкой фирмы Sun. Этот профиль построен в рамках конфигурации CLDC. Виртуальная машина KVM использует формат файлов и коды операций, аналогичные классической виртуальной машине J2SE. • KJava содержит специализированное API для работы на системах Palm OS. KJava API имеет много общего с распространенной библиотекой J2SE Abstract Windowing Toolkit (AWT). 15 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Профиль MIDP • Mobile Information Device Profile (MIDP), как и KJava, построен на базе CLDC и обеспечивает стандартное окружение и динамическую передачу приложений на пользовательские устройства. • MIDP - общеиндустриальный стандартный профиль для мобильных устройств, который не зависит от разработчика и производителя устройства. Это полноценная основа для разработки мобильных приложений. 16 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Профиль MIDP • MIDP состоит из пакетов, три из которых принадлежат CLDC, а три определены в самом MIDP. – – – – – – – java.lang java.io java.util javax.microedition.io javax.microedition.lcdui javax.microedition.midlet javax.microedition.rms • MIDP включает API пользовательского интерфейса как низкого, так и высокого уровней. 17 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Профиль MIDP • API низкого уровня обеспечивает полный доступ к экрану устройства, а также к аппаратным кнопкам и другим средствам ввода. API низкого уровня не содержит элементов интерфейса пользователя. • API высокого уровня обеспечивает простые компоненты интерфейса пользователя, но не позволяет осуществлять прямой доступ к устройствам ввода-вывода. Компоненты интервейса независимы от размеров экрана и средств ввода конкретного устройства. 18 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. MIDP для PalmOS • MIDP for Palm OS - конкретная реализация спецификации Mobile Information Device Profile (JSR-37) JCP Specification: Java 2™ Platform, Micro Edition, 1.0a. В этой реализации есть несколько особенностей, не определенных в спецификации однозначно. 19 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Abstract Commands • Технология Abstract commands позволяет разработчику определить операции приложения и разместить их на экране, не определяя явным образом интерфейс пользователя для этих команд. MIDP обеспечивает реализацию доступа к этим командам в зависимости от конкретного устройства. • MIDP for Palm OS отображает все абстрактные команды в меню, доступном пользователю по нажатию кнопки Menu на устройстве. 20 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Пользовательский интерфейс • MIDP for Palm OS реализует компоненты пользовательского интерфейса используя аналогичные компоненты окружения Palm OS. 21 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Поддержка цвета • Поскольку не все устройства поддерживают 24битную цветовую модель, MIDP for Palm OS реализует отображение цветов в зависимости от устройства Palm OS в одну из моделей: – – – – 22 черно-белая; 4 или 16 оттенков серого; 256 цветов (палитрой); 65536 цветов (по схеме 5-6-5). (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.