Mehmet FASIL | Kişisel Blog

birbiriyle ilişkili varlıklar bütünü(clark kent, çay,uyku sever,müzisyen kişilik)

By

WebServislerin İstek ve Cevaplarını Tek Bir Noktadan Loglamak

Bir süredir üzerinde çalıştığım tek noktadan servis loglama ile ilgili bir kaç hususu paylaşmak istiyorum. Soap veya rest servislerde her bir metot için ayrı ayrı loglama yapmanıza gerek yok. Gerek mvc webapi de olsun gerek wcf servislerde olsun tek bir noktadan yapacağınız düzenleme ile loglamaları kolaylıkla yapabilirsiniz. Bunun için net.http veya web.http altındaki ilgili metotları kullanmanız yeterli.

Örneğimizi webapi üzerinden verecek olursak uygulamanız IIS üzerinde başlatılırken Application_start metot çalışır. Bu metot içerisine yazacağınız register overload metotlar her seferinde çalışacak ve servisinize gelen tüm istekler loglanacaktır. Dilerseniz keyvalue pair şeklinde değerleri ayrıştırarak ya da header body içindeki değerleri sırasıyla gezerek parametrik loglama da yapabilirsiniz.

Benzer şekilde delegating handler kullanan classları başlangıçta register ederek te loglamayı yapabiliriz.

WebApi de en çok kullanılan delegating hadler olduğu için onunla bir örnek yapalım.

protected void Application_Start()
{

GlobalConfiguration.Configuration.MessageHandlers.Add(new IstekveCevabiLogla());

}

public class IstekveCevabiLogla: DelegatingHandler
{
protected override async Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request, CancellationToken cancellationToken)
{
//istek loglama
string requestBody = await request.Content.ReadAsStringAsync();

//requestBody ile ister text ister database loglamayı burada yapabilirsiniz.

// servisteki süreçlerinizi bitirdikten sonra sonucunuz varsa onu da loglayabilirsiniz.
var result = await base.SendAsync(request, cancellationToken);

if (result.Content != null)
{
// cevabı loglama
var responseBody = await result.Content.ReadAsStringAsync();
//responseBody i ister text ister sql de saklayabilirsiniz.
}

return result;
}
}

By

Girişimcilik Nedir ne Değildir?

Dünyanın düşleyenlere de ihtiyacı var, yapanlara da. Ama düşlediğini yapanlara daha çok ihtiyacı var…

S. Breathnach

 

 

Zaten herkes girişimci doğmuş. Tüm aşamalar geçilmiş, tüm deneyimler yaşanmış, iş kurma ofis tutma, patron olma derdine düşülmüş. Girişim ofisleri, girişim sermayeleri, yatırımlar, yatırımcılar her yanda program üstüne program yapıyor. Sebep? Yeni ve daha güzel fikirlere ulaşmak. Sizce de daha temel şeyleri halletmek gerekmiyor mu?

Girişimciliğin her türlüsünden anlarım diyemem. Söyleyeceklerim teknoloji-donanım-yazılım-mobil uygulama vb. üzerine olanlara. İnsanların çok temel konularda bile ihtiyacı olabileceği ümidi üzerine kurulmuş binlerce girişim fikirleri var etrafta.  Henüz yeni mezun üniversite gençleri de deniyor bu işi, yıllardır patron emrinde çalışmış ve artık usanıp kendi paramı kazanayım derdinde olanlarda.

 

Biraz geriden alalım.

 

Bilmem farkında mısınız ülke olarak zorlama bir bilişim ekosistemi üzerinde çalışıyoruz. Sosyal medya sağolsun teknolojiyi üreten ülkelerin konuştuğu konular bir kaç ay sonra Türkiye’de. Bir hafta başında işe gidip Big Data varmış duydunuz mu? Mobilde şu varmış, twitter şöyle yapıyormuş, sql yavaşmış oracle hızlıymış meğer vb. onlarca geyik var. Ve maalesef bu geyikler en hızlı şekilde yöneticilerin diline de dolaşıyor. Daha metin veriyi nasıl saklayacağını halledememiş şirketler ve kurumlar dijital dünya konuşuyor diye birşeyler deniyorlar. Ya da denemek zorunda hissediyorlar. Neden? Geride kalmamak için. Yahu daha websitesindeki online hizmeti doğru düzgün çalışmayan ve yıllardır bunu düzeltmek iyileştirmek derdinde olmayan bilişim ekosistemimiz rica edicem siz mobil uygulama falan yapmayın. Maaş günü ödeme altyapısı çöken bankamız Apple Watchda uygulama yapsa ne olur yapmasa ne olur? Avcının vurduğunu bırakıp gördüğüne koştuğu gibi durmadan yenileme, eskiyi çöpe atma, kendi yaptığın dönüp kötüleme hastalığı var.

 

Ortalık bilişim uzmanları, global firma ülke temsilcileri, pazarlama uzmanları, teknoloji mimarları, çözüm uzmanları kaynıyor. Ama gün geçmiyor ki bir proje ismi duyalım ve çok değil bir kaç sene sonra çökmesin, ya da yenilenmesin ya da standart dışı kalmasın. Ben Ankara’yı bilirim. Örneklerimi de burdan veririm. Kamuda çalıştığım için de örneklerim kamu endeksli olur. Ama kamu adına verdiğim örnekler bir kaç başlık haricinde özel sektör için de birebir geçerlidir diyebilirim. Bugün yepyeni bir bakanlık kurulsa ve bilişim altyapısını tasarlamak üzere bir ya da bir kaç firma görevlendirilse yaptıkları iş maalesef bir beş yıla yenilenme gerektirecek şekilde oluyor. Buna sunucu sistemlerini örnek verebilirsiniz, ya da yazılım altlığı, ya da sanallaştırma katmanı, ya da mobil iletişim altyapısı, ya da Telekom altyapısı. Bir saniye. Ben beş yıl sonra yeniletmem gereken bir şeye neden ömürlük gibi davranıyorum ve ona o parayı o kaynağı ayırıyorum? Bu konuyu bir başka yazımıza bırakalım. Dönelim işlerimizin sağlamlığına.

 

