Eskişehir Osmangazi Üniversitesi 4.Bilişim Günleri

Merhaba Arkadaşlar,

Her sene geleneksel olarak düzenlediğimiz Eskişehir Osmangazi Üniversitesi Bilişim Günleri” etkinliğinin 21-22-23 Mayıs 2012 tarihlerinde Kongre ve Kültür Merkezinde dördüncüsünü düzenleyeceğiz.
İlk 3 yıl yaklaşık 1500 kişiyi ağırladığımız etkinlikte bu yıl da minimum 500 kişinin katılacağını tahmin ediyoruz. Gerek katılımcı sayısı olarak gerekse katılan konuşmacılar ve firmalar olarak Eskişehir’de en büyük “Bilişim Etkinliğini” düzenliyoruz.
Etkinliğimizde, “Microsoft, ASUS, TAI, Eczacıbaşı, Bilgi Güvenliği Akademisi, Netaş, Yapı Kredi Bankacılık, Somedya, LKD, Yandex, Sabah Gazetesi, Ester, MobileBeeLabs, Red Lion Game Studios, Cybersoft, İstanbul Barosu Bilişim Hukuku Merkezi”nden konuşmacılar bizlerle olacak.

Peki bu etkinlik bize ne katacak? derseniz:

  • Sektörde çalışan,yöneticilik yapan kişilerin tecrübelerinden yararlanabilirsiniz.
  • Etkinlik aralarında fuaye alanında gelen konuşmacılarımız ile muhabbet edebilir,bu muhabbeti kendiniz için avantaja dönüştürebilir,stajlarınızı ayarlayabilirsiniz.
  • Gelişen teknolojiyi daha yakında takip etme,yenilikler hakkında 1.ağızdan bilgi alma fırsatınız olacaktır.

Katılmak isteyen arkadaşlar,14 Mayıs-18 Mayıs 2012 tarihleri arasında bölümümüzde ve tüm fakültelerde açılacak olan stantlarımızdan kayıt yaptırabilirler.

Etkinlik gününde de kayıt yaptırabilirsiniz.

Hepiniz davetlisiniz.

Etkinlik programı için http://esogubilisimgunleri.com/2012/etkinlik-programi/

Facebook gruptan takip etmek için https://www.facebook.com/esogubilisimgunleri tıklayabilirsiniz.

Serap Şen

Bilişim Günleri Organizasyon Komitesi Başkanı

REPHARM MICROSOFT IMAGINE CUP 2012′DE TÜRKİYE1.Sİ…

 

Repharm ekibi olarak Imagine Cup 2012de Türkiye 1.si olduk…

Eskişehir Osmangazi Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Mühendisliği Bölümü öğrencileri Repharm proje ekibi olarak Microsoft’un düzenlemiş olduğu Imagine Cup 2012de Türkiye 1.si olduk. 6-10 Temmuz’da Avustralya’nın Sidney kentinde düzenlenecek dünya finalinde yarışacağız.

Ekibin üyesi olarak mutluluğumuzu ve deneyimlerimizi sizlerle paylaşmak istiyorum.

Ekip tanıtımı ve fikrin oluşması süreci…

Ekibimiz fotoğrafta gördüğünüz gibi Bedrettin Sümer, Abdulvahap Demir, Yrd.Doç.Dr.Nihat Adar, Serap Şen ve Derya Gündüz ESOGÜ Bilgisayar Mühendisliği Bölümünde 4.sınıf öğrencileriyiz. Geçen sene bu zamanlarda yarışmaya katılma fikrimiz vardı. Bu sebeple fikir vermesi açısından Imagine Cup 2011 final sunuşlarını izlemeye Microsoft Ofise gitmiştik. Orada takımların final sunuşlarını izledik, nasıl hazırlandıklarını gördük. Bizim için güzel bir deneyim oldu. Sonrasında ekibimizi kurduk, “Software Design” kategorisinde yarışmak istediğimize karar verdik ve fikir düşünmeye başladık. Geçtiğimiz yazı -3,3.5 aylık bir süreci- fikir düşünerek geçirdik. Yaz tatili olması sebebiyle ekip olarak internet ortamında toplantılar düzenledik. Birçok fikir ortaya koyduk. Araştırmalarımız sonucunda tezlerimizi kendimiz çürüttük. Sonrasında “Evimizde fazla ilaçların bulunduğunu, onları nasıl değerlendirebiliriz?” diye bir fikir ortaya koyduk ve araştırmaya başladık. Öncelikle Eskişehir İl Sağlık Müdürlüğü ile görüşmeye gittik. Fikrimizden bahsettik. Onlar fazla ilaçların toplanması için böyle bir birim kurduklarını ve yaklaşık 3 yıldır çalıştığını söylediler. O an fikrimiz çöpe gitti diye üzülmüştük. Fakat öyle olmadı… Gittik ilaç toplama birimini inceledik. Sistemleri nasıl çalışıyor onu gözlemledik. İnsanlar kullanmadıkları, son kullanma tarihi geçmemiş fazla ilaçları mevcut birime getirip bırakıyor, reçete karşılığında maddi beklenti olmadan ilaca ihtiyacı olanlar da gelip birimden alıyor. Çalışan sistemi incelediğimizde teknolojik araçların kullanılmadığını, çok fazla iş gücü olduğunu gördük. Biz de ne gibi katkılar sağlayabiliriz diye düşünmeye başladık. İlaçların bilgisini bir kişi excel dokümanına girişini yapıyor ki yüzlerde ilaç geliyor iş gücünü siz düşünün. Gelen hastalara da ilacı vererek çıkışını yapması gerekiyor. Durum böyle olunca çoğu döneme ait istatistiki verileri hesaplayamadıklarını, çoğu ilacın verisini sistemde tutamadıklarını söylediler. Bu şekilde çalışan sistemden ülke ekonomisine 3 yılda 2milyon tl kazanç sağlandığını söylediler. Eskişehir’de 5 yıldır öğrenci olmamıza rağmen birimden haberdar değildik. Biz de bir anket düzenledik. Anketlerimizin sonucunda Eskişehir’de yaşayan insanların %79’unun bu birimden bihaber olduğu sonucuna vardık. Vatandaşların % 36′sının kullanmadığı ilaçları attığını, %66′sının kullanmadığı ilaçları bir merkeze vermek istediğini tespit ettik. İnsanları ilaç getirmeye teşvik etme amaçlı nasıl yöntemler geliştirebiliriz diye düşündük. Hastaların birime uğramadan birimlerde bulunan ilaçlardan haberdar olabilmesini sağladık (web sitesi sayesinde),”www.repharm.org”a göz atabilirsiniz. Projemizin mobil tarafı ile ilaçların kolayca görülebilmesini ve ilaç toplama birimlerinin sorgulanmasını sağladık. İş gücünü azaltmak için barkod okuma sistemi ekledik ve stok programı geliştirdik.

