Microsoft, .NET FX 4.0 ve Visual Studio 2010 için ilk haberleri resmi olarak duyurmaya başladı. http://msdn.microsoft.com/en-us/vstudio/products/cc948977.aspx adresinde yenilikler hakkında temel başlıkları bulabilirsiniz. Ayrıca Channel 9 ‘da Visual Studio 2010 ve TFS 2010 ile ilgili videolar var.

.NET 3.5 SP1 = .NET 3.0 SP2 + .NET 2.0 SP2 + .NET 3.5 Service Pack

Değişik bir denklem oldu, ama .NET 3.5 SP1′i yüklediğimiz zaman arka planda olan şeyler aslında bu. .NET 3.5 ve 3.0 versiyonları aslında CLR’a fazla dokunulmuş versiyonlar değil. .NET 2.0 Framework’ünün genişletilmiş hali her iki versiyonda. .NET 3.5 SP1′de bu kapsamda en temel olarak .NET 2.0 SP2′yi içeriyor. CLR’de ve Base Library’de hatırı sayılır değişiklik bu aşamada çıkıyor. WPF ve WCF ile ilgili iyileştirmeler de .NET 3.0′ın SP2’sinde bizlerle buluşuyor. .NET 3.5 ile beraber gelen ASP.NET Extensions ile ilgili gelişmelerde .NET 3.5′un kendi service pack’i altında konumlandıralabilir. Bunların hepsini birleştirince işte ortaya .NET 3.5 SP1 çıkıyor.

Peki bunun ne önemi var? Şöyle ki bir şekilde .NET 3.5 SP1′i kaldırmanız gerekebilir. Kaldırdığınız zaman önceden yüklemiş olduğunuz sürümlerin(Ör: .NET 2.0) eski haline dönmesini bekliyor olabilirsiniz ki ben bekliyordum. Ancak gördüm ki, işler tam olarak böyle değilmiş.

Uzun zamandır beklenen .NET 3.5 Service Pack 1 geçtiğimiz günlerde çıktı. ADO.NET Entity Framework’ün son haline ulaşabileceğimiz bu güncellemede daha bir çok güzel yenilik ve iyileştirme var.  İlerleyen günlerde bunlardan bahsetmeye çalışacağım zamanım oldukça.

.NET 3.5 Service Pack 1′i indirmek için http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=en

Ayrıca aynı zamanda Visual Studio 2008 için de bir service pack çıktı. .NET 3.5 SP1 ile beraber gelen yeniliklerin IDE’ye uygunluğu açısından önemli güncellemeler içeren bu güncellemeyi indirmek için aşağıdaki adresi ziyaret etmeniz yeterli.

http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en

 

Mix08 ile beraber Web teknolojilerinde Microsoft’un yeni ürünleri yavaş yavaş gün yüzüne çıkıyor. İlginenler varsa aşağıda betası çıkan ürünlerin download adresleri var. İndirip kurmakta,deneyip oynamakta fayda var.  

ADO.NET Entity Framework Beta 3 çıktı. Buraya tıklayarak indirebilirsiniz.Bir önceki versyona göre baya bir değişiklik var;

 

 

Performance improvements

  • Much quicker object query execution
  • Simpler generated SQL
  • Faster view generation
     

Easier disconnected operation

  • ApplyPropertyChanges
  • Public, serializable EntityKey property on EntityReference
  • Attach on EntityReference
  • Improvements to EntityKey serialization
     

Extensibility and business logic enhancements

  • Partial methods in code generation for property changing and property changed events
  • Load with MergeOption
  • AssociationChanged Even

Query improvements

  • Additional canonical functions for LINQ to Entities
  • Apply operator elimination (makes more operations work in SQL Server 2000 and other databases)
  • Compiled LINQ query
  • ToTraceString() method on ObjectQuery and EntityCommand to facilitate debugging

Other

  • Provider interface allows better reasoning about primitive types
  • Connection management refinements

 

 

Peki bu Entity Framework ne?

Microsoft, .NET Framework 3.5 ile O/R Mapping olayına ciddi anlamda girmiş oldu. Entity Framework’de bu girişimin en somut örneği. Database’de bulunan tabloların 1:1 şeklinde kod tarafına yansıtılması LintToSql’in bize sağladığı,yani var olan bir şeydi zaten. Ama Entity kavramı uygulama açısından ve business logic açısından her zaman database’deki tablolar olmayabilir.