Sizi temin ederim. Her altyapı işinde asfalt kazıp güzelim yolları köstebek çukuruna çevirerek kablo yenileyen mühendislik zihniyeti neyse her bir kaç yılda bir yeniletmek durumunda kalacağımız bilişim sistemi altyapısı tasarlayan zihniyette aynı.

İş başlamadan dinlediğinizde bu adamlar Türkiye’de harcanıyor diyebileceğiniz insanların iş anında ve işten sonraki tavırları maalesef ki bazı şeyleri daha üniversite düzeyinde gözden geçirmemiz gerektiğini söylüyor. Outsource denen işi bulan adam neden buldu bilmem. İçerdeki ben çözemem outsource çözsün der. Outsource içerdeki adamı kendisini aydınlatmamakla suçlar. İçerdeki outsource neden benden çok para alıyor der. Yahu basit bir dış kaynak kullanımı bile kangren olmuşsa napalım biz ülke olarak. Ama efendim olur mu Google nasıl yapıyor bu işi. Bir basıyorsun bir saniyede geliyor yanıt. Onu oraya nasıl getiriyor bilmem ama sanırım içerdeki insanlar birlikte ve hasetsiz çalışıyor olmalı.

 

Hal böyle iken, daha evladiyelik sistem nasıl kurulur kafasını oturtamadığımız bir ülkede girişimcilikten bahsetmek bana biraz kasıntı geliyor. Nasıl yıkılmaz, bozulmaz, yanmaz-yapışmaz iş yapılır? Maliyetler nasıl kısılır? Mevcut eldeki kaynaklar nasıl değerlendirilir? Sorularının taa üniversite sıralarından itibaren öğrencilere sorulup beyinlerine bilişim teknolojileri ile ilgili temel değerleri kazımak gerekiyor. Öğrenciyken karşılaştığı bir problem karşısında bırakın sabahlara kadar çalışmayı, sınıftan zeki birine yaptırıp hocam yaptım diyen insanımız dönüp mühendis olarak girişimcilik falan deniyorsa ticaret falan deyin o işe de girişimcilik kelimesine zarar vermeyin lütfen. Yatırımcılık ta diyebiliriz o yaptığınıza. Ya da  evcilik. Ya da ne bileyim cix birşeyler yapalım dedik te diyebilirsiniz. Tercihinizi saygıyla karşılarım. Örnekleri çok olmasa da hikayelerini az çok duyduğumuz ve helal olsun dediğimiz örnekler yok mu? Var elbet. Burada asıl sitemim üniversitelerden itibaren öğrencilerin kafasına girişimcilik kelimesini dikte eden sisteme. Üniversitelerde öğrencilere sağlam iş nasıl yapılır onu öğretelim, nasıl idare edilir onu öğretelim, 512 KB ram kullanabilen bilgisayar olsaydı nasıl yazılım yaparlardı onu gösterelim, beş sunucunun yaptığını bir sunucu nasıl yapar ya da çalıştırdığının grafikere yaptığı işi küçümsemeden nasıl emeği verilir onu öğretelim.  Google, Microsoft, IBM ile çalışacağı zaman biz onlardan iyi çalışırız deyip devamını getirmeyen içerdeki arkadaşlarımıza neden lafta kalmamaları gerektiğini öğretelim. Batının iyi yanlarını alıcan deyimindeki iyi yanları sadece Google’ın güzel güzel ofislerinden ibaret görmeyen ve bu işlerin emek işi olduğunu bilen arkadaşlar yetiştirelim. Herkes girişimci olursa kimsenin sistem uzmanı ya da yazılımcı ya da grafiker olmayacağı ve ortalıkta bilişim şirketi sahibi onlarca patronun dolaşacağı bir ülke istemiyorum ben. Halbuki eskiden çok daha iyi olurdu bu işler. Nasıl iyi kod yazılır, nasıl grafik çizilir, nasıl hacklenir diye onlarca bedava kurslar olurdu, sırf meraklılar olurdu giderdik. Şimdilerde nasıl para kazanırsınız, Ahmet beş günde nasıl zengin oldu, nasıl girişimci olursunuz temalarındaki işleri gördükçe insan işini sorgular hale geliyor.  Motivasyon kırıcı olarak nitelendirenler olabilir yazdıklarımızı. Asla. Bilakis yapabilenler buyursun. Sadece işin özünü kaçırmamak lazım. Burada amaç freni patlamış kamyon gibi akıp giden sözde bilişim kültürümüzün yaralarını ortaya koymak. Ülkenin en iyi bilgisayar mühendisliğinden haydi para kazanalım diye mezun oluyorsa bir arkadaşım, bir sıkıntı var demektir. Umarım Amerikalıların 80lerde girdiği o “üretmek, sağlam üretmek,  daha çok üretmek, bizden olmayana da üretmek“ kafasındayızdır.

 

By

Bilişim Projelerinin Ruhu (The Soul Of IT Projects)

Bilişim projesi dediğimiz şey ortaya çıkan bir ihtiyaçtan dolayı teknolojik ürünleri bir araya getirmekten ibarettir. En genel tabiri bu. Süreklilik, doğru konfigürasyon, verimlilik, güncel teknoloji kelimeleri yaptığınız sanat eserini mükemmel hale getirmek için yerine getirmek zorunda olduğunuz diğer bileşenler. Bu yazımızda bilişim projelerinin teknik içeriğiyle değil o projelerin etrafındaki bireylerle yani insanla ilgili konulara değinmek istiyorum. Bir projenin ruhu neymiş derseniz aslında net ifadelerle şunu söyleyebilirim: Bir projenin ruhu projenin o projeyle ilgilenen tüm insanlara kendini anlatabilmesi demektir.