Farklı illerden ilaç toplama birimi kurmak istiyoruz diye gelmişler…

Başarılı olamamışlar, çünkü iş süreçleri otomatize edilmemiş. Biz iş süreçlerini belirledik ve bir standart getirdik. Farklı illere kolayca kurulmasını sağlıyoruz. Hedefimiz bu sistemi Türkiye’de yaygınlaştırmak ve sonrasında Dünya çapında farklı ülkelerde de kurulmasını sağlamaktır.

Geçtiğimiz ay bir görevlendirme ile Sudan’ı ziyaret ettim. Orada projemizden bahsettim. Ülkelerinde böyle bir sistemin olup olmadığını sordum. Yok dediler. Ülkemizde biz de hayata geçirmek istiyoruz dediler. İş süreçleri hakkında hala görüşüyoruz.

Ayrıca afet gibi durumlarda ülke bütçesinden harcama yapmaksızın ilaçlar ilaç toplama birimlerinden diğer illere, ülkelere gönderilebilecek. Projeyle bedava ilaca, en kısa yoldan kolayca ulaşılacak. O kadar pahalı ilaçlar var ki… Bu ilaçlara Türkiye’nin ve dünyanın neresinde olursa olsun ücretsiz bir şekilde ulaşılacak.

Proje geliştirme süreçleri

Son sınıf öğrencileri olduğumuz için bölümümüz projemizi bitirme projesi olarak saydı. Böylece 2 ayrı proje geliştirmek zorunda kalmadık, 1 taşla 2 kuş vurmuş olduk J Ekip olmak, proje geliştirmek çok farklı bir tecrübe. Çünkü teknik kısımları halletmenin yanı sıra projenin reklamı, raporlanması, sunuşu… Birçok ayağı var. Proje kapsamında hepsini yaşadık ve iş hayatına daha erken hazırlanma fırsatı yakaladık. Bizim için güzel ve yoğun bir çalışmaydı. Proje sürecinde birçok şeyden fedakârlık ediyoruz. Özellikle uykudan. Uzun zamandır 2-3 saat uyuyoruz.  Yemek saatlerimiz değişiyor J  Bunlar da tuzu biberi diyelim.

Şimdi önümüzde dünya finali var. Bu çalışma tempomuzla orada da güzel bir derece elde edeceğimizi düşünüyorum.

 Proje tanıtım materyallerimiz

 

 

***Emeği geçen Şamil Alimhan, Abdullah Erkeç, Alp Sarıkışla, Yunus Dağ, Tarık Taştekin, Melih, Uğur Yağcı, Rohullah Rezai, Uğur Gürel, Ahmet Yazıcı, Nadire Arıkan, Janset Koç, Aziz Aytaş, Ozan Konuk, Mutlu Kurnaz, Arzu Bahçeevler’e, evinde yardımlarını esirgemeyen Seda Güzel’e, Sudan’da çektiğim video için Nasir Abdelhafiz’e çok çok çok teşekkür ederiz.

 

System.InvalidOperationException: Script controls may not be registered before PreRender Hatası

Merhaba Arkadaşlar,

Projemde Ajax TabContainer kullanacaktım.Projeme tabcontainer sürükle bırak yaptım.

