Java For Telco

53
Ekim 05, 2012 İlkin Ulaş BALKANAY C1 1 Java for Telco

Transcript of Java For Telco

Ekim 05, 2012 Ø İlkin Ulaş BALKANAY

 C1   1  

Java for Telco

Java  for  Telco    C1   2  

İçerik  

1. Java  Teknolojisi  

2. Telekom  Uygulamaları  

3. Oksijen  ARGE’de  Java  Teknolojisi  Kullanılan  Ürünler  

Java  for  Telco    C1   3  

•  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  

 

   

Hakkımda  İlkin  Ulaş  Balkanay  

Java  for  Telco    C1   4  

•  Java  Programlama  Dili  

•  Java  Pla[ormu  

   

               

 

Java  Teknolojisi  

Duke  

Java  for  Telco    C1   5  

•  Basit  ve  Tanıdık  •  OO  • Mul]-­‐threaded  

•  Sağlam  

•  Yüksek  Performanslı  

•  «Write  Once  Run  Test  Everywhere»  

•  Geriye  Dönük  Uyumlu  

Java  Programlama  Dili  Genel  Özellikler  

Java  for  Telco    C1   6  

• Basit  ve  Tanıdık    

 

               

 

Java  Programlama  Dili  Genel  Özellikler  

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   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   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   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   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   11  

• Yüksek  Performanslı    

             

 

Java  Programlama  Dili  Genel  Özellikler  

 "Java  programlama  dili  ile  yazılmış  uygulamalar,  C/C++  ile  yazılmış  uygulamalara  göre  daha    yavaş  çalışırlar."  

Java  for  Telco    C1   12  

•  Basit  ve  Tanıdık  •  OO  • Mul]-­‐threaded  

•  Sağlam  

•  Yüksek  Performanslı  

•  «Write  Once  Run  Test  Everywhere»  

•  Geriye  Dönük  Uyumlu  

Java  Programlama  Dili  Genel  Özellikler  

Java  for  Telco    C1   13  

• «Write  Once  Run  Test  Everywhere»  

   

 

               

 

Java  Programlama  Dili  Genel  Özellikler  

Java  for  Telco    C1   14  

•  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  Programlama  Dili  Genel  Özellikler  

Java  for  Telco    C1   15  

•  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  PlaYormu  

Java  for  Telco    C1   16  

Java  PlaYormu  Sadece  Java  Programala  Dili  ile  yazmak  zorunda  değilsin.  

Java  for  Telco    C1   17  

Java  PlaYormu  

JUnit    

Java  for  Telco    C1   18  

Telekom  Uygulamaları  

Java  for  Telco    C1   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   20  

•  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)  

 

 

 

               

 

Telekom  Uygulamaları  

Java  for  Telco    C1   21  

• Genişle]lebilir  (Scalable)  (Ölçeklenebilir)  • Aksaklığa  dayanıklı  (Fault  tolerant)  • Dağıvk  (Distributed)  •  Sürekli    erişilebilir  (High  availability)    

               

 

Telekom  Uygulamaları  Ortak  Özellikler  

Java  for  Telco    C1   22  

Telekom  Uygulamaları  Sürekli  Erişilebilir  

Erişilebilirlik   Kesin]  /  Yıllık   Kesin]  /  Aylık   Kesin]  /  Hawalık  

90% ("one nine")

36.5  gün   72  saat   16.8  saat  

99% ("two nines")

3.65  gun   7.2  saat   1.68  saat  

99.9% ("three nines")

8.76  saat   43.2  dakika   10.1  dakika  

99.99% ("four nines")

52.56  dakika   4.32  dakika     1.01  dakika  

99.999% ("five nines")

5.26  dakika   25.9  saniye   6.05  saniye  

Java  for  Telco    C1   23  

•  Sow  Real]me  

• Güvenli    

               

 

Telekom  Uygulamaları  Ortak  Özellikler  (Devam)  

Throughput   Latency  

Java  for  Telco    C1   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   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   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   27  

Telekom  Uygulamaları  Asenkron  vs  Senkron  

A   B  

t1  

t2  

A   B  

Senkron   Asenkron  

t  <  t1  +  t2  

Java  for  Telco    C1   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   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   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   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   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   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   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   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   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   37  

•  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)  

 

 

 

               

 

Oksijen  ARGE’de  Java  ile  GelişIrilen  Ürünler  