Bilişim projeleri kendilerini meydana getiren bileşenler yönünden çok farklı kategorilere ayrılırlar: Donanım projeleri, yazılım projeleri, entegrasyon projeleri, gömülü sistemler… Bilişim projelerini yöneten insanlar da rolleri yönünden kategorilere ayrılır. Müdürler, yöneticiler, satış ekibi, teknik satış ekibi, yazılımcılar, entegratörler, veri uzmanları, saha mühendisleri vb. Bu liste uzar gider. Çok basit ve belki de sadece temel bir işlevi yerine getiren bir bilişim projesinin başında yüzlerce farklı görev ve pozisyonlardaki insanlar görevlendiriliyor. Bu hem kamu kurumları hem de özel sektör için geçerli bir durum. Özel sektörde kısmi manada bir esneklik sağlanabilse de kamu kurumlarındaki yönetmelikler yönünden bağlı oldukları hiyerarşik yapı her bir bilişim projesinde benzer mimaride aynı departmanların birlikte çalışmaya mecbur bırakılmaları anlamına geliyor. Şöyle düşünün; Bir not defteri mobil uygulaması yazılacak olsun. Özel sektörde bu işlem atanan 1 yazılımcı ve bir tasarımcıyla belirli bir süre verilip çözülebilir. Fakat kamu kurumunda bu işin belirli bir projesürü vardır. O işin talep edilmesi, o işin planlamaya alınması, o işe uygun kaynak planlaması, o işle ilgili mevzuat ve idari işlerin tasarımı, işin iç kaynakla mı yoksa dış kaynakla mı yapılacağının tespiti, tepe yöneticilerin işle ilgili ikna edilmesi, işle ilgili finansal tasarruflar ve kısıtlar, işin mevcut sistemde konumlandırılması. Ayrı ayrı değindiğimiz tüm bu işlemler kamuda bir pozisyon, bir departman, bir şube, bir daire anlamına dahi gelebiliyor. Baştaki niyetimize geri dönelim: basit bir mobil not uygulaması yazmak. Belki akşam yemeğinden sonra bir kaç akşam çalışarak geliştireceğimiz bir uygulamadan bahsediyoruz. Esasen büyük ölçekteki global firmalar açısından da durum çok farklı değil. Atacağınız bir adımın merkezden onay almış bir adım olması muhtemel.

Peki teknoloji ve teknik bilgi yönünden bu kadar basitleştirilebilen işlemlerin ve sistemlerin neden bu kadar karmaşık ve insanı yavaşlatan bir iş akışı var ? Ben teknolojinin insanla imtihanı dediğim bu şeye “teknoloji bürokrasisi” diyorum. Bir proje; başlatılmak, tamamlanmak, geliştirilmek, daha da ileriye hep ileriye götürülmek ister. Bu, o projenin ruhunda olan birşeydir. Onu anlamak ve ihtiyaçlarına cevap vermekte insanın görevi. “İnsan projeyi şekillendirir” seslerini duyar gibiyim. Evet bu da benim tezimi güçlendiren bir şey zaten. Bırakın o projenin ruhunu bilen birileri projeyle konuşsun. Nasıl mı?

Her proje bir ihtiyaca hizmet eder. Öğrenci verilerinin saklanması, uçuş bilgilerinin düzenlenmesi, Araç bilgileri ile ilgili iş süreçleri hep bir ihtiyaçtır ve bu ihtiyaçlardan dolayı da teknoloji yatırımları yapılır, sunucular alınır, sistemler kurulur ve nihai olarak yazılımlar yapılıp ekranlar oluşturulur ve proje ortaya çıkar. Projenin amacı ihtiyacı gidermektir. Bu durumda en iyi proje, ihtiyacı en iyi bilenler tarafından yapılırsa en iyi hizmeti verir. İhtiyacı en iyi bilenler kimler olmalıdır? Yöneticiler ? Patron ? Proje müdürleri? Geliştiriciler? Veritabanı uzmanları ?

Profesyonel öğreti bize şunu söyler: Proje başlanmadan önce analiz edilir. Bu cümleyle ilgili teoride hiçbir problem yok. Pratiğe bakalım. Analizin ne olduğu ile ilgili araştırma yapmak istesek bir projeyle ilgili yüzlerce farklı analiz türü ortaya çıkıyor. Sistem analizi, ihtiyaç analizi, kaynak analizi, iş süreçleri analizi, tasarruf analizi…. liste uzayıp gider. Hatırlatmakta fayda var basit bir mobil uygulama yapacağız.

Bilişim sektöründe profesyonel öğretinin söylediklerini hep önemserim. Önce bu konuyla ilgili profesyonel olarak ne yapılmış diye hep bakarım. Ve şunu görürüm: Profesyonel öğreti sorumluluğu herhangi bir konudaki en iyi isimlere bölmüş. Eldeki kaynakların tamamının bilgi açısından eşit seviyede olduğu ortamlarda bu söz konusu olabilir. Fakat değişmez de bir ülke gerçeğimiz var. Ne özel sektörde ne de kamuda bir işin tüm bileşenleri eşit seviyede değildir. Buna insan kaynağı olarak ta bakabilirsiniz, teknik imkan olarak ta. Peki hal böyle iken eldeki kaynakların iyileştirilmesi yoluna gitmeden iş süreçleri, bilişim politikaları, bilişim proje yönetimi, kaynak planlaması, analiz vb. kelimeleri sarfetmek projeyi katletmez mi ?