<div>
<asp:ScriptManager ID="ScriptManager2" runat="server" />
//bunu .aspx sayfam üzerinde eklemiştim.
<asp:TabContainer ID="Yorum" runat="server" ActiveTabIndex="0"
Width="300px">
<asp:TabPanel runat="server" HeaderText="Yorumlar" ID="Yorumlar">
<ContentTemplate>
Yorumlar buraya gelecek ...
</ContentTemplate>
</asp:TabPanel>
<asp:TabPanel ID="YorumYaz" runat="server" HeaderText="Yorum Yaz">
<ContentTemplate>
Yorum Yazma kısmı ...
</ContentTemplate>
</asp:TabPanel>
</asp:TabContainer>

</div>
<%@ Page Language="C#" MasterPageFile="..." ValidateRequest="false" AutoEventWireup="true" 
CodeFile="..." Inherits="..." Title="Untitled Page" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
Sürükle bırak işleminden sonra şu şekilde register kısmı eklenmiş olmalıdır.
Öncelikle o kısmı kontrol ediniz.

System.InvalidOperationException: Script controls may not be registered before PreRender.

Description: An unhandled exception occurred during the execution of the current web request.

Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Script controls may not be registered before PreRender.

Source Error:

 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:

 

[InvalidOperationException: Script controls may not be registered before PreRender.]
 System.Web.UI.ScriptControlManager.RegisterScriptControl(TScriptControl scriptControl) +154789 
 System.Web.UI.UpdateProgress.OnPreRender(EventArgs e) +49 
 System.Web.UI.Control.PreRenderRecursiveInternal() +80 
 System.Web.UI.Control.PreRenderRecursiveInternal() +171
 System.Web.UI.Control.PreRenderRecursiveInternal() +171 
 System.Web.UI.Control.PreRenderRecursiveInternal() +171 
 System.Web.UI.Control.PreRenderRecursiveInternal() +171 
 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842

Hatayı gidermek için:

 <asp:ScriptManager ID=”ScriptManager2″ runat=”server” /> kodu MasterPage’e ekleyiniz.

Problem ortadan kalkacaktır.

SQL Server Ambiguous Column Name Hatası

 

Ambiguous Column Name ” xx “ hatayı aldıysanız eğer şu anlama gelmektedir:

O kolon join yapılan tablolardan en az ikisinde vardır demektir.O kolonun yanına hangi tablodan istediğinizi belirtin.

tabloadi.xx şeklinde belirtmeniz gerekir.

 

 

 

Ajax Control ToolKit ASP.Net projesine nasıl eklenir?

Merhaba Arkadaşlar,

Ajax toolkit Asp.net projesine nasıl eklenir resimlerle anlatmaya çalışacağım.

Öncelikle buradan Ajax Control ToolKit indirin.

İçerisinde şu dosyalar yer alacak.

Sonrasında Visual Studio 2010 açın.

Asp.Net projenizi oluşturun.Projenize sağ tıklayarak  “Add Reference” deyin.

Browse/Ajax Control Toolkit klasörü içindeki dll dosyasını seçin ve ekleyin.


Solda toolbars kısmına eklemek için “General” kısmına sağ tıklayın.”Add tab” deyin.Adı “Ajax Nesnelerim” olsun.

Oluşturduğunuz tab içerisine tekrar sağ tıklayın”Choose items” deyin.Ajax Control Toolkit klasörünüzü açın.İçindeki “AjaxControlToolkit.dll” dosyasını seçin ve ekleyin.

Gördüğünüz gibi açtığınız tabın altına toolboxları eklemiş olacaksınız.

Hepsi bu kadar kolay gelsin.

Foreach ile Tüm TextBoxları Kısa Yoldan Temizleme

Basit ama hayat kurtaran bir kod =)

foreach (Control t in this.Page.Form.Controls)
            {
                if (t is TextBox)
                {
                    ((TextBox)t).Text = string.Empty;
                }
            }

Sayfamızdaki formda controller dizisini tek tek gezip controller içinde eğer textboxı yakalarsa içini temizliyor.

Microsoft Student Partner Programı

Merhaba Arkadaşlar,

5 aydır Microsoft Student Partner ünvanına sahibim.5 aylık tecrübelerim ve gözlemlerime dayanarak bu program hakkında bilgi vermek istiyorum.Başvurmayı düşünen,bilgi edinmek isteyen arkadaşlar için yararlı olacağını düşünüyorum.

“Microsoft Student Partner kimdir?Başvurular nasıl yapılmalıdır?Bu programa dahil olmak bize neler kazandırır?”şeklinde sorularınızı cevaplamaya çalışacağım.

MSP kimdir?

Microsoft’un bilgisayar bilimleri alanında öğrencilere sağladığı bir ayrıcalık olarak düşünebilirsiniz.Bu ünvana sahip olan kişi Microsoft’un düzenlediği eğitim ve seminerlerden yararlanarak kendisini daha da geliştirir.Çevresini de aydınlatmaya çalışır.Microsoft’un teknolojileri hakkında ilk bilgi sahibi olacak kişidir.Yenilikleri sürekli takip eder,teknolojiler hakkında haberdar olur.Üniversitesinde çeşitli eğitim ve seminerler düzenleyerek çevresini de bilgilendirmeye çalışır.

MSP olmak için başvurular nasıl yapılmalıdır?

