Mariusz Fraś. Instytut Informatyki. olitechnika Wrocławska. Systemy Wbudowane. Platforma Java dla systemów wbudowanych. Dr inż. Mariusz Fraś.



Podobne dokumenty
Autor : Mateusz Kupczyk

Piotr Orzechowski. Technologie Biznesu Elektronicznego

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Programowanie aplikacji na urządzenia mobilne

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Elektroniczna Legitymacja Studencka jako narzędzie wielofunkcyjne Oberthur Technologies

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Openbox AS1 HD CXCI+ Dual Core Android, Kodi

Wprowadzenie do J2ME

M-biznes: Mobile Business. Realizacja aplikacji mobilnych w języku Java. Typy urządzeń przenośnych. Przykłady zastosowań

Programowanie obiektowe zastosowanie języka Java SE

Podstawowe zagadnienia

Openbox AS1 HD CXCI+ Dual Core Android, Kodi

ZAPOZNANIE SIĘ Z TWORZENIEM

Nowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)

Programowanie w języku Java

Tomasz Grześ. Systemy zarządzania treścią

TECHNOLOGIE INFORMACYJNE

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

HomeNetMedia - aplikacja spersonalizowanego dostępu do treści multimedialnych z sieci domowej

Dekoder Vu+ SOLO 4K Super Cena!!!

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Java technologia prawdziwie mobilna

Dekoder 4K Enigma 2 VU+ UNO 4K SE DVB-S2X

Programowanie obiektowe. Wprowadzenie

Android - wprowadzenie. Łukasz Przywarty

>>> Techniki rozbudowy systemów wbudowanych >>> Biblioteki wspomagające rozbudowę systemów wbudowanych. Name: Mariusz Naumowicz Date: 29 maja 2019

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

Dekoder Vu+ SOLO 4K Super Cena!!!

PROFESJONALNE USŁUGI BEZPIECZEŃSTWA

USB HYBRID TV STICK. Instrukcja obsługi. Watch & record Digital TV & Analog TV programs on Your PC! MT4153

Język Java i technologie Web - opis przedmiotu

1. Wstęp. 2. Metodyki tworzenia aplikacji mobilnych

Naziemna telewizja cyfrowa w Europie i Polsce

Czym jest technologia Bluetooth?

INTERNET - Wrocław Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

serwisy W*S ERDAS APOLLO 2009

Przywracanie ustawień fabrycznych

TECHNIKI SATELITARNE A RADIOFONIA I TELEWIZJA Foresight sektora kosmicznego w Polsce. Dr Karol Jakubowicz

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

Cloud Customers Relationships Wymagania wersja systemu:

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

Dla klientów biznesowych Microsoft przygotował dwie wersje systemu Windows Vista, w zależności od wielkości i skali działalności organizacji:

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1

interaktywny odbiór, tj. włączenie napisów w różnych językach oraz przełączenia języka ścieżki audio;

WPROWADZENIE DO JĘZYKA JAVA

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Fundusze Europejskie dla rozwoju innowacyjnej gospodarki Dotacje na innowacje Inwestujemy w Waszą przyszłość Bydgoszcz, r.

System dystrybucji treści w interaktywnej telewizji publicznej itvp. Cezary Mazurek Poznańskie Centrum Superkomputerowo-Sieciowe

Agata Gałecka, Martyna Sikorska, Tomasz Cebula. 28 kwietnia 2009

OSGi Agata Hejmej

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect

Android, wprowadzenie do SDK

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Mariusz Fraś. Instytut Informatyki. olitechnika Wrocławska. Systemy wbudowane. Systemy Wbudowane. Dr inż. Mariusz Fraś. Konsultacje C-3, 301

Komputery przemysłowe i systemy wbudowane

Fundusze Europejskie dla rozwoju innowacyjnej gospodarki Dotacje na innowacje Inwestujemy w Waszą przyszłość Bydgoszcz, r.

Android ios Windows Mobile J2ME czyli Java 2 Micro Edition,

Windows XP. Procesor Pentium II/AMD 233 MHz lub szybszy

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Komunikacja i wymiana danych

Dokumentacja techniczna

1 Wprowadzenie do J2EE

SPECYFIKACJA TECHNICZNA OPROGRAMOWANIA

Seria i7-n9500. Uwagi: 1.Urządzenia NVR są dostarczane bez dysków HDD 2.Należy używać dysków HDD zalecanych przez producenta.

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.