Şöyle ki; Veritabanımızda Kişi,Siparişler ve Adres şeklinde tablolar olsun. Business açısından da müşteri kavramı Kişi,Sipariş ve Adres özelliklerine sahip bir yapı olsun. Normalde böyle bir şeyi yapmak çok zor değil ancak hamal kod( :) ) diye adlandırabileceğim yazılımcıyı bir süre sonra sıkan kodlar yazmak gerekli. Entity Framework bizi bunlardan kurtarıyor. Ve ister istemez bir şekilde veritabanındaki yapıya ve şemasına bağlı olmak zorunda kalıyorduk. Aslında kötü bir şey değil bu ama farklı ihtiyaçlar için elimizi kolumuzu bağlıyordu.Kısaca ADO.NET Entity Framework’ü, veritabanı odaklı uygulama modelleri yerine uygulama odaklı veri modelleri oluşturmamızı sağlıyor.

Ayrıca Attribute kavramları ile yarattığınız kendi entityleri veritabanında tablo şeklinde oluşturabiliyorsunuz.Bu az önce dediğim uygulama odaklı veri modelleri oluşturmak kavramının bir parçası.
 
Visual Studio 2008′e yüklenen bir tool ile entity tasarımı yapmak oldukça basit ve eğlenceli bir hal alıyor.Üşenmezsem bir sonraki yazılarımda Visual Studio 2008 ile nasıl bu bahsetmiş olduğum şeyleri gerçekleştiriyoruz anlatacağım. (:

Daha geniş bilgileri aşağıdaki adreslerden temin edebilirsiniz…
http://msdn2.microsoft.com/en-us/library/aa697427(VS.80).aspx

Volta      Microsoft Live Labs, çok katmanlı web uygulamaları geliştirmede, geliştiriciye kolaylık sağlaması açısından yeni bir yaklaşım ile karşımıza çıkıyor. Bir web uygulamasını, çok katmanlı bir mimarinin web tarafındaki kullanıcı arayüz katmanı olarak düşünebiliriz aslında. Bundan dolayı çok katmanlı web uygulamaları konsepti ne kadar anlamlı tartışılır. Ama gelişen teknoloji ve büyüyen internetten dolayı standart “application” kavramının yavaş yavaş “web application” kavramına dönüşmesi sanırım bu olaya biraz açıklık getirir. Çok dağılmadan Volta’ya geri dönelim.
Volta aslında bir çeşit derleyici ve kütüphane. MSIL kodunun tekrar derlenmesi ile uygulamanın client ve server için gerekli olan kısımlarını oluşturuluyor, ilgili web servis iletişimlerini oluşturup bunların güvenliklerini sağlıyor. Çok karmaşık gibi gelse de, aslında geliştirmesi oldukça kolay bir ortam sunuyor Volta bize.
Peki bunları nasıl yapıyor? Refactoring,retargeting ve remodulating şeklinde 3 aşamada bütün bunlar oluyor.
Refactoring;  Tek katmanlı uygulamanızı, dağıtık mimari için uygun hale getiren aşama bu. Tek katmanlı bir uygulama nasıl oluyorda dağıtık bir mimariye dönüşüyor? Ne kadar mantıksız? Banada ilk başta bu şekilde mantıksız gelmişti. Ancak daha sonraki araştırmalarımda Volta’nın uygulama geliştirme yaklaşımı, tek katmanlı bir yapı düşünerek geliştirmeyle başlamaya dayanıyor. Yani uygulamanızı geliştirirken uygulamayı bir .NET client uygulaması olarak geliştirmeye başlıyor, geliştirme aşamasında client ve serverda olacak kısımları belirtebiliyorsunuz. Refactoring aşaması bu olayı gerçekleştiriyor. Yani aslında bu şekilde mimarinizi sonradan “refactor” etmiş oluyorsunuz. İşte Volta’nın ortaya çıktığı nokta da bu aslında. Mevcut mimarinizi bozmadan ama etkin kullanım için geliştirmek.
Retargeting; Bu aşamada MSIL kodundan, Javascript kodları yaratılıyor. Bu sayede server-client ilişkisi .NET Framework’nün sağladığı imkanlar ile güçleniyor. Ajax bu güçlerden birine örnek.
Remodulating; Web uygulamaları geliştirirken, çeşitli browser’lara göre bazı şeyleri düşünmek gerekir.Kimi javascripti desteklemez,kimi desteklese de bir yerde patlar…Remodulating aşamasında Volta sizin için bunları düşünüyor ve gerekli düzenlemeleri kendi ayarlıyor.Şu aşamada sadece IE ve Firefox desteği var ama ilerleyen sürümlerde diğer browser destekleride olur herhalde.
Volta yaklaşamı ile uygulama geliştirebilmek için Visual Studio 2008 ve .NET 3.5 Framework’ü bilgisayarınızda yüklü olmalı. http://labs.live.com/volta/ adresinden indireceğiniz dosyayı kurtuktan sonra Visual Studio 2008’de Volta uygulamaları geliştirmek için çeşitli template’ler çıkacaktır.
Bir sonraki yazı da Volta ile ilgili basit bir örnek ile bütün bu yukardaki kavramları biraz daha somutlaştırmaya çalışacağım.
Volta: http://labs.live.com/volta