Bir proje başındaki herkes projeye kendi yönünden bakar. Patron iş bitsin ister, proje müdürü iş zamanında bitsin ister, finansmandan sorumlu müdür projenin mali kaynaklarını sorunsuz bir şekilde harcamak ister, teknik yönetici zaman ve personel ister, yazılım geliştirici işine karışılmamasını ister, veritabanı uzmanı veritabanına dokunulmamasını ister… bu liste de uzar gider.

Bankacı için geliştirilen projeyi, bankacı terimlerini ve işlerini bilen iyi yapar. Karayolları Genel Müdürlüğü için geliştirilen projeyi en iyi karayolları işlerini bilen yapar. Bilen kişinin oturup diğer tüm kişileri organize ederek hızlı bir şekilde çıkabileceği bir iş akışının yerine proje yaşam döngülerinin benimsendiği bir profesyonel yaklaşıma hep saygı duyuyorum. Ama proje çıkmıyor. Çıkmadığı gibi projeler bir sürü gereksiz zaman ve kaynak kaybına sebep oluyor. Hepimizin de bildiği çok büyük IT devlerinin havlu attığı onlarca kamu ve özel sektör projesi sayabiliriz. Benim bu düşünceme bir eleştiri şu oluyor: Senin senaryonda sadece o kişi biliyor. Tamam hemen cevaplayalım: Usta-çırak. Hiçbir proje yaşam döngüsünde usta çıraktan bahsedilmez. Ama ülkemin gerçeği budur. Koç’un meslek lisesi memleket meselesi sözü yıllar sonra anlaşıldı. Biz çok iyi profesyoneller yetiştirmişiz ama işin erbabı yetiştirmemişiz sözünü duydum, duyuyorum, duyacağım. Usta-çırak esas konumuz olmadığı için geçiyoruz.

İşi bilen ve bildiği için yapanın yanında diğer birimlerin ve şahısların da işi aynı seviyede bildiği senaryoda hiçbir problem yok. İşler büyüdü ve işler büyüdükçe biz her bir işe özel departman kurduk. Yazılımı veritabanından ayrı tuttuk, analizi yazılımdan ayrı tuttuk, tasarımı yazılımdan ayrı tuttuk, veriyi veritabanından ayrı tuttuk. Acaba yanlış mı yaptık ? Bir süre sonra sadece beş on kelimelik departman bilgisiyle çaresizce diğer problemin çözümü için başka birini arayan personellerle karşılaşır mı olduk ?

Bilişim esneklik üzerinedir bürokrasi değil. Herkesin diğer birimlerin işlerine saygı duyduğu ama gerektiğinde birilerinin bilirkişi olarak sazı eline alabileceği bir ortam oluşmadan bilişim projeleri genellikle hantal, idame ettirilen, uzatılan projeler oluyor. Herkes birbirinin yolunu açacak ki projeler hızlı bir şekilde çıkarılsın. Aşağıdaki fotoğrafı bu açıdan hep önemserim. Birleşik Devletler Başkanı Barack Obama teknoloji liderleriyle birlikte yemekte.

 

 

Herşeyin sahibi Amerika, adamlar herşeyi izliyor vb. geyikleri bir tarafa bırakarak bu fotoğrafa baktığımda gördüğüm ilk şey: çözüm odaklı olmak. İşi tamamen siyaset olan bir kişi olan Obama, teknoloji dünyasında rakip olarak bilinen firmalarını yemeğe çağırmış ve onlara bir istekleri olup olmadığını sormuş. Dikkat ederseniz orada Facebook da var, Google da var, Yahoo da var, Oracle da var, Microsoft da var. Bu bir bakış açısıdır. İşini en iyi bilenler olarak sizler için ne yapabilirim? Aslında konu bu kadar açıktır.

Şimdi bu fotoğrafı bir de bizim açımızdan yorumlayalım. Bir bilişim çalışanı olarak en son ne zaman farklı birimdeki ya da aynı birimdeki arkadaşlarımızla oturup kendisi için neler yapabileceğimizi, projelerle ilgili bir sorununun olup olmadığını varsa nasıl giderebileceğimizi, herhangi bir konuda kendisine güvendiğimizi söyledik. Bu söylediklerimde ne analiz var, ne tasarım var, ne de finans var. Sadece işi çözmekten ibaret. İş çözülür çözen de mutlu olur, çözdüğü birim de birlikte çalışan da.

Profesyonelliğin gereğini hiç bir zaman göz ardı etmeden projelerle ilgili temel bir felsefeyi hatırlatmak istedim. Projenin ruhu vardır. O ruhu projeyi tanıyan bilir. Bu bilenler desteklenmelidir. Kuru kuruya proje yaşam döngüleri, iş süreçleri vb. söylemler geliştirmekten ziyade ülkemizdeki bilişim kaynakları ile ilgili gerçekleri de göz önünde bulundurarak geliştirilecek her proje üreten ve ürettiren bir proje olacaktır.

 

 

By

KAMU KURUMLARINDA BİLİŞİM EKOSİSTEMİ

Kamu kurumlarının bilişim altyapılarının kurulması, işletilmesi ve ihtiyaçlara göre revize edilmesi süreçlerinde genel olarak kabul görmüş bir ekosistem söz konusudur. Bu ekosistem genel olarak;

1)      Kamu kurumu

2)      Tedarikçi Firmalar

3)      Hizmet Sağlayan Firmalar

4)      Diğer Aktörler

Şeklinde sınıflandırılabilir. Bu sınıflandırma tüm kamu kurumları için tipik bir örnek olabileceği gibi bazı kamu kurumlarında çeşitli koşullar göz önünde bulundurularak ekosistemin bileşenleri azalabilir ya da artabilir.

Kamu Kurumu

