Кіріспе

Java Platform, Micro Edition немесе Java ME – мобильді және кіріктірілген құрылғылар (микроконтроллерлер, сенсорлар, шлюздер, ұялы телефондар, жеке цифрлық көмекшілер, теледидарға қосылатын құрылғылар, принтерлер) үшін тасымалдамалы кодты әзірлеу және орналастыруға арналған есептеу платформасы. Java ME бұрын Java 2 Platform, Micro Edition немесе J2ME деп аталған. Платформа объектіге бағытталған Java бағдарламалау тілін пайдаланады және Java бағдарламалық платформалар отбасының бір бөлігі болып табылады. Ол Sun Microsystems (қазір Oracle Corporation) компаниясымен әзірленген және оған ұқсас PersonalJava технологиясын ығыстырған. 2013 жылы нарықта Java ME қолдауы бар 3 миллиардтан астам ұялы телефон болған кезде, смартфондар қарапайым телефондарды озып кеткендіктен, платформаның төмендеуі жалғасты.

Тарих

Бұл платформа бұрын Nokia Series 40 сияқты қарапайым телефондарда танымал болған. Ол сондай-ақ Bada операциялық жүйесінде және Symbian OS-де, сонымен қатар жергілікті бағдарламалық қамтамасыз етумен бірге қолдау көрсетілді. Windows CE, Windows Mobile, Maemo, MeeGo және Android пайдаланушылары Java ME-ді тиісті орталарына жүктеп алуға болатын ("Android үшін концепцияның дәлелі"). Бастапқыда Java Community Process аясында JSR 68 ретінде әзірленген Java ME-нің әртүрлі нұсқалары бөлек JSR-лерге дамыды. Java ME құрылғылары профильді қолданады. Олардың ең көп таралғандары – ұялы телефондар сияқты ұялы құрылғыларға арналған Мобильді ақпараттық құрылғылар профилі (Mobile Information Device Profile) және тұтыну тауарлары мен кіріктірілген құрылғыларға, мысалы, телеприставкалар мен жеке ұйымдастырушыларға (PDA) арналған Жеке профиль (Personal Profile). Профильдер – конфигурациялардың ішкі жиындары, олардың қазіргі уақытта екеуі бар: Қосылған шектеулі құрылғы конфигурациясы (CLDC) және Қосылған құрылғы конфигурациясы (CDC). 2008 жылы Java ME платформалары JRE 1.3 мүмкіндіктерімен шектелді және осы нұсқадағы сынып файлдарының форматын пайдаланды (ішкі түрде 47.0 нұсқасы ретінде танылды).

Қолданылу

Oracle спецификацияның эталондық нұсқасын, сондай-ақ MIDP және CDC үшін бірнеше конфигурациялар мен профильдерді ұсынады. JavaME 3.0 SDK нұсқасынан бастап, NetBeans негізіндегі IDE оларды бір IDE-де қолдады. Sun серверлер мен жұмыс станциялары үшін Java Platform-ның көптеген екілік нұсқаларын жасағанмен, Java ME платформалары үшін екілік файлдарды ұсынбады, оның орнына үшінші тараптардың өз нұсқаларын жасауына мүмкіндік берді. Бұл ретте Palm OS үшін MIDP 1.0 JRE (JVM) болды. Sun "Капитан Америка" кодолық атымен белгілі PersonalJava-ның ішкі нұсқасын шығару туралы ашық хаттарға қарамастан, Microsoft Windows Mobile (Pocket PC) құрылғылары үшін J2ME JRE ұсынбады. Windows Mobile өндірушілері үшін үшінші тараптың нұсқалары кеңінен қолданылады. Бір кезде Sun phoneME деген атпен эталондық нұсқаны шығарды, бірақ ол қазір қолданылмайды. Java ME-ге бағытталған операциялық жүйелерді DoCoMo DoJa түрінде, ал SavaJe SavaJe OS түрінде жүзеге асырды. Соңғы компанияны Sun 2007 жылдың сәуір айында сатып алды, ол қазір Sun-ның JavaFX Mobile негізін құрайды. Ашық кодты Mika VM JavaME CDC/FP-ді жүзеге асыруға бағытталған, бірақ ол сертификатталған жоқ (сертификатталған нұсқалар үшін роялти төлеу қажет, бұл ашық кодты жоба үшін тиімсіз). Осы нұсқаны қолданатын құрылғылар JavaME CDC үйлесімділігін талап ете алмайды. Linux негізіндегі Android операциялық жүйесі Java-ның меншік нұсқасын пайдаланады, ол мақсаты жағынан Java ME-ге ұқсас болғанымен, көптеген аспектілерде ерекшеленеді.

Қосылған шектеулі құрылғы конфигурациясы

