24.4.06

Microsoft Ankara Lansmanı 11.04.2006

Ankara'da 11 Nisan 2006 'da yapılan, Microsoft Lansmanında kullandığım sunumu aşağıdaki linkten alabilirsiniz.

Microsoft Ankara Lansmanı 11.04.2006

Ankara'da 11 Nisan 2006 'da yapılan, Microsoft Lansmanında kullandığım sunumu aşağıdaki linkten alabilirsiniz.

SmartClient sunumu

Bunun yanında 64 bit uygulamalar üzerine yaptığım sunumu almak isterseniz mail atmanız yeterli olacaktır.

15.2.06

Windows Mobile 5.0 SDK

LOB uygulamalarının en önemli parçalarından biri Windows Mobile 5.0 isimli işletim sistemi olacak. Windows Mobile 5.0 şu anda mobil cihazlarda test edilmeye başlandı. Emulatör bazında denemek isteyenler smartphone yada pocket pc sdk 'larını indirmeleri gerekmektedir. Bu sdk indirildiğinde emulatörler , api'ler ve dokumanlar VS2005 'e otomatik olarak eklenecektir. Api'leri kullanmak için sadece reference yapmanız yeterli olacaktır.

Windows Mobile 5.0 ile birlikte gelenlere bakıldığında en önemli noktayı depolama yeteneği alıyor. Eskiden olduğu gibi pil bittiğinde bilgilerin kaybolması önlenmiş durumda. Cihaza ve çözünürlüğe göre formların ayarlanması yine önemli özelliklerden.

