2. İçerik
1. Java
Teknolojisi
2. Telekom
Uygulamaları
3. Oksijen
ARGE’de
Java
Teknolojisi
Kullanılan
Ürünler
Java
for
Telco
C1
2
3. Hakkımda
İlkin
Ulaş
Balkanay
• 2002
Galatasaray
Üniversitesi
Bilgisayar
Müh.
• 2004
İTÜ
Elektrik
Elektronik
Fak.
Bilg.
Müh.
Yüksek
Lisans
• 2003
yılından
beri
Oksijen
ARGE’de
Akıllı
Şebeke
Uygulamaları
bölümünde
çalışıyorum.
hTp://ilkinbalkanay.blogspot.com
hTp://github.com/ilkinulas
hTp://www.twiTer.com/ilkinulas
Java
for
Telco
C1
3
4. Java
Teknolojisi
• Java
Programlama
Dili
• Java
Pla[ormu
Duke
Java
for
Telco
C1
4
5. Java
Programlama
Dili
Genel
Özellikler
• Basit
ve
Tanıdık
• OO
• Mul]-‐threaded
• Sağlam
• Yüksek
Performanslı
• «Write
Once
Run
Test
Everywhere»
• Geriye
Dönük
Uyumlu
Java
for
Telco
C1
5
6. Java
Programlama
Dili
Genel
Özellikler
• Basit
ve
Tanıdık
JAVA
for ( int i=0; i<10; i++) {
//System.out.println("Merhaba");
}
C++
for (int i=0; i<10; i++) {
//cout << "Merhaba n";
}
Java
for
Telco
C1
6
7. Java
Programlama
Dili
Genel
Özellikler
• Basit
ve
Tanıdık
• OO
• Mul]-‐threaded
• Sağlam
• Yüksek
Performanslı
• «Write
Once
Run
Test
Everywhere»
• Geriye
Dönük
Uyumlu
Java
for
Telco
C1
7
8. Java
Programlama
Dili
Genel
Özellikler
• Basit
ve
Tanıdık
• OO
• MulI-‐threaded
(java.util.concurrent)
• Sağlam
• Yüksek
Performanslı
• «Write
Once
Run
Test
Everywhere»
• Geriye
Dönük
Uyumlu
Java
for
Telco
C1
8
9. Java
Programlama
Dili
Genel
Özellikler
• Basit
ve
Tanıdık
• OO
• Mul]-‐threaded
• Sağlam
• Yüksek
Performanslı
• «Write
Once
Run
Test
Everywhere»
• Geriye
Dönük
Uyumlu
Java
for
Telco
C1
9
10. Java
Programlama
Dili
Genel
Özellikler
• Basit
ve
Tanıdık
• OO
• Mul]-‐threaded
• Sağlam
• Yüksek
Performanslı
• «Write
Once
Run
Test
Everywhere»
• Geriye
Dönük
Uyumlu
Java
for
Telco
C1
10
11. Java
Programlama
Dili
Genel
Özellikler
• Yüksek
Performanslı
"Java
programlama
dili
ile
yazılmış
uygulamalar,
C/C++
ile
yazılmış
uygulamalara
göre
daha
yavaş
çalışırlar."
Java
for
Telco
C1
11
12. Java
Programlama
Dili
Genel
Özellikler
• Basit
ve
Tanıdık
• OO
• Mul]-‐threaded
• Sağlam
• Yüksek
Performanslı
• «Write
Once
Run
Test
Everywhere»
• Geriye
Dönük
Uyumlu
Java
for
Telco
C1
12
13. Java
Programlama
Dili
Genel
Özellikler
• «Write
Once
Run
Test
Everywhere»
Java
for
Telco
C1
13
14. Java
Programlama
Dili
Genel
Özellikler
• Basit
ve
Tanıdık
• OO
• Mul]-‐threaded
• Sağlam
• Yüksek
Performanslı
• «Write
Once
Run
Test
Everywhere»
• Geriye
Dönük
Uyumlu
(@deprecated)
Java
for
Telco
C1
14
15. Java
PlaYormu
• Java
Virtual
Machine
• Java
API’leri
(Applica]on
Programmer
Interface)
1. Java
SE
:
Java
Pla[orm,
Standart
Edi]on
2. Java
EE
:
Java
Pla[orm,
Enterprise
Edi]on
3. Java
ME
:
Java
Pla[orm,
Micro
Edi]on
4. Java
FX
(Rich
Internet
Applica]ons)
hTp://java.sun.com
hTp://www.oracle.com/us/technologies/java/
Java
for
Telco
C1
15
16. Java
PlaYormu
Sadece
Java
Programala
Dili
ile
yazmak
zorunda
değilsin.
Java
for
Telco
C1
16
19. Telekom
Uygulamaları
• Telekom
uygulamaları
deyince
akla
ne
tür
uygulamalar
gelmeli?
• Telekom
uygulamalarının
genel
özellikleri
nelerdir?
• Telekom
uygulamaları
geliş]rirken
nelere
dikkat
etmek
gerekir?
Java
for
Telco
C1
19
20. Telekom
Uygulamaları
• Core
Network
Uygulamaları
• Faturalandırma
ve
Online
Ücretlendirme
Sistemleri
• Media]on
• Müşteri
İlişkileri
Yöne]m
Sistemleri
(CRM)
• DatawareHouse
• IP
Mul]media
Subsystem
(IMS)
Java
for
Telco
C1
20
21. Telekom
Uygulamaları
Ortak
Özellikler
• Genişle]lebilir
(Scalable)
(Ölçeklenebilir)
• Aksaklığa
dayanıklı
(Fault
tolerant)
• Dağıvk
(Distributed)
• Sürekli
erişilebilir
(High
availability)
Java
for
Telco
C1
21
22. Telekom
Uygulamaları
Sürekli
Erişilebilir
Erişilebilirlik
Kesin]
/
Yıllık
Kesin]
/
Aylık
Kesin]
/
Hawalık
90% 36.5
gün
72
saat
16.8
saat
("one nine")
99% 3.65
gun
7.2
saat
1.68
saat
("two nines")
99.9% 8.76
saat
43.2
dakika
10.1
dakika
("three nines")
99.99% 52.56
dakika
4.32
dakika
1.01
dakika
("four nines")
99.999% 5.26
dakika
25.9
saniye
6.05
saniye
("five nines")
Java
for
Telco
C1
22
23. Telekom
Uygulamaları
Ortak
Özellikler
(Devam)
• Sow
Real]me
• Güvenli
Throughput
Latency
Java
for
Telco
C1
23
24. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Standart
Protokoller
• Önbellek
Kullanımı
(Caching)
• Asenkron
vs
Senkron
• Zaman
aşımı
(Timeouts)
• Transac]ons
• Connec]on
Pooling
Java
for
Telco
C1
24
25. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Standart
Protokoller
• Önbellek
Kullanımı
(Caching)
• Asenkron
vs
Senkron
• Zaman
aşımı
(Timeouts)
• Transac]ons
• Connec]on
Pooling
Java
for
Telco
C1
25
26. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Standart
Protokoller
• Önbellek
Kullanımı
(Caching)
• Asenkron
vs
Senkron
(blocking
vs
non-‐
blocking)
• Zaman
aşımı
(Timeouts)
• Transac]ons
• Connec]on
Pooling
Java
for
Telco
C1
26
28. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Standart
Protokoller
• Önbellek
Kullanımı
(Caching)
• Asenkron
vs
Senkron
• Zaman
aşımı
(Timeouts)
• Transac]ons
• Connec]on
Pooling
Java
for
Telco
C1
28
29. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Standart
Protokoller
• Önbellek
Kullanımı
(Caching)
• Asenkron
vs
Senkron
• Zaman
aşımı
(Timeouts)
• TransacIons
• Connec]on
Pooling
Java
for
Telco
C1
29
30. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Standart
Protokoller
• Önbellek
Kullanımı
(Caching)
• Asenkron
vs
Senkron
• Zaman
aşımı
(Timeouts)
• Transac]ons
• ConnecIon
(Resource)
Pooling
Java
for
Telco
C1
30
31. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• JVM
ayarları
(Tuning)
• Logging
Ø Saniyede
500
işlem
=
SaaTe
1
milyon
800
bin
işlem
Ø Milyonda
bir
meydana
gelen
bir
hata
yaklaşık
olarak:
Ø 1
saaTe
2
defa
Ø 1
günde
50
defa
Java
for
Telco
C1
31
32. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Monitoring
&
AdministraIon
• Performans
testleri
&
Profiling
• Hızlı
Başlangıç
• Ayarlar
(Configura]on)
• Kötüye
kullanım
belirleme
(fraud
detec]on)
Java
for
Telco
C1
32
33. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Monitoring
&
Administra]on
• Performans
testleri
&
Profiling
• Hızlı
Başlangıç
• Ayarlar
(Configura]on)
• Kötüye
kullanım
belirleme
(fraud
detec]on)
Java
for
Telco
C1
33
34. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Monitoring
&
Administra]on
• Performans
testleri
&
Profiling
• Hızlı
Başlangıç
• Ayarlar
(Configura]on)
• Kötüye
kullanım
belirleme
(fraud
detec]on)
Java
for
Telco
C1
34
35. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Monitoring
&
Administra]on
• Performans
testleri
&
Profiling
• Hızlı
Başlangıç
• Ayarlar
(ConfiguraIon)
• Kötüye
kullanım
belirleme
(fraud
detec]on)
Java
for
Telco
C1
35
36. Telekom
Uygulamaları
Uygulama
GelişIrirken
Dikkat
Edilmesi
Gereken
Konular
• Monitoring
&
Administra]on
• Performans
testleri
&
Profiling
• Hızlı
Başlangıç
• Ayarlar
(Configura]on)
• Kötüye
kullanım
belirleme
(fraud
detecIon)
Java
for
Telco
C1
36
37. Oksijen
ARGE’de
Java
ile
GelişIrilen
Ürünler
• IN
Uygulamaları
(Akıllı
Şebekeler)
Intelligent
Networks
• Online
Charging
System
(OCS)
• Konum
Tabanlı
Servisler
(Loca]on
Based
Services)
• SDF
(Service
Delivery
Framework)
ve
Katma
Değerli
Servisler
(VAS)
Java
for
Telco
C1
37
39. Akıllı
Şebekeler
Prepaid
(Faturasız
Hatlar)
Santral
Prepaid
0542
1231234
Numara
analizi
Hangi
Prepaid?
A-‐>B
araması
var.
Ne
diyorsun?
?
60
saniye
konuştur,
sonra
tekrar
bana
sor.
Çağrı
bağlanır
Java
for
Telco
C1
39
40. Akıllı
Şebekeler
Prepaid
(Faturasız
Hatlar)
• Abonelik
ve
hesap
yöne]mi
•
Tarifelendirme
• Aranan
numara
• Zaman
• Konum
• Kullanım
geçmişi
• Roaming
• IMEI
(Cihaz
]pi)
• 3G
/
2G,
ses,
video,
data
• Kampanyalar,
promosyonlar
•
Raporlama
40
Java
for
Telco
C1
41. Akıllı
Şebekeler
Virtual
Private
Network
(VPN)
• Arayan
numara
ve
aranan
numara
aynı
grupta
mı?
VPN
VPN
VPN
VPN
DB
• Arayan
numaranın
arama
yapma
yetkisi
var
mı?
• Arama
indirimli
mi?
905421232205
à
2201
905421232205
à
• A r a m a n ı n
ü c r e ] n i n
n e
905421232201
bağla
kadarını
şirket
ödeyecek?
GSM
2201
İcra
Kurulu
Yazılım
Geliş]rme
Savş
&
Pazarlama
Java
for
Telco
C1
42. Akıllı
Şebekeler
444
1
111
Mobile
PBX
(MPBX)
Çağrı
bağlanmadan
önce
“hun]ng”
algoritması
çalışvrılır.
• En
az/çok
çağrı
alan
• En
kısa/uzun
süre
konuşan
• En
uzun
süre
çağrı
almadan
bekleyen
(idle)
• Sırayla
• Günlere
/
saatlere
göre
GSM
VPN
MPBX
905421232201
à
444
1
111
444
1
111
DB
444
2
222
Java
for
Telco
C1
42
43. Online
Charging
System
Diameter
Protocol
• Diameter
Base
Protocol
(RFC-‐3588)
• Authen]ca]on
• Authorisa]on
• Accoun]ng
•
Diameter
Credit
Control
Applica]on
(RFC-‐4006)
• Real-‐]me
credit-‐control
Java
for
Telco
C1
43
44. Online
Charging
System
Diameter
Credit
Control
ApplicaIon
(DCCA)
Client
Server
CCR
Ini]al
CCA
(10MB
Granted)
CCR
Update
7MB
used
CCA
(10MB
Granted)
CCR
Terminate
5MB
used
Java
for
Telco
C1
44
46. LocaIon
Based
Services
SMLC
GMLC
GMLC
• Konum
bilgisinin
sağlanmasi
için
tüm
modüllerin
Loca]on
Clients
koordinasyonunu
yapar.
MSC
HLR
• MSIDN
ile
konum
sorguları
kabul
eder
ve
konum
cevabı
döner.
BSC
VLR
• A-‐GPS
desteği
olmayan
cihazların
konumlarını
Network
elemanları
sayesinde
bulur.
SUPL
supl.vodafone.com
• A-‐GPS
destekli
cihazlarların
konumunu
SUPL
(secure
user
plane
loca]on)
protokolü
ile
bulur.
Java
for
Telco
C1
46
50. Service
Delivery
Framework
Katma
Değerli
Servisler
(VAS
:
Value
Added
Services)
• Temel
ile]şim
(ses,
data)
servislerinin
dışında
kalan
servislerdir.
• Operatörlerin
gelirlerinin
önemli
bir
bölümünü
oluşturur.
• Müzik
içerik
servisleri
• Sohbet
• Hava
durumu
• Mobil
TV
• Fal
• Mobil
ödeme
• Oyun
• Konum
bazlı
servisler
• Oylama
(Etraƒmda
ne
var?)
• Ödemeli
arama
• Mobil
Ofis
Java
for
Telco
C1
50
51. Service
Delivery
Framework
SDF
Bileşenleri
Network
Service
Crea]on
Environment
Enablers
Enabler
Execu]on
Environment
Service
Service
Access
Enablers
Service
OSS
&
BSS
SBB
SBB
SBB
SBB
Charging
Enablers
Service
Execu]on
Policy
Suplementary
Environment
Execu]on
Environment
Enablers
OSGi
Java
Virtual
Machine
Java
for
Telco
C1
51
52. Service
Delivery
Framework
Örnek
Servis
:
“Etrakmda
ne
var?”
Etraƒmda
ne
var?
SMS
Chargıng
RTC
SMSC
Enabler
Enabler
Eczane
à
7777
SDF
Loca]on
GIS
&
Map
Enabler
Enabler
GIS
GMLC
Server
Java
for
Telco
C1
52