Windows Mobile. Andy Wigley, Daniel Moth, Peter Foot, Microsoft Mobile Development Handbook, Microsoft Press 2007

/wpisać: model, symbol, producent urządzenia/

Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Aktualizacja środowiska JAVA a SAS

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Instrukcja obsługi programu. BlazeVideo HDTV Player v6

OPROGRAMOWANIE KEMAS zbudowane jest na platformie KEMAS NET

Usługi mobilne ipko biznes

Inteligentny czujnik w strukturze sieci rozległej

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

S.L.J. ELEKTRONIK. Tuner cyfrowy. Opticum HD Sloth S1. z POLSKIM menu! Tuner do TV satelitarne

System komputerowy. System komputerowy

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Worry-Free Business Security Standard Edition i Advanced Edition Service Pack 1 Wymagania systemowe

Rozwiązania internetowe iplanet

ERDAS ADE Suite edytor baz danych Oracle Spatial

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Ogłoszenie o zamówieniu w trybie przetargu 1

Transmisja danych multimedialnych. mgr inż. Piotr Bratoszewski

Technologia ProStreamer

Min. 256 GB, dysk półprzewodnikowy SSD, złącze M.2.

Certyfikaty firmy Sun. Ścieżka certyfikacyjna dla Javy Egzamin SCJP

Przetwarzanie danych w chmurze

KROK W STRONĘ OMNICHANNEL. TERMINALE POS I PIN-PADY W OFERCIE ecard

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

ADB Hybrydowy odbiornik HD P P P P P. Panel przedni. Panel tylny. Widok z góry. Pilot RC258. Akcesoria. Zasilacz.

Wirtualizacja. Piotr Sikora Tomasz Ziółkowski

Transkrypt:

Systemy Wbudowane Dr inż. Platforma Java dla systemów wbudowanych maf 1

Platforma Java 2 dla SW Java VM J2SE Java 2 Standard Edition Podstawowe środowisko rozwojowe i uruchomieniowe aplikacji i apletów dla urządzeń typu PC Linux, Macintosh, Solaris, Windows i inne oraz SW Sparc, IA32, AMD64/EM64T (Solaris, Linux, Windows) Power PC (Linux, XP-embedded) ARM, MIPS (Linux, Windows CE) J2ME Java 2 Micro Edition Środowisko dla aplikacji dla systemów wbudowanych (przemysłowych i powszechnego użytku) Ograniczone zasoby Zmniejszona funkcjonalność Niezawodność oprogramowania Przeznaczenie: urządzenia informacyjne z funkcjami komunikacji Appl. VM API Mobilne urządzenia informacyjne (telefonia mobilna, PDA,...) Stacjonarne urządzenia informacyjne (set-top-boxy, terminale w handlu detalicznym, systemy telematyki pojazdowej,...) VM OS Hardware maf 2

Platforma Java 2 dla SW Platformy Java 2 Architektura Model działania aplikacji Komponenty platformy: konfiguracje, profile i pakiety opcjonalne VM + biblioteki klas API Optymalizacja dla klas i kategorii urządzeń m.in. ze względu na: pamięć moc obliczeniowa podzespoły we/wy Java 2 Enterprise Edition Java 2 Standard Edition CDC CLDC Java 2 Micro Editiom Java Card HotSpot JVM KVM Card VM maf 3

Platforma Java 2 dla SW Konfiguracja (ang. Configuration) Element platformy Javy dla klasy urządzeń o podobnych zasobach sprzętowych Definiuje język programowania Javy, wymagane własności maszyny wirtualnej i minimalny zbiór bibliotek Javy dla konkretnej klasy urządzeń Określa składowe: Maszyna wirtualna Rdzeniowe biblioteki klas Obecnie 2 konfiguracje standardowe J2ME CDC (Connected Device Configuration) Klasa urządzeń o większych zasobach CLDC (Connected Limited Device Configuration) Klasa urządzeń o mniejszych zasobach bazowe API Optional packages Profile(s) Configuration Libs VM Host Operating System maf 4

Profil (ang. Profile) Platforma Java 2 dla SW Element platforma Javy definiujący kompletne środowisko programowe dla urządzeń danej kategorii Uwzględnia specyficzne własności urządzeń np. możliwości interfejsu, specyficzne funkcje (np. sieciowe), itp. Określa model aplikacji cykl życia Definiuje specyfikację API (bibliotekę klas) Tworzony na bazie konkretnej konfiguracji Zawężenie specyfikacji konfiguracji Rozszerzenie funkcjonalności o biblioteki specyficzne dla danej kategorii urządzeń Profile standardowe CDC Foundation Profile Personal Basis Profile Personal Profile Inny przykład: profile MHP Optional packages Profile(s) Configuration Libs VM Host Operating System maf 5

