Архитектура J2ME
Я читал об архитектуре J2ME, где было написано, что есть 3 слоя
1) Уровень конфигурации: он имеет JVM и взаимодействует с ОС
2) Уровень профиля: минимальный набор API для небольших устройств
3) Уровень MIDP: содержит API Java
Книга J2ME: полный справочник
ВОПРОСЫ
1) У каждого телефона есть ОС? Если нет, то что делает первый слой в этом случае?
2) Что такое API для небольших устройств?
3) MIDP сам по себе является профилем, что означает, что он должен быть на втором уровне, тогда почему он находится на третьем уровне?
2 ответа
Конфигурации и профили являются основными элементами, составляющими модульную конструкцию J2ME. Эти два элемента обеспечивают поддержку множества устройств, которые поддерживает J2ME. Конфигурация J2ME определяет минимальную платформу Java для семейства устройств. Члены данного семейства имеют одинаковые требования к памяти и вычислительной мощности.
Конфигурация - это действительно спецификация, которая идентифицирует доступные средства уровня системы, такие как набор функций языка Java, характеристики и возможности виртуальной машины и минимальные поддерживаемые библиотеки Java.
Разработчики программного обеспечения могут ожидать, что определенный уровень поддержки системы будет доступен для семейства устройств, которые используют конкретную конфигурацию.
Конфигурация также определяет минимальный набор функций для категории устройств. Производители устройств реализуют профили, чтобы предоставить реальную платформу для семейства устройств, обладающих возможностями, которые задает данная конфигурация. Другой строительный блок J2ME, профиль, определяет интерфейс прикладного уровня для определенного класса устройств. Реализация профиля состоит из набора библиотек классов Java, которые предоставляют этот интерфейс уровня приложения. Таким образом, профиль теоретически может указывать все виды функциональности и услуг.
Это не намерение его создателей, как бы то ни было. Создатели J2ME намерены, чтобы профиль отвечал потребностям конкретной категории устройств или вертикального рынка, относящихся к этой категории устройств. Идея не в том, чтобы поместить в профиль множество несвязанных функций прикладного уровня. Скорее, главная цель состоит в том, чтобы гарантировать совместимость, которая не обязательно подразумевает совместимость между реализациями разных производителей, между всеми устройствами одной и той же категории или семейства вертикальных рынков, чтобы определить стандартную платформу для разработки приложений Java.
Например, профиль может поддерживать средство сетевой связи для популярного стандарта службы коротких сообщений (SMS), широко используемого мобильными телефонами. Поскольку стандарт SMS является повсеместной функцией мобильной телефонии, имеет смысл определить эту услугу в профиле, предназначенном для мобильных телефонов, а не встраивать его в конфигурацию.
Профиль реализован поверх конфигурации, на один шаг ближе к реализации реальных приложений.
Как правило, профиль включает библиотеки, которые более специфичны для характеристик категории устройств, которые они представляют, чем библиотеки, которые содержат конфигурации.
Затем приложения строятся поверх конфигурации и профиля; они могут использовать только библиотеки классов, предоставленные этими двумя низкоуровневыми спецификациями. Профили могут быть построены друг на друге. Однако реализация платформы J2ME может содержать только одну конфигурацию.
На рисунке 1.1 показаны концептуальные уровни, составляющие платформу J2ME.
До сих пор эти понятия конфигураций, профилей и определений платформы были несколько абстрактными. В следующем разделе дается более конкретное описание характеристик реальной среды. Конфигурации и профили Конфигурация задает три основных элемента:
• набор функций языка программирования Java
• набор функций виртуальной машины Java
• набор поддерживаемых библиотек Java и интерфейсов прикладного программирования (API)
Надеюсь, это поможет вам понять архитектуру J2ME.
Ответы таковы:
- Да, у каждого телефона есть операционная система.
- API для небольших устройств (мобильных телефонов) зависит от загруженной в устройство операционной системы.
- MIDP состоит из библиотек, поэтому он находится на третьем уровне, как показано на рисунке выше в ответе Саджида.