Bu ekosistemde kamu kurumunun rolü ekosistemin geleceğini belirleyici niteliktedir. Kamu kurumunun politikaları, öncelikleri, periyodik kurumsal planlamaları ekosistemdeki diğer aktörlerin tavırlarını, gelecek planlamalarını, kaynak planlamalarını etkiler. Bu açıdan tedarikçi firmalar, hizmet sağlayan firmalar ve diğer aktörler kamu kurumunun reflekslerini, planlamalarını, yöntem ve kaynak analizlerini yakından takip etmek ve dış kaynak olarak kamu kurumunun iş süreçlerine dahil olmak isterler. Kamu kurumlarındaki bilişim hizmetlerinin yerine getirilmesi işi çoğunlukla bu konuda özelleştirilmiş birimler vasıtasıyla olmaktadır. Bilişim Teknolojileri departmanları kamu kurumlarının bilişim yatırımlarını yönlendiren, yöneten ve kamu kurumunun diğer birimlerine hizmet sağlayan konumdadır. Sağlanan bu hizmetleri bilişim departmanları kendi iç kaynakları ile gerçekleştirebilecekleri gibi yetersiz oldukları durumlarda dış kaynak desteğine de ihtiyaç duyabilmektedir. Kamu kurumlarında kaynakların doğru kullanımı ilkesi gereğince dış kaynak kullanımının minimuma düşürmek esastır. Genel olarak kabul gören bu anlayış olduğu gibi hizmetlerin devamlılığı ve kalitesi açısından düşünülüp dış kaynak kullanımını maksimum düzeyde tutan yönetim anlayışları da mevcuttur.

 

Tedarikçi Firmalar

Kamu kurumunun bilişim departmanlarının fiziksel olarak ihtiyaç duyduğu sunucu, iş istasyonu, iletişim altyapısı, veri merkezi bileşenleri vb. pek çok sayıda ürünün alımı kamu ihale standartları doğrultusunda yapılır ve tedarikçi firmalar talep edilen ürünleri kurum için temin eder. Pek çok bileşen ithalat yoluyla edinilir. Bu da fiyatlandırmanın döviz bazında olması demektir. Tedarikçi firmaların bütünleşik kamu kurumu veri merkezlerinde sağladıkları fiziksel ürün desteği uçtan uca olabileceği gibi belirli bir ürün ya da ürün grubu da olabilir. Tedarikçi firmaları hizmet sağlayan firmalardan ayıran nokta budur. Hizmet üreten yatay eksende hareket aralığı daha geniş iken, tedarikçi firmaların çalışma kapsamı ürün/ürün grubu ve onun etki alanı ile sınırlıdır. Bir diğer önemli ayrım ise tedarikçi firmalar alım konusu bileşenlerin sistem içerisindeki konumlandırmalarında genel yapıyı gözetmezler. Eğer satın alınan ürün/ürün grubu genel yapı içerisinde konumlandırılması gerekirse bunu ya bu konuda özelleşmiş iş ortakları (hizmet sağlayıcılar) ile yaparlar ya da ürünün iş geliştirme ekibi entegrasyon işlemlerini gerçekleştirir. Sarf malzemeler gibi entegrasyon konusu olmayan bileşenlerinin tedariki ve kurumsal sistemlerde konumlandırılması ise buradaki en kolay başlık olarak görünse de bu ürünlerden alınacak fayda maliyet analizlerinin işin en başında yapılması çok önemli bir başlıktır.

 

Hizmet Sağlayan Firmalar

Kamu kurumlarının çoğunlukla fiziksel olmayan yazılım, bileşen entegrasyonu, veri merkezi taşınması, güvenlik cihazlarının sistem içerisinde konumlandırılması gibi daha çok entegrasyon ve üretim temelli iş ve işlemleri hizmet sağlayıcı firmalar yapar. Tedarik sağlayıcı firmaların tersine hizmet sağlayıcı firmaların çoğunlukla yaptıkları iş ve işlemler somut olmayan entegrasyon veya üretim işlemleridir. Bu yönüyle yapılan iş ve işlemlerin ölçeklendirilmesi tedarik edilen fiziksel ürünlerden daha zor olacaktır. Bu kaçınılmaz bir durumdur. Burada önemli olan fiziksel ürün ve hizmetlerin birlikte optimum şekilde konfigürasyonlarının yapılıp bilişim altyapısından maksimum verimi almaktır.

 

Diğer Aktörler

Tedarikçi firmaların ve hizmet sağlayıcı firmaların dışında kalan ve kamu kurumu için dış kaynak olarak değerlendirilen bir başka gruptur. Çoğunlukla bir veya birkaç başlıktaki ihtiyaç konusu işlemleri dış kaynak olarak karşılarlar. Bu, paket bir program olabileceği gibi, geliştirme ortamı araçları ya da lisans sağlama gibi spesifik bir başlıkta olabilir. Hizmet sağlayıcı ya da tedarikçi firmaların yanında rolleri daha belirgin, çalışma süreleri daha kısa ve alınan sonuç daha hızlıdır.

 

Aktörlerin Birbirlerinden Beklentileri

Ekosistemdeki her aktörün ekosistemden beklentisi, kaygıları, planlamaları vardır. Tüm bu beklentiler, kaygılar ve planlamaları objektif olarak ortaya koymak için ekosistemdeki tüm aktörlerin yerine geçerek kendimize soru soralım ve yanıtlandıralım.

1)      Kamu kurumu açısından Tedarikçi Firmalarından beklentiler nelerdir?

 

Öncelikle garanti ve bakım. Yazılan teknik şartnamelere göre istenilen fiyat aralığında cihaz ya da donanım kolaylıkla temin edilebilir. İşin önemli kısmı ise garanti ve bakım koşullarını titizlikle takip edip kurumu bu konuda zor durumda bırakmamak. Daha sonra ise ürünün kuruma satılmasından sonra müşteri geri bildirimlerini iyi okumak. Geri bildirimleri iyi analiz edip daha sonraki iş geliştirme süreçlerine yansıtmak.

 