Connected Limited Device Configuration (CLDC) Java сынып кітапханаларының қатаң шектеулі жиынтығын қамтиды және Java виртуалды машинасының жұмыс істеуі үшін қажетті ең төменгі көлем. CLDC негізінен, сан алуан құрылғыларды белгілі бір конфигурацияға жіктеуге арналған. Конфигурация J2ME ортасының кез келген нұсқасында міндетті түрде болуы тиіс кітапханалар мен виртуалды машина мүмкіндіктерінің ең қарапайым жиынтығын ұсынады. Бір немесе бірнеше профильдермен үйлесімде, Connected Limited Device Configuration әзірлеушілерге тұтынушылық және кіріктірілген құрылғыларға арналған қосымшаларды жасауға мүмкіндік беретін сенімді Java платформасын ұсынады. Конфигурация 160КБ-тан 512КБ-қа дейінгі жалпы жады көлеміне ие құрылғылар үшін жасалған, оның ішінде Java платформасы үшін кемінде 160КБ ROM және 32КБ RAM болуы керек.

Ұялы ақпараттық құрылғы профилі

Мобильді телефондарға арналған Мобильді ақпараттық құрылғы профилі графикалық интерфейс, деректерді сақтау API және MIDP 2.0 негізгі 2D ойын API-ін қамтиды. Осы профиль үшін жазылған қосымшалар MIDlets деп аталады. JSR 271: Мобильді ақпараттық құрылғы профилі 3 (2009 жылғы 9 желтоқсанда түпкілікті нұсқасы шығарылды) барлық салалардағы мүмкіндіктерді кеңейтіп, құрылғылар арасындағы өзара үйлесімділікті жақсарту мақсатымен үшінші буын Мобильді ақпараттық құрылғы профилін (MIDP3) белгіледі. MIDP3-тің басты жобалау мақсаты – MIDP2 мазмұнымен кері үйлесімділікті қамтамасыз ету.

Ақпараттық модульдің профилі

Ақпараттық модуль профилі (IMP) – дисплейі қарапайым немесе мүлдем жоқ, сондай-ақ желіге шектеулі қосылуы бар автоматтар, өнеркәсіптік кіріктірілген қолданбалар, қауіпсіздік жүйелері сияқты кіріктірілген, "бассыз" құрылғылар үшін жасалған профиль. Алғашқыда Siemens Mobile және Nokia компаниялары JSR 195 ретінде ұсынған IMP 1.0, MIDP 1.0-ның қатаң кіші жиынтығы болып табылады, бірақ ол пайдаланушы интерфейсі API-лерін қамтымайды, яғни Java javax.microedition.lcdui пакетін қолдамайды. JSR 228, сондай-ақ IMP NG деп белгілі, MIDP 2.0 негізінде құрылған IMP-нің келесі буыны болып табылады, MIDP 2.0-ның жаңа қауіпсіздік және желілік типтері мен API-лерін, сондай-ақ PushRegistry және platformRequest сияқты басқа API-лерді пайдаланады, бірақ бұл ретте де UI API-лері мен ойын API-сі қамтылмайды.

Қосылған құрылғыны баптау

Қосылған құрылғылар конфигурациясы – GUI-ға қатысы жоқ дерлік барлық кітапханаларды қамтитын Java SE-нің бір бөлігі. Ол CLDC-ден мүмкіндіктері жағынан артық.

Қордың профилі

Foundation Profile – Java ME Connected Device Configuration (CDC) профилі. Бұл профиль, Java Platform, Standard Edition API-ын қоса алғанда, Java виртуалды машинасының толыққанды іске асырылуын қажет ететін құрылғылар үшін арналған. Типтік іске асырулар, қолдау көрсетілетін қосымша профильдерге байланысты, осы API жиынтығының бір бөлігін ғана қолдануы мүмкін. Бұл сипаттама Java Community Process бағдарламасы аясында әзірленді.

Жеке негіздің профилі

Жеке негізгі профиль негізгі профильді AWT кіші жиынтығы түріндегі жеңіл GUI қолдауымен толықтырады. BD J осы платформаның негізінде құрылған.

Қор

JSR #NameDescription 68J2ME Platform Specification 30CLDC 1. x 37MIDP 1.0 118MIDP 2. x 139CLDC 1.1 271MIDP 3.0Java ME 3.4 және одан бұрынғы нұсқалары, Ұялы телефондар үшін соңғы спецификация, Java тілінің мүмкіндіктері Java SE 1.3 деңгейінде 360 CLDC 8 Java ME 8-де жаңа 361 MEEP 8 Java ME 8-де жаңа, Java SE 8 тілінің мүмкіндігі, «Барлық заттардың интернеті» құрылғылары үшін.