Java  for  Telco    C1   38  

Akıllı  Şebekeler  (Intelligent  Networks)  

BSC   MSC  

HLR   VLR  

SCP  

Subscribers  

Java  for  Telco    C1   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   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  

 

 

 

 

 

               

 

Java  for  Telco    C1  

Akıllı  Şebekeler  Virtual  Private  Network  (VPN)  

Yazılım  Geliş]rme  

İcra  Kurulu  

Savş  &  Pazarlama  

GSM  

VPN  VPN  VPN  VPN   DB  

2201  

905421232205  à  2201  

•  Arayan   numara   ve   aranan  numara  aynı  grupta  mı?  

•  Arayan   numaranın   arama  yapma  yetkisi  var  mı?  

•  Arama  indirimli  mi?  •  Aramanın   ücre]nin   ne  kadarını  şirket  ödeyecek?  

905421232205  à  905421232201  bağla  

Java  for  Telco    C1  

Akıllı  Şebekeler  444  1  111  

42  

444  2  222  

GSM  VPN  MPBX  

DB  

Mobile  PBX  (MPBX)  

444  1  111  

905421232201  à  444  1  111  

Ç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    

Java  for  Telco    C1   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   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   45  

LocaIon  Based  Services  

Java  for  Telco    C1   46  

LocaIon  Based  Services  

SUPL  supl.vodafone.com  

HLR  

VLR  

MSC  

BSC  

GMLC  SMLC  

Loca]o

n  Clients  

GMLC  •  Konum  bilgisinin  sağlanmasi  için  tüm  modüllerin  

koordinasyonunu  yapar.    •  MSIDN  ile  konum  sorguları  kabul  eder  ve  konum  cevabı  

döner.    •  A-­‐GPS  desteği  olmayan  cihazların  konumlarını  Network  

elemanları  sayesinde  bulur.    •  A-­‐GPS  destekli  cihazlarların  konumunu  SUPL  (secure  user  

plane  loca]on)  protokolü    ile  bulur.    

Java  for  Telco    C1   47  

LocaIon  Based  Services  

SUPL  supl.vodafone.com  

HLR  

VLR  

MSC  

BSC  

GMLC  SMLC  

Loca]o

n  Clients  

SMLC  •  Abonelerin  konum  bilgisini  hesaplar  

•  Konum  bilgisinin  hesaplanmasında  kullanılan  algoritmalar:  •  Bilinen    konum  hesaplama  algoritmaları  •  Oksijen  ARGE  patentli  algoritlamaları  

Java  for  Telco    C1   48  

LocaIon  Based  Services  LocaIon  Enabler  Server  (LES)  

Loca]on  Based  Applica]on  GMLC  

LES  Privacy  Checking  

En]ty  

Request  (MLP)  

Response  (MLP)  

Request  (PCP)  Response(PCP)  

Java  for  Telco    C1   49  

LocaIon  Based  Services  Mobile  Tracking  Tool  (MTT)  

Java  for  Telco    C1   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  

•  Hava  durumu  

•  Fal    

•  Oyun    

•  Oylama  

•  Ödemeli  arama  

•  Sohbet  

•  Mobil  TV  

•  Mobil  ödeme    

•  Konum  bazlı  servisler  (Etra�mda  ne  var?)  

•  Mobil  Ofis  

Java  for  Telco    C1   51  

Service  Delivery  Framework  SDF  Bileşenleri  

Java  Virtual  Machine  

OSGi  

Service  Execu]on  Environment  

Policy  Execu]on  Environment  

SBB   SBB   SBB   SBB  

Service   Service  

Service  En

abler  E

xecu]o

n  En

vironm

ent  

Network  Enablers  

Access  Enablers  

Charging  Enablers  

Suplementary  Enablers  

Service  Crea]on  Environment  

OSS  &  BSS  

Java  for  Telco    C1   52  

Service  Delivery  Framework  Örnek  Servis  :  “Etrakmda  ne  var?”  

Etra�mda  ne  var?  

SMSC  

Eczane  à  7777  

SDF  

SMS  Enabler  

RTC  Chargıng  Enabler  

GMLC  

Loca]on  Enabler  

GIS  Server  

GIS  &  Map  Enabler  

Java  for  Telco    C1   53  

Kanldığınız  İçin  Teşekkürler