2)      Kamu Kurumlarının Hizmet Sağlayan Firmalardan beklentileri nelerdir?

 

Öncelikle kurumu iyi tanımak. İş süreçlerini bilmek, danışmanlarını kurumun alt kültürüne uygun donanımda yetiştirmek. İşin en güzel kısmı ise bu istenilenlerin hiçbiri teknik değilJ İş tamamen kurumu tanımaya bağlı. Kurumu tanımak, iş süreçlerini tanımak demektir. İş süreçlerini tanımak iş geliştirmeleri doğru yapmak; bu ise doğru ve hedef odaklı projeler çıkarmak demektir. Daha sonra danışmanlığın hakkını vermek. Sağladığı hizmeti tüm özellikleriyle kuruma entegre etmek ve anahtar teslim çözümler çıkarabilmek. Tabi üretilen hizmetlerin sonrasında destek vermek te bir başka önemli başlık.

 

3)      Hizmet Sağlayıcı bir Firmanın Kamu Kurumundan Beklentisi Nedir?

 

Başlık burada farklı. Beklentisi nedir? Beklentileri değil. Çünkü hizmet sağlayan bir firmanın beklentisi bellidir: kendisine şans verilmesi. Çünkü zaten firma hizmeti üretmek için kurulmuştur ve pek tabi ki ana görevi de budur. Önemli olan bunu bir kamu kurumuna ispatlayabilmek. Kazanılan para, kazanılan itibar, oluşturulan referans, yapılan tanıtım lansmanları… Bunlar hep bu şansın akabinde gelen şeylerdir. Çok küçük ölçekli hizmet sağlayıcı firmalar haricinde her firma kendisine ihale, doğrudan temin vb. yollarla fırsat verilmesi halinde çok başarılı işler çıkarabileceği vaadiyle işe koyulurlar. Burada ince bir çizgi vardır: Kamu kurumu işin yapılacağını daha işin başında bilmek ister. Bu düşünceyi biraz firmanın özgeçmişi belirler. Firma, hizmet konusunda çok uç ve kullanışlı bir teknoloji bile getirse ilk bakışta bakılacak başlıklar destek, entegrasyon, tecrübe olacaktır.

 

4)      Firmalar hızlı ve üretken olmak istemelerine karşın Kamu kurumlarındaki bürokrasi ve işlerin yavaş yürümesi tezat oluşturuyor mu? Öyle ise bu durum çözülemez mi ?

 

Evet, böyle bir durum sözkonusu. Ama tezat diyemeyiz. Firma bir kamu kurumu ile belirli bir süreliğine ortadaki bir iş akdi çerçevesinde iş yapar. İşin sonunda işin kalacağı ve kullanılacağı yer kamu kurumudur. O işin sahibi de kamu kurumudur. Kamu kurumu üretilen değeri büyük resimde uygun yere koymayı, yönetmeyi, geliştirmeyi düşünür ve planlar. Firma ise kendisine verilen işi en güzel şekilde ve en kısa sürede tamamlayıp akdi sonlandırmak ister. Bu doğaldır. Ortada ticari bir kaygı söz konusudur. Bu açıdan bakıldığında çözülemez diyebiliriz. Esasında ortada çözülmesi gereken de bir durum söz konusu değildir. Kaygılar işin doğasında olan bir durumdur.

 

5)      Global olarak ismi olan büyük ölçekli firmaların kamu kurumları tarafından öncelikli olarak tercih edildiği doğru mudur? Eğer öyle ise bu doğru bir yaklaşım mıdır?

 

Büyük firmanın desteği ve iş geliştirme ağı büyüktür. Bu durum kamu kurumu tarafından tercih edilme sebebi olabilir. Ama bu kesinlikle genellemeye tabi değildir. Kaldı ki ortada şöyle bir durum var: Diyelim San Francisco’da çok büyük bir firma olan ABCDEF firmasını ele alalım. Bu firmanın globalde ne kadar güçlü olduğu tüm dünya çapındaki ülkelerde bulunan saha mühendisleri, satış temsilcileri, çözüm ortakları belirler. Globalde bir ülkedeki firmanın gücünü o ülkedeki mühendislik oranı belirler. ABCDEF firması Amerika’da güçlü bir firma olabilir. Ama bu o firmanın Türkiye’de de o derece güçlü olduğu anlamına gelmez. Her ne kadar global firmaların Türkiye müdürleri “gerekirse Amerika’dan, Hindistan’dan mühendisleri getiririz” şeklinde bir söylemleri olsa da firmanın “hissedilen etki oranı”nı Türkiyedeki kadrosu belirler. Bu açıdan global firmalarla çalışmak tercih sebebidir demek oldukça zordur. Bu yaklaşımın doğruluğu ise kurumdan kuruma farklılık gösterir. Eğer bir firma on yıl boyunca belirli hizmet sağlayıcıların çözümlerini kullanarak çalışmışsa ve yeni birşeyler denemekte zorlanıyor ise bu on yıldır çalışılan firmanın kötülenmesini gerektirmez. Şu bir gerçektir: her proje ilk açıldığında mükemmeldir. Zamanla “şu da olsaydı, bu da yokmuş” söylemleri olur. Bir süre sonra da bu proje değiştirilmeli söylemleri gelir. Bu söylemleri değiştirmeli ve kamu kurumlarının üretilen hizmetlerin süreç yönetimlerini iyileştirmeleri gerekmektedir. Bu sayede ne hizmet sağlayıcıları kıyaslama yoluna gidilir ne de üretilen hizmetleri değiştirme yoluna gidilir.

 

Yazımız ikinci bölümünde de soru-cevap şeklinde devam edecektir.

 

By

İrlanda Gezi Notlarım