Başvuru formu için adresine  tıklayarak ulaşabilirsiniz.Başvurunuza bir de sizi kısaca tanıtan bir video eklemelisiniz.Örnek olarak benim daha önce çekmiş olduğum videomu izleyebilirsiniz.Başvuru formunuzu gönderdikten sonra elemeler yapılacak ve her üniversiteden bu ünvana layık olacak kişiler seçilip,açıklanacaktır.

Bu programa dahil olmak size neler kazandıracaktır?

Kendi deneyimlerimden yola çıkarak bahsedeceğim.

MSP ünvanını taşımaya hak kazandığım zaman çok mutlu olmuştum.İdeallerimi gerçekleştirmem için attığım büyük bir adım oldu.Elemeler sonrasında kazandığımı öğrendim ve İstanbul’da Microsoft Office’de Kick-Off etkinliğine davet edildim.3 gün orada kaldım.Nişantaşı’nda güzel bir otel ayarlanmıştı.3 gün boyunca MVP hocalarımızdan farklı alanlarda eğitim aldım.Alanında uzman kişilerle ve Microsoft yöneticileriyle (Türk ve yabancı) tanışmak,muhabbet etmek harikaydı.Eğitimler dışında Türkiye’de farklı üniversitelerden seçilen MSP arkadaşlarımla tanıştım.Çok güzel bir arkadaşlığımız oldu.Kendi alanımızda birbirimizi daha iyi anlayan,ihtiyacımız olduğunda danışacak,fikir edinecek arkadaşlara sahip oldum.Microsoft Ankara Yaz Okulu’na da katılmıştım.Orada tanıştığım 4 arkadaşım da MSP olmuştu.Onlarla yeniden görüşme fırsatımız oldu.

Teknik ve sosyal açıdan öğrencilere çok şey katıyor.Kendimizi daha da geliştirmemiz için Dreamspark ve MSDN hesapları açılıyor.MSP seçildikten sonra size ait msakademik.com uzantılı bir mail hesabınız oluyor.

Dreamspark ve MSDN çok yararlı oluyor.Lisanslı Microsoft yazılımlarından Dreamspark sayesinde ücretsiz olarak yararlanabiliyorsunuz.MSDN Academic Allianze de o şekilde.Ürünleri deneme,kullanma fırsatı yakalıyorsunuz.İhtiyacınız olan bilgiyi de orada bulabilirsiniz.

Dönem içinde İstanbul’da 2 günlük bir kamp yapıldı.Tam vizelerime denk geldiği için katılamadım.Çok üzülmüştüm.Katılan arkadaşlarım çok memnundu,Windows Azure ve Phone7 de kendilerini baya geliştirdiklerini söylemişlerdi.

Bunların dışında ekip çalışmaları: çeşitli web sayfa düzenlemeleri yapılıyor.Biz de elimizden geldiğince destek vermeye çalışıyoruz.Farklı şehirlerde de olsak aynı iş için bir araya gelebiliyoruz.Organize olmak aynı şehirdeyken bile zordur,biz internet üzerinden webinerler,görüşmeler düzenleyerek çalışmalarımıza devam ediyoruz.Bu gerçekten büyük bir başarı.

Ayrıca henüz yayına açılmamışken www.acikakademi.com -ülkemizin ilk ücretsiz online yazılım okulu,kendini bu alanda geliştirmek isteyen herkese açıktır- test aşamasında yer aldım ve sitenin testlerini yaptım.Sonraki yazılarımda acikakademi.com’dan bahsedeceğim.Takip edebilirsiniz.

Bu programda yer alıyor olmaktan çok mutluyum.Siz de MSP olmak için başvurun.Son başvuru tarihi 30 Ocak 2012dir.

Bu heyecanı siz de yaşayın!

Sorularınız için serap.sen@msakademik.net adresine mail atabilirsiniz.

Kolay gelsin,başarılar…

 


 

 

 

HTML 5

Merhaba Arkadaşlar,

Bu yazımda HTML 5’den bahsedeceğim. Beraberinde gelen yenilikler nelerdir, bize ne gibi kolaylıklar sağlar? Bunlardan bahsedeceğim.

HTML’in ne olduğunu artık hemen hemen herkes biliyor. Web sayfaları oluşturmak için kullanılan temel işaretleme dilidir. HTML 5 de işte bu dilin en güncel olan sürümüdür.

Bir bakalım HTML’e ne gibi yenilikler getirmiş…

Bundan önceki ana değişim XHTML1 2000 yılında gelmiş olsa da, 1997 yılındaki HTML 4 idi. O günden bu yana internet neredeyse devrim yaşadı. Tablosuz CSS tasarımların, AJAX ın, Web 2.0’ın moda olduğu günler yaşadık. HTML günün şartlarına ve ihtiyaçlarına artık cevap veremiyor, browserlar arası uyumsuzluk geliştirme maliyetini arttırıyordu ya da birinde çalışan diğerinde çalışmaz hale gelmişti. Mobil internetin yaygınlaşması da diğer sorunlardan birisiydi çünkü HTML 4 mobil için tasarlanmamıştı.

İşte bütün bu sorunları ve eksikleri kaldırmak üzere HTML 5 gündeme geldi ve halen geliştiriliyor. Şu anki hali ile bile tercih edilmeye başlandı. Chrome ve Safari tarayıcılarının güncel sürümleri üzerinde, deneme aşamasında da olsa çok daha iyi bir şekilde çalışmaktadır. Internet Explorer, Mozilla Firefox ve Opera tarayıcılarının güncel sürümleri tarafından kısmen desteklenmektedir.