Platforma Java 2 dla SW Pakiety opcjonalne Te elementy Java, które mogą, ale nie muszą być dostępne w danym urządzeniu Definiują dodatkowe API specyficzne dla danej technologii Usługi multimedialne, bezprzewodowe, dostępu do danych, webowe, itp. Np.: JDBC (Java Database Connectivity) Opt. Pack. Location API for Java ME Alternatywne GUI - - HAVi (Home A-V Interoperability) - - AGUI (Advanced GUI) Optional packages Profile(s) Configuration Libs VM Host Operating System maf 6

Platforma Java 2 dla SW Komponenty platformy Java 2 Przykład środowiska wykonawczego Javy dla SW konfiguracja + profile + pakiety opcjonalne = JRE CDC CLDC Foundation Profile Personal Basis Profile Personal Profile inne profile... Relacja CDC, CLDC J2SE Klasy spoza J2SE Przestrzeń nazw spoza java.* J2SE RMI Opt. Pack. JDBC Opt. Pack. inne pakiety... CDC CLDC JRE poza java.* maf 7

Platforma Java 2 dla SW Implementacja Java VM w systemach wbudowanych Warstwa aplikacyjna Oprogramowanie systemowe Sprzętowo Natywne wykonywanie Java bytecode ajile Systems aj-100, aj-200 J2ME/CLDC, J2ME/CDC Foundation Profile Application Layer Java VMMariusz Software Layer Hardware Layer Application Layer Java VM Software Layer Hardware Layer Application Layer Software Layer Fraś Java Dev. Drivers Java Processor Hardware Layer maf 8

Konfiguracje J2ME Konfiguracja CLDC Sprzęt (CLDC 1.0) (JSR30) 16/32 bitowe Min. 160 kb RAM 128kB pam. nieulotnej + 32kB pamięci ulotnej Niezbyt wydajny procesor (16MHz/50MHz) CLDC 1.1 (JSR139) Min. 192KB RAM: 160kB pam. nieulotnej + 32kB pamięci ulotnej API Część klas (nie całość): java.lang.*, java.util.*, java.io.* javax.microedition.io Funkcje sieciowe (networking) interfejsy, bez impl. protokołów Lokalizacja Mechanizmy zabezpieczeń (security) Nie ma: Obsługi interfejsu Mechanizmy instalacji i zarządzania cyklem aplikacji Obsługi zdarzeń maf 9

Konfiguracje J2ME Konfiguracja CLDC KVM (Kilobyte VM) Usunięte mechanizmy zasobożerne Brak: Loaderów klas definiowanych przez użytkownika Grup wątków i wątków demonów Finalizacji instancji klas Wyjątków asynchronicznych Mniejszy zbiór Error Classes CLDC 1.1 dodano m.in.: Wsparcie dla operacje zmiennoprzecinkowych Rozszerzenia dla klas wątków Część klas zaktualizowano dla większej kompatybilności z J2SE 40 80 KB CLDC HotSpot Implementation Podstawowe profile MIDP (Mobile Information Device Profile) 1.0, 2.0, 2.1, 3.0 IMP (Information Module Profile) Optional Packages MIDP/IMP CLDC KVM maf 10

Konfiguracja CLDC Konfiguracje J2ME CLDC HotSpot Implementation Implementacja 1.1.2 Polepszona wydajność Ahead-of-time (AOT) In-place execution (obrazy wykonywalne aplikacji) Redukcja pauz (poprawa kompilacji i garbage collection) Wielozadaniowość Integracja z Java hardware acceleration na procesory ARM (Jazelle) Podstawowe profile MIDP (Mobile Information Device Profile) 1.0, 2.0, 2.1, 3.0 IMP (Information Module Profile) IMP-NG (IMP Next Generation) maf 11

Środowisko Technologie Java ME Java Card JTWI (Java Technology for the Wireless Industry)... Java for Mobile Devices MSA (Mobile Service Architecture) Na bazie CLDC Connected Limited Device Configuration) MIDP (Mobile Information Device Profile) WMA (Wireless Messaging API), MMA (Mobile Media API), Wymagania Wyświetlacz: 128x128x16bit Stos dostępny dla aplikacji min. 1MB (powinno 2MB) Funkcje sieciowe (określone przez biblioteki) maf 12