İrlanda’ya yaptığımız geziden notlarımızı paylaşalım.
Gezilecek yerleri şunlardır, şu şehirleri vardır, şu yenir bu içilir diye yazmayacağım. Çünkü internet üzerinde bu konularla ilgili benim yazabileceğimden çok çok daha iyi yazılar mevcut. Eğer ufak bir araştırma yapabilirseniz bu konularla ilgili harika şeyler bulabilirsiniz.

Benim üzerinde duracağım şeyler kendime göre “önemli” olarak gördüğüm şeylerdir. Öncelikle vize aşamasından bahsedelim. Çoğu ülke gibi İrlanda’da Türkiye vizeleri konusunda VFS Global Şirketi ile çalışıyor. Ankarada’da olanlar için http://www.vfsglobal.com/ireland/turkey/contactus.html adresinde ayrıntılı yer bilgisi mevcut. Yine aynı sayfada diğer şehirler için de iletişim bilgileri bulunuyor. Aynı sayfanın solunda vize hakkında herşey menüsü bulunuyor. Burayı tıkladığımızda hemen altında vize türleri geliyor. Lütfen hangi amaçla gidiyorsanız buradan seçiniz ve istenilen belgeleri teslim ediniz. Büyükelçilik vize konusunda Türk vatandaşları çok bekletmiyor diyebilirim. Eğer özellikle ticari, eğitim gibi uzun solukluk planlar için başvurmuyor iseniz vize almanız kolay ve çok hızlı diyebilirim (En azından diğer ülkelere göre :) ).

Dikkat etmeniz gereken bir başka önemli nokta ise transit vize. Eğer Türkiye’den direkt olarak İrlanda’ya gitmiyor da İngiltere üzerinden gidiyor iseniz kesinlikle transit vize almanız gerekiyor. Son olarak da harcama yapacağınız miktarda Euro almayı unutmayın:) Ülkede bol miktarda exchange office bulunuyor. Yanınıza dolar da alabilirsiniz.

Uçuşlar başkent Dublin’e oluyor. İstanbul’dan yaklaşık 4,5 saat kadar sonra Dublin’deyiz. İngiltere Greenwich soluna doğru uçuyoruz :) Dolayısıyla iki saat kadar Türkiye saatinden geride. Ayrıntısını saatkac.com‘dan alabilirsiniz.

Dublin pahalı bir şehir diyebilirim. Yemek, konaklama gibi temel ihtiyaçlar için bile anormal ödeme yaptığınızı hissedebiliyorsunuz. Bir kaç şehri dışında İrlanda’daki tüm şehirler nüfusu az. Şehirlerin arasındaki mesafeler 30 ile 60 dakika arasında. En önemli sorun İngiltere’de olduğu gibi direksiyonun sağda olması. Gittiğimde uzun bi müddet buna alışmaya çalıştım. Türkiye’den gittiğinde araç kiralamayı düşünenler bir daha düşünsün. Zira direksiyonun sağda olduğu ve trafiğin soldan aktığı bir trafik düzeninde kafalar karışabilir.

Ülke 2008deki krizden oldukça etkilenmiş. Bu, başta konut satışları olmak üzere pek çok alana yansımış. Her ne kadar Almanya Avrupa Birliği standartları açısından İrlanda’nın düşük vergi politikasını kabul etmese de İrlanda için bu hamle çok yerinde bir kurtarıcı olmuş. Özellikle teknoloji şirketleri faturalandırma ve diğer vergiye tabi işlerde düşük vergi oranları için İrlanda’yı tercih ediyor ve bu da ülkede olan ticari hareketliliğe katkı sağlıyor.

Yemek kültürlerini çok sevdim. Çünkü yemek yiyeceğiniz çoğu yerde içerisinde domuz eti bulunanlar sunum olarak ayrılmış durumda ve kalan yemekler türk mutfağını aratmıyor :) Özellikle salata çeşitlerini tadınca göreceksiniz ki mutfağımızdaki damak tadından bir farkı yok. Yine çok farklı görmediğim ızgara köfte de oldukça başarılıydı. Tatlı sosları tüm yemeklerde kullanıyorlar. Bu yüzden hafif tuzlu bir tatda beklediğiniz yemek siparişi vermeden önce eğer tatlı sos istemiyorsanız özellikle rica edin diyorum. Özellikle patates ve pırasa ülkede bolca tüketilen sebzeler. bir ülkede patates çok yeniyorsa kriz vardır tezini de hatırlayabilirsiniz ama burada durum biraz farklı. Zira adada yetişen aslında çok da fazla sebze türü yok.

Bunda iklim çok etkili. Sürekli yağıyor diyebilirim:) Ülke  iki üç ay sıklıkla güneş görüyor onun haricinde her an yağışla karşı karşıya kalabilirsiniz. Yağışlar çok sağnak şekilde değil ama sürekli olmuştu. Muhakkak ki sağanak şeklinde yağdığı dönemler de vardır. Nisan mayıs aylarında gidiyorsanız yanınıza ince bir hırka almak yeterli olur diyebilirim.

 

By

Android Üzerinden Bluetooth Yazıcıya Birşeyler Göndermek -2 (Bağlantıyı Açık Tutmak-Yazdırmak-Bağlantıyı Kapatmak)

selamlar. bir önceki yazımızda android bir cihazdan bluetooth yazızıya bağlanmıştık. şimdi sıra geldi metin yazdırmaya. aşağıda tanımladığımız fonksiyonlarla sırayla yazıcıya metin gönderip yazıcıyı kapatacağız.