Bunun yanında gelen namespace'ler ( configuration , forms , pocketoutlook, messageInterception, status, telephony) sayesinde cihaza ve işletim sistemine ait bir çok özellik kodlanabilmektedir. Bunları yapabilmek için windows.mobile namespace'ini eklemeyi unutmamak lazım. (Windows Mobile 5.0 SDK 'sı ile gelmektedir)

Bunun yanında dialog pencereleri üzerinden programınıza veri alabilir veya takvime ve kontaklara veri kayıt edebilirsiniz. Bunları yapmak için ilgili nesnenin ( contact , appointment...) örneğini oluşturmak ve bu nesnelerin özelliklerinden yararlanarak kod yazmak yeterli olacaktır.

Windows Mobile 5.0 Api'leri ile cihazınızın üzerindeki fotoğraf makinası , kamera ve klavye olaylarını yakalayabilir aynı zamanda alınan verileri programınıza gönderebilirsiniz.

LOB (Line of Business) Application

LOB ; mobil uygulamaların zengin kullanımı için gerekli olan parçaları içeren bir çerçevedir. LOB uygulaması gerçekleştirilirken kullanacağımız parçalar şunlardan oluşmaktadır: VS 2005 , CF 2.0 ,SQL Server Mobile , senkronizasyon , Windows Mobile 5.0 ,pocket outlook, datastate ve notification , brokermessage, interception.

Bu parçaların çoğuyla yeni tanıştık ve giderek daha da bilgi sahibi olacağız. Hepsi kendi başına önemli sayılacak bu parçaların, mobil uygulamanızda bulunması yazılımınızın gücünü daha da arttıracaktır.

Bunun yanında VS 2005'e bütünleşik gelen "Remote Tools" sayesinde mobil uygulamanızın o anki durumu hakkında bilgilere ve ekran görüntülerine ulaşabilirsiniz. Bu araçlar remote file viewer , remote heap walker , remote process viewer, remote spy , remote registry editör ve remote zoom-in'dir. Bu uygulamalar pocket pc yada smartphone'unuzun herhangi bir andaki bilgilerini size sağlıklı bir şekilde iletecektir.

3.2.06

ClickOnce Programlama- System.Deployement

ClickOnce kullanılarak yaptığımız yükleme veya güncelleme işlemlerini daha esnek ve zengin hale getirmek için System.Deployement sınıfını kullanarak kod yazmak durumundasınız.

System.Deployement class'ını kullanarak yazdığınız kodları bir düğmeye , bir etiket'e yada form olaylarına taşıyarak güncellemeler hakkında kullanıcıyı sürekli bilgilendirebilirsiniz.

Bu class'ı kullanarak yapabileceklerinize gelince;

Network kontrolü yaptıktan sonra o anki versiyonu alabilirsiniz
If (ApplicationDeployment.IsNetworkDeployed) Then
ADUpdateAsync = ApplicationDeployment.CurrentDeployment

Güncelleme olup olmadığı olayına kod yazabilirsiniz
Sub ADUpdateAsync_CheckForUpdateCompleted()

Güncelleme olup olmadığını kontrol edebilirsiniz
If (e.UpdateAvailable)

Güncellemenin zorunlu olup olmadığını kontrol edebilirsiniz
e.IsUpdateRequired

Güncellemeyi gerçekleştirebilirsiniz.
ADUpdateAsync.UpdateAsync()

Güncelleme sırasındaki işlemleri ve tamamlanmasını kontrol edebilirsiniz.
Sub ADUpdateAsync_UpdateProgressChanged
Sub ADUpdateAsync_UpdateCompleted

Tüm kodu bir arada görmek isterseniz aşağıdaki linkten yararlanabilirsiniz.

System.Deployement Ornek Kodu

VSTO - Word 2003

En çok gelen sorulardan bir tanesi de word deki bilgilerin veritabanına nasıl aktarılacağı. Özellikle teklif hazırlanması , şirket içi haberleşmelerde kullanılan dokumanlardaki verilerin tekrardan veritabanına işlenmesi durumu zaman kaybına neden olmaktadır. Bunun tam tersi durum da sözkonusu yani yakın veya uzak veritabanında bulunan verilerin belirli kriterlerden geçerek dokumanın içine yerleşmesinde kaybedilen zaman.

Bu önemli isteklerin tümünü word içindeki "eklentiler ve şablonlar" menusunu kullanarak tanımlayacağınız xsd dosyası sayesinde çözebiliriz. XSD dosyası xml tag'larını ve veri türlerini içermektedir. Kısaca xml dosyasının içinde bulunması gereken tagleri tanımlayan dosyadır. Bu dosyayı tanımladıktan sonra yapılması gereken dokuman içindeki yerlere bu tag'ları yerleştirmek olacaktır. Burda size tavsiyem bu tagların içine toolbox'ta gelen bookmark'ları koymanız. Böylelikle xml taglarının içine dışarıdan veri almanız mümkün olacaktır.

Kullanıcı word uygulamasını açtığında farkına varmadan xml dosyası doldurmaya başlayacak ve action pane de yer alan araçlar sayesinde ( combobox,textbox,calendar) istediği bir veritabanından aldığı verileri bookmark kullanarak tag'ların arasına yerleştirebilecektir.

Programın istemcilerde çalışabilmesi için framework2.0'ın yüklü olması ve "Microsoft .NET Framework 2.0 Configuration" da oluşturulan DLL'e izin verilmesi gerekmektedir.

30.1.06

SQL Server 2005 - Merge Replication

Smart client uygulamalarında en çok sorulan sorulardan bir tanesi de verilerin ve veritabanının senkronizasyonunun nasıl sağlandığıdır. Özellikle sahada dolaşan şirket temsilcilerinin bunu nasıl yapacakları sorulur.

Bizim yazılımını yaptığımız bir projede bu durum için inceleme yaparken SQL Server 2005 de replication işleminin kolay ve ihtiyaçları tam karşıladığını gördüm.

Replication alanında SQL Server 2005'de birçok güzel yenilik sözkonusu. Yeni veritürlerinin senkronizasyonundan , DDL senkronizasyonuna kadar birçok yenilik gelmiş durumda. Dört replication türü içinde smart client uygulamalarını destekleyecek ve kolaylık getirecek olan Merge Replication.

Merge replication ile birlikte meydana gelecek "conflict"ler sizin belirttiğiniz önceliğe göre otomatik olarak düzeltilirken , mobile subscriber'lar için özel bir seçenek sözkonusu. Bu seçenek sayesinde mdf dosyası ile mobile cihazdaki sdf dosyası arasında sağlıklı veri birleştirme işlemi gerçekleşmektedir. Subscriber'ları backup dosyasından oluşturma şansınızda sözkonusu.

Smart Client tarafında bu tür uygulamalara en iyi örnek VSTO ile yapılan uygulamaların ( office içindeki .net uygulamalarını ) verilerini merge replication ile mobil cihazlara iletmesi ve mobil cihazlardan veri alması olacaktır.

Replication türleri hakkında bilgi almak için seyretmenizi önerdiğim webcast :
"MSDN Webcast: Introducing Replication in SQL Server 2005—Level 200"
http://www.microsoft.com/events/series/msdnsqlserver2005.mspx

Merge replication hakkında bilgi almak için seyretmenizi önerdiğim webcast :
"Developing a SQL Mobile Application with Visual Studio 2005 and SQL Server 2005"
http://www.microsoft.com/events/series/msdnsmartclient.mspx



28.1.06

Visual Studio Tools for Office (VSTO2005)

Visual Studio Tools for Office Sunumu (04.04.2005 )

Tüm kullanıcıların Microsoft Office ürünlerini kullandığı günümüzde uygulamalarımızı Office paketi içine yerleştirebilmek önem kazanmaktadır.

Office2003 paketi kullanan şirketler bu konuda şanslılar çünkü word ve excel içinde .NET'te yazılmış user control'leri koyabilme olanağına sahipler.

VS.NET 2005 içinde Excel ve Word için projeler açılabilmesi sayesinde .NET 'te yaptığınız web servislerini , veritabanı bağlantılarını, kontrolleri , olayları ve özellikleri kullanabilirsiniz.

Aslında bu iki yazılımı buluşturan ortak noktalar office tarafındaki "action pane" ile .NET tarafındaki "user control" ler. User Control'lerin action pane'e eklenmesi ile Word ve Excel'inizin gücüne .NET'in gücünü de eklemiş oluyorsunuz.

Word ve Excel'inize XSD ( XML' in yapısını belirleyen dosya ) dosyasını şablon olarak tanıttığınızda dokuman ve sayfanıza işlediğiniz tüm bilgileri xml olarak kaydetme ve tutma şansınız bulunmaktadır. Yine XSD dosyası yardımıyla kayıtlar arasında gezinti ve kayıt işlemleri yapabilmektesiniz.