Java for Mobile Devices MSA Mobile Service Architecture Moduły Obowiązkowe Warunkowe Podzbiór MSA 8 modułów Stos MSA 8 modułów podzbioru MSA + pozostałe maf 13

Java for Mobile Devices MSA moduły podstawowe Specyfikacja JSR 139 Connected Limited Device Configuration JSR 118 Mobile Information Device Profile (MIDP) Konfiguracja architektury Podstawowe API aplikacji Opis JSR 135 Mobile Media API (MMAPI) Obsługa mediów (audio, wideo) JSR 184 Mobile 3D Graphics API for J2ME JSR 226 Scalable 2D Vector Graphics API for J2ME Grafika 3D Grafika wektorowa 2D JSR 205 Wireless Messaging API 2.0 Obsługa SMS i MMS JSR 82 Java APIs for Bluetooth JSR 75 PDA Optional Packages for the J2ME Platform Bluetooth API OBEX API - wymiana różnych obiektów (obrazy, pliki, ) Dostęp do systemu plików Dostęp do Personal Information Management maf 14

MSA moduły pozostałe Specyfikacja JSR 238 Mobile Internationalization API JSR 172 J2ME Web Services Specification JSR 177 Security and Trust Services API for J2ME JSR 179 Location API for J2ME JSR 180 SIP API for J2ME JSR 211 Content Handler API JSR 234 Advanced Multimedia Supplements Java for Mobile Devices Lokalizacja aplikacji Opis Parsowanie XML i dostęp do podst. usług Webowych (Web Services JAX RPC) Usługi kryptograficzne, PKI, obsługa Smart Cards Technologia dostępu do informacji o lokalizacji Protokół nawiązywania połączeń multimedialnych opartych o IP JSR 229 Payment API Uruchamianie aplikacji na podstawie typu kontentu Zaawansowana obsługa multimediów Mechanizmy obsługi płatności maf 15

Java for Mobile Devices Przykłady urządzeń wspierających MSA Nokia 5310 XpressMusic MSA subset device + JSR172 (WS) + JSR211 CH Nokia 6301 MSA subset device + kilka JSR Sony Ericsson K850 Pełne MSA + kilka JSR (np. JSR256 Mobile Sensor API) maf 16

Java Embedded 2 środowiska na bazie CDC (J2 SE Emb.) oraz CLDC (J2 ME Emb.) Dla systemów zamkniętych Specjalizowane JVM Oprogramowanie w pamięci Flash (nie można zmieniać aplikacji) Kod zawiera tylko to co niezbędne maf 17

Konfiguracja CDC Urządzenia Konfiguracje J2ME 32 bitowe procesory większej mocy 2-16MB RAM 2,5MB ROM Zastosowania: fixed purpouse Industrial automation Field service automation Office equipment mobile stationary Telematics VoIP Personal mobile devices Set-Top- Boxes general purpouse maf 18

Konfiguracje J2ME Konfiguracja CDC API java.lang bez Compiler i UknownException java.util prawie cały java.net UDP (bez socketów i HTTP) java.io prawie cały java.text częściowo java.security częściowo java.microedition.io Nie ma obsługi interfejsu (!) CVM standardowa JVM Przystosowana do mniejszych zasobów urządzeń CDC HotSpot CDC nie implementuje pełnej funkcjonalności J2SE resztę funkcjonalności zapewniają: Foundation Profile Personal Basis Profile Personal Profile Optional Packages Personal Basis Profile Foundation Profile CDC CVM Personal FraśProfile Mariusz maf 19

Profile CDC Profile standardowe Foundation Profile - dla aplikacji wymagających pełnej implementacji wirtualnej maszyny (w tym J2SE API) Rdzeniowa biblioteka Javy: java.lang - pełne java.lang.* z J2SE java.util - pełne wsparcie dla reszty narzędzi J2SE (np. zip, timer) java.net - gniazda TCP/IP oraz protokół HTTP java.io - pełne java.io.* z J2SE java.security.text - pełne java.text.* z J2SE java.security - dodaje podpisywanie kodu oraz certyfikaty Nie ma obsługi interfejsu Biblioteka CLDC 1.1 Personal Basis Profile Foundation Profile Wsparcie dla Xlet ów (java.microedition.xlet) Lekkie komponenty GUI maf 20