/*bu listener ile yazıcıya göndereceğimiz datayı dinleyelim*/
    void beginListenForData() {
        try {
            final Handler handler = new Handler();
            
            //Yeni bir satır 
            final byte delimiter = 10;

            stopWorker = false;
            readBufferPosition = 0;
            readBuffer = new byte[1024];
            
            workerThread = new Thread(new Runnable() {
                public void run() {
                    while (!Thread.currentThread().isInterrupted()
                            && !stopWorker) {
                        
                        try {
                            
                            int bytesAvailable = mmInputStream.available();
                            if (bytesAvailable > 0) {
                                byte[] packetBytes = new byte[bytesAvailable];
                                mmInputStream.read(packetBytes);
                                for (int i = 0; i < bytesAvailable; i++) {
                                    byte b = packetBytes[i];
                                    if (b == delimiter) {
                                        byte[] encodedBytes = new byte[readBufferPosition];
                                        System.arraycopy(readBuffer, 0,
                                                encodedBytes, 0,
                                                encodedBytes.length);
                                        final String data = new String(
                                                encodedBytes, "US-ASCII");
                                        readBufferPosition = 0;

                                        handler.post(new Runnable() {
                                            public void run() {
                                                datagosterilecekAlan.setText(data);
                                            }
                                        });
                                    } else {
                                        readBuffer[readBufferPosition++] = b;
                                    }
                                }
                            }
                            
                        } catch (IOException ex) {
                            stopWorker = true;
                        }
                        
                    }
                }
            });

            workerThread.start();
        } catch (NullPointerException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /*
     * Datayı gonderelim
     */
    void sendData() throws IOException {
        try {
            
            // kullanici tarafından girilen deger
            String msg = textbox.getText().toString();
            msg += "n";
            
            mmOutputStream.write(msg.getBytes());
            
        } catch (NullPointerException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /*
     * bluetooth yazıcı ile olan bağlantıyı kapatalım
     */
    void closeBT() throws IOException {
        try {
            stopWorker = true;
            mmOutputStream.close();
            mmInputStream.close();
            mmSocket.close();
        } catch (NullPointerException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

By

Android Üzerinden Bluetooth Yazıcıya Birşeyler Göndermek -1 (Yazıcıları Bulmak ve Bağlanmak)

Merhaba. Android bir cihazdan bluetooth üzerinden yazıcılara yazdırma işlemi yaptırabilmek için kullanacağımız bir kaç android sınıfı var. Herşeyden önce android cihazın etraftaki erişilebilir yazıcıları bulmalı ve bağlanmalıyız. Aşağıdaki fonksiyon ile yazıcıya bağlanabiliriz. İnternet üzerinde çok farklı kullanımlarla bağlanmak mümkün. Ama temel olarak kullanılan BuletoothAdapter üzerinden oluyor.

	
void YaziciBul() {

		try {
			mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

			if (mBluetoothAdapter == null) {
				//bluetootha erişemedik.default adapter sorunu
			}

			if (!mBluetoothAdapter.isEnabled()) { //açık değilse intent ile bluetooth ayarlarına gönderelim
				Intent enableBluetooth = new Intent(
						BluetoothAdapter.ACTION_REQUEST_ENABLE);
				startActivityForResult(enableBluetooth, 0);
			}

			Set pairedDevices = mBluetoothAdapter
					.getBondedDevices();
			if (pairedDevices.size() > 0) {
				for (BluetoothDevice device : pairedDevices) {

					//diyelim yazıcımızın ismini biliyoruz. bir tanesine eşleyebilriiz. dilersek tüm erişilebilir yazıcıları listeleyip sunabiliriz. 
					if (device.getName().equals("MEHMET")) {
						mmDevice = device;
						break;
					}
				}
			}else{
                        //yazıcıyı bulamadık.
                         }
		} catch (NullPointerException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

yazıcımızı bulduk. şimdi de bağlanalım.

void Baglan() throws IOException {
		try {
			// Standard Seri Port Servis Id'si
			UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
			mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid);
			mmSocket.connect();
			mmOutputStream = mmSocket.getOutputStream();
			mmInputStream = mmSocket.getInputStream();

		} catch (NullPointerException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

bağlantı yapıldı. mmOutputStream ve mmInputStream bağlantı için hazır. bir sonraki dersimizde bluetooth yazıcıya data göndermek için dinlemeye başlayacağız. (listener,handler)

Hope it works.

By

Php Memcache On Wamp

The libraries for php memcache are available here

 

 

To do list :

	
        1) Copy MSVCP71.DLL, msvcr71.dll to C:\windows\sysWOW64
	2) Copy memcached.exe into C:\memcached
	3) Click Windows-Key
	4) Type: CMD
	5) press: Ctrl-Shift-Enter
	6) Choose yes
	7) type: C:\memcached\memcached.exe -d install
	8) type: C:\memcached\memcached.exe -d start
	9) Copy php_memcache.dll to C:\wamp\bin\php\php5.3.4\ext
	10) Restart Apache using Wamp controls
	11) Enable WAMP -> PHP -> PHP Extensios -> php_memcache

By

Android Splash Screen

androidde splash screen yapmanın farklı yolları olabilir. bunlardan bir tanesi de ilk açılaack olan ekranda belirli bir süre bekleyip ana menüye gitmektir. Şöyle ki ;

oncreate te yazılacak bir post delay istenile nsüre kadar o ekranı getirecek daha sonra ana ekrana geçilecektir.

package com.mehmetfasil.splashsample;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
 
public class SplashScreen extends Activity {
 
    
    private static int BEKLENECEK_SURE = 5000; // milisaniye!
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
 
        new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                //5 saniye sonra gelecek olan sayfayı intent ile belirleyelim.
                Intent i = new Intent(SplashScreen.this, MainActivity.class);
                startActivity(i);
                finish();
            }
        }, BEKLENECEK_SURE);
    }
 
}

hope it works.

By

Google Places Api

aşağıdaki video dersinde google place apinin nasıl kullanılacağını anlattım. iyi seyirler
http://mehmetfasil.web.tv/video/epk90_dasq2