Yapacağınız projede ClickOnce'ı da kullanabiliyor olmanız uygulamanız kolay dağıtımını ve güncellemesini sağlamaktadır. .NET ile Office programladığınızda normal dosyanızın yanında bir de DLL dosyası göreceksiniz. Bu dosyayı merkezde tutarak tüm uygulamaların burdan yararlanmasını sağlayabilirsiniz.

Özetlemek gerekirse .NET 'te yaptığınız tüm işlemleri Office 2003 içinde de yapabilir ve karşılıklı olarak verilerin alışverişini sağlayabilirsiniz. Örnek olarak bir teklif hazırlamak istediğinizde sağ tarafta çıkacak user control içindeki combobox 'lar kullanılarak kriterler belirlenebilir ve bir tuşa basıldığında ilgili veriler sözleşmede bookmark ile belirlenmiş yerlere yerleştirilebilir.

Yukarıdaki sunum 04.04.2005'de " Microsoft Çözüm Zirvesi" nde verdiğim "VSTO" sunumdan alınmıştır

26.1.06

Mobile Uygulama Geliştirme

Mobile Uygulama Geliştirme Sunumu (19.01.2006) - ANKARA

.NET 2005 de mobil uygulama geliştirmek için ayrı bir bilgiye gerek kalmadı. .NET Compact Framework 2.0 daki yenilikler karşımıza neredeyse full framework özelliklerini getirdi. Böylelikle kullanılacak araçlardan, yazılabilecek nesnelere kadar oldukça zengin bir içerik karşımızda.

Kullanılan emulatorlerde yapılan değişiklikler, testlerin daha hızlı sonuçlanmasını sağlarken , programlama da esnek bir yapıya sahibiz. Durumu kaydetme, klasör paylaştırma , döndürme , seri port eşleştirme gibi birçok özellik yeni emulatör yapısında bulunmaktadır. Aynı zamanda "Connect to Device " ve "Device Manager" özellikleri kullanılarak cihazı cradle'a koyma durumu yaratabilmekteyiz.

Akıllı İstemcilerin önem kazanması ile verilerle çevrimiçi ve çevrimdışı çalışmak önem kazandığını belirtmiştik. SQLServer 2005'de kullanılan "merge replication" sayesinde sahadaki eleman ile kurumdaki veritabanının verilerini senkronize etmesi oldukça kolaylaştırılmış durumda.

Mobil uygulamaların veritabanı ile konuşması sürükle bırak şeklinde yapılmaktadır. Bu sayede xsd dosyası ve select sorgusu otomatik olarak oluşturulmaktadır. Böylelikle kayıtlar arasında gezinti ve veri işlemleri kolay komut yapısı ile yapılabilmektedir.