Негізгі кеңейтулер

JSR #АтауыСипаттамаMSA 75Файл қосылысы және PIM APIФайл жүйесі, контактілер, күнтізбе, істеуге тиіс 82BluetoothBluetooth тізбектік порт байланысы және файл алмасу (OBEX) 120Сымсыз хабарламалар API (WMA) 135Мобильді мультимедиа API (MMAPI)Аудио, бейне, мультимедиа 172Веб-қызметтер APIXML анализаторлары және RPC 177Қауіпсіздік және сенім қызметтері API (SATSA)APDU, Java Card RMI (JCRMI), Ашық кілт инфрақұрылымы (PKI) және криптография 179Орналасқан жер APIGPS координаттары, көше мекенжайлары, бағдаршағыш сенсорлар, белгілі орындар сақтағыштары 180SIP API 184Мобильді 3D графикасы (M3G)Жоғары деңгейлі 3D графикасы 185Сымсыз өнеркәсіп үшін Java технологиясы (JTWI)Жалпы 205Сымсыз хабарламалар API (WMA) 2.0SMS және MMS жіберу және алу 211Мазмұн иесі API (CHAPI) 226J2ME үшін кеңейтілген 2D векторлық графика API (M2G)SVG Tiny-ды өңдеу 228Ақпараттық модуль профилі Келесі буын (IMP NG) 229Төлем API 234Қосымша мультимедиалық толықтырулар (AMMS)MMAPI кеңейтімдері 238Мобильді интернационализация APIЖергілікті ресурстар, тілдік күнтізбе және сан форматтау, тілдік жолдарды салыстыру 239OpenGL ES API үшін Java байланыстары 248Мобильді қызмет архитектурасы (MSA) 253Мобильді телекоммуникация API 256Мобильді сенсор APIАкселерометрлерден, гироскоптардан, компастардан, термометрлерден, барометрлерден және тағы басқалардан мәндерді оқу 257Тікелей байланыс API 258Мобильді пайдаланушы интерфейсін бейімдеу API 272Қол ұстағыш құрылғылар үшін мобильді хабар тарату қызметі API 280Java ME үшін XML API 281IMS қызметтері API 287Java ME үшін кеңейтілген 2D векторлық графика API 2.0 293Орналасқан жер API 2.0 298Java ME үшін телематика API 300Java ME үшін DRM API 325IMS коммуникациялық мүмкіндіктері

Болашақ

JSR #NameDescription 297 Мобильді 3D графикалық API (M3G) 2.0 2009 жылғы 14 сәуірдегі ұсынылатын соңғы нұсқасы

ЭҚЖ

ESR консорциумы енгізілген Java стандарттарына арналған. Әсіресе, шығындарды тиімді етуге бағытталған стандарттар. Типтік қолданыс салалары: өнеркәсіптік басқару, машиналар аралық байланыс, медицина, электрондық есептеу, үйді автоматтандыру, тұтынушылық электроника, адам-машина интерфейсі.

ESR #NameDescription 001B ON (CLDC-ден асып түсу) B ON енгізілген Java бағдарламалық жасақтамасын жүзеге асыру үшін өте сенімді негіз болып табылады. Ол Java құрылғысының сенімді бастапқы фазасын және үш түрлі нысанды анықтайды: өзгермейтін, өлмейтін және уақытша (өлімге ұшырайтын) нысандар. 002MicroUIMicroUI кіріктірілген HMI құрылғылары үшін ашық, үшінші тараптық қолданбаларды әзірлеу ортасын қамтамасыз ететін кеңейтілген архитектураны анықтайды. Мұндай құрылғыларда әдетте дисплейдің кейбір түрі, кіріс сенсорлары және дыбысты шығару мүмкіндіктері болады. Бұл сипаттама құрылғылардың кең спектрін қамтиды. 011MWTMWT үш ерекше рөлді анықтайды: Виджеттерді жобалаушылар, сыртқы түрін жобалаушылар және қолданбаларды жобалаушылар. MWT бинарлық HMI қолданбасын MWT талаптарына сәйкес келетін барлық құрылғыларда (енгізілген құрылғылар, ұялы телефондар, теледидар приставкалары, компьютерлер және т.б.) бірдей іске қосуға мүмкіндік береді, бұл өнімдердің қатарында (ME, SE, EE) қолданбалардың тұрақтылығы мен кең таралғандығын қамтамасыз етеді. 015ECLASSPATHECLASSPATH шамамен 300 кластың API жиынтығымен CLDC, CDC, Foundation, SE және EE орындау орталарын біріктіреді. CLDC1.1/ECLASSPATH-қа компиляция жасау екілік кодты барлық Java орындау орталарында тасымалдауға мүмкіндік береді.