Profile CDC Profile standardowe (c.d.) Personal Profile Foundation Profile Wsparcie dla Applet ów i Xlet ów Prawie pełne wsparcie AWT Pakiety opcjonalne dla profili CDC RMI (Remote Method Invocation) Opt. Pack. JDBC (Java Database Connectivity) Opt. Pack. Security Opt. Pack. JCE (Java Cryptography Extention) JSSE (Java Secure Socket Extention) JAAS (Java Authentication & Authorization Service) AGUI (Advanced GUI) Opt. Pack. Zmodyfikowana implementacja Swing Technologia Java 2D WS (Web Services) Opt. Pack. maf 21

DTV (Digital TV) Poprawa jakości emisji Telewizja cyfrowa Zwiększona niezawodność oraz odporność na zakłócenia Lepsze wykorzystanie pasma przesyłowego w danym kanale większa liczba programów Skupienie usług w multipakiety w jednym medium rozsiewczym telewizja cyfrowa, radio, Internet Dodatkowe usługi (w tym z usługi interaktywne), takie jak: automatyczne wyszukiwanie programów; EPG czyli Elektroniczny Przewodnik po Programach dający możliwość sprawdzenia kolejnych pozycji programowych z uwzględnieniem jej stanu zaawansowania; wiele kanałów dźwiękowych z różnymi wersjami językowymi i możliwością wyboru wersji językowej oglądanego programu; kodowanie kanałów w celu ograniczenia kręgu odbiorców (telewizja płatna) programy i usługi interaktywne; kontrola rodzicielska, maf 22

Telewizja cyfrowa DVB (Digital Video Broadcasting) DVB-T (ang. Terrestrial) naziemna telewizja cyfrowa DVB-S (ang. Satellite) satelitarna telewizja cyfrowa DVB-C (ang. Cable) kablowa telewizja cyfrowa DVB-H (ang. Handheld) komórkowa telewizja cyfrowa maf 23

Akceptacja standardu DVB maf 24

Model usług Architektura DVB DTV Interaktywność lokalna bez kanału zwrotnego Interaktywność jednokierunkowa odbiór informacji od użytkownika Interaktywność dwukierunkowa dwukierunkowa komunikacja maf 25

Set-Top-Box (STB) Wymagania sprzętowe Urządzenia dla TV cyfrowej Procesor [MHz] RAM [MB] ROM [MB] Podstawowy STB 30 1-2 1-2 Typowy odb. firmowy (OpenTV) 50 4-8 4 EB Profile 80-130 8-16 4 IB Profile 80-130 8-16 8 IA Profile 150-200 16-32 16 maf 26

Oprogramowanie dla urządzeń TV cyfrowej Oprogramowanie pośredniczące (ang. Middleware) Warstwa pomiędzy oprogramowaniem systemowym (RTOS) a warstwą aplikacji Dostarcza API Platformy systemowe Firmowe: OpenTV Core (OpenTV) MediaHighway (Canal+) Microsoft TV (Microsoft) PowerTV NDS Core (NDS) Otwarte MHP (Multimedia Home Platform) OCAP (Open Cable Application Platform) MHEG (Multimedia and Hypermedia Experts Group) Java TV maf 27

Standard MHP Akceptacja standardu Europa: naziemna DTV - EU, satelitarna i kablowa - różnie Świat, 2005 rok maf 28

Standard MHP MHP Multimedia Home Platform Otwarta platforma wykonawcza dla cyfrowej i interaktywnej TV Standard oprogramowania w telewizji cyfrowej Oparta na Java VM API dla Javy (DVB-J) i HTML (DVB-HTML) Zestaw testów kompatybilności Standardy MHP 1.0.x (1.0.3) pierwotny MHP 1.1.x (1.1.3) rozszerzenia 1.0.x: DVB-HTML, klienckie usługi Internetowe (profil Internetowy, HD Video,... ) MHP 1.2.x (1.2.2) dalsze rozszerzenia: profil IPTV, aplikacje niezwiązane, adaptery funkcji spoza middleware GEM (Globaly Extended MHP) Podzbiór MHP Baza dla standardów platform DTV (np. OCAP, ACAP) PVR for MHP dodaje funkcjonalność PVR dla platformy MHP maf 29