Mobil dünyayı hareketlendirecek önemli bir nokta da Windows Mobile 5.0 işletim sistemi. Bu işletim sistemi ile birlikte contact, calendar,camera gibi birçok bileşene basit api'ler yardımıyla ulaşabiliyor ve yeni özellik ekliyor olacağız. Bunun yanında birçok dialog penceresini uygulamamız içinden çağırarak uygulamamız daha etkin kullanacağız.

Gelen önemli özelliklerden bir tanesi de interceptor'lar . Bu özellikler sayesinde programınız o an çalışmıyor olsa bile bir olay tetiklendiğinde ( örneğin bir aramanın gelmesi ) interceptor programı otomatik olarak çalıştırmakta ve sizin yazılımınızın cevap üretmesini sağlamaktadır.

Bunların yanında System.Property nesnesine de bakmakta fayda var. Bu nesne sayesinde mobil araçtaki pil durumu, bağlantı , activesync gibi bir çok durum değişikliği için kod yazılabilmesi sağlanmaktadır.

Yukarıdaki sunum , Ankara'da /Bilkent ve ODTÜ teknokentlerinde yazılımevlerine "VS 2005 ile Mobile Uygulama Geliştirme" başlığı altında yapılan seminerde kullanıldı.

ClickOnce

ClickOnce Sunumu(04.04.2005)

Akıllı istemciler oluşturabilmek için ClickOnce konusunu iyi bilmek gerekiyor. Bunun içinde öncelikle nasıl bir mantıkla çalıştığını anlamak önem kazanıyor.

ClickOnce, aslında windows uygulamasının web sunucusu üzerinden yayınlanmasını sağlayan bir araç. Bu sayede uygulama, versiyonlanmış halde web server'da bulundurulur. İstemci, istekte bulunduğu zaman program otomatik olarak bir xml dosyasından (DEPLOY.application) yeni uygulamanın hangi klasörde olduğunu anlar ve o klasöre yönelir. Burda bulunan xml dosyası ( DEPLOY.exe.manifest ) vasıtasıyla da hangi izinlerin var olduğuna bakar.

Bahsedilen XML dosyalarını okuyabilmek için SDK ile gelen MageUI dosyasını kullanmak işlemlerinizi hızlandıracaktır.

ClickOnce'ın yaptığı tüm işlemlerin daha fazlasını "System.Deployement.Application" nesnesini kullanarak programlanabilir hale getirebilirsiniz.

ClickOnce , Office 2003 için yapılan uygulamalarda da kullanılarak uygulamanın kolay güncellenebilir şekilde çalışmasını sağlamaktadır.

Yukarıdaki sunum 04.04.2005'de " Microsoft Çözüm Zirvesi" nde verdiğim " Click Once " sunumdan alınmıştır.

Smart Client (Akıllı İstemci)

SmartClient Sunumu (14.12.2005)

VS.NET 2005 ile birlikte akıllı istemcileri kullanmak daha da kolaylaştı. Özellikle istemci sayısının fazla olduğu kurumlarda akıllı istemci zorunlu hale geldi diyebiliriz.

Akıllı istemciler sayesinde , windows uygulamaları web üzerinden dağıtılabilmekte ve kolay bir şekilde güncellenebilmektedir. Eş zamanlı ve Çevrimdışı çalışabilme özelliklerinden dolayı bildiğimiz internet uygulamalarına üstünlük sağlarken , yerel bilgisayarın kamera, barkod gibi eklentilerine de destek vermektedir.

Mobil dünyanın daha fazla programlanabilir ve .NET 2005 üzerinde hızlı mobil uygulama geliştiriliyor olması akıllı istemcilerin önemini daha da çok arttırdı.

Office 2003 içindeki Word ve Excel'e, .NET 2005 içinden dll yazılıması ve bu uygulamaların dağıtık olarak kullanılması işyerlerindeki verimi oldukça arttırmaya aday oldu. İşte tüm bu yenilikler akıllı istemci mimarisinin önemini bir kat daha arttırdı.

Yukarıdaki sunum 14 Aralık 2005 tarihinde "Microsoft 2005 Lansmanı" nda yapıldı ve akıllı istemcilerin tüm önemli noktalarını kapsamaktadır.

eXTReMe Tracker