HTML5 kullanmak aynı zamanda UI (kullanıcı arabirimi) mühendislerinin ve back end (sunucu uygulama) geliştiricilerinin sadece tek codebase kullanımından yararlanabiliyor olmaları demektir. Yapının temelleri aynı kalsa da, her platforma entegre edilmiş back end layerlar ve görüntüler olabilecektir. Bu, birbirine bağlı bir ürün tecrübesinin yaratılmasına yardım eden ürün çizgisinin karşısında, gelişimin yayılma sürecini hızlandırmaktadır.

Ses veya film etiketleri gibi bir çok spesifik yönleriyle birlikte kullanılması gereken HTML 5, sadece bir biçimleme dili olmasından ziyade web uygulamaları yaratmakta da kullanılabilmektedir. CSS3 ve JavaScript ile birleştirmek çok daha güçlü uyumlu ve sağlam uygulamaları mümkün kılmaktadır. Uygulamalar bu sayede binlerce cihazda birçok ihtimale uygun şekilde kullanılabilmektedir. Özellikle de iliştirilmiş platformlar ve bağlanmış cihazlarla çok daha güçlü olacaklardır.

Bazı yeni elementler var…

  • <canvas>: Sayfada bir tuval alanı oluşturur. Tuvale çizim javascript ile yapılabilir.
  • <audio>: Sayfaya ses oynatıcı bir modül ekler.
  • <video> : Video oynatıcı bir modül ekler.
  • <progress> : İşlem süreci göstergesi ekler.
  • <caption> : Başlık olarak düşünülen metinleri düzenler.
  • <header> : Sitenin başlık ve açıklama içeriğini alır.
  • <nav> : Menüleri ve bir takım zaruri işlevleri içine alır.
  • <footer> : Sitelerin en alt kısmını içine alır.
  • <section> : Sitelerin ana içerik kısmını içine alır.
  • <aside> : Ana içerikte ayrı yazılan kısımdır.
  • <article> : Makale, deneme tarzı yazıları kapsar.
  • <embed> : Dışarıdan eklenen componentler için kullanılır. (Örn : .swf uzantılı dosyalar)
  • <details> : Detay bilgisi içerir.
  • <summary> : Yazının başlığını belirler.
  • <time> : Tarih, saat verilerini kapsar.
  • <mark> : Yazı içerisinde özellikle üstünde durulan kelimeleri belirler.
  • <fig>
  • <figure>
  • <hgroup>
  • <datalist>

Bunlardan şu an için en popüler olanları ise medya oynatıcılar: video ve ses gibi…

HTML’de desteklenmeyen elementler…

Tüm bunların dışında birde desteği kaldırılan elementler / tagler de var. Birçoğu zaten artık neredeyse hiç kullanılmıyor. Bunlar : < acronym>, <applet>, <basefont>, <big>, <center>, <dir>, <font>, <frame>, <frameset>, <noframes>, <s>, <strike>, <tt>, <u>, <xmp>

 NOT: Bu makalem  www.readmee.com da yayınlanmıştır. Oradan da takip edebilirsiniz.

BULUT BİLİŞİMİ & WİNDOWS AZURE PLATFORM

Merhaba Arkadaşlar,

Cloud computing(Bulut bilişimi)’e yavaş yavaş geçişler başladı. Bu yazımda Windows Azure Platformu, özellikleri ve sistem detaylarını inceleyeceğiz.

Öncelikle Bulut Bilişim nedir? Bundan bahsedeceğim.

Bulut Bilişim, uygulama ve servislerin internetteki bir sunucuda (bulutta) bulunup, internete bağlı herhangi bir cihaz ile bu uygulama ve servislerin çalıştırılması olayıdır. Verileriniz buluta yüklenir ve ihtiyaç duyduğunuz zaman sadece interneti kullanarak verilerinize ulaşabilirsiniz.

 

 

 

Ne amaçla kullanılır? Şöyle bir örnekle açıklayalım:

 

Resimde gördüğünüz gibi:

Bir web sitesi düşünelim. Web sayfalarının internette yayınlanabilmesi için sunuculara ihtiyacı vardır. Sunucular, onlara istek gönderen müşterilerin(kullanıcıların) ihtiyacını karşılayabilir olmalıdır. Arka planda sunucuların elektrik, soğutma sistemleri vb. gibi masrafları vardır.

“Aktif – Pasif” : Web sitesi belli zamanlarda aktif diğer zamanlarda pasif durumda olsun. Bu durumda kullanılmayan zamanlarda yapılan masraf boşa gidecektir. Ekstra maliyet getirecektir.

“Hızlı Büyüme” : Sürekli büyüyerek gelişen bir web sitesi olabilir. E-ticaret sitelerini düşünelim. İhtiyacı karşılayabilmek için kullanmış oldukları sunucuları zaman içerisinde sürekli artırmak zorunda kalacaklar.

“Tahmin Edilemeyen Patlama” : Planlanmayan bir talep var ise kullanmış olduğunuz sunucular ihtiyacı karşılayamaz ve performansın azalmasına sebep olur.

