<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9216227014313333379</id><updated>2011-07-07T19:04:32.995-07:00</updated><category term='DDL'/><category term='FTL'/><category term='XA Data Source'/><category term='Template Engine'/><category term='Linux işletim sistemi üzerine Oracle kurulumu'/><category term='DML'/><category term='Struts'/><category term='CRM'/><category term='Spring ide kurulumu'/><category term='Cache'/><category term='INNOVATION'/><category term='IoC'/><category term='Oracle Servisleri Başlatma'/><category term='Apache Ant'/><category term='Conneciton Pool Data Source'/><category term='Telnet Service'/><category term='Subclipse'/><category term='Delete'/><category term='APEX'/><category term='Gündem'/><category term='SOA'/><category term='Truncate'/><category term='Free Marker'/><category term='Login'/><title type='text'>ABACUS</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-653012610892370411</id><published>2010-09-10T11:08:00.000-07:00</published><updated>2010-09-10T11:40:14.676-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Truncate'/><category scheme='http://www.blogger.com/atom/ns#' term='Delete'/><category scheme='http://www.blogger.com/atom/ns#' term='DDL'/><category scheme='http://www.blogger.com/atom/ns#' term='DML'/><title type='text'>TRUNCATE vs.  DELETE</title><content type='html'>Truncate ile Delete arasındaki farklardan  bahsetmeden önce DML ve DDL cümlelerinden bahsedilmesi daha doğru geliyor bana,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DML açılımından da anlaşılacağı gibi, Data Manipulation Language , veriler üzerindeki yapılan manipülasyon scriptleri kapsamaktadır. (SQL Veri İşleme Dili)&lt;br /&gt;Bu işlemlerin kalıcı olması için COMMIT komutu kullanılmaktadır.  Geri almak için ise ROLLBACK yapılır.&lt;br /&gt;&lt;br /&gt;Bunlar nelerdir?&lt;br /&gt;&lt;br /&gt;insert , update , delete&lt;br /&gt;&lt;br /&gt;-Data Definition Language(DDL) - Verilerin saklandığı yapıların (tabloların) tanımlandığı ve düzenlendiği komutları içerir.&lt;br /&gt;&lt;br /&gt;   DDL Komutlar: ( alıntı = http://www.mustafabodur.com/?tag=/sql)&lt;br /&gt;&lt;br /&gt;    * Create - Yeni bir Veritabanı(Database), Tablo(Table), İndeks(Index), Veri Tipi(Type), View(View), Stored Procedure-Saklı Yordam(Procedure), Fonksiyon(Function), Trigger-Tetikleyici(Trigger) vb. gibi oluşturabileceğimiz komuttur.&lt;br /&gt;    * Alter - Daha önce oluşturulmuş bir veritabanı nesnesinin(database objects) üzerinde değişiklik yapmamızı sağlayacak komuttur.&lt;br /&gt;    * Drop - Daha önce oluşturulmuş veritabanı nesnesini kaldırmak için kullanılan komuttur.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TRUNCATE vs. DELETE&lt;br /&gt;Truncate ile Delete (Where koşulu olmayan) arasında benzerlik olmasına rağmen yapısal farklılıklar bulunmaktadır.&lt;br /&gt;&lt;br /&gt;Trucate delete göre çok hızlı çalışır. Nedeni olarakta geri alma bilgisi üretilmediği içindir. (TRUNCATE -&gt; DDL, DELETE -&gt; DML) &lt;br /&gt; &lt;br /&gt;Truncate işlemleri sırasında trucate edilen tablodaki trigerlar çalışmaz, fakat delete işlemi için yazılmış triggerlar var ise çalışır , delete işlemi esnasında.&lt;br /&gt;&lt;br /&gt;Konuyla ilgili faydalı bir kayna &lt;a href="http://www.orafaq.com/faq/difference_between_truncate_delete_and_drop_commands"&gt;http://www.orafaq.com/faq/difference_between_truncate_delete_and_drop_commands&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-653012610892370411?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/653012610892370411/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=653012610892370411' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/653012610892370411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/653012610892370411'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2010/09/truncate-vs-delete.html' title='TRUNCATE vs.  DELETE'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-5599858473024291917</id><published>2010-05-04T09:46:00.001-07:00</published><updated>2010-05-04T09:48:35.345-07:00</updated><title type='text'>IPTV and Multicasting</title><content type='html'>1.Giriş&lt;br /&gt;&lt;br /&gt;Internet Protokol  Television, veya IPTV ile kast edilen IP ağı üzerinden , televizyon yayının yapılması.&lt;br /&gt;IPTV teknolojisi kullanılarak kablolar ile, uydu vasıtasıyla yada radio frekansları kullanılarak kolayca videolar/DVDs, dijital videolar web içerikleri dağıtımı gerçekleştirilebilmekte. Tüm bu ve benzeri multimedia içerikleri standart, yüksek çözünürlüklü ya da  bilgisayarlarda gösterilebilen veriler olabilmektedir.&lt;br /&gt;Çeşitleri;&lt;br /&gt;Farkında yada değil bir çok insan günlük hayatında IPTV kullanmakta zaten. Bunları gruplandırmaya çalışırsak.&lt;br /&gt;1-)Internet IPTV: dünyanın herhangi bir yerinde interntet ile ulaştırabilmekte. Verilebilecek en güzel örneklerlerden biri Youtube. Bantgenişliğini optimize kullanmak için veya içeriğin tamamının iletilebilmesi için herhangi bir çaba sarf edilmemekte. Videolar kolayca , herhangi bir tarayıcıda izlenebilmekte fakat düşük kalitede ve iletim gecikmesi ile beraber.&lt;br /&gt;2-)Telco IPTV: Telefon/Internet sağlayıcısı tarafından iletim gerşekleştirilmekte, başka bir deyişle telekominikasyon sağlayıcı tarafından. Televizyon seyretmek için  internet kullanılıyor ise , internet sağlayıcımız telefon hattımız ile iletimi sağlamakta. Servis kalitesini desteklemekte, içeriğin tamamının geldiğinden emin olunuyor. Bunu da servis sağlayıcımız öncesin de  yayınlanacak içeriğin bir server da tutarak yapmakta. &lt;br /&gt;3-)Broadcast IPTV:Televizyon yayınları ücretsiz olarak, halka internet üzerinden iletilmekte. Bir çok televizyon kanalının internet sitesinde görebilmekteyiz bu örneği. Maalesefki bantgenişliği veya servis kalitesi için herhangi bir kontrol bulunmamakta.&lt;br /&gt;4-)Local IPTV: Diğer bilinen adıyla Building IPTV; bina içinde kampüste veya herhangi bir yerel alan ağı (Local Area Network (LAN))  için dizayn edilmiştir. İnternet bantgenişliği için herhangi bir sorun teşkil etmemekte.&lt;br /&gt;Bir çok organizasyon tarafından benimsenmesinin başlıca sebepleri;&lt;br /&gt;• Televizyon ve video içeriği kolayca bilgisayarlara bir ağ ile taşınabilmekte,  sayısı fazla olan personel kolayca haberlere ve şirket bilgilerine erişebilmekte.&lt;br /&gt;• Aynı alt yapı kullanılarak, kaç kanalın yayınlanacağı yada hangi aygıtların ağa bağlanıp görüntüyü  sağlayacağı gibi kaygılar yok.&lt;br /&gt;• IPTV teknoloji ile tek kablo altyapısı kullanılarak maliyetlerin düşeceğine inanılması.&lt;br /&gt;IPTV kullanımın bir çok organizasyon için yarar sağlamakta. Bunlardan bazıları;&lt;br /&gt;• İnşaat (Construction): Yapım aşamasındaki binalar için IPTV çözümü ile AV ile coaxial ağ (network) entegrasyonu yayın içeriği (broadcast media) IP ağı içinde sağlanmış olacak. Esneklik ve ölçeklenebilirlik artarken müşteriler için bina maliyeti düşecektir.&lt;br /&gt;• İş dünyası (Corporate): IPTV iş dünyası için bir çok kolaylık sağlamakta, şirketlere ait önemli kararlar alınırken real time iletişim sağlanarak, yada eğitim içeriklerinin dağıtımı gibi.&lt;br /&gt;• Eğitim (Education): Litimitsiz şekilde eğitim metaryallerine ulaşım imkanı sağlamakta. &lt;br /&gt;• Finans (Finance): Anlık olaylara,uluslar arası veya ulusa özel kanallar tarafından dağıtılan içerikler ile finansal arena da ki olayların takibi efektif olarak yapılabilmekte.&lt;br /&gt;• Sağlık Sektörü (Healthcare): Hastalar hem televizyon hem radio hemde videolara  yataklarında erişebilir. &lt;br /&gt;Asya kıtasında IPTV kullanımında lider. Hong Kong 500.000 den fazla sayıda abonesi ile dünya çapında başı çekmekte, Taiwan, Japan ve China dengeli bir şekilde global alanda IPTV ekipmanları için baskın olmaktadır.  Bir kaç faktor Asia daki IPTV kullanımı verimli kılmakta. Bir tanesi;  Asia daki bir çok ülkedeki bantgenişliğinin yeterince hızlı olmasından kaynaklanmakta.  IPTV ‘nin ihtiyacı olan altyapının büyük bir kısmı zaten bu ülkelerde var olmasından kaynaklanmaktadır. 2000 yılında Asia filmleri ve programları online olarak izlenebilmekteydi.  Sonuç olarak IPTV ‘nin faydalı,  benzer zayıflıkları olan pay-TV alternatifine kıyasla.&lt;br /&gt; &lt;br /&gt;Şekil 1: Dijital TV Ödemelerin Asya Ülkelerinde ki Dağılımı&lt;br /&gt;2. IPTV  Çalışma Mekanizması&lt;br /&gt;Günümüzde bir çok evde kullanılan televizyon yayınları , sürekli  olarak her müşteriye aynı içerik gönderilmekte. IPTV de ise durum biraz farklı çalışıyor. İnternetten nasıl istediğimiz içeriği görüntüleyebiliyorsak, televizyon yayınlarıda aynı şekilde bize ulaşacak. İstediğimiz içerik için servis sağlayıcısı bilgilendirilerek.&lt;br /&gt;Genel methot olarak , kapalı bir dağıtım uygulanacak servis sağlayıcısı tarafından ve içerik toplayıcısından.  Internet protokolleri kullanılacak fakat televizyon içeriği tam olarak internet üzerinden yayın yapmayacak. IPTV daha fazla bant genişliğine , müşterilerine vaad ettiği ve özel aygıtların  karşılayacağı şekilde , ihtiyaç duymakta. Özel  aygıtlardan kasıt, tipik olarak set üstü kutular (set top boxes)  IPTV içeriğini  TV sinyallerine dönüştürmek , sıradan TV görüntüsü elde edebilmek için kullanılmakta. Kapalı ağ sisteminin kullanılmasının sebebi ise geleneksel radio-televizyon yayını (broadcast)  servis sağlayıcıların kalitesini ve güvenilirliğini gibi özellikleri sağlayabilmesi, kalite ve güvenilirlik (içeriğin iletilip iletilememesi) açık internette gerçekleştirilememekte.&lt;br /&gt; &lt;br /&gt;Şekil 2.1: Geleneksel radio-televizyon yayınına karşı IPTV servisi&lt;br /&gt;Farklı şekilde evlere  dağıtımın yapılması yeni ortaya çıkan bir method. Kablo üreticileri şimdi ki kablo altyapısını IPTV yapısına uygun olacak şekilde yapılandırmaktalar,  geleneksel bakırkablo (wireline) telefon şirketleri  yeni yatırımlar yapmaktalar; fiber ortamda  bu servisi sağlayabilmek için. 1990 larda uydudan televiyon yayını , izle – öde dijital yayın yapan kablolu iletişim şirketleri tek yön(one-way) analog sistemden çift yön (two way) dijital sisteme geçiş yaptılar. Bir çok isteğe bağlı video yayını yapan servislerin kulladığı set üstü kutular(set top box) DVR kabiliyetide eklendi. &lt;br /&gt;Telefon şirkeketlerinin büyük  engelleri var , şu anki kullanılan bakır teller , IPTV nin ihtiyacı olan bantgenişliğini sağlayacak şekilde yenilenememekte.  Konuyla ilgli olarak iki büyük proje var US de AT&amp;T’s Project Lightspeed ve Verizon’s FiOS Internet ve TV servisi. Verizon FiOS servisini ; büyük bir altyapıyı evlere kadar taşımayı hedefliyor. Fiber-To-The-Premises (FTTP), optik kablolar ile  tüm müşteri binalarına fiber optik kablo ile iletim sağlanacak. AT&amp;T’s Project Ligthspeed ile Verizon ‘s fiberin komşulara kadar taşınıp sonrasında içeriğin ADSL ile birbirinden ayrı evlere dağıtılması konusunda karşıt olmaktalar.&lt;br /&gt; &lt;br /&gt;Şekil 2.2 : Basitleştirilmiş şekilde, AT&amp;T’nin Lightspeed projesinin gösterimi&lt;br /&gt;2.1 IPTV’nin hayata geçirilmesi sırasında yaşanacak zorluklar&lt;br /&gt;Başarılı bir şekilde IPTV nin kullanımın yaygınlaşması için bir çok teknik altyapının değiştirilmesi/sağlanması gerekmekte. En önemlisi video sinyallerinin kaliteli olması. İleri düzeyde sıkıştıma ve sıkıştırılan verinin açılması tekniği, bantgenişliği tam olarak uygunluk sağlayacak veri akışlarının (datastreams) oluşturulması ihtiyacını doğurmaktadır, bu da yayın (broadcast)  kalitesini düşürmektedir. Burdanda teknik açıdan büyük değişikliklere gidilmesi gerektiği ortaya çıkmakta. Yüksek kalitede video iletimi kablolu tv şirketleri veya direk uydu yayını yapan kuruluşlar tarafından MPEG2 sıkışrıtma tekniğini kullanmakta. Bu tip kodekler 2 ila 3 Mbps bantgenişliğine ihtiyaç duyarlar , standart netlikteli TV yayınları için, yüsek netliktekiyayınlar ise 12 ila 19 Mbps arası çözünürlüğe ihtiyaç duymaktalar. Şuanki dağıtılmış ortamda yüksek bant genişliğinin sağlanması zor. Bunun yerine the ITU ve MPEG standartları birleşerek yeni  bir standart ortaya çıkmıştır. MPEG-4 10, bilinen adıyla H.264/AVC,  %50 daha az ölçekli bit oranında yüksek kaliteli video içeriği sağlamıştır MPEG2 ye göre. Bantgenişliğini daha pratik ve ekonomik kullanmış oluyoruz bu sayede. &lt;br /&gt;İkinci bir standartta yaygın bir şekilde kullanılmakta olan IPTV iletişiminde, Windows Media Video 9. Video kodek teknojisidir ve Microsoft tarafından geliştirilmiştir. H.264 ile kıyaslanabilecek ölçüde bant genişliği ve video kalitesi sunmaktadır. Bu anlamda markette tek bir lider olmadığını söyleyebiliriz.&lt;br /&gt;Üreticiler yüksek çözünürlüklü televizyonlar (HDTV) için, HD set üstü kutular (set top box), HD DVD playerlar ve diğer HD ekipmanları   uygun maliyetlere  üretim ihtiyacı duymaktalar. Sadece şuanki  video ve audi sıkıştırılma standartları için değil gelecek nesil teknolojilere  ayak uydurabilmek için. Bir de geliştirilen bu standartlar gittikçe karmaşıklaşmakta,  sinyalleri işleme sırasındaki büyük  boyutlardaki veriyi yükleme gibi performansı zorlayacak durumlar , özelliklede ortamın çoklu şifre çözücü (decoder) ihtiyacı olup, çoklu veri akışı ile ilgilenmesi gibi durumlar nedeniyle.&lt;br /&gt;3. Güvenilir Bir IPTV Ağı Dizaynı &lt;br /&gt;Gerçek zamanlı (Real Time) çoklu ortam  (multimedia) dağıtımı IP desteği ile gerçekleştirildiğinde içeriğin ve servis sağlayıların moment kazanmalarına yardımcı olmaktadır. Gerçek zamanlı dağıtımlar da  zorluk,  radio-tv yayını (broadcast)  alan kullanıcıların tecrübelerinden yola çıkarak, en fazla bir kaç saniyelik gecikmelere müsade edilebilmesi. Kayıp kurtarma (loss-recorvery) mekanizmaları kısıtlı kapasite ile ancak kayıp paket problemini iyileştirebilmekte.   Paket kayıpları ile oluşan problemin giderilmesi için, yüksek katmanda ki (higher-layer) methodların kombinasyonları kullanılabilmekte. Örneğin oynatıcı (player), kayıp saklama (loss-concealment) algoritmaları, tekrar transfer işlemi ve paket seviyesinde artıklılık (packet-level redundancy)  mekanizması  gibi. Biz bu kombinasyonları kullanarak , yüksek katmanda (higher-layer), kayıp kurtarma  (loss-recorvery) mekanizmaları ve prokolleri ile hızlıca yeniden saklama (restored) işlemini gerçekleştirmiş oluyoruz. IP-transport network hataları ile karşılaşıldığında ise, son kullanıcıya ihtiyacı olan servis kalitesi tarafından (quality of service (QoS)) sağlanmaktadır.&lt;br /&gt;Bir çok IPTV standartlarının sağlanması ve gerekli servis kalitesinin (QoS) tasarlanabilmesi için, çokluyayın (multicast) kullanılmakta. Bu sayede etkili , uygun maliyetli ağ ve bağlantı katmanında (link layer) hızlı yeniden yönlendirme (fast reroute (FRR)) sağlanmakta. Fiziksel katmanda  (physical layer) oluşan hatalar sadece tek bir bağlantıyı etkilemekte, bu problem de FRR kullanılarak yaklaşık 50 milisaniye içerisinde düzeltilebilmekte.  Trafik çakışmasını öneleyebilmek için Interior Gateway Protocol (IGP) kullanılmakta.&lt;br /&gt;Çoklu hata (multiple failure) ile oluşan aksama zamanının hedef ağın aygıtlarına ulaşım süresini aşmadan çözüme bulunması için metodları tanımlamak gerekirse; FRR, IGP ve çokluyayın  protokolü uyum içinde kullanıldığı takdirde ve uygun bant genişliği ile çoklu hata ile oluşan yol (path) çakışması gibi sorunlar minimize edilmiş oluyor. Tüm bunlar güvenilir bir IPTV ağı içinde istenilen kısıtlamalardır.&lt;br /&gt;3.1 IPTV Örnek Ağ Mimarisi&lt;br /&gt; &lt;br /&gt;Şekil 3.1 : Örnek IPTV Ağ Mimarisi&lt;br /&gt;&lt;br /&gt;Sadeleştirilmiş bir halde her düğüm için IPTV servisinin iletimi için gerekli  network topolojisinin  örneği şekil 3.1  ile örneklendirilmiştir. Bu örnek spesifik bir IPTV mimarisidir , farklı varyasyonları bulunmaktadır. &lt;br /&gt;• SHO : Süper merkez ofisi (Super hub office)  ulusal video yayınlarını , uydu  veya kablo aracılığı ile toplamakta ve  büyük  saklama lokasyonlarına (VHO) dağıtılmasını sağlamaktadır.&lt;br /&gt;• VHO: Video Merkez Ofisi (Video hub office) SHO dan gelen içerik ile lokal bölgelerden gelen ve diğer servislerden gelen içeriği birleştirmekte ve içeriğin yönlendiriciler  (router) ; metro IPTV anahattındaki ; vasıtası ile VSOs dağıtımını sağlamaktadır.&lt;br /&gt;• Router(Yönlendirici): SHO ve VHO IPTV içeriklerinin transfer edilmesinden sorumludur.  Uzak mesafelerdeki IP anahattına  bu içeriği göndermekte. &lt;br /&gt;• VSO: Yönlendiriciler , eternet  vasıtası ile içeriğin DSLAMs yerleşmesini  sağlamaktadır.&lt;br /&gt;• DSLAM: Dijital abone hattı çoklayıcısı (Digital subscriber line access multiplexers) , video iletime hazır aygıt (Video Ready Access Device) olarakta bilinmekte, çevresel olarak yaşam alanalarına yakın bölgelerde bulunmaktadır. Yüz ila 200 arasında konut giriş yeri (residantal gateways (RGs)) hizmeti vermektedir , Konutların yakından konumlandırılarak. DSLAM ile RG arasında sinyal iletimi için çeşitli teknikler bulunmaktadır. Bunlardan en tipik olanları  DSL (VDSL ) , BPON ve GPON. &lt;br /&gt;• RG: Konut giriş yeri (Residential Gateway), video içeriğini set üstü  kutulara (set-top box ) iletmektedir, &lt;br /&gt;• Voice servisi;  voice over IP dönüşümü ve IP gibi VHO‘a iletilmesi sağlanmaktadır. VoIP gateway veya VDSL ile analog formlardan digital formlara dönüşüm sağlanmaktadır.&lt;br /&gt;Bir sonraki durum ise  ses(voice) sinyalleri çoğullama çözme (demultiplexed) işlemi DSLAM üzerinde sağlanmaktdır ve uzak (remote) terminallere (TDM ve SONET teknolojileri kullanılan) bağlanılmakta. &lt;br /&gt;SHO ve her bir VHO arasında iki yönlendirici bulunmakta ve yönlendiriciler tarafında oluşan hataların ; donanımsal veya yazılım güncellenmesi gibi;  ortaya çıkmasında yedekli çalışmaya olanak vermektedir.   Uzak mesafeli IPTV ana hatlarındaki bağlantılar 2.5 veya 10 Gbps Ethernet veya SONET (Syncronous Optical Network) kullanılmakta.  Çünkü verimli ağaç benzeri (tree-like) topolojiler kullanılıyor ve IP çokluyayın ekonomik avantajlar sağlıyor IPTV iletiminde. SHO ile VHO arasında sınırlı bağlantı var bu anlamda, çünkü genel yayın (broadcast) tree yapısı kullanılıyor.Şekil 3.1 deki kesikli çizgiler ile gösterilen bağlantılar çokluyayın ağacının  bir parçası değil , ekstra bağlantılar  ile ağ  hatası oluştuğu durumlarda çokluyayın ağacı olacak şekilde tekrar düzenlenmeli.&lt;br /&gt; &lt;br /&gt;Şekil 3.2 : IPTV ağı   Broadcast video akışı . Kesikli çizgiler ile gösterilenler basitleştirilerek gösterilmiş alternative video içeriğinin yolculuğu.&lt;br /&gt;Şekil 3.2  de gösterilen kesikli çizgiler ile SHO’dan başlayarak son kullanıcıdaki STB ye kadar uzanan yolculuğu tasvir etmekte.  SHO ve VHO içerisinde çeşitli aygılar görülmekte,  içeriği depolama cihazı (A-servers ) ve içerik dağıtım cihazı (D-servers). Live-feed video ve diğer çoklu ortam (multimedia) akışları D-server içinde arabellekte saklanmakta, diğer uygulamalara iletilmek üzere. Bir D-serverının ortalama I/O kapasitesi bir kaç yüz mbps . A-server ise VHO daki toplanan lokal TV istasyonları ve iletişim programlarından gelen içeriğin yanısıra ulusal içeriğin SHO toplanması için kullanılmakta.&lt;br /&gt;VoD  Şekil 3.2 de bahsedilmiştir.  Tipik olarak  VoD server , SHO da yada diğer merkezi bir noktada konumlandırılmış, lokal olarak konumlandırılmış olan VHO  içinde olan VoD serverına dağıtım yapmaktadır. STB’lere IP bağlantı  odaklı tekliyayın (connection oriented unicast) olarak iletim yapmakta, çünkü birbirinden bağımsız kullanıcılara dağıtım gerektiği için. &lt;br /&gt;Bahsedilenlerin dışında IPTV transferinde, kullanılan  diğer protokollerden bahsedilirse; video içeriğinin bazı  video sıkıştırma algoritmaları kullanılarak yapılmakta , MPEG veya H.264 gibi. Oluşturulan video frame leri paketlenerek tipik olarak Real Time Transport Protocol(RTP) üzerine, UDP onunda üzerinde IP protokolleri kullanılarak transfer edilmekte. IPTV  mimarisi  , Tv içeriğini çokluyayınlamak (multicast edebilmek için) Protocol Independent Multicast , Source Specific Multicast (PIMSSM) protokollerini kullanır. Her bir ulusal kanaldan gelen yayın SHO da toplanıyor, ve tanımlanmış çokluyayın gruplara atanıyor. Yüzlerce standart çözünürlük (standart-definition (SD; 1.5 to 3 mbps)) ve yüksek çözünürlük (high definition (HD; 6 to 10 mbps)) kanal , diğer multimedya sinyaller  var. Bu nedenle toplamda gbps’ler mertebesinde bant genişliği söz konusudur.&lt;br /&gt;Bu toplam HD kanalların sayısına bağlı olarak önemli bir artış göstermektedir. Genelyayın (Broadcast) sinyalleri VSO giriş yaparken, IPTV mimarisi Internet Group Management Protokol(IGMP) kullanır, PIM-SSM yerine STB’lerin, data-link katmanında çokluyayın gruplarına katılması için. Çünkü VSO yönlendirme düğmeleri (switchs)  taşıyıcı sınıfı yönlendiricilerin  (carrier-grade router)  tüm özelliklerini taşımamakta. IGMP  snooping tekniği kullanarak; STB ile yerleşim birimlerinde bulunan ara yönlendiricilerin (intermediate routers) filtrelediği IGMP messajlarını ve bölgesel olarak tekrarlanmış kanalların; kullanıcıların isteği   olan mesajlardan; faydalanılarak , birçok hub-spoke mimarisi içerisindeki switchler ile metroda bulunan yönlendiriciler arasındaki çok büyük miktardaki kontrol mesajlarının yönetilebilmesi içinde IGMP kullanılmaktadır.&lt;br /&gt;4. Çokluyayın Yönlendirme&lt;br /&gt;Bir den fazla kullanıcı aynı içerikli veriye, (yaklaşık olarak) aynı zamanda ihtiyaç duyduğu zaman, çokluyayın daha efektif bir yöntem tekliyayına nazaran. Bir tekliyayın paket tekbir kaynak IP adres ve tekbir  hedef IP adrese sahip iken, bir çokluyayın paket tekbir kaynak IP adres , fakat birden fazla hedef adres vardır, ve bu gruba veri iletimini gerçekleştirir. Avantaj olan birden çok evsahibi (host) aynı çokluyayın akışını (stream) kabul eder, tekliyayında ise herbiri için farklı akış vardır, bu nedenle bantgenişli çokluyayın yöntemi ile daha verimli kullanılmış olur.&lt;br /&gt; &lt;br /&gt;Şekil 4.1 Çokluyayın ile tekliyayının farkı&lt;br /&gt;Tekliyayın ve genelyayın çokluyayına nazaran çok daha kolay yapılandırılabiliniyor. Çünkü çokluyayın da çokluyayın grubundakiler tanımlanması ,trafik onların spesifik lokasyonlara gönderilmesi gerekiyor. Ağ çokluyayın grubunda bulunmayanlara trafiği yönlendirmemesi gerekiyor , bantgenişliğini efektif kullanabilmesi için.&lt;br /&gt;Çokluyayın trafik internette kullanımı hızla artmakta.  Bir çok uygulamanın iletimi için paketlenerek çok sayıdaki kullanıcıya iletiliyor.  Paketler (exponential)  üstsel bir artışla kopyalanarak iletiliyor, bu durumdaki bant genişliği yönlendiriciler ek yük göz korkutucu olmakta. &lt;br /&gt;Çokluyayın paketlerinin geniş ağ  üzerinde iletimi kompleks bir süreç (procees) var.  Bu sürecin bir kaç tane bileşeni (component) var. İlk adım alıcıların tanımlamalarının yapılması. Çokluyayın akışına  alıcı olmak isteyen evsahipleri kendilerini tanıtmak zorundalar öne ağ içinde.  Buna kayıt olma süreci “registration process” diyoruz, tek Ip adres kümesinden birisi set ediliyor (D sınıfı adres) çokluyayın iletişim için  rezerve edilmiş olan bir kümedir. Merkezi bir çokluyayın veri iletimi içinde belirli bir gruptaki alıcı kaydı (receive register) için yapılmaktadır.&lt;br /&gt;Öncelikle alıcılar  belirli bir gruba (tek bir alıcı birden fazla grubada katılabilir) katılabilmesi için, ağ çokluyayın trafik için doğru son durak (end stations) atanması gerekiyor. İnternet üzerindeki , bir yönlendirme (routing) protokolü ile,  kayıt olmuş alcılar (registered receiver) uygun yönlendirme yollarını belirlenmesi gerekmekte. Ayrıca, veri kaynağı bazı noktalarda kopyalanması gerekmekte. Bu sayede  bilgi çoklu lokasyonlara  simultene olarak iletilebilmekte. İletim süreci çokluyayın yönlendirme  (delivery process muticast routing ) protokolleri sayesinde gerçekleştirilmekte. Bir çok çokluyayın yönlendirme protokolü (multicast routing) bulunmaktadır ve bir çoğunun kendine özgü zayıf ve güçlü yönleri bulunmaktadır.&lt;br /&gt;Bir çok çokluyayın  veri transferi çift yönlüdür (uni-diractional). Bunun yanısıra tek yönlü (bi-diractional)  çokluyayın trafik için IETF(Internet Engineering Task Force) ,yeni çalışmaları bulunmaktadır. &lt;br /&gt;Çokluyayın iletimi TCP üstkatman ( upper-layer) protokol gibi değildir. Kaynak tarafından kaç tane  akışsonu iş istasyonu (downstream workstation) tarafından kabul edilecek veri bilinemediğinden , bunu TCP ile gerçekleştirmek imkansız. En iyi eforu UDP ile sağlanıyor çokluyayın trafik için. &lt;br /&gt;4.1 Çokluyayın Notasyonu&lt;br /&gt;Çokluyayın  grup genellikle “G” ile , kaynak (source) “S”  ile sembolize edilir. Kombinasyonları (S,G) ile spesifikleştirmek için (S1,G1) şeklinde. Birden fazla kaynak var ise (* , G) şeklinde gösterilmektedir. &lt;br /&gt;4.2 Evsahipleri (Hosts) Çokluyayın Grubuna Nasıl Üye Olur?&lt;br /&gt;Internet Group Management Protocol (IGMP), evsahiplerinin dinamik olarak çokluyayın grubuna dahil olmasını sağlamaktadır. IGMP Internet protokolünün bir parçasıdır ve üç versiyonu bulunmaktadır. Evsahiplerinin bu protokole ihtiyaç duyduklarında kaynaklar hangi spesifik çokluyayın grubuna katılabileceğini söyleyebilmektedir.&lt;br /&gt;4.3 Çokluyayın Yönlendirmeler&lt;br /&gt;Çokluyayın yönlendirici yönlendirme  işlemini yapabilmesi için çokluyayın yönlendirme protokollerinin uygulanması gerekmektedir. Bir çok yönlendirici protokol seçeneği bulunmaktadır.&lt;br /&gt;• DVMRP – Distance Vector Multicast Routing Protokol&lt;br /&gt;• MOSPF – Multicast Open Shortest Path First&lt;br /&gt;• PIM V2 – Protokol Independent Multicast&lt;br /&gt;En yaygın olarak kullanılanı PIM V2 protokolüdür. Çokluyayın yönlendirilmesi , tekliyayın yönlendirilmesinin tam zıttı şekilde çalışmaktadır. Tekliyayın yönlendirilmesi protokolü, yönlendirici hedefe karar verirken temel olarak hedef  IP adres üzerinde durur. Çokluyayın yönlendiricisi  ise temel olarak kaynak IP adres üzerinde durulmaktadır. &lt;br /&gt;Internet Assigned Numer Authority (IANA) IP adreslerinin body kısımlarını kontrol ediyor. Çokluyayın  uygulamalar için IANA tarafından “Class D” adres aralığndaki Ip’ ler atanmaktadır. Bu aralık 224.0.0.0 ile 239.255.255.255 arasındadır. Class D aynı zamanda kendi içinde alt gruplara ayrılmıştır.&lt;br /&gt;224.0.0.0 – 224.0.0.255  Yönlendirme (routing) protokolleri için ayrılmıştır.&lt;br /&gt;224.0.1.0 – 224.0.1.255  İnternet kontrol blok (Internet control block)&lt;br /&gt;224.0.2.0 – 238.255.255.255  Global kavram adresleri (Globaly scope address)&lt;br /&gt;239.0.0.0 – 239.255.255.255 Kısıtlı kavram adresleri (Limited scope address)&lt;br /&gt;Global kavram adresleri (Globaly scoped) genel çokluyayın uygulamalar içindir. Bu adres aralığının yüz, iki yüz tanesi kadarı spesifik organizasyonlar için ayrılmıştır. Büyük bir kısmı ise yeni kullanıcı  uygulamaları için  kullanılabilmek için hazırdır.&lt;br /&gt;Kısıtlı kavram adresleri (Limited Scope) ise belirli uygulamalar için dizayn edilmiştir. Özerk sistemler içinde dış dünyaya yönledirilmede kullanılmayan sistemlerdir. &lt;br /&gt;Çokluyayın yönlendirme dağıtım (multicast routing distribution) ağaçları kullanmaktadır.PIM ile kaynak dağıtım ağacı (source distribution tree) (Dense Mode, push model) veya paylaşımlı dağıtım (shared distribution) ağaçları (Sparse Mode, pull model) kullanılabilmekte. &lt;br /&gt;Çokluyayın  LAN iletimi çokluyayın alıcının aynı ağdaymış gibi yapılmakta. Bu nedenle çokluyayın iletimi, belirli bir grup Ethernet MAC adresini bu amaç ile kullanmaktadır. Bu aralık 0100.5e00.0000-0100.537f.ffff aralığındaki MAC adresleri Class D  IP adresleri eşleşmekte.&lt;br /&gt;Fakat, MAC adreslerinin tümü, mümkün olan tüm Class D adresleri ile eşleşmemekte. Her bir MAC adresi 32 eş zamanlı Class D adresi. IP protokolü alıcı yığının içinde olası çakışma problemini çözmesi gerekmektedir. &lt;br /&gt;4.4 Çokluyayın Çerçeveleri 2. Katmanda Anahtarlama &lt;br /&gt;(Switching Multicast Frames at Layer 2)&lt;br /&gt;IGMP snooping switcher tarafından yapılabilmekte,  IGMP paketleri yönlendirebilmek için hangi evsahibi  hangi gruba katılmış , izlenebilmesi gerekiyor, bunun yoluda IGMP paketlerinin içine bakmak ile gerçekleşmektedi(IGMP Snooping). Unutulmaması gereken bir noktada IGMP evsahipleri ile yönlendiriciler arasındadır. &lt;br /&gt; &lt;br /&gt;Şekil 4.4 IGMP Snooping&lt;br /&gt;4.5 Çokluyayın Kayıt Olma Süreci (Multicast Registration Process)&lt;br /&gt;Multicast iletişim için ilk adım alıcıların tanımlanmasıdır. Bu işlem Internet Goup Managment Protocal (IGMP) tarafından evsahibi  ile lokal yönlendirici arasında gerçekleştirilmektedir.&lt;br /&gt;Tarihsel olarak, IGMP IP protokolünden türetilmiştir. IGMP ilk olarak 1986 yılında ortaya çıkmıştır, RFC 988. Bir kaç kez revize edilmişti bu zamana kadar. Son sürümü versiyon 3 2002  yılında RFC 3376 ile ortaya çıkmıştır.&lt;br /&gt;IGMP kullanıcıların istedikleri çokluyayın  grubuna katılma eğilimlerini anons etmelerine izin vermektedir. Bu gruplar Class D Ip adresi ile tanımlanmıştır. Bir iş istasyonu (workstation) belirli bir çokluyayın gruba katılmak istediğinde IGMP “join” mesajını  lokal yönlendiriciye göndermekteler. Eğer çoklu yönlendirici  tekbir segment bulunduruyorsa, karşılık olarak karar verilmiş olan “designated router” (DR) tüm IGMP mesajlarını bu segment için yönetiyor olacak.&lt;br /&gt;Bir yönlendirici bir veya daha fazla “joins” spesifik bir grup için almış ise,  bu spesifik grup için gönderilmek istenen herhangi bir pakedi uygun bir arayüze (interface) yönlendirir. Yönlendirici sadece tek bir veri paket kopyasını her arayüze ileticek, ortak bir çokluyayın MAC ve IP adresi bilgileri kullanılıyor olacak  paket iletiminde.&lt;br /&gt;Yönlendiriciler düzenli olarak iş istasyonlarına çokluyayın grubuna bağlı olup olmak istemediklerini sorgulayan “queries” alır.  Bu sorgular iyi bilinen (224.0.0.1) adresi  üzerinden haberleşilir,  tüm sistemler tarafından bilinmektedir. Eğer alıcı hala ilgileniyorsa ilgili gruba bağlı kalmakla “membership report” mesajı ile geri döner.  Eğer geri dönüşler olmuyor ise, ilgili grubu onun yönlendirme (forwarding) tablosundan siler.&lt;br /&gt;Versiyon 2 ile sorgu zamanları (query timer) için beklenen zaman aralığı sona ermesini beklemeden gruptan çıkmak istiyorsa “leave” mesajı ile ayrılabilmesi sağlanmıştır.&lt;br /&gt;Çokluyayın  protokoller temel olarak, tek bir kaynaktan birden fazla hedefe  veri aktarımı için dizayn edilmiştir. Bazı durumlarda ise birden fazla kaynaktan bir den fazla hedefe veri aktarımı söz konusu olabilir. Buna örnek olarak video konferanslar verilebilir böyle durumlar için. Fakat, özel (ad hoc) kaynaklar tarafından  gönderilen istenmeyen paketler tersine alıcılara ulaşılır. Bu aynı zamanda güvenlik (security) problemlerinide ortaya çıkarmaktadır.&lt;br /&gt;IGMPv3  ile kaynaklar spesifikleştirilebiliniyor, bu sayede receiver  kaynaktan gelenleri dinleyebiliyorlar. Kaynaklar “include” filtreleri “join” ve “report” mesajlarını  şart koymaktadır, veya “exclude” filtreleri ile kaynak red edilebilir. Bir uçtan bir uca bu filtreler sayesinde güvenlik ve performans açısından çok iyi etkileri görülmüştür multicast iletişim için. Bu filtreler için yeni boyuttaki tablolar uygun yönlendiricilere eklenir, bu sayede  kabul edilebilir kaynakları takib edebilir hale gelicekler. &lt;br /&gt;Çoğu yönlendirici tarafından şuanda IGMP versiyon 2 kullanılmakta. Bir çok bayi çoktan IGMP  versiyon 3 desteklemekte ve hızla popularitesi artmaktadır.&lt;br /&gt;4.6 Ipv6 Çokluyayın Desteği&lt;br /&gt;Ipv6 çokluyayını desteklemektedir. İlk üç bit Ipv6 adreslerini (128-bit adres) format prefix (FP) tanımlanmaktadır. Eğer format prefix binary olarak 111 olarak set edilmiş ise multicast adresi temsil ettiği anlamına gelmektedir(Benzer şekilde Ipv4 class D adres gibi).&lt;br /&gt;IGMP yerine Ipv6 da kendi kayıt (registration) protokolü bulunmaktadır, Multicast Listener Discovery(MLD). MLD’nin ilk versiyonu (contained RFC 2710)  IGMP versiyon 2 ye benzemektedir. “join” ve “leave” mesajları içermektedir. MLD versiyon 2 için önerilen “include” ve “exclude” fonksiyonlarıdır.&lt;br /&gt;4.7 Çokluyayın Yönledirme&lt;br /&gt;Kayıt sürecini (registration process) daha önce tanımlamıştık, alıcıların çokluyayın gruplara katılımını sağlamaktadır. Lokal yönlendiriciler bu süreci kullanarak çokluyayın veri iletiminin nasıl iletileceğini hesaplamaktadır. Yönlendiriciler bu rolü üstelenmiş ise eğer, son hop yönlendiricisi (Last Hop Router (LHR)) adı verilir ve bu yönlendiriciler alıcılar ile iletişim yolunun sonunda bulunmaktadır. İlk hop yönlendiriciler (First Hop Router (FHR)) çokluyayın trafiğinin kaynağına en yakın yönlendiricidir. Akıllı bir kontrol planı mekanizması verinin  efektif bir şekilde ilk hop yönlendiriciden (first hop router) son hop yönlendiriciye (last hop router) iletilmesini sağlamaktadır. Kısaca, yönlendirme protokolüne ihtiyaç duyulmaktadır.&lt;br /&gt;4.8 Çoklu Yayın Yönlendirme Protokolü&lt;br /&gt;Bir çok farklı çokluyayın yönlendirme protokolü vardır, ve her biri kendi özgü teknolojik çözüm içermektedir. Distance Vector Multicast Routing Protocol (DVMRP) ilk çıkan multicast routing protokolüdür. DVMRP temel çalışma prensibi, ağaçlardaki aralıklarla olan multicast grupları arasında atlama yapmaktadır, temel çalışma prensibi newer multicast protokolünü kullanarak gerçekleşmektedir.  DVMRP kısıtlı şekilde esneklik, fonksiyonellik, scalability (ölçeklenebilirlik) sağlamaktadır. Bu nedenle yeni protokollerle beraber yürürlükten kalkmıştır.&lt;br /&gt;Yeni oluşturulan multicast routing ler OSPF(Open Shortest Path First) prokolünün uzantısı olan MOSPF (Multicast Open Shortest Path)dür.  MOSPF protokolü, özelleştirilmiş uygulamalarda kullanılmakta fakat yaygın değildir.&lt;br /&gt;4.8.1 Protokol Bağımsız Çokluyayın (Protocol Independent Multicast(PIM))&lt;br /&gt;1990 ların sonunda PIM geliştirilmiştir. İsminden de anlaşılacağı gibi, hiç bir spesifik protokole bağlılığı yoktur. Nasıl oluşturulmuş olursa olsun var olan yönlendirme tablolarından  faydalanarak, çokluyayın verinin yönlendirilmesi için kullanmaktadır.&lt;br /&gt;PIM versiyonlarından biri, Dense Mode. PIM-DM çalışma mantığı, “push” çokluyayın veri kullanıcılara doğru.  Eğer çokluyayın trafiğinin sonunda herhangi bir gönderilen akışa ihtiyacı olan kullanıcı bulunumaz ise, aldıkları gereksiz akıştan  dolayı “stop” mesajı gönderirler akışbaşlangıç yönlendiricisine (upstream router). Bu mesaja “prune” mesajı da denir, akışbaşlangıç yönlendiricileri  yönlendirme ağacının belirlenmiş dalları (branch) eleme yapılacaktır.&lt;br /&gt; &lt;br /&gt;Şekil 4.2 Dense mode ile Sparse Mode arasındaki fark&lt;br /&gt;4.8.2 PIM-SM&lt;br /&gt;PIM ile genel olarak Sparse Mode protokolü kullanılır.”pull” metodolojisi ile çalışır. Bunun anlamı veriyi göndermeden önce alıcıların belirlenmesi şarttır. Internete  çokluyayın veri akışı iletilme sırasında ek yük ve bant genişliği ihtiyaçlarından kaçınır. &lt;br /&gt;PIM-SM protokolü yanlızca varolan yönlendiriciler arasındadır. PIM-SM bir çok karakterislik özelliği yönlendirme protokollerine benzemektedir. Bunlardan bazıları, discovery mesajları, topoloji bilgileri, error detection ve notification(bilgilendirme). &lt;br /&gt;PIM-SM routerları periyodik olarak, “Hello” mesajı üretir, discover ve var olan oturumlarının devamını sağlamak için.  Bu mesajlar 224.0.0.13 adresi tarafından hizmete sunulur. Komşular keşfedilir ve katılmak istedikleri çokluyayın gruplara için akışsonu yönlendiricilere PIM-SM “join” mesajı gönderirler (IGMP veya MLD ile karıştırılmamalı). Daha sonra katılım sağlanmış ise (S1, G1) veya (*,G1) şeklinde notasyonlar ile tutulmaktadır. Akış başlangıcı yönlendiriciler çokluyayın verileri akışsonu aygıtlara yönlendirebilirler.&lt;br /&gt;4.8.2.1 Buluşma Noktası (Rendezvous Point)&lt;br /&gt;Her çokluyayın grubu kendine ait buluşma noktasına sahiptir. Bu buluşma noktalarının sorumluluğu, Kaynaktan tüm alıcılara olan yönlendirme bilgilerinin iletilmesi. Aynı zamanda RP buluşma noktası ağacının köküdür.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Şekil 4.3 Örnek bir buluşma noktası&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4.8.2.2 En kısa yol ağacı (Shortest Path Tree)&lt;br /&gt;Şekil 4.3ile gösterilen örnekte LHR biri hem RP hemde FHR bağlı böyle bir durumda hem RP den hemde FHR dan aynı verinin iki kopyasını alacaktır. Bunun engellenemesi amacı ile RP’e “prune” mesajı göndermektedir, bu sayede RPT den silinecektir. SPT tamamen opsiyoneldir ,sadece daha efektif gerçekleştirilebilmesi için.&lt;br /&gt;4.8.3 Özet - PIM-SM Veri akışı&lt;br /&gt;• Alıcılar DR (designated router) yönlendiricisine  IGMP “join” mesajı gönderir.&lt;br /&gt;• DR/LHR RP (rendezvous point) yönlendiricisine PIM-SM “join” mesajı gönderir.&lt;br /&gt;• RP LHR RPT(rendezvous point tree)’ye ekler.&lt;br /&gt;• Kaynak FHR(first hop router) veriyi gönderir.&lt;br /&gt;• FHR tekyayın kayıt- kapsule edilmiş şekilde  (unicast register-encapsulated) veriyi RP gönderir.&lt;br /&gt;• RPT de bulunan tüm LHR veriyi gönderir ve FHR RPT ye ekler.&lt;br /&gt;• RP PIM “join” mesajını FHR gönderir.&lt;br /&gt;• FHR çokluyayın verisini RPT boyunca gönderir.&lt;br /&gt;• RP register “stop” mesajı FHR gönderir.&lt;br /&gt;• LHR evsahipleri ile alıcılar arasında daha kısa yol arar.&lt;br /&gt;• LHR “join” mesajı gönderir FHR.&lt;br /&gt;• FHR LHR’a doğru en kısa yol ağacını oluşturur.&lt;br /&gt;• LHR “join” mesajı gönderir FHR.&lt;br /&gt;• FHR LHR’a doğru en kısa yol ağacını oluşturur.&lt;br /&gt;• LHR aynı verinin iki kopyasını biri SPT den diğeri RPT den alır.&lt;br /&gt;• Bunu engellemek için LHR  “prune” mesajı gönderir RP’e.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Sonuç&lt;br /&gt;İncelenen kaynaklarında belirtiği gibi IPTV teknolojisin yaygınlaşabilmesi için, altyapı değişikliğinin şart olduğu. Bunun yanı sıra internet üzerinde Iptv verisinin iletimi için çokluyayın methodunun diğer methodlara göre en uygun olanının , çokluyayın metodunda yapılan iyileştirmeler veya ek özelliklerin Iptv teknolojisi açısından da faydalı olacağıdır.&lt;br /&gt;6.Kaynaklar &lt;br /&gt;1. Robert Doverspike, Guangzhi Li , Kostas N. Oikonomou , K.K. Ramakrishnan, Rakesh K. Sinha, Dongmei Wang, Chris ChaseDesigning a Reliable IPTV Network , IEEE INTERNET COMPUTING ,2009&lt;br /&gt;&lt;br /&gt;2. Tetsuya Yamaguchi, Tomoyuki Kanekiyo, Motoyuki Horii, Katsuhiko Kawazoe, Fumio Kishino, Highly Efficient Transmission System for Digital Broadcasting Redistribution Services over IP Multicast Networks, IEEE Transactions on Consumer Electronics, Vol. 54, No. 2, MAY 2008 &lt;br /&gt;&lt;br /&gt;3. John Barrett, The IPTV Conundrum in Asia, A Parks Associates White Paper , 2006&lt;br /&gt;&lt;br /&gt;4. MoCA® IPTV White Paper 2008 Multimedia over Coax Alliance&lt;br /&gt;&lt;br /&gt;5. Preparing for the IPTV Future, 2006 Micronas USA&lt;br /&gt;&lt;br /&gt;6. Multicast Routing PIM Sparse Mode and Other Protocols , November 2003 Spirent Communications White Paper&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-5599858473024291917?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/5599858473024291917/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=5599858473024291917' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5599858473024291917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5599858473024291917'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2010/05/iptv-and-multicasting.html' title='IPTV and Multicasting'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-4202629690717087853</id><published>2010-01-20T23:34:00.000-08:00</published><updated>2010-01-20T23:41:10.364-08:00</updated><title type='text'>Eclipse incompatible jvm</title><content type='html'>Elimizdeki jvm 1.5 versiyonundan yüksek olmasına rağmen, eclipse exe yi çalıştırırken böyle bir hata ile karşılaşılmış ise , environment variables, path içindeki  System variables içindeki jre arasında en öne c:\Program Files\Java\jre1.6.0_01\bin (yada sizinki hangi jre ise);   yerleştirilir ise, problem giderilebilir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-4202629690717087853?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/4202629690717087853/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=4202629690717087853' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/4202629690717087853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/4202629690717087853'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2010/01/eclipse-incompatible-jvm.html' title='Eclipse incompatible jvm'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-3274951021865598858</id><published>2009-12-09T03:55:00.000-08:00</published><updated>2009-12-09T04:26:52.876-08:00</updated><title type='text'>Application Express (Oracle)</title><content type='html'>&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;Application Express NEDİR?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3366ff;"&gt;HTML DB olarak ta bilinmekte, hıphızlı :) bir şekilde uygulama geliştirmemize yardımcı oluyor. Örnek bir uygulama geliştirerek anlatmaya çalışacağım. Öncesinde biraz teorik bilgi vermeye çalışacağım.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;Ne tür uygulamalar geliştirebiliriz Apex ile?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3366ff;"&gt;Özellikle db deki datalar ilgili çeşitli konularda rapor çekmemize yardımcı olacak uygulamar için çok kullanışlıdır. Raporlar ile ilgili grafiksel gösterimleri elde etmemize yardımcı olan toolarıda bulunmaktadır. &lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-3274951021865598858?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/3274951021865598858/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=3274951021865598858' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/3274951021865598858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/3274951021865598858'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/12/application-express-oracle.html' title='Application Express (Oracle)'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-5883696101028161058</id><published>2009-11-12T04:44:00.000-08:00</published><updated>2009-11-16T06:19:45.431-08:00</updated><title type='text'>Socket Programlama (Java - UDP)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Socket Nedir?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bir socket iletişim hattının iki ucunda daki hostlar üzerinde  çalışan programın networke açılan kapıları gibi düşünebiliriz.  Java da socket sınıfları kullanılmakta, client ve server programlarının birbirleri ile iletişimini temsil etmek için.  java.net package içindeki iki sınıf  Socket ve ServerSocket&lt;br /&gt;client ve server taraflı geliştirmelerde kullanılmaktadır.&lt;br /&gt;&lt;br /&gt;UDP ? -&gt; UDP protokolü networkte  uygulamaların gönderdiği paketlerin ki bunlara datagrams diyoruz, iletiminde diğer bir uygulamaya iletim yönteminin (örneğin pakedin iletim garantisi vermiyor) bağlantı güvencesi olmaksızın gerçekleştirilmesi.&lt;br /&gt;&lt;br /&gt;Datagram nedir? -&gt; Bağımsız ,  nerden nereye gideceğini varış zamanını kendisi içerir ; içeriğinin iletilme garantisi yoktur.&lt;br /&gt;&lt;br /&gt;Daha ayrıntılı bilgi için ; &lt;a href="http://en.wikipedia.org/wiki/Packet_%28information_technology%29http://en.wikipedia.org/wiki/Packet_%28information_technology%29"&gt;http://en.wikipedia.org/wiki/Packet_%28information_technology%29&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Datagram Client ve Server&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-5883696101028161058?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/5883696101028161058/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=5883696101028161058' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5883696101028161058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5883696101028161058'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/11/socket-programlama-java.html' title='Socket Programlama (Java - UDP)'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-6788319377355362944</id><published>2009-08-06T00:38:00.000-07:00</published><updated>2009-08-06T01:20:46.561-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cache'/><title type='text'>Cache Bellek nedir? ile ilgili alıntı</title><content type='html'>Kaynak  http://www.ceviz.net/cache-bellek-nedir_a314.html&lt;br /&gt;&lt;br /&gt;Siz bir uygulamayı ikinci çağırışınızda ilk çağırışınızdan hızlı açılıyorsa cache bellek ile tanıştınız demektir. Peki bu olayın perde arkası nedir?&lt;br /&gt;&lt;br /&gt;Cache Bellek en son yaptığınız işlemleri değerlendirerek bir sonraki yapacağınız işlemi %90 tahmin edip bu bilgileri tutan L1 ve L1 in %10 tutturamaması durumunda bu %10 un da %90'ı oranında (siz hesaplayın artık) tahmin edip bu bilgileri tutan L2 adında işlemci çekirdeğine gömülü iki adet statik Ram den oluşur.&lt;br /&gt;&lt;br /&gt;Cpu L2'de de bu bilgileri bulamamsı durumunda RAM'e gider. Orada da yoksa HDD'e gider.&lt;br /&gt;&lt;br /&gt;Cache Belleği ilk icat edildiği yıllarda board üzerine koymuşlar ve sadece L1'den oluşuyormuş. O zamanlar da bu tahmin mekanizması bayağı işe yarasa da board üzerinde olduğu için Cpu L1 ile iletişime geçeceği zaman board'un veri yolu hızına düştüğü için pek şimdikisi kadar kullanışlı değildi. Abiler bu Cache'i Cpu içine koymak istiyorlardı. Fakat bu o kadar kolay değildi. Milyonlarca transistörü Cpu içine koyan adamlar, bir türlü Cache'i çekirdeğe gömemiyorlardı ki çekirdek hızında erişebilsinler. Bir ara akıllarına bir fikir geldi. Madem biz bunu çekirdeğe koyamıyoruz çekirdeğe en yakın yere koyalım dediler ve bu fikrin ürünü olan SLOT işlemciler piyasaya çıktı. Bu tip işlemcilerde çekirdeğin etrafında Cache'ler görülebilir. Fakat bu yöntemle hem istedikleri performans'ı alamadılar hem de işlemci board üzerinde dikine durduğu için sabitlemek zor oluyordu. Bir süre sonra Cachle'i çekirdeğe gömmeyi başardılar. Hatta L2 ile birlikte. Cache li işlemciler normallerinden daha pahalıydı. Çünkü cache'i çekirdeğe gömmek zor bir işlemdi. Öyle ki ürettikleri 100 işlemciden 98'ini çöpe atmak zorunda kalıyorlardı.&lt;br /&gt;&lt;br /&gt;İşte bir işlemci alırken dikkatimizi çeken 512 cache olayının hikayesi kısaca böyle.&lt;br /&gt;&lt;br /&gt;Nasıl Çalışır?&lt;br /&gt;&lt;br /&gt;Her zaman şu örnek verilir. Bir lokantaya ilk defa gidip bir kase çorba istediğinizde Çorbanın yapılıp gelmesi uzun sürebilir. Eğer yemeğin yapıldığı yerin(HDD) hemen ön tarafında belirli bir miktar yemeği sıcak tutabilecek bir hazne varsa (RAM) ve siz oradaki çeşitlerden birini yiyecekseniz çorbanın pişmesini beklemezsiniz. Siz eğer aynı yere daha sık gelmeye başlarsanız garson sizi tanır ve sizin geleceğiniz saatlerde yemek arabasına(L2) sizin çeşitlerinizi de koyar. Sürekli müşterisi olursanız ve %90 aynı siparişleri veriyorsanız geleceğiniz saatte çorbanızı masanızda(L1) hazır bulursunuz.&lt;br /&gt;&lt;br /&gt;Ne işe yarar?&lt;br /&gt;&lt;br /&gt;İşte siz örn: Excel'i ilk açtığınızda normal hızda açılır. 2. Açtığınızda nasıl açıldığını bile fark edemezsiniz.&lt;br /&gt;&lt;br /&gt;Cache farkını Setup'tan L1 ve L2 seçeneklerini DİSABLE yapıp test edebilirsiniz.&lt;br /&gt;&lt;br /&gt;Statik ram den bahsettik onu da açıklayalım;&lt;br /&gt;&lt;br /&gt;Çalışma prensibi olarak temelde 2 tip RAM vardır. Dynamic ve Static.&lt;br /&gt;&lt;br /&gt;Static RAM makine açık olduğu sürece üzerine yazılan veriyi tutabilir. Transistörlerden imal edilmiştir.&lt;br /&gt;&lt;br /&gt;Dynamic RAMler üzerindeki veriyi tutabilmek için belirli aralıklarla kondansatörlerle tetiklenmeleri gerekir. Aksi takdirde üzerindeki veri kaybolur. Bunun için ana kart üzerinde bu tetiklemeyi yapacak ayrı bir devre dizayn edilmiştir ve bu yüzden dynamic ramler cache bellek olarak çekirdekte kullanılamazlar. Bildiğimiz ramler Dynamic ramdir. Static ramler yapılarında transistör kullanıldığı için daha pahalıdır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-6788319377355362944?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/6788319377355362944/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=6788319377355362944' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/6788319377355362944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/6788319377355362944'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/08/cache-bellek-nedir-ile-ilgili-alnt.html' title='Cache Bellek nedir? ile ilgili alıntı'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-5597514714906457581</id><published>2009-07-10T06:17:00.000-07:00</published><updated>2009-07-10T06:48:15.289-07:00</updated><title type='text'>Volantis Mobility Server</title><content type='html'>Volantis Mobility Server™  java temmelli devolopment ve çalışma ortamı sağlayan bir platformdur. Web devolopmentler için kendi mobil Internet uygulamalarının 6,300 device tarafından kullanılabilecek şekilde build edilmesinden sorumludur.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Volantis Mobility Server mobil içeriklerin yönetiminin karmasısını azaltmak için tasarlanmıştır. Bu nedenle developerlar ve içerik sahipleri , kullanıcıların daha kolay servis alabilecekleri uygulamalar oluşturabilmektedir.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;VMS bir çok connector içermektedir ki dinamik içerik kaynağı ve Web 2.0 Internet servislerini entegre olmasını sağlamaktadır.&lt;br /&gt;&lt;br /&gt;Developerlar connectorleri özelleştirirler kendi mobil tarafları içinde , basit XML tagleri kullanarak, Java programlama azaltılır,  otomatik olarak transformasyon işlemleri gerçekleştirilir ve optimizasyon sağlanır device karşılık gelen içerik için.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-5597514714906457581?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/5597514714906457581/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=5597514714906457581' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5597514714906457581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5597514714906457581'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/07/volantis-mobility-server.html' title='Volantis Mobility Server'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-635448248052145994</id><published>2009-07-09T01:26:00.000-07:00</published><updated>2009-07-09T01:58:37.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Ant'/><title type='text'>Apache Ant</title><content type='html'>Ant Nedir?&lt;br /&gt;&lt;br /&gt;Java tabanlı olarak geliştirilmiş olan bir tool dur. &lt;br /&gt;&lt;br /&gt;Make olarak bilinen başka bir tool gibi build ve deploy gibi işlemleri büyük projeler de  kolaylaştırmak için  yaratılmıştır.&lt;br /&gt;&lt;br /&gt;"Another Neat Tool" tanımının baş harflerinin kısaltılmasından türetilerek isimlendirilmiştir. &lt;br /&gt;&lt;br /&gt;Daha sonraları Ant için "Karıncalar inşaat faaliyetlerinde çok küçük ve çok çalışkan varlıklardır.","Karıncalar ufak vücutlarına rağmen kendi ağırlıklarının düzinelerce katı ağırlıkları taşıyabilirler." sözleri atfedilerek övülmüş ve tanıtılmıştır.&lt;br /&gt;&lt;br /&gt;Neden Ant?&lt;br /&gt;&lt;br /&gt;Büyük bir java projesiyle uğraştığınızı düşünün.Elinizde bir sürü ".java" dosyası var ve üstüne üstlük farklı-farklı klasörlerin altındalar.Projeyi geliştirirken hep aynı rutin işlemleri yapıyorsundur.Kodları derle,manifest dosyası hazırla, jar'la, war dosyaları hazırla,sonrada tüm yaptıklarını alıp server'e deploy et.Ufak projeler için önemsenmeyebilir fakat büyük projeler için bütün bu işlemleri her değişiklik yapıldığında tekrar-tekrar yapmak bezginlik verebilir.&lt;br /&gt;&lt;br /&gt;İşte Ant burada ortaya çıkıyor ve sizi rutin,sıkıcı işlemlerden ve hamallıktan kurtarıyor.&lt;br /&gt;&lt;br /&gt;Ant ile başka bir bilgisayarda çalışarak remote bir servere ftp ile dosyalarınızı atabilir ve deploy edebilirsiniz.Hatta birbaşkasına mail ile gönderebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kaynak : &lt;a href="http://www.teknolojiokulu.net/java-jsp/apache-ant.html"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-635448248052145994?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/635448248052145994/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=635448248052145994' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/635448248052145994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/635448248052145994'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/07/apache-ant.html' title='Apache Ant'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-8101601339595466413</id><published>2009-06-26T00:45:00.000-07:00</published><updated>2009-06-26T01:03:57.606-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTL'/><category scheme='http://www.blogger.com/atom/ns#' term='Template Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Marker'/><title type='text'>Free Marker Template Language</title><content type='html'>FTL(FreeMarker Template Language) uzantılı dosya örnekleri ile karşılanca, ftl nedir? diyip araştırınca &lt;br /&gt;&lt;br /&gt;Java temelli olup, MVC mimarisi üzerine kurulu bir engine tarafından , html web taslakları üretiyor.&lt;br /&gt;&lt;br /&gt;Template Engine (web) çalışma mantığını net bir şekilde tasvir eden bir foto;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1u6cfSxme4E/SkR-XzenxoI/AAAAAAAAACU/0Hh_45RD2fk/s1600-h/blog10.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 106px; height: 200px;" src="http://1.bp.blogspot.com/_1u6cfSxme4E/SkR-XzenxoI/AAAAAAAAACU/0Hh_45RD2fk/s200/blog10.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5351541204643726978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Template Engine ile ilgili daha detaylı bilgi için;&lt;br /&gt;&lt;br /&gt;http://en.wikipedia.org/wiki/Template_engine_(web)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FreeMarker ile ilgili bir örnek ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;böle bir taslak var;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt; html&gt;&lt;br /&gt;&lt; body&gt;&lt;br /&gt;&lt; p&gt;Hello ${name}! You have the following messages:&lt;br /&gt;&lt; #list messages as m&gt;&lt;br /&gt;  &lt;p&gt;&lt;b&gt;${m.from}:&lt;/b&gt; ${m.body}&lt;/p&gt;&lt;br /&gt;&lt; /#list&gt;&lt;br /&gt;&lt; /body&gt;&lt;br /&gt;&lt; /html&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ve bazı süreçler sonrası aşağıdaki hali alıyor...&lt;br /&gt;&lt;br /&gt;&lt;  html&gt;&lt;br /&gt;&lt;  body&gt;&lt;br /&gt;&lt; p&gt;Selam Pinar! Mesajın var:&lt;br /&gt;  &lt; p&gt;&lt; b&gt;Annen:&lt;/b&gt; Anneciğim yavaş git tamam mı!!!&lt;/p&gt;&lt;br /&gt;  &lt; p&gt;&lt; &gt;Raiba:&lt;/b&gt; Abla eve gelirken güzel bir film al ..&lt;/p&gt;&lt;br /&gt;&lt; /body&gt;&lt;br /&gt;&lt; /html&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;gibi &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-8101601339595466413?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/8101601339595466413/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=8101601339595466413' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/8101601339595466413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/8101601339595466413'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/06/free-marker-template-language.html' title='Free Marker Template Language'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1u6cfSxme4E/SkR-XzenxoI/AAAAAAAAACU/0Hh_45RD2fk/s72-c/blog10.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-8446242702572459304</id><published>2009-06-25T05:30:00.000-07:00</published><updated>2009-06-25T05:36:21.788-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subclipse'/><title type='text'>Subclipse nedir? Eclipse ile iliştirlmesi nasıl?</title><content type='html'>Subclipse, takım halinde (ya da tek başınıza)kodlama yaparken, yazdığımız programların versiyonlanmasını sağlıyor. Kimlerin hangi değişiklikleri yaptığı ,herhangi bir sorun olması durumunda kodların önceki hallerine dönülmesini sağlayan açık kaynak versiyon kontrol sistemi Subversion programının, başta Java olmak üzere birçok programlama dilinde kod geliştirmeye yarayan Eclipse platformu üzerinden kullanılmasını sağlayan bir eklentidir.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;İster bir ekibin parçası olunan durumlarda ; yanlız çalışırkende kullanılması projenin geliştirilme süreci açısından oldukça faydalı olacağı kaneatindeyim...&lt;br /&gt;&lt;br /&gt;Kurulumu;&lt;br /&gt;&lt;br /&gt;1) Help-&gt;Sofware Update-&gt;Find and Install menüsüne girin,&lt;br /&gt;2) “Search for new features to install” seçeneğini işaretleyerek ileri tuşuna basın,&lt;br /&gt;3) Sağdaki menüden “New Remote Site” butonuna basın,&lt;br /&gt;4) Açılan pencerede “Name:” kısmına Subclipse, “URL:” kısmına http://subclipse.tigris.org/update_1.2.x yazarak kaydedin&lt;br /&gt;5) “Finish” butonuna basarak Eclipse’in sizin için var olan yüklemeleri yapmasını bekleyin.&lt;br /&gt;&lt;br /&gt;şeklindedir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-8446242702572459304?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/8446242702572459304/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=8446242702572459304' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/8446242702572459304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/8446242702572459304'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/06/subclipse-nedir-eclipse-ile.html' title='Subclipse nedir? Eclipse ile iliştirlmesi nasıl?'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-7817695503488271102</id><published>2009-06-22T23:04:00.000-07:00</published><updated>2009-06-23T06:59:30.031-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring ide kurulumu'/><title type='text'>Spring</title><content type='html'>Spring J2EE projelerinin kolayca geliştirilmesine yarayan , IoC ve AOP gibi modellemeleri içinde barındıran bir framework tur. &lt;br /&gt;&lt;br /&gt;Basit bir uygulama geliştirmek istersek;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Öncelikle ortamımızı oluşturuyoruz; bunun için ;&lt;br /&gt;&lt;br /&gt;Eclipse Europe, Eclipse Spring IDE Plugin ve Spring Framework leri edinmemiz gerekiyor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.eclipse.org/downloads/moreinfo/jee.php  --&gt; Eclipse IDE for Java EE Developers (Package Contents - Package FAQ) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.springsource.org/download  --&gt; Spring Framework için&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://springide.org/updatesite/spring-ide_updatesite_2.0.2_v200712142013.zip  --&gt; Spring Ide (eclipste daha rahat spring kullanarak uygulama  geliştirmek için)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Spring IDE nin kurulumu için ;  &lt;br /&gt;&lt;br /&gt;(Daha derli toplu çalışabilmek için )&lt;br /&gt;&lt;br /&gt;C:// nin altında "araçlar" adında bir klasör oluşturuyoruz.&lt;br /&gt;Buraya Eclipse exceyi çıkartııp çalıştıyoruz .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Daha sonra; &lt;br /&gt;Spring Ide nin kurulumu için ; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1u6cfSxme4E/SkDeVWyy80I/AAAAAAAAACM/QCoXhvLywtc/s1600-h/blog1.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 160px;" src="http://2.bp.blogspot.com/_1u6cfSxme4E/SkDeVWyy80I/AAAAAAAAACM/QCoXhvLywtc/s200/blog1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5350520815793402690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;resimde görüldüğü üzre seçeneğini seçiyoruz.&lt;br /&gt;&lt;br /&gt;Çıkan pencereden "Search for new features to install" seçeneğini seçip &lt;br /&gt;nextliyoruz , burda "new local site"  butonu ile kurmak istediğimiz idenin klasörünü gösteriyoruz.&lt;br /&gt;&lt;br /&gt;Burda wizarda aslında akıyor zaten , herhangi bir hata ile karşılaşılırsa burda bazı dependicy ler  isteyebilir, onları seçenekten çıkartırsak , kurulumu rahatça tamamlayabiliriz. &lt;br /&gt;&lt;br /&gt;bir dahakinede kurulum sonrası giriş örneği gireceğim (üşemmessem tabi :))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-7817695503488271102?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/7817695503488271102/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=7817695503488271102' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/7817695503488271102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/7817695503488271102'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/06/spring.html' title='Spring'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1u6cfSxme4E/SkDeVWyy80I/AAAAAAAAACM/QCoXhvLywtc/s72-c/blog1.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-7749281075661653166</id><published>2009-06-18T01:09:00.000-07:00</published><updated>2009-06-18T01:42:00.057-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IoC'/><title type='text'>IoC(Inversion of Control)</title><content type='html'>IoC ; bir çok framework ün modellenmesinde kullanılan, başlıca nesneye yönelik programlamaya ait kavramlardan biridir. Basitçe ne olduğunu anlatmaya çalışırsak;&lt;br /&gt;genel olarak prosedürel programlama dillerinde , üst seviyeli modüllere bağlı alt seviyedeki bir modülün değiştirilmesi için üst seviyedeki modülünde tekrar bir elden geçmesi gerekir. Buda tekrar kullanılabilirliği öldürmektedir. Tersine bir bağımlılıktan bahsedilmesi ve bunun kontrolünün sağlanması IoC kavramını ortaya atmıştır gibi bir şeyler diyebiliriz sanırım. Nesneye yönelik programlama dillerinden birini kullandığımız zamanlarda da aynı hataya düşülebiliyor, &lt;br /&gt;fakat bir çok open source framework IoC konseptine uygun bir ortam sağlıyor yazılım geliştiriciler için.&lt;br /&gt;&lt;br /&gt;Avantajlarından kısaca bahsedersek;&lt;br /&gt;&lt;br /&gt;Tekrar kullanılabilirlik artıyor, Kod tekrarı önleniyor, daha kolay test edilebiliyor yazılım vs.&lt;br /&gt;&lt;br /&gt;Şimdi bir fremawork kullanmadan IoC modeline uygun örnek vermek gerekirse;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A ve B isminda iki classımız var ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class A{&lt;br /&gt;  private B b;&lt;br /&gt;&lt;br /&gt;  public A(){&lt;br /&gt;    b=new B();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_1u6cfSxme4E/Sjn7TswG7bI/AAAAAAAAAB0/sRaOwTPYeDM/s1600-h/12520.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 171px; height: 156px;" src="http://4.bp.blogspot.com/_1u6cfSxme4E/Sjn7TswG7bI/AAAAAAAAAB0/sRaOwTPYeDM/s200/12520.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5348582348328201650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;a objesi doğrudan bir b objesi oluşturuyor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Şimdi bu örneği ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;IoC modeline uygun hale getirirsek;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class A{&lt;br /&gt;  private B b;&lt;br /&gt;&lt;br /&gt;  public A(){&lt;br /&gt;  }&lt;br /&gt; &lt;br /&gt;  public setB(B b){&lt;br /&gt;   this.b=b;&lt;br /&gt; } &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_1u6cfSxme4E/Sjn9zDYE0DI/AAAAAAAAACE/9H1izfOsBGM/s1600-h/12522.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 106px;" src="http://4.bp.blogspot.com/_1u6cfSxme4E/Sjn9zDYE0DI/AAAAAAAAACE/9H1izfOsBGM/s200/12522.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5348585086000615474" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-7749281075661653166?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/7749281075661653166/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=7749281075661653166' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/7749281075661653166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/7749281075661653166'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/06/iocinversion-of-control.html' title='IoC(Inversion of Control)'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1u6cfSxme4E/Sjn7TswG7bI/AAAAAAAAAB0/sRaOwTPYeDM/s72-c/12520.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-5909861254901015138</id><published>2009-06-17T06:12:00.000-07:00</published><updated>2009-06-17T06:16:55.687-07:00</updated><title type='text'>Hibernate Nedir?</title><content type='html'>ORM(object relation modelling) yapılmasında java da kullanılan opensource bir uygulamadır. ORM nedir? dersek; onuda veritabanından çekilen sorguların bir obje aracılığıyla kullanılması gibi en basit şekilde tanımlayabiliriz.&lt;br /&gt;&lt;br /&gt;Hibernate benzeri , java persistance gibi bir apide bulunmaktadır ayrıca.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-5909861254901015138?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/5909861254901015138/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=5909861254901015138' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5909861254901015138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5909861254901015138'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/06/hibernate-nedir.html' title='Hibernate Nedir?'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-2090093638717445519</id><published>2009-04-02T03:35:00.000-07:00</published><updated>2009-04-02T03:40:52.717-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Login'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>ORACLE APEX Giriş Sayfasını Değiştirme</title><content type='html'>Apex in kendi login sayfalarında, çalışan kendine ait olan process . Authentication ı sağlayıp, yönlendirme işlemini yapıyor. &lt;br /&gt;&lt;br /&gt;wwv_flow_custom_auth_std.login(&lt;br /&gt;P_UNAME =&gt; :P2_USERNAME,&lt;br /&gt;P_PASSWORD =&gt; :P2_PASSWORD,&lt;br /&gt;P_SESSION_ID =&gt; v('APP_SESSION'),&lt;br /&gt;P_FLOW_PAGE =&gt; :APP_ID||':1'&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;Bazen giriş sayfasını bazı şartlara göre değiştirilmesi gerekebilmekte. Örneğin kullanıcının yetkisine bağlı olarak farklı giriş saygalarının karşılaması gerekebilir. Böyle bir durumda ;&lt;br /&gt;&lt;br /&gt;Login sayfasındaki processi mizi aşağıdaki gibi düzenleyebiliriz. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;v_start_page number(10);&lt;br /&gt;BEGIN&lt;br /&gt;BEGIN&lt;br /&gt;SELECT start_page&lt;br /&gt;INTO v_start_page&lt;br /&gt;FROM apex_users&lt;br /&gt;WHERE upper(name) = upper(:P2_USERNAME);&lt;br /&gt;EXCEPTION&lt;br /&gt;WHEN no_data_found THEN&lt;br /&gt;v_start_page := 1;&lt;br /&gt;END;&lt;br /&gt;wwv_flow_custom_auth_std.login(&lt;br /&gt;P_UNAME =&gt; :P2_USERNAME,&lt;br /&gt;P_PASSWORD =&gt; :P2_PASSWORD,&lt;br /&gt;P_SESSION_ID =&gt; v('APP_SESSION'),&lt;br /&gt;P_FLOW_PAGE =&gt; :APP_ID||':'||nvl(v_start_page,1)&lt;br /&gt;);&lt;br /&gt;END;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-2090093638717445519?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/2090093638717445519/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=2090093638717445519' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/2090093638717445519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/2090093638717445519'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/04/oracle-apex-giris-sayfasn-degistirme.html' title='ORACLE APEX Giriş Sayfasını Değiştirme'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-4875631682768920906</id><published>2009-03-23T03:50:00.001-07:00</published><updated>2009-03-23T04:13:54.429-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conneciton Pool Data Source'/><category scheme='http://www.blogger.com/atom/ns#' term='XA Data Source'/><title type='text'>Connection Pool Data Source</title><content type='html'>Önce database connection nedir? Çoooooook basitleştirirsek ; bir client yazılımının , bir database server ile konuşturmak için arada komutları ve cevapları (resultset gibi düşünülebilir) taşıyan  ara  birim gibi bir şey. &lt;br /&gt;&lt;br /&gt;Connection Pool ise bu database connection ların tutulduğu, gerektiğinde daha önce kullanılan connection tekrar açmak yerine yeniden kullanılmasını sağlayan, bağlantı sayısını kontrol altında tutan (bir anda bir sürü bağlantı açılıp kasılmayı önlemek için) , bağlantı isteklerini sıraya koyan bir yapı. Gerçi çok emin olmamakla bir likte bir çok database server da bu yapının özellikleri ; seçilen mimariye göre değişebilir. &lt;br /&gt;&lt;br /&gt;XA Data Source ile ilgili kabaca birden fazla veritabanı transaction söz konusu ise kullanımı tercih edilir. Konuyla ilgili ayrıntılı bilgi için; --&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mustafatan.blogspot.com/2007/01/xa-needed-more-often-than-you-think.html"&gt;http://mustafatan.blogspot.com/2007/01/xa-needed-more-often-than-you-think.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-4875631682768920906?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/4875631682768920906/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=4875631682768920906' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/4875631682768920906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/4875631682768920906'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/03/connection-pool-data-source.html' title='Connection Pool Data Source'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-6798723060229586577</id><published>2009-03-19T04:22:00.001-07:00</published><updated>2009-03-23T04:15:16.167-07:00</updated><title type='text'>RAD (Rational Application Developer) IBM</title><content type='html'>IBM Sun satın alma ihtimalinin söz konusu olduğu haberlerin yayılmaya başlamasıyla, şu sıralar projesini yetiştirmeye çalıştığım( IBM'in üniversite öğrencileri için düzenlemiş olduğu Yazılım Akademisi yarışmasındaki "GSM tabanlı faturalandırma ve sorgulama" adlı proje) için yaptırım gücü oldu bu haberle ile birlikte. Ödüller açıklandığında bile bu kadar heveslenmemiştim :D&lt;br /&gt;&lt;br /&gt;Projemizde kullanılacak teknolojiler ve araçlar konusunda kendi ürünlerini yada open source teknolojiler kullanımı ile ilgili kısıtlamalar var.&lt;br /&gt;&lt;br /&gt;IBM ürünlerinden olan RAD ide si projemizi geliştireceğiz. J2EE standartlarına uygun olması gerekmekte. Bu nedenle Struts Framework ü ile çalışmaya karar verdi. Struts ile uygulama geliştirenler için RAD struts desteği ile gelmekte buda Strutsun installion ı ile vakit kaybetmememizi sağladı. RAD 7.5 kullanarak giriş seviyesinde struts örneği bahsedicem en kısa zamanda . Bu arada WebSphere 7.0 üzerinde uygulamayı run edicez :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-6798723060229586577?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/6798723060229586577/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=6798723060229586577' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/6798723060229586577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/6798723060229586577'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/03/rad-rational-application-developer-ibm.html' title='RAD (Rational Application Developer) IBM'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-5581006171679046989</id><published>2009-02-26T01:26:00.000-08:00</published><updated>2009-02-26T05:55:52.251-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Struts'/><title type='text'>Struts - Jakarta Struts</title><content type='html'>Struts Java/JSP ile hazırlanan web uygulama temelli bir fremawork tür. J2EE platformunda uygulama geliştirmek için oldukça kullanışlıdır.Open Source olduğundan herhanbir ücret söz konusu değildir. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt; Struts Neden Kullanmalıyız?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt; Open source olduğundan bir çok kişi tarafından kullanıldığı için, bug ları çabuk bulunup düzeltilmektedir. Uygulamaların geliştirilmesini hızlandırır.&lt;br /&gt;&lt;br /&gt; &lt;strong&gt;Struts - &gt; Framework&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Framework bir tanım getirirsek "Bir şeylerin yapımına başlanmasında , yapının oluşmasına yardımcı olan iskelettir." gibi basitleştirebiliriz.  &lt;br /&gt;&lt;br /&gt; &lt;strong&gt;Sturts Nasıl Çalışıyor?&lt;/strong&gt;&lt;br /&gt;Strust Model-View-Controller (MVC)  dizayn temeline dayanmaktadır. &lt;br /&gt;&lt;br /&gt;Model : Model yapısı ilişkili datalar, iş mantığı için kullanılabilir modeller sunmaktadır. Model yapıları programla database arasında ilişkileri sağlıyor. Örneğin HR için çalışanların bilgilerine eriştikleri bir arayüz desteği gibi bişi, bende hakim değilim. Hakim oldukça daha detaylı bilgi girerim artık ;)&lt;br /&gt;&lt;br /&gt;Google sayesinde edindiğim bir bilgi de Model Kavramı için ;&lt;br /&gt;&lt;br /&gt;"Model components are generally standard Java classes. There is no specifically required format for a Model component, so it may be possible to reuse Java code written for other projects."&lt;br /&gt;&lt;br /&gt;View : Model yapısı tarafından sağlanan bilgilerin ekranda gösterilmesi kısmıyla ilgilenen yap. Genelde JSP sayfaları tarafından sağlanmaktadır. &lt;br /&gt;&lt;br /&gt;Controller : Gelen datalara göre ne yapılacağına karar veren yapı gibi düşünülebilir.&lt;br /&gt;&lt;br /&gt;Çok sığ oldu biliyorum :(  Yazıyı yazarken faydalandığım kaynak -&gt; http://www.developer.com/java/ent/article.php/10933_1495931_1 burdan daha faydalı bilgilere erişilebilir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-5581006171679046989?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/5581006171679046989/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=5581006171679046989' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5581006171679046989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5581006171679046989'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/02/struts-jakarta-struts.html' title='Struts - Jakarta Struts'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-3201364985390884282</id><published>2009-02-16T04:41:00.000-08:00</published><updated>2009-02-26T05:55:14.545-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Telnet Service'/><title type='text'>Red Hat 4 Telnet servisi</title><content type='html'>Linux dağıtımlarından Redhat ta kurulu bir makinaya uzaktan erişim problemi, telnet servisi sistemin boot edilmesi ile başlamamakta imiş. Bu nedenle sistem çalıştıktan sonra telnet servisini en azından bir kereye mahsus manuel elle başlatılması gerekebilir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-3201364985390884282?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/3201364985390884282/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=3201364985390884282' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/3201364985390884282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/3201364985390884282'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/02/red-hat-4-telnet-servisi.html' title='Red Hat 4 Telnet servisi'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-5016687825475851286</id><published>2009-02-12T04:27:00.000-08:00</published><updated>2009-02-12T04:33:23.343-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Servisleri Başlatma'/><title type='text'>Oracle Servisleri Başlatma</title><content type='html'>Veri tabanını kapatıp açtığımızda yada yeni kurulum yapıldıktan sonra servislerin ve veritabanının başlatılması gerekebiliyor.&lt;br /&gt;&lt;br /&gt;su - oracle&lt;br /&gt;sqlplus / as sysdba&lt;br /&gt;&lt;br /&gt;sqlplus bağlandıktan sonra ;&lt;br /&gt;"Connected to an idle instance" diye bir yazı ile karşılaşırsak database ayakta olmadığını ve çalıştırmamız gerektiğini anlıyoruz.&lt;br /&gt;&lt;br /&gt;11g modsql de çalıştığı için emctl ile , 10g için opmnctl ile servisleri ayağa kaldırıyoruz.&lt;br /&gt;&lt;br /&gt;11g için;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;lsnrct start&lt;br /&gt;emctl start dbconsole&lt;br /&gt;sqlplus / as sysdba&lt;br /&gt;startup (in sqlplus session)&lt;br /&gt;&lt;br /&gt;Localhosta çalışanlar için makineyi sık sık kapatmak söz konusu olduğunda bu işlemlerin sistem yeni başlatıldığında çağrılan bir script tarafından yapılması oldukça faydalı olacaktır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-5016687825475851286?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/5016687825475851286/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=5016687825475851286' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5016687825475851286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5016687825475851286'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/02/oracle-servisleri-baslatma.html' title='Oracle Servisleri Başlatma'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-5165727912331253454</id><published>2009-02-11T23:49:00.000-08:00</published><updated>2009-02-12T04:21:52.903-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux işletim sistemi üzerine Oracle kurulumu'/><title type='text'>Linux işletim sistemi üzerine Oracle kurulumu</title><content type='html'>Linux üzerine program kurmak çoğu zaman Windowstaki gibi kolay olmuyor. Oracle kurulumu için de aynı şey söz konusu. Kurulum öncesinde bir çok hazırlık yapılması gerekiyor. Sonrasında da bazı scriptlerin çalıştırılması gerekiyor.&lt;br /&gt;&lt;br /&gt;Faydalı olması açısından bu yazıyı &lt;span style="font-weight:bold;"&gt;Red Hat Enterprise Linux 4 üzerine Oracle 11g kurulumu&lt;/span&gt; diye adlandırmak daha doğru olacaktır.&lt;br /&gt;Fakat linuxun  diğer dağıtımları veya Oracle'ın diğer sürümleri için de çoğu zaman aynı adımlar uygulanıyor. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Kurulum Öncesi Hazılık&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Önce Linux üzerinde tüm haklara sahip olan root kullanıcısı ile sisteme girilmesi gerekiyor ki rahat rahat yeni paketler kuralım, istediğimiz dosyanın içine girip çıkalım, kısaca ortamda tüm yetkilere sahip olmanın özgürlüğünü kullanabilmemiz için &lt;br /&gt;(çok uzattım, blog yazma konusunda çok yeniyim toparlamakta çoğu zaman güçlük çekebilirim :) Herneyse )&lt;br /&gt;&lt;br /&gt;--&gt; root kullanıcısı gibi login oluyoruz.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ve gerekli donanımsal ortam ihtiyaçlarını şöyle bir gözden geçiyoruz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--&gt; 1 GB ram database instance kontrolü için&lt;br /&gt;--&gt; 1.5 GB disk alanı swap space için&lt;br /&gt;--&gt; 400 MB disk alanı /tmp klasörü için&lt;br /&gt;--&gt; 1.5 - 3 GB disk alanı Oracle yazılımı için&lt;br /&gt;--&gt; 1.2 GB database kurulum öncesi gerekli yazılımları için (tabi daha öncesinde kurulu olması söz konusu olduğu için gerekli olmayadabilir.)&lt;br /&gt;--&gt; 2.4 GB Flash Recorvery Area&lt;br /&gt;(Burda biraz Flash Recorvery Area'dan Bahsetmek gerekirse; Oracle 10g ile gelen yeni bir özellik. Çok fazla datanın kullanıldığı veritabanlarında düzenli olarak gerçekleştirilen recorvery işlemlerin data kaybını önleyen güçlü bir tool.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Yazılımsal İhtiyaçlar&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gerekli paketlerin kurulu olup olmadığını öğrenmek için &lt;span style="font-weight:bold;"&gt;rpm&lt;/span&gt;(Red Hat Package Manager) komutunu kullanacağız. &lt;br /&gt;&lt;br /&gt;rpm -q binutils compat-db control-center gcc gcc-c++ \&lt;br /&gt;glibc glibc-common gnome-libs libstdc++ libstdc++-devel \&lt;br /&gt;make pdksh sysstat xscreensaver&lt;br /&gt;&lt;br /&gt;aynı anda bir çok pakedin kontrolünü yapıyoruz bu komutla , sistemde yüklü değilse paket uyarı veriyor. Olmayan paketlerin yüklenmesinden sonra kuruluma devam ediyoruz.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Oracle Kullanıcı gruplarının ve kullanıcısının oluşturulması&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;root kullanıcısı olarak sisteme giriş yaptığımız için yeni bir grup yada kullanıcı oluşturmada sıkıntı yaşamayız.&lt;br /&gt;&lt;br /&gt;--&gt;/usr/sbin/groupadd oinstall&lt;br /&gt;--&gt;/usr/sbin/groupadd dba&lt;br /&gt;--&gt;/usr/sbin/useradd -m -g oinstall -G dba oracle&lt;br /&gt;&lt;br /&gt;useradd komutunun -g ve -G parametreleri için&lt;br /&gt; -g (primary group assigned to the users)&lt;br /&gt; -G (Other groups the user belongs to)&lt;br /&gt;&lt;br /&gt;oracle kullanıcısı için şifre oluşturuyoruz&lt;br /&gt;&lt;br /&gt;--&gt;passw oracle&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Kurulumun yapılacağı dosya ve dosya yolunu oluşturup , sahiplendirme ve yetkilendirme işlemini yapıyoruz&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--&gt;mkdir -p /u01/app/oracle&lt;br /&gt;--&gt;chown -R oracle:oinstall /u01/app/oracle&lt;br /&gt;--&gt;chmod -R 775 /u01/app/oracle&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;Kernel parametrelerinin Yapılandırılması&lt;br /&gt;&lt;br /&gt;Kernel parametrelerinin yeniden yapılandırılması; Oracle'dan en iyi şekilde performans sağlamak için yapılıyor. 60 ' tan fazla farklı OS 'de koşan Oracle'ın tümüyle örtüşmesi mümkün değil. Performansı açısından büyük farklılıklar var. Konuyla ilgili daha detaylı bilgi için:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dba-oracle.com/oracle10g_tuning/t_ios_kernel_parameters.htm"&gt;http://www.dba-oracle.com/oracle10g_tuning/t_ios_kernel_parameters.htm &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cat &gt;&gt; /etc/sysctl.conf &lt;&lt; EOF&lt;br /&gt;kernel.shmall = 2097152&lt;br /&gt;kernel.shmmax = 536870912&lt;br /&gt;kernel.shmmni = 4096&lt;br /&gt;kernel.sem = 250 32000 100 128&lt;br /&gt;fs.file-max = 658576&lt;br /&gt;net.ipv4.ip_local_port_range = 1024 65000&lt;br /&gt;net.core.rmem_default = 262144&lt;br /&gt;net.core.wmem_default = 262144&lt;br /&gt;net.core.rmem_max = 1048536&lt;br /&gt;net.core.wmem_max = 1048536&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Değişen paremetrelere göre sistemin çalışması için; &lt;br /&gt;&lt;br /&gt;/sbin/sysctl -p&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Shell Limit Yapılandırması&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Oracle kullanıcısı ve database ortam araçlarını (memory gibi) kullanım kısıtlamaları getiriyoruz ki  kafasına göre takılmasın diye :P&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cat &gt;&gt; /etc/security/limits.conf &lt;&lt; EOF&lt;br /&gt;oracle soft nproc 2047&lt;br /&gt;oracle hard nproc 16384&lt;br /&gt;oracle soft nofile 1024&lt;br /&gt;oracle hard nofile 65536&lt;br /&gt;EOF&lt;br /&gt;cat &gt;&gt; /etc/pam.d/login &lt;&lt; EOF&lt;br /&gt;session required /lib/security/pam_limits.so&lt;br /&gt;EOF&lt;br /&gt;cat &gt;&gt; /etc/profile &lt;&lt; EOF&lt;br /&gt;if [ \$USER = "oracle" ]; then&lt;br /&gt;if [ \$SHELL = "/bin/ksh" ]; then&lt;br /&gt;ulimit -p 16384&lt;br /&gt;ulimit -n 65536&lt;br /&gt;else&lt;br /&gt;ulimit -u 16384 -n 65536&lt;br /&gt;fi&lt;br /&gt;umask 022&lt;br /&gt;fi&lt;br /&gt;EOF&lt;br /&gt;cat &gt;&gt; /etc/csh.login &lt;&lt; EOF&lt;br /&gt;if ( \$USER == "oracle" ) then&lt;br /&gt;limit maxproc 16384&lt;br /&gt;limit descriptors 65536&lt;br /&gt;umask 022&lt;br /&gt;endif&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Hangcheck Timer Yapılandırılması&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180&lt;br /&gt;cat &gt;&gt; /etc/rc.d/rc.local &lt;&lt; EOF&lt;br /&gt;modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;Burdaki parametreleri biraz açarsak;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;hangcheck_tick ; sistemin sağlıklı bir şekilde çalışıp çalışmadığının kontrol edilme periyodunu tutuyor. Varsayılan değer 60 saniyedir.&lt;br /&gt;&lt;br /&gt;hangcheck_margin ; maximum gecikme süresi ; varsayılan değer 30 saniyedir.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Çevresel Ayarların Yapılması&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;oracle user olarak yapılandırıyoruz. Çünkü oracle userı sisteme girdiğinde sadece kendisi için tanımlı değişkenlere ve path ayarlarına ihtiyacı var. &lt;br /&gt;&lt;br /&gt;su oracle&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cat &gt;&gt; /home/oracle/.bash_profile &lt;&lt; EOF&lt;br /&gt;# User specific environment and startup programs&lt;br /&gt;umask 022&lt;br /&gt;PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin&lt;br /&gt;export LD_LIBRARY_PATH=/usr/lib:/usr/X11R6/lib&lt;br /&gt;export ORACLE_BASE=/u01/app/oracle&lt;br /&gt;export ORACLE_HOME=\$ORACLE_BASE/product/11.1.0/db_1&lt;br /&gt;export ORACLE_SID=orcl&lt;br /&gt;PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/jdk/jre/lib/i386/server:\&lt;br /&gt;\$ORACLE_HOME/rdbms/lib:\$ORACLE_HOME/lib:\$LD_LIBRARY_PATH:\&lt;br /&gt;/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/sbin:\&lt;br /&gt;/usr/sbin:/root/bin:\$PATH&lt;br /&gt;PATH=\$PATH:\$HOME/bin&lt;br /&gt;export PATH&lt;br /&gt;unset USERNAME&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bu değerlerin aktif olabilmesi için;&lt;br /&gt;&lt;br /&gt;--&gt; source ~/.bash_profile&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;KURLUMA BAŞLAYABİLİRİZ&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;oracle kullanıcısının okuma hakkına sahip olduğu klasörde olduğunu varsayıyoruz 11g Setup dosyasının ve oracle kullanıcısı olarak kurulumu gerçekleştiriyoruz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/obe/11gr1_db/install/dbinst/dbinst.htm"&gt;http://www.oracle.com/technology/obe/11gr1_db/install/dbinst/dbinst.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bağlantısında screenshot ile oldukça faydalı anlatılmıştır. (Birazcıkta üşendim kabul ediyorum :D )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-5165727912331253454?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/5165727912331253454/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=5165727912331253454' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5165727912331253454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/5165727912331253454'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/02/linux-isletim-sistemi-uzerine-oracle.html' title='Linux işletim sistemi üzerine Oracle kurulumu'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-4089887745157942844</id><published>2009-02-07T04:17:00.000-08:00</published><updated>2009-07-09T02:00:14.341-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='INNOVATION'/><title type='text'>SOA (Service Oriented Architecture ) :S</title><content type='html'>SOA ile ilgili yeni fikir sahibi olmaya başlayacaklar için gercekten faydası olacağına inandığım bağlantılar;&lt;br /&gt;&lt;a href=" http://www.ardenagopyan.com/?p=89"&gt;&lt;br /&gt;http://www.ardenagopyan.com/?p=89&lt;/a&gt;&lt;br /&gt;&lt;a href=" http://www.youtube.com/watch?v=sbd_1G8Kqjs"&gt;&lt;br /&gt;http://www.youtube.com/watch?v=sbd_1G8Kqjs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=zV860odGN5Y"&gt;http://www.youtube.com/watch?v=zV860odGN5Y&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=dyHWAiG6c-Y"&gt;http://www.youtube.com/watch?v=dyHWAiG6c-Y&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/webservices/newto/index.html?S_TACT=105AGX28&amp;amp;S_CMP=DLMAIN#main"&gt;http://www.ibm.com/developerworks/webservices/newto/index.html?S_TACT=105AGX28&amp;amp;S_CMP=DLMAIN#main&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-4089887745157942844?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/4089887745157942844/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=4089887745157942844' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/4089887745157942844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/4089887745157942844'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2009/02/soa-service-oriented-architecture-s.html' title='SOA (Service Oriented Architecture ) :S'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-580899936936430684</id><published>2008-09-10T22:59:00.000-07:00</published><updated>2008-10-20T12:30:32.108-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gündem'/><title type='text'>Big Bang!!!!!!</title><content type='html'>Gündemede olan ; içimi kıpratan, tüylerimi diken diken eden deney hakkında birkaç şey yazmak istedim.&lt;br /&gt;&lt;br /&gt;1992 yılında çalışmalarına başlanmış şimdiye kadar 200 milyon dolar harcanmış, 'deney odası', 42 metre uzunluğunda, 22 metre genişliğinde ve içinde 22 metre yüksekliğinde dev bir 'mıknatıs dedektörü' varmış. Deneyin ilk sahfası 10 Eylül günü gerçekleştirdirdi. Başarıyla tamamlanmıştır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-580899936936430684?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/580899936936430684/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=580899936936430684' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/580899936936430684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/580899936936430684'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2008/09/big-bang.html' title='Big Bang!!!!!!'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-3401691039003731034</id><published>2008-09-10T22:55:00.000-07:00</published><updated>2008-09-10T22:59:14.944-07:00</updated><title type='text'>Numaralar Taşınabilecek Artık</title><content type='html'>Yani şimdi bu nedemek oluryor? Şöyleki mevcut numara operatör kodu dahil olmak üzere, başka bir operatörün hat numarası olarak kullanılabilecek. Bu durumda ortaya çıkabilecek en büyük aksaklık a operatöründe gözüken numarasa aslında b operatöründe olduğu için o kişiyi arayan kullanıcılar beklemedikleri bir ücretlendirme söz konusu olabilir. Bunun için de sesli bir ikaz olacakmış arama yapıldığı zaman. 10 Kasım da göreceğiz hep beraber:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-3401691039003731034?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/3401691039003731034/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=3401691039003731034' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/3401691039003731034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/3401691039003731034'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2008/09/numaralar-tanabilecek-artk.html' title='Numaralar Taşınabilecek Artık'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-6534474703040885840</id><published>2008-08-17T06:44:00.000-07:00</published><updated>2008-08-17T06:50:55.967-07:00</updated><title type='text'>Oracle Application Express (APEX)</title><content type='html'>APEX; Oracle veritabanı bağlantısı kullanarak hızlı ve az programlama bilgisi gerektiren web uygulaması geliştirmeye yardımcı olan bir tool.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://apex.oracle.com/i/index.html"&gt;http://apex.oracle.com/i/index.html&lt;/a&gt;  adresinden workspace'nizi oluşturup hemen uygulama geliştirmeye başlayabilirsiniz.&lt;br /&gt;&lt;br /&gt;Daha detaylı bilgi için;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/database/application_express/html/what_is_apex.html"&gt;http://www.oracle.com/technology/products/database/application_express/html/what_is_apex.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-6534474703040885840?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/6534474703040885840/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=6534474703040885840' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/6534474703040885840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/6534474703040885840'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2008/08/oracle-application-express-apex.html' title='Oracle Application Express (APEX)'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-2983067101005603101</id><published>2008-08-17T06:28:00.000-07:00</published><updated>2009-02-11T04:08:01.229-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>CRM (Customer relationship management)</title><content type='html'>&lt;div align="justify"&gt;Turkcell Teknoloji de ki stajımda Apex ile hazırlanmış bir CRM uygulaması geliştirmek için görevlendirildim. &lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Öncelikle CRM nedir?&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;font color="#cc0000"&gt;CRM: Müşteriye Dair Her Şey&lt;/font&gt;&lt;/div&gt;&lt;font color="#cc0000"&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/font&gt;Müşteri ilişkileri yönetimi ya da çok popüler kısaltması ile CRM, son birkaç yılda, her ölçekten şirketin stratejik ajandasında yer alan bir yatırım. Üzerine binlerce rapor yazılan, milyarlarca dolar yatırım yapılan ve hala gelişmeyi sürdüren bu alan acaba iş dünyası için neler vaat ediyor?&lt;br /&gt;Öncelikle CRM pazarının son yıllarda nasıl bir gelişme sürecinde olduğuna bakıldığında karşımıza iş dünyasının yaşadığı büyük değişim çıkıyor. Dünyada, hemen hemen tüm pazarlarda rekabetin arttığı, ürünlerin pazara girme sürelerinin kısaldığı ve marjların düştüğü bir ortamda müşteriye daha etkin ulaşmak, müşterinin isteklerini anlayarak ürün ve hizmetleri bu yönde şekillendirmek büyük önem taşıyor. Tüm bu ihtiyaçlar çerçevesinde CRM pazarı hızla gelişmeyi sürdürüyor. Dünyaca ünlü araştırma şirketlerinin rakamları da bu büyümeyi net biçimde ortaya koyuyor. Aberdeen Reseach’e göre dünyada CRM yazılımları ve hizmetleri pazarı 2003 yılında 23 milyar dolarlık bir hacme ulaştı. Bu konuda biraz daha iddialı bir rakam ortaya koyan IDC ise 2005 yılı sonunda CRM yazılımları ve hizmetleri alanında elde edilecek gelirlerin tüm dünyada 162 milyar dolara çıkacağını öngörüyor.&lt;br /&gt;Önce Müşteri…&lt;br /&gt;CRM’in C’si yani müşteri (customer) kavramının son yıllarda yaşadığı değişim gerçekten inanılmaz boyutlara ulaştı. Tarihsel süreç açısından bakıldığında 1950’li yılların “Ne bulursam onu alırım” yaklaşımıyla geçtiğini görürüz. Arz ekonomisinin ön planda olduğu bu dönemlerde pazarda yer alan ürün ve hizmetlerin çeşitliliğindeki sınırlamalar, tüketici tercihlerinin geri plana atılmasına zemin hazırlıyordu. Ardından 1970’li yıllar geldi ve ürün ve hizmet çeşitliliği artmaya başladı. Bu noktada müşterilerin genel eğilimi “Neyi alabilirsem onu alayım” biçiminde değişti. 1990’larla birlikte artık “ne istersem onu alırım” dönemi başladı. bu yeni döneme gelinmesinde birkaç temel nokta büyük rol oynadı.&lt;br /&gt;Ürün ve hizmetlerim çeşitliliği inanılmaz biçimde arttı ve müşterilerin tercih olasılıkları çoğaldı.&lt;br /&gt;Bilgi ve iletişim teknolojilerini etkin kullanan müşteriler, bilgiye, rakibe ve muadil ürünlere çok kolay erişebilir bir hale geldi.&lt;br /&gt;Teknolojik yapılar, ürün ve hizmetlerin pazarlanmasından dağıtım kanalına dek iş süreçlerini değiştirdi. Müşterilere çok farklı kanallardan erişim mümkün oldu.&lt;br /&gt;Tüm bu gelişmeler hemen hemen tüm unsurları olumlu etkilediyse de müşteri sadakatinin inanılmaz ölçüde düşmesini sağladı. Örneğin konut kredisi ile ilgilenen bir müşteri eskiden çalıştığı bankadan başka bir tercihe kolaylıkla sıcak bakmaz iken bugün internet üzerinde bir arama motoruna “konut kredisi” yazarak 10 binden fazla sayfaya ve onlarca farklı teklife birkaç dakika içerisine erişme şansına sahip oluyor.&lt;br /&gt;Diğer taraftan yapılan birçok araştırma, müşteriyi elde tutmanın, yeni müşteri kazanmaktan çok daha karlı bir iş olduğunu ortaya koyuyor. Loyalty Effect’in araştırmalarına göre 5 yılda bir müşterilerinin yaklaşık yarısını kaybeden şirketlerin buna acil bir çözüm bulması gerekiyor. zira mevcut müşterileri elinde tutmanın maliyeti, yeni müşteri kazanmaya oranla 6-7 kat daha düşük.&lt;br /&gt;Müşteriyi elde tutmanın yolu ise basit: Müşteriyi anlamak, onun ihtiyaçları çerçevesinde ürün ve hizmetlerini özelleştirebilmek… Bunun ilginç bir örneği ABD’nin çok satan gazetelerinden biri tarafından ortaya koyuldu. Söz konusu gazete elde ettiği veriler ışığında müşterilerini nasıl daha fazla tatmin edebileceği sorusuna cevap aramak için bir anket yaptırdı. Bu çalışma sonucunda gazete aboneliklerini iptal eden müşterilerin en büyük sıkıntılarının dağıtımın sabahın geç saatlerinde yapılması olduğu ortaya çıktı. Diğer taraftan satış noktalarında gazetenin iyi sergilenmemesi alım oranını azaltıyordu. Gazete yönetimi, öncelikle ülke çapındaki baskı tesislerini yüksek hızlı ağlarla birbirine başlayarak baskı potansiyelini daha verimli kullanmaya başladı. Böylece dağıtım süresi sabahın erken saatlerine çekilmiş oldu. Kurulan bir telefon hattı üzerinden de abonelere gazetelerini hangi saatlerde almak istediklerini bildirebildikleri bir kanal sağlandı. Farklı bölgelerin hava durumu sayfaları o bölgeye özel hale getirildi. Tüm bu faaliyetler sonucunda gazetenin tirajı %2 arttı ve müşteriyi elde tutma oranı %95’e yükseldi. ABD’de bu oranın endüstri ortalaması ise yüzde 60’dı.&lt;br /&gt;CRM Nedir?&lt;br /&gt;Aslında CRM, çok da yeni bir kavram değil. CRM kısaltması ABD medyasında 1989 yılında sadece birkaç defa geçmesine karşın 2000 yılında bu rakam 14 bine ulaşmıştı. Hangi dönemde olursa olsun, vizyon sahibi yöneticilerin tümü müşterileri anlamanın işlerini geliştirmek için ne kadar faydalı olduğunun bilincinde olmuştur. 50 sektör üzerinde yapılan bir araştırmaya göre 1923 yılında sektöründe lider olan şirketlerin 43’ü bugün hala o sektörlerin liderleri. Ve bu şirketlere bakıldığında hepsinin müşteriyi anlamaya ciddi yatırımlar yapan ve müşteri odaklı çalışan şirketler oldukları görülüyor.&lt;br /&gt;CRM’in bugünkü boyutuna temel oluşturan güzel örneklerden bir tanesi de eski mahalle bakkalları… Müşterilerinin neredeyse tamamını ismen tanıyan, ürünlerden hangilerini ne şekilde tercih ettiğini bilen bu bakkallara gönderme yapan Meta Group analisti Liz Shahnam CRM’i şöyle tanımlıyor:&lt;br /&gt;“CRM pek de yeni olmayan bir kavram. Yeni olansa geçmişte mahalle bakkalımızla yapabildiğimizi olası kılan teknoloji... O bakkalın az sayıda müşterisi ve herkesin tercihlerini aklında tutabilecek güçte hafızası vardı. Teknoloji, işte bu modelin gerçekleşmesini sağladı."&lt;br /&gt;Örnekler bir yana, genel bir tanımını yapmak gerekirse; CRM, karşılıklı, uzun vadeli bir değer ilişkisi yaratmak için müşteriler ile gerçekleştirilen ilişkilerin etkin biçimde yönetilmesidir. CRM; satış, pazarlama ve hizmet süreçlerinin müşteri odaklı bir felsefe etrafında yeniden tanımlanmasını gerektirir.&lt;br /&gt;CRM’in neden son dönemde bu kadar popüler olduğuna bakıldığında birkaç ana noktadan söz etmek gerekir:&lt;br /&gt;İş dünyasındaki rekabetin geldiği nokta, müşteriyi çok daha ön plana çıkarıyor.&lt;br /&gt;1990’lı yılarda ERP ile başlayan kurumsal verimlilik sürecinde arka ofis uygulamaları olgunlaştı. Bu otomatize yapının dışa açılan yüzüne olan ihtiyaç daha da arttı.&lt;br /&gt;Ürünlerin pazarda kalma süreleri kısaldı, yenilikçi ürünlerin sağladığı ilk olma avantajı azaldı. Müşteriler için seçenekler artarken üreticilerin rekabeti arttı.&lt;br /&gt;İnternet başta olmak üzere iletişim teknolojileri, müşterilerin seçim alışkanlıklarını değiştirdi, sadakat seviyelerini azalttı.&lt;br /&gt;Stratejiden Teknolojiye CRM&lt;br /&gt;Tanımdan da anlaşılacağı üzere CRM, bir felsefe ve bir iş yapma biçimidir. Bu son derece önemli bir nokta, zira birçok kurum CRM’i teknolojik bir çözüm olarak görüyor. bu kısıtlı bakış açısı ile başlayan projeler tamamlandığında da beklenen sonuçları tam anlamıyla veremiyor.&lt;br /&gt;Aslında CRM’in yapısını bir piramide benzetmek mümkün. Bu piramidin en tepesinde iş stratejisi yatıyor. İkinci katmanda ise organizasyon yapısı (yani çalışanlar) ve son olarak en alt katmanda teknoloji bulunuyor. CRM; kurumların iş stratejilerine yönelik ihtiyaçlarını, kurumsal yapı ve süreçlerin optimizasyonu ile sağlarken bunu destekleyen ve buna imkân veren yapı olarak da teknolojinin kullanılmasını gerektiriyor.&lt;br /&gt;İş fonksiyonları açısından bakıldığında CRM; pazarlama, satış, ticaret ve hizmet süreçlerinin etkin kılınmasında büyük rol oynar.&lt;br /&gt;Pazarlama süreçlerinde veri toplama, kampanya yönetimi, olası müşterilerin yönetimi gibi birçok araç ile yeni müşterilerin kazanılması ve eldeki müşterilerden daha fazla değer elde edilmesi mümkün olur.&lt;br /&gt;Satış süreçlerinde, bilgi yönetimini ve paylaşımını sağlamak, raporlama ve analiz yetenekleri geliştirmek gibi avantajları ile CRM, satış hacminin yükseltilmesinde önemli role sahip olur.&lt;br /&gt;Hizmet alanında ise CRM’in etkileşim ve web ortamında süreçlerin yürütülmesi anlamında oldukça önemli açılımlar sağladığı bir gerçek.&lt;br /&gt;Pazarlama&lt;br /&gt;Satış&lt;br /&gt;E-ticaret&lt;br /&gt;Hizmetler&lt;br /&gt;Kurum çalışanları&lt;br /&gt;Pazarlama otomasyonu&lt;br /&gt;Satış otomasyonu&lt;br /&gt;Hizmet otomasyonu&lt;br /&gt;Satış kanalı&lt;br /&gt;İş ortakları ile olan ilişkilerin yönetilmesi&lt;br /&gt;Online müşteriler&lt;br /&gt;Kurumsal web sitesi-portal&lt;br /&gt;e-ticaret portali&lt;br /&gt;Self servis hizmetler&lt;br /&gt;CRM’in Farklı Aşamaları&lt;br /&gt;Bugün CRM çözümleri olarak nitelendirilen uygulamalar ile geçmişteki uygulamalar arasında birçok yapısal benzerlik ve farklılıklar vardır. Aslında farklılıklar, CRM’in geçirdiği evreleri de ortaya koyması açısından önemlidir. CRM’de yeni bir dönem başlamasına neden olan en temel gelişme, çözümlerin içerisinde yer alan analitik özelliklerin gerçek zamanlı ve çok daha kapsamlı hale gelmesi oldu. Bu özellikler çeşitlendikçe CRM çözümleri de farklılaşmaya başladı. bu anlamda 3 temel CRM yapısından söz etmek mümkün:&lt;br /&gt;Operasyonel CRM: CRM’in bu biçimi aslında tipik iş fonksiyonlarının kapsandığı CRM çözümlerinden oluşur. Bu fonksiyonlara örnek olarak müşteri hizmetleri, sipariş yönetimi, faturalama, satış ve pazarlama otomasyonu gibi süreçleri verebiliriz. Bu çözümler daha çok kurumsal sistem içerisindeki finans, insan kaynakları gibi farklı iş fonksiyonlarının entegre bir yapıya kavuşturulması için kullanılır.&lt;br /&gt;Analitik CRM: Adından da anlaşılacağı gibi bu CRM biçiminde kullanıcılara ait verilerin elde edilmesi, depolanması, işlenmesi, analiz ve tahminlere dönüştürülerek raporlanması işlemleri gerçekleştirilir. Böylelikle CRM’in operasyonel ve entegrasyon özellikleri üzerine analiz ve raporlama özellikleri eklenir.&lt;br /&gt;İşbirliğine yönelik CRM: Bu CRM biçimi aslında diğerlerinin en uygun birleşiminden oluşur. Müşteriler ile şirketler arasında tam anlamıyla bir etkileşim ve koordinasyon ağının oluşmasına imkân veren bu çözümler, farklı iletişim kanallarından (web, telefon, e-posta vb) gelen bilgilerin değere dönüştürülmesini sağlar. İşbirliğine Yönelik CRM çözümleri müşteri ile etkileşime imkân veren tüm fonksiyonları içerir. &lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Bu yazının kaynağı  &lt;a href="http://www.microsoft.com/turkiye/dynamics/crm/crm_nedir.mspx"&gt;http://www.microsoft.com/turkiye/dynamics/crm/crm_nedir.mspx&lt;/a&gt;&lt;br /&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-2983067101005603101?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/2983067101005603101/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=2983067101005603101' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/2983067101005603101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/2983067101005603101'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2008/08/crm-customer-relationship-management.html' title='CRM (Customer relationship management)'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9216227014313333379.post-4784411448452600278</id><published>2008-08-14T10:07:00.001-07:00</published><updated>2008-08-14T10:26:50.765-07:00</updated><title type='text'>Sonunda bir blog sayfası edindim:))</title><content type='html'>Umarım gereken özveriyi gösterir ve güncel bir bloğum olur. Şimdiye kadar hazırlamadığım için çok pişmanım ; burdan yazımı okuyanalara ertelemeyin diyorum hemen bir blog sayfası edinmelisiniz. En kısa zamanda zengin bir içerikle karşınızda olucam:P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9216227014313333379-4784411448452600278?l=pinartanriverdi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pinartanriverdi.blogspot.com/feeds/4784411448452600278/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9216227014313333379&amp;postID=4784411448452600278' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/4784411448452600278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9216227014313333379/posts/default/4784411448452600278'/><link rel='alternate' type='text/html' href='http://pinartanriverdi.blogspot.com/2008/08/sonunda-bir-blog-sayfas-edindim.html' title='Sonunda bir blog sayfası edindim:))'/><author><name>Pınar Tanrıverdi</name><uri>http://www.blogger.com/profile/11865162019428150039</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