Enhanced Broadcast Profile Podstawowy profil MHP Systemy rozsiewcze bez kanału zwrotnego Apl. interaktywne lokalnie Interactive Broadcast Profile Nadzbiór EBP Dwukierunkowy kanał zwrotny do nadawcy Internet Access Profile Nadzbiór IBP Aplikacje rezydentne z funkcjami dostępu do usług Internetowych Profile MHP IAP IBP EBP + Java API i protokoły dla kanału zwrotnego (HTTP 1.0, DNS, HTTPS) opcja: HTTP 1.1, DSMCC-UU DVB Java APIs Podstawowe media: (MPEG, GIF, JPEG, PNG, etc.) Broadcast transport protocols MHP 1.0.x + Java Internet client APIs + Web browser & email client + DVB-HTML (opcja) + DVB-HTML (opcja) + pobieranie aplikacji przez HTTP + inne + Trwałe składowanie aplikacji + Smart card APIs MHP 1.1.x maf 30

Aplikacje platformy MHP Specyfika środowiska wykonawczego Niezawodność i odporność aplikacji Ograniczone zasoby środowiska pamięć, CPU brak myszki, klawiatury ogranicz. liczba klawiszy funkcyjnych ograniczone pasmo transportowe dla aplikacji (256 Kb/s) Możliwość utraty zasobów Możliwość niezależnego wstrzymania aplikacji Specyficzny interfejs wyjściowy wsp. kształtu pikseli 1:1 różny wsp. kształtu wyświetlacza (4:3, 16:9, 14:9) overscan (5%) przeplot warstwy wyświetlanych elementów zestrajanie ognisko dla jednego komponentu graficznego w danej chwili Wspomaganie dla aplikacji przechowywanych lokalnie oraz ściąganych z kanału transportowego maf 31

Typy aplikacji MHP Aplikacje platformy MHP Aplikacje powiązane z serwisem (service-bound app.) Związane z serwisem (kanałem TV), grupą serwisów lub tzw. zdarzeniem serwisu (emitowanym programem) Aplikacje niepowiązane (unbound app.) Usługi ponadserwisowe (np. aplikacje typu EPG) Nie w starym MHP tam: sygnalizowanie aplikacji każdemu serwisowi w sieci Aplikacje osadzane (stored app.) Lokalnie składowane Szybciej uruchamiane Aplikacje wbudowane (built-in app.) Składowane lokalnie w procesie produkcji Można wybrać do uruchomienia Aplikacje systemowe (system app.) Niewidoczne dla użytkownika nie można wybrać do uruchomienia Aplikacje natywne (native app.) maf 32

Aplikacje platformy MHP Parametry uruchomieniowe aplikacji MHP Niezbędne informacja dla STB aby uruchomić aplikację Nazwa i identyfikator aplikacji Wersja aplikacji Status aplikacji (sposób startu) Priorytet aplikacji Nazwa klasy głównej aplikacji Lokalizacja plików aplikacji Lokalizacja pewnych zasobów dla aplikacji ID aplikacji = ID organizacji + ID wewnętrzny aplikacji Status aplikacji Status Kod Znaczenie AUTOSTART PRESENT DESTROY KILL PREFETCH REMOTE 0x01 0x02 0x03 0x04 0x05 0x06 Start automatyczny. Po usunięciu można uruchomić ręcznie. Start manualny. Po zamianie z AUTOSTART lub PRESENT warunkowe zakończenie aplikacji. Bezwarunkowe zakończenie aplikacji. DVB-HTML przygotowanie aplikacji do stanu Active Aplikacja niedostępna w danym serwisie. Będzie dostępna po wybraniu odpowiedniego serwisu maf 33

Aplikacje platformy MHP DVB-J API Core Java restrykcje i pominięcia podzbiór DVB: JDK 1.1.8, elementy 1.2, elementy pjava 1.2 HAVi Level 2 GUI interfejs graficzny JMF 1.0 API obsługa strumieni medialnych (audio, video,...) Java TV 1.0 API podzbiór DVB pakiety adresujące różne elementy itv (obsł. serwisów, lokalizacja) podstawowy interfejs aplikacji - Xlet JSSE (Java Security Socket Extention) API Rozszerzenia DVB i DAVIC obsługa zdarzeń, system plików, rozszerzenia JMF, obsługa MPEG, informacje serwisowe, dostęp warunkowy,... Specyfikacja ETSI TS 101 812 V1.3.1: Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.0.3 ETSI TS 102 812 V1.3.1: Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.1.3 ETSI TS 102 727 V1.1.1: Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.2.2 maf 34

Aplikacje platformy MHP Przykłady Przewodnik programowy Interaktywna gra. ARD, Niemcy. maf 35

Przykłady Aplikacje platformy MHP Interaktywna gra karciana. ORF, Austria. Apl. FIFA 2006 World Cup. RAI UNO, Italia. maf 36