“Tahmin Edilebilen Değerler” : Hizmet mevsimlere göre değişiyor ise yine kullanılmayan zamanlarda ekstra maliyet getirecektir.

Verdiğim örnekler göz önüne alınarak Windows Azure Platformu geliştirilmiştir.

Bulut bilişim sistemlerini birbirinden ayıran önemli hizmetler var. Bunlar IaaS, PaaS ve SaaS.

 

Bulut hesaplamanın en önemli unsurlarından birisi, servis olarak altyapısı yani IAAS (Infrastructure as a Service). Bu bildiğimiz sanallaştırma hizmetleri gibi altyapı servislerinin sunucu çiftliklerinde yapılması esasına dayanıyor. Yani geliştiriciler istedikleri sistemlere sahip olabiliyorlar ve bunları kontrol edebiliyorlar. Buna örnek olarak Amazon EC2 servisini gösterebiliriz.

Bir diğer unsur, servis olarak platform yaniPaaS(Platforma Service). Burada, geliştiricilere uzak sunucularda barınan komple bir geliştirme ortamı sunuluyor. Bu sayede bilgisayarınıza bir library indirmeden işlemleri gerçekleştirebiliyorsunuz. Buna örnek olarak, Google’ın Chart API’si veya yine Google’ın Pyhton (Django) kütüphanesi Google App Engine verilebilir. Her zaman olmasa da bu kütüphaneleri kullanarak geliştirdiğiniz yazılımları isterseniz, sağlayıcının sunucusunda tutabilirsiniz. Bu yüzden bu tarz sistemlerle geliştirilmiş yazılımlara bulut yazılımı (cloudware) deniliyor.

Son bir unsur ise, servis olarak yazılım yani SAAS(Software as Service). Buradaki mantık daha çok son kullanıcıyı ilgilendiriyor. Müşteriler geleneksel yazılım satın alma modelinden vazgeçerek daha ileri gidiyorlar. İsterlerse bir yazılımı ihtiyaçları ölçeğinde kiralayabiliyorlar. Bu ihtiyaçlar, zaman, işlem gücü veya kapasite olabiliyor. Örnek olarak, bir oyunu sadece bitirdiğiniz zamana kadar kiraladığınızı düşünün. Bu uygulamalar platform bağımsız oluyorlar ve kullanıcılara ekstra sunucu, yazılım, bakım, eleman gibi maliyetler çıkarmıyorlar. Bu durumda uygulama geliştirici birden çok lokasyonda kurulu uygulamada çıkacak sorunlar için endişelenmek durumunda kalmıyor (bakım, hata düzeltme vs gibi).

Bu altyapılar tüm bu bulut sistemini güçlü derecede etkiler. Bu altyapının ve geri plan desteklerinin güçlü ve güvenilir olması bulut sistemlerinin de o kadar fazla ve yoğun kullanımına yarar sağlıyor. Bu yarar da hem genel anlamda bulut bilişim sistemlerinin gelişimini sağlıyor hem de spesifik olarak belli şirketlerin ve sistemlerin bu platformlarda gelişmesini ve daha iyi, daha güçlü hizmet vermesine olanak veriyor. Tüm bu avantajlar ve gelişmeler de ilk kullanıcıya daha iyi bir bulut bilişim servisi olarak geri dönüyor.

  • Kullanıcı – her uygulama için farklı kimlik kullanmak istemez
  • Yazılımcı– farklı kimlik sağlayıcıları için ayrı kod yazmamalı
  • Sistem yöneticisi – Active directory öğelerine kolay yetki yönetimi

Şirketler ile Windows Azure arasında kimlik erişim kontrolü, single sign-on yapısı vardır.

Single Sign – On ne demektir?

Kullanıcının windows domain platformuna(Active Directory) login işleminin ardından yetkilendirme ve doğrulama yapıldıktan sonra domain’e bağlı bütün bilgisayar ve active directory tarafından kontrol edilen diğer sistemlere tekrar isim ve password girmeden erişim hakkının verilmesi. Bu da güzel bir avantajdır. Kullanım kolaylığı sağlar.

Diğer avantajlarından bahsedelim:

Windows Azure, diğer bulut bilişim servislerine göre daha ekonomik ve genişleyebilir, esnek veritabanları ve bandwidht’leriyle belki de sabit fiyatlarla çalışmayan tek bulut bilişim servisi. Hesaplama adı da verilen bu sistemde, kullanıcılar ne kadar alan üzerinde bulut bilişim uygulamalarına erişirse o kadar bir ücretlendirmeye tabi tutuluyor. Bu da kullanıcıların gereksiz verilerden ve boş alanlardan kaynaklanan bandwidht artmalarına ve hız etkilerine maruz kalmasının önüne geçiyor. Hem ticari olarak hem de kişisel kullanım olarak hesaplı ve bir o kadar da etkili bir bulut bilişim servisi sunuyor. Windows Azure, Java, PHP, ASP ve .NET gibi programlama dilleri üzerinde çalışabiliyor ve bunları online olarak geliştirmeye de imkan veriyor. Bu geliştirmeleri esnek ve düzenlenebilir, bir yönetim ihtiyacı olmayan SQL veri tabanları üzerinden yapabiliyor.

