Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
J2ME
Marek SokołowskiSoftware Solution SpecialistSun Microsystems Poland
Platforma Java™2
Successes of Java in WirelessPhenomenal Momentum in 2004 – 2005
59%
53%
50%
24%
10%
635635
78%78%ShipmentShipment44
512 Million512 MillionUnit Shipment in 2005Unit Shipment in 200544
HandsetHandset ModelsModels11
708 Million708 Million Units Installed BaseUnits Installed Base22
140+140+Carrier Deployments WorldwideCarrier Deployments Worldwide33
Sources: 1 – Sun Microsystems, June'05 2 – Ovum, June'05 3 – Nokia, June'05 4 – Ovum, September'04
More than 7 out of 10 handsets More than 7 out of 10 handsets will ship with Java in 2005!will ship with Java in 2005!
Evolution of Java ME in WirelessMIDP, JTWI, now MSA
MSAMSACDCCDC(2007-08)(2007-08)
MSAMSACLDCCLDC(2006)(2006)
MIDPMIDPCLDCCLDC(2001)(2001)
JTWIJTWICLDCCLDC(2003)(2003)
We are hereWe are here
Dev
ice
Cap
abili
tyD
evic
e C
apab
ility
Poszerzenie możliwości środowiskaAPI udostępniające specyficzną funkcjonalność —zależne w dużej mierze od producenta platformy
Optional Package:
Definiuje środowiskoAPI udostępniające funkcjonalność specyficznej grupy urządzeń wspierających określony zbiór usług
Profile:
Definiuje maszynę wirtualną (VM)Configuration:
Każdy z elementów objęty jest odrębną specyfikacją i ewoluuje niezależnie
Elementy platformy J2ME
Każdy z elementów objęty jest odrębną specyfikacją i ewoluuje niezależnieKażdy z elementów objęty jest odrębną specyfikacją i ewoluuje niezależnie
Mobile Multimedia API
Mobile Information Device Profile
Connected Limited Device Configuration
Elementy platformy J2ME
• Connected, Limited Device Configuration (CLDC) – Najmniejsze urządzenia mobilne
• Telefony, Pagery, PDAs (małe)– 128K do 2MB razem z profilem i pakietami opcjonalnymi– Limitowane połączenie z siecią
• Connected Device Configuration (CDC)– Większe urządzenia w tym również niektóre telefony komórkowe
• TVs, PDAs(większe), Communicators, Samochody
– 2MB i więcej razem z profilem i pakietami opcjonalnymi– Połączenie również po TCP/IP
KonfiguracjeElementy platformy J2ME
Java ME Evolution • 1997-1999: PersonalJava
A monolithic J2SE subset• 1999-2002: Java ME architecture rollout
> Two configurations: CLDC and CDC> Four profiles: MIDP, FP, PP and PBP> Limited number of optional packages
• 2002-2005> One more Profile: IMP (JSR 195)> Explosion of Java ME optional packages> First attempt to control the proliferation of optional
packages with JTWI (JSR 185)> Further consolidation of Java ME optional packages in the
wireless space with MSA for CLDC (JSR 248) and MSA for CDC (JSR 249)
From JTWI to MSA• JTWI is now the base platform for Java powered
mobile phones• MSA (Mobile Service Architecture) is the follow on
to JTWI> MSA for CLDC: http://jcp.org/en/jsr/detail?id=248
● Scope: JTWI + additional JSRs● Spec leads: Vodafone and Nokia (Sun to provide RI & TCK)● Target RR: Q1 CY06
> MSA for CDC: http://jcp.org/en/jsr/detail?id=249● Scope: MSA for CLDC on CDC/FP + additional JSRs, CDC-
based application model TBD● Spec leads: Vodafone and Nokia (Sun to provide RI & TCK)● Target RR: Q2/Q3 CY06
MSA for CLDC (JSR 248) Component JSRs• JSR 185 JTWI (CLDC 1.1, MIDP 2.0, WMA 1.1, MMAPI 1.1)• JSR 075 PDA Optional Packages• JSR 082 Java APIs for Bluetooth• JSR 172 J2ME Web Services• JSR 177 Security and Trust Services API• JSR 179 Location API• JSR 180 Session Initiation Protocol• JSR 184 Mobile 3D Graphics API• JSR 205 Wireless Messaging API 2.0• JSR 211 Content Handler API• JSR 226 Scalable 2D Vector Graphics API• JSR 229 Payment API• JSR 234 Advanced Multimedia Supplements• JSR 238 Mobile Internationalization API
Profile dla CLDC• Mobile Information Device Profile (MIDP)
– Współpracuje z CLDC– Przeznaczenie: telefony komórkowe– GUI bazujące na LCDUI
• PDA Profile (PDAP)– Odwołuje się do MIDP– PDAs z mniejszą ilością pamięci– GUI bazujące na AWT
Elementy platformy J2ME
Główne możliwości CLDC/MIDP
• Connection – implementacja protokołu HTTP• RecordStore – lokalne przechowywanie
danych• LcdUI – implementacja GUI
– Highlevel API – dostęp do kontrolek GUI: pola tekstowe, listy wyboru
– Lowlevel API – bezpośredni dostęp do wyświetlacza, rysowanie pojedynczych punktów
Elementy platformy J2ME
Pakiety opcjonalne
• Mobile Multimedia API (JSR-135)– Video/Muzyka na małych urządzeniach
• Wireless Messaging (JSR-120)– Bezprzewodowa wymiana danych (SMS,
USSD, CBS)• Java™ Bluetooth APIs (JSR-82)
– Dostęp do interfejsu Bluetooth z poziomu aplikacji Java
Elementy platformy J2ME
Pakiety opcjonalne
• Location API for J2METM - JSR 179 – usługi lokalizacyjne w
ramach aplikacji J2ME
• SIP API – Session Initiated Protocol API – JSR 180 –
protokół sesji dla rozwiązań Instant Messaging i VoIP
• Mobile 3D Graphics API for J2METM - JSR 184 – 3-
wymiarowa grafika bezpośrednio na wyświetlaczu telefonu
Elementy platformy J2ME
Pakiety opcjonalne
• J2METM Web Services Specification - JSR 172 – standardowy dostęp do Web Services z poziomu aplikacji J2ME
• Event Tracking API for J2ME - JSR 190 – śledzenie zdarzeń w aplikacjach J2ME na potrzeby billingu, kolekcji danych o użyciu aplikacji itd..
• Wireless Messaging API 2.0 JSR 205 – obsługa wiadomości MMS
Elementy platformy J2ME
• Bezpieczne połączenie sieciowe
• Obsługa multimediów w standardzie
• Bogatszy graficzny interfejs użytkownika
• Game API
• Obsługa obrazów RGB
• Nowe rodzaje uprawnień i podpisywanie kodu
Nowe elementy w specyfikacji MIDP 2.0MIDP 2.0 – Co nowego?
• Standaryzacja dostępu do portu szeregowego• Standaryzacja dostępu do gniazdek sieciowych
(network sockets)• Rejestr PUSH, uruchamianie midletów w odpowiedzi
na przychodzące połączenie sieciowe• Standaryzacja procesu dostarczania aplikacji
poprzez sieć bezprzewodową (OTA, Over The Air)• Współdzielenie baz danych pomiędzy midletami
Nowe elementy w specyfikacji MIDP 2.0MIDP 2.0 – Co nowego?
Bezpieczne połączenie z siecią Internet poprzez HTTPS
String url = "https://www.cert.org/"; HttpsConnection hc = null; hc = (HttpsConnection)Connector.open(url);
InternetHTTPSHTTPS
HTTPSHTTPS
MIDP 2.0 - Szczegóły
Obsługa multimediów w standardzie – możliwość odtwarzania cyfrowego dzwięku
• Odtwarzanie tonów
• Odtwarzanie zsamplowanych dzwięków/muzyki np.: pliki typu wav, teraz mp3, mid, itd.
• Format wspieranych plików zależy od producenta telefonu
MIDP 2.0 - Szczegóły
Bogatsze GUI (Graficzny Interfejs Użytkownika)
• Większa kontrola nad położeniem obiektów/kontrolek
• Domyślna komenda (specjalny klawisz lub ruch rysika)
• Własne kontrolki o dowolnym wyglądzie
MIDP 2.0 - Szczegóły
Game API – „szybka”, bogata, kolorowa grafika bez migotania (flicker-free)
• Możliwość podziału „ekranu” na warstwy (tło, poszczególne elementy graficzne na osobnych warstwach)
• Offscreen buffer (unika się migotania obrazu)
• „Sprite’y” – animowane elementy
MIDP 2.0 - Szczegóły
Obsługa obrazów RGB – możliwość bezpośredniej manipulacji na pojedynczych pikselach wyświetlanych na ekranie
Reprezentacja obrazów RGB jako tablica INTEGER’ów
MIDP 2.0 - Szczegóły
Bezpieczeństwo, uprawnienia w dostępie do sieci oraz portów we/wy np.: port szeregowy
Signed code / Trusted Code
Unsigned code / Untrusted code
Użytkownik jest pytany o zgodę na wykonanie
określonej akcji
MIDP 2.0 - Szczegóły
• Naucz się raz… Pisz wszystko (LearnOnceWriteAnywhere)• Dynamiczny provisioning nowych aplikacji
– Zaawansowane zarządzanie aplikacjami– Łatwa aktualizacja oprogramowania
• Więcej możliwości dla użytkowników– Dynamiczna, graficzna zawartość– Szybka interakcja (operacje lokalne)– Off-line’owe operacje (wygoda, efektywność kosztowa)– Inteligentne użycie dostępnej przepustowości
• Wykorzystanie doświadczenia 5.5 milionów programistów Java• Dostępność narzędzi developerskich
– Szeroki wybór dostępnych narzędzi (np.: SunONE Studio)
Technologia J2ME - korzyści
• Więcej ... kontekstu
– Lokalizacja
– Możliwości urządzeń
– Sytuacja (użytkownik w ruchu)
• Inna sieć
– Przepustowość relatywnie dużo kosztuje
– Wiele typów połączeń
– Nie zawsze połączony
• Mobilność w obrębie sesji bardzo pożądana
To nie tylko bezprzewodowy WEB
StatycznStatyczna stronaa strona
System plików
JAR
Descriptor=Jar URL
Serwer WWW lub WAP
Prosty portal aplikacyjny
Java ME Realities
• $1.4 Billion in Carrier Revenues in 2003 which will grow to $15.5 Billion by 2008 (ARC group)
• Java technology represents 3% of data revenue in 2003 and project to 12.4% in 2008 (ARC group)
• $17 Billion will be generated in 2008 byJava based applications alone (ARC group)
• Current Global Market for mobile applicationsis $4–$5 Billion conservatively
• Asian Markets lead in number of downloads
Some Interesting Statistics
Telekomunikacyjne środowiska SLEE
Integration of new generation networks
Integration of differents protocols within different networks
JAVA integration strategy
• IT/Telecommunication integration
• Integration of networks
Networks and Services integrationJAVA API for Integrated Networks Service Logic Execution Environment Network:
Goal is to provide service execution environment integrated to any kind of networks
Or OSA Parlay Java Application Services
J2EE & JAIN SLEE
ShortLongPersistence
In memoryIn databaseContext Management
MillisecondSecondResponse Time
Asynchronous (Event-Based)SynchronousScope
Communications Enterprise
J2EE JAIN SLEEOSA Parlay / J
JAIN SLEE OSA Parlay / J & J2EE have not the same purpose
BTS: Base Station TransmitterBSC: Base Station ControllerMSC: Mobile Switching CenterVLR: Visitor Location RegisterHLR: Home Location RegisterAuC: Autentication CenterEIR: Equipement Identity RegisterPSTN: Public switched telephone networkSS7: Signaling System no. 7
Telco Stack
Telco Stack – Core (NSS)• The Mobile Switching Centre or MSC is a sophisticated telephone exchange
which provides circuit-switched calling, mobility management, and GSM services to the mobile phones roaming within the area that it serves. This means voice, data and fax services, as well as SMS and call divert.
• The Home Location Register or HLR is a central database that contains details of each mobile phone subscriber that is authorized to use the GSM core network.
• The Authentication Centre or AUC is a function to authenticate each SIM card that attempts to connect to the GSM core network (typically when the phone is powered on). Once the authentication is successful, the HLR is allowed to manage the SIM and services described above. An encryption key is also generated that is subsequently used to encrypt all wireless communications (voice, SMS, etc.) between the mobile phone and the GSM core network.
• The Visitor Location Register or VLR is a temporary database of the subscribers who have roamed into the particular area which it serves. Each Base Station in the network is served by exactly one VLR, hence a subscriber cannot be present in more than one VLR at a time.
• The EIR (Equipment Identity Register) is often integrated to the HLR. The EIR keeps a list of mobile phones (identified by their IMEI) which are to be banned from the network or monitored.
Telco Stack – VAS platforms - SMSC• A Short Message Service Center (SMSC) is a network element in the mobile
telephone network which delivers SMS messages.• External protocols:
> SMPP (Short message peer-to-peer) – The most common protocol and the only non-proprietary one in wide
use. > EMI/UCP (External Machine Interface/Universal Computer Protocol)
– A proprietary protocol by market leader LogicaCMG. > CIMD (Computer Interface to Message Distribution)
– A proprietary protocol developed by Nokia for its Artuse SMSC. > OIS (Open Interface Specification)
– Despite the name, a proprietary protocol developed by Sema Group (now Airwide Solutions).
> MAP (SS7) – towards network
Parlay standard
• The objective of Parlay/OSA is to provide an API that is independent of the underlying networking technology and of the programming technology used to create new services. As a result the Parlay/OSA APIs are specified in UML.
The Past
SMS-C WAP GWMMC Email Server
PAPSMPPMM7 SMTP
ApplicationsApplicationsServers
(Without using a Parlay/OSA gateway)
•Availability of different interfaces (versions) on the AS
•Multiple integration•Hard to reuse
When Using a Parlay/OSA Gateway
Common IT Base API
Business Rules:Limit Network Functionality Usages Limit the Capacity Usages
Business Monitoring and Surveillance:
Detailed statistics based on used functionaity
Parlay/OSA Gateway
HLRMSC MPC SMS-C WAP GWAAA
Charging/Billing
SystemMMS-C Email
Server
One TimeIntegration
SMS-C WAPGW MPCAAA HLRSSF Email
Server MMS-C
Parlay standard – Generic Call Control SCF
Parlay standard: what is available?● Generic Call Control● Multiparty Call Control● MultiMedia Call Control● User Interaction● Mobility● Messaging● Account Management● Charging
Parlay 5.0 additions:●Conference Call Control●Policy Management●Presence&Availability
Management●MultiMedia Messaging
How to Combine J2MEPlatform and Parlay/OSA
Parlay/OSAApplication
Parlay/OSAGateway
J2ME PlatformApplication
IP Messages
Dziękuję