Veri tabanı olarak SQL’i kullanıyor. SQL ilişkisel bir veri tabanı ağı ancak Windows Azure’da bu sistem bulut bilişim servislerine uygun olması babında biraz daha geliştirilmiş ve değiştirilmiş. Windows Azure üzerinde SQL Azure Database adı verilen ve yönetim ihtiyacı olmayan özel bir veri tabanı kullanılıyor. Bu veri tabanı isteğe bağlı olarak genişletilebiliyor ve düzenlenebiliyor. Standart SQL Server Teknolojileri üzerinde çalışan bu ilişkisel veri tabanları ile verilerinizi ve dosyalarınızı birbirine bağlayabiliyorsunuz ve genel değişimleri tüm verilerinize uygulayabiliyor veya özelleşmiş seçenekleri ile veri tiplerinden dosya boyutlarına kadar değişik kurallar çerçevesinde değişimleri ve düzenlemeleri gerçekleştirebiliyorsunuz. SQL Azure Data Sync ile de eşleme seçeneklerini kullanabiliyor, bu eşlemeler ile dünya genelindeki bulut bilişim veri parklarından verilerinizi en hızlı şekilde ve interaktif olarak çalıştırabiliyorsunuz. Artık geçmişteki gibi bilgisayarınıza veya net üzerindeki alanınıza uygulama yüklemek, bunları ayarlamak ve düzenlemek için uğraşmıyorsunuz çünkü SQL veri tabanları ve Windows Azure Core sistemleri bunları sizin yerinize en iyi şekilde ve Microsoft kalitesiyle yapıyor.

Windows Azure Platformu’nda yenilenen “Virtual Machine” teknolojisi de Windows Server 2008 SDK’sı üzerinde işleyen ve host-server üzerinden web-based olarak hizmet veren bir teknoloji olarak karşımıza çıkıyor. Server 2008 veya en aşağı özellikler ile W-Vista altyapılı sanal makineler ile kurulum ve kullanımdan bağımsız olarak her yerden on-board olarak erişilebilen bir bilgisayar deneyimi sunuyor. Değişen veri istekleri ve kullanım istekleri göz önüne alındığında Virtual Machine teknolojisi aslında Microsoft’un önceden beri hizmette bulunan Virtual PC hizmetiyle aynı işlemi yapıyor ancak bunu cloud üzerinde yapabildiğinden değişik erişim merkezlerinden ve veri parklarından alınan bilgileri bilgisayarınızdan bağımsız olarak işleyebiliyor ve üzerinde işlem yapabiliyorsunuz. “BLOB” adı verilen Binary-Large-Object’leri, yani kodlamalarınızda ve genelde developerların yoğun olarak kullandığı SDK’lar üzerindeki işlemlerinizi online olarak bulut bilişim servisi üzerinden yapabiliyorsunuz. Windows Azure bu sistemleri size storage’den bağımsız olarak sağlıyor ve Server 2008 RS üzerinden yürüttüğü esnek depolama alanlarıyla bir ücret ödemeden bunlara da cloud içerisinde ulaşabiliyorsunuz. Bu da birçok firmanın aslında yapamadığı, yapsa bile yine Microsoft Server Teknolojileri üzerinden yaptığı bir işlem.

Windows Azure’un Virtual Network sistemiyle de diğer Windows Azure kullanıcıları ile etkileşim halinde olabiliyorsunuz. Bu etkileşim bize ne kazandırır? Windows Azure Bussiness Intelligence ile özellikle developer yönünde kurumsal ve ticari faaliyetlerinizi, raporlarınızı, sunumlarınızı cloud ortamında saklamak ve yönetmek daha rahat ve etkileşimli olacaktır. BI, hem developerlara hem de clientlara hitap eden ve genelde kurumsal bazlar için daha verimli ve etkin hizmet veren ayrı bir Windows Azure güzelliği diyebiliriz.

Geleceğin teknolojisi olarak gösterilen bulut bilişim servislerini yakından tanımak ileride hepimizin işine yarayacaktır.

NOT: Bu makalem www.readmee.com da yayınlanmıştır.Oradan da takip edebilirsiniz.

WPF (Windows Presentation Foundation)

Merhaba Arkadaşlar,

Bu yazımda WPF nedir? Nasıl kullanılır? ? Ne işe yarar? WPF’de yenilikler neler? Bunlardan bahsedeceğim.

WPF (Windows Presentation Foundation) nedir?

WPF yeni nesil kullanıcı ara yüzü geliştirme ve görüntüleme platformudur. XML’e benzer yapısı ile XAML (eXtensible Application Markup Language ) dilini kullanarak(zamel olarak telaffuz edilir), HTML kullanarak hazırladığımız ara yüzlerdeki gibi WPF’de de kolaylıkla esnek kullanıcı ara yüzleri oluşturabiliriz. XAML dili ile programcı ve tasarımcı arasındaki bağımlılığı ortadan kaldırmaktır. Tasarımcı XAML dilini kullanarak ara yüzü oluşturacak, programcı ise çalışması gereken kodları yazacak, uygulamanın sonunda da programcının kodları ile tasarımcının hazırladığı ara yüz birleştirilerek uygulama hazır hale getirilecek. Bu noktada zamandan kazanmak olası bir durumdur. Oysa bundan önceki programlama modelinde kullanıcı ara yüzünü geliştirmek kod ile gerçekleştiğinden ara yüzün hazırlanması ve kodların yazımı tamamen programcının sorumluluğunda olan bir durumdu.

WPF’de neler yeni?

  •  Dağıtım sorununa çözüm gelmektedir ki; hazırladığımız WPF uygulamalarının Internet Explorer ve FireFox gibi popüler tarayıcılar vasıtasıyla da kullanıcılara kullandırma imkânı vermesi uygulamalarımıza esneklik kazandırmaktadır. Web uygulamalarına oldukça benzeyen WPF uygulamalarına XBAP (XAML Browser Application) denilmektedir. Bu sayede kullanıcıya içerik ve kapasite olarak oldukça zengin uygulama kullanma imkânı verebiliriz.
  •  Yeniliklerle beraber WPF mimarisinin getirdiği kolaylıklardan birisi de button, textbox,menü gibi pencere kontrollerinin oluşturulması ve özelleştirilmesi gelmektedir.
  • Geliştiricilerin en çok başını ağrıtan durumlardan birisi de çözünürlük bağımsız (Resolution independence) kullanıcı ara yüzü tasarlamaktır. Buna çözüm olarak çözünürlük problemi olmadan esnek zoom yapabilirsiniz.

 

WPF’de Mimari

 

Çoklu katmanlardan meydana gelen WPF mimarisinde temel olarak WPF ile oluşturulan yönetilebilir (managed) nesnelerin (pencereler veya kontroller gibi) alt katmanlarda DirectX kullanarak çizilip yönetilmeyen (unmanaged) nesneler oluşturularak ekranda görüntülenmesi temel prensibine dayanmaktadır. WPF nesnelerinin DirectX ile etkileşimi milcore.dll (Media Integration Layer) isimli yönetilmeyen kod ile yazılmış bir birim tarafından gerçekleştirilmektedir. Böyle bir yapının tek nedeni direk grafik kartı ile işlem yapılacağından daha hızlı çalışabilen yönetilmeyen kod kullanılarak yüksek seviyede performans elde edilmek istenmedir.

PresentationFramework, WPF’de en üst katmanda olup uygulama geliştirirken kullanılan button,textbox, panel,stil, şablonlar gibi WPF nesnelerini barındırır. Tüm bu nesnelerin sınıf karşılıkları da PresentationFramework.dll içerisinde yer alır.

PresentationCore, WPF’deki nesnelerin temel bileşenlerini oluşturan ilerde değineceğimiz Visual gibi nesnelerin bulunduğu birimdir. Eğer WPF’deki nesnelerin verdiği imkânlar dışında özelleştirilmiş nesnelere ihtiyaç duyulduğunda bu katmandaki nesnelerle işlemler yapmak gerekecektir. Yine bu katmandaki tüm nesneler PresentationCore.dll içerisinde yer alır.

Milcore, WPF’de kontrollerin oluşturulması ve görüntülenmesindeki en temel işlemleri meydana getiren birimdir. DirectX API’sinin Direct3D kısmını kısmından yararlanarak WPF nesnelerinin

donanım seviyesine yakın işlemlerle çizilip görüntülenmesi sağlamaktadır. Yani WPF katmanı ile DirectX katmanı arasında köprü görevini yapmaktadır.

 WPF Kullanıcı Ara yüzü Mimarisi

Kullanıcı ara yüzünü oluşturacak nesneleri inceledikten sonra şimdi basit bir ara yüzü oluşturulduğunda bunun WPF mimarisinde arka planda iki ağaç modeli ile gerçeklediği görülür.

Bu ara yüzü oluşturan WPF nesneleri ilk önce “Logical Tree” denilen bir ağaç yapısına çevrilir. Bu yapı ekrandaki nesnelerin bire bir yapısal durumunu tutar ve çalışma zamanında bu yapıdan yola çıkılarak görsel ara yüz oluşturulmaya başlanır. Yani logical tree aşağıdaki gibi yapılandırılarak program ara yüzünü oluşturacak nesneler organize edilir.

Bir uygulama yapalım:

 Wpf yapısı itibariyle XAML okuyarak çalıştığı için tasarımları oluştururken XAML üzerinde değişiklikler yapmak oldukça zor. Bunu en kolaya indirgemek için Expression Blend 4‘ ü kurup Wpf Application’ ı seçip oldukça hızlı ve rahat bir şekilde tasarımlar yapabilirsiniz. Biz örnek uygulamamızı Blend 4 üzerinde yapacağız.

Asserts/Button ekle. “Properties” den rengini değiştirebilirsiniz.

Arka planda XAML kodlarını görelim.

 

Yararlanılan Kaynaklar:

http://www.csharpnedir.com/articles/read/?id=896&title=WPF’i%20Anlamak

http://www.wpftutorial.net/WPFIntroduction.html

NOT: Bu makalem www.readmee.com da yayınlanmıştır. Yazılarımı orada da takip edebilirsiniz.

Posted in Genel microsoft by admin. No Comments