SlideShare ist ein Scribd-Unternehmen logo
1 von 83
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]
[object Object],[object Object],[object Object],[object Object]
Microsoft’un 2008 yazılım geliştirme ürünleri daha çok C#’ın kullanım alanları göz önüne alınarak oluşturuldu. Genel bir dilden çok Kurumsal Yazılım Geliştirme alanına yöneldi.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Language INtegrated Query .Net dilleri içinde SQL tarzı sorgu yazılmasına izin veren bir teknolojidir.
SqlConnection c = new SqlConnection(…); c.Open();  SqlCommand cmd = new SqlCommand( @"SELECT c.Name, c.Phone FROM Customers c WHERE c.City = @p0" ); cmd.Parameters.AddWithValue("@po", "London");  DataReader dr = c.Execute(cmd);  while (dr.Read()) { string name = dr.GetString(0); string phone = dr.GetString(1); DateTime date = dr.GetDateTime(2); } dr.Close(); Sorgu tırnak içinde Zayıf-bağlı Parametre Hatalar, derleme anında alınamaz Tip-Güvenli olmayan alanlar
public class Customer { public int Id; public string Name; public string Phone; … } Table<Customer> customers = db.Customers; var contacts = from c in customers where c.City == &quot;London&quot; select new { c.Name, c.Phone }; Sınıflar Veritabanı kayıtlarını tanımlar Tablolar Tip-Güvenli koleksiyonlardır Sorgu dilin doğal bir parçası Derleyici sizi hatalardan korur
IQueryable<Telefon> findTelefons(string ad) { TelDBDataContext ctx = new TelDBDataContext(); IQueryable<Telefon> tel = from c in ctx.Telefons where c.Kisi.AdSoyad == ad select c; return tel; } private void Form_Load(…) { GridView1.DataSource =  findTelefons(ad); kayitSayisi.Text =  findTelefons(ad).Count() .ToString(); } Verileri henüz kullanmadan hazırlanmış sorgular Gelen kayıt sayısını aynı sorgu üzerinden çek “ Select * From Telefon …” üretir “ Select Count(*) From Telefon …” üretir
LINQ Query Objects SubmitChanges() SQL Query Rows SQL or Stored Procs Linq Linq2Sql ya da Bir ORM Aracı ile DB Engine from c in db.Customers where c.City == &quot;London&quot; select new { c.Name, c.Phone } select Name, Phone from customers where city = 'London' Application Servisler: - Değişim yönetimi - Concurrency control
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Linq 2 Sql Vs 2008 ile piyasaya çıkan zayıf ancak kullanımı çok kolay bir ORM aracı
Linq to Sql ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Linq to Sql Tablolar Fonksiyon ya da Stored Procedure’ler Entity’s Associations (Relations)
Yeni Veri Girişi TelDBDataContext ctx= new TelDBDataContext(); Kisi ali = new Kisi() { AdSoyad = &quot;Cin Ali&quot; }; ali.Telefons.Add(new Telefon(){TelefonNo=&quot;123456789&quot;}); ctx.Kisis.InsertOnSubmit(ali); ctx.SubmitChanges(); Object Initializing Tüm İşlemleri gerçekleştirir Insert işlemi
Association üzerinden veri ekleme TelDBDataContext ctx= new TelDBDataContext(); var kisi = (from c in ctx.Kisis where c.AdSoyad.Contains(“ Ali Veli “) select c).First(); kisi.Telefons.Add(new Telefon()  { TelefonNo = &quot;1234567&quot; } ); ctx.SubmitChanges(); Tablolar Tip-Güvenli koleksiyonlar String içinde taratma işlemi Değişiklikleri takip eder. Tüm değişiklikleri tek seferde kaydeder.
Linq to Sql - Dezavantajları ,[object Object],[object Object]
Entity Framework Microsoft’un sağladığı Haziran 2008 dolaylarında piyasaya çıkacak olan LINQ tabanlı güçlü bir ORM aracı
Entity Framework ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Entity Framework ,[object Object],[object Object],[object Object],[object Object],Store .NET Provider V2.0 Conceptual Model .NET Provider (EntitySQL) ORM and LINQ V3.0 Mapping
Entity Framework ,[object Object],[object Object],[object Object],[object Object]
EF – Dezavantajları ,[object Object],[object Object],[object Object],[object Object],[object Object]
Asp.Net 3.5 ,[object Object]
ASP.NET 2.0 vs. ASP.NET 3.5 ,[object Object],[object Object],[object Object],[object Object]
 
AJAX Entegrasyonu ,[object Object],[object Object],[object Object]
Yeni Veri Kontrolleri ,[object Object],[object Object],[object Object],[object Object],[object Object]
Yeni Veri Kontrolleri ,[object Object],[object Object],[object Object],[object Object]
Yeni Veri Kontrolleri ,[object Object],[object Object],[object Object],[object Object]
Asp.Net 3.5 Extensions Dynamic Data,  Data Services,  Asp.Net MVC
Dynamic Data ,[object Object],[object Object]
Dynamic Data ,[object Object],[object Object]
Dynamic Data ,[object Object],[object Object]
Data Services ,[object Object],[object Object]
Asp.Net MVC ,[object Object],[object Object],[object Object]
.Net Framework 3.0 Microsoft’un IT Sektörü ihtiyaçları doğrultusunda hazırladığı, 4 temel parçadan oluşan Framework
.NET At The Core
Windows Workflow Foundation İş Akışı tabanlı uygulamalar geliştirmek için tasarlanmış bir programlama modeli, motoru ve araçları bütünü.
İş akışı nedir? ,[object Object],[object Object],[object Object],[object Object],[object Object],Akış diyagramı..  Durum diyagramı.. Kural tabanlı..
Workflow Foundation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Workflow Foundation ,[object Object],[object Object],[object Object]
WF’ının Yapısı  Bütün workflow örnekleri , process dahilindeki runtime  içerisinde yaratılırlar ve işlem görürler. Aynı application Domain içerisinde birden fazla runtime oluşturulabilir ve bu runtime motorları tutarlı çalışacak şekilde bir çok Workflow örneğini çalıştırabilir. Bir workflow derlendikten sonra, bir windows prosesinde, bir web uygulamasında veya bir web servisinde host edilebilir ve bu uygulama ile kolayca iletişimde bulunabilir. Host eden uygulama olmadan workflow’larımız çalıştırılamaz.
WF’nin Yapısı ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
İş Akışı Tipleri(Sequential) ,[object Object]
İş Akışı Tipleri(State Machine) ,[object Object]
Runtime Servisleri Host Application App Domain Runtime Services Workflow PersistenceService TrackingService WorkflowScheduler Service WorkflowCommitWork BatchService Bir thread üzerinde Workflow’un çalışmasını zamanlar Transaction’ları Commit eder Process’in bulunğu durum ya da adımla ilgili değişiklikleri tutar Workflow Instance’ını veritabanına saklar
Workflow Servisleri ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tracking Tracking Service Host Application Activities Workflow Instance Profile ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Persistence Persistence Service Host Application Workflow Instance Persist Load Unload ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XAML Markup XAML C#/VB Markup + kod C#/VB Sadece kod Workflow derleyicisi C#/VB derleyicisi XAML Markup NET Assembly Workflow Runtime Workflow Instance Geliştirme Seçenekleri
Windows Communication Foundation Servis Tabanlı Yazılımları hızlıca geliştirebilmek için Tümleşik Altyapı
Windows Communication Foundation Birlikte çalışabilirlik Üretkenlik Servis tabanlı yazılım geliştirme ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bütünleşik Programlama Modeli Farklı  platformlarla  çalışma ASMX Olay  tabanlı  programlama Enterprise Services WS-* Protokolleri WSE Mesaj  tabanlı  programlama System.Messaging Mekan  bağımsız  nesneler .NET Remoting
WCF Sürüm Uyumluluğu Yan Yana çalışma Birlikte çalışma Kolay upgrade imkanları
Windows Communication Foundation ,[object Object],[object Object],[object Object]
Windows Presentation Foundation Benzersiz bir kullanıcı deneyimi oluşturmak için UI ve medya kavramlarını kapsayan bütünleşik ve üretkenlik sağlayan bir framework
Windows Presentation Foundation ,[object Object],[object Object]
XAML ve tanımsal programlama XAML = Extensible Application Markup Language ,[object Object],[object Object],[object Object],<Button Width=&quot;100&quot;> OK <Button.Background> LightBlue </Button.Background> </Button> XAML Button b1 = new Button(); b1.Content = &quot;OK&quot;; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; C# Dim b1 As New Button b1.Content = &quot;OK&quot; b1.Background = New _ SolidColorBrush(Colors.LightBlue) b1.Width = 100 VB.NET
Windows Presentation Foundation ,[object Object],[object Object]
Cardspace ,[object Object],[object Object],[object Object],[object Object]
IDE Yenilikleri ,[object Object],[object Object],[object Object]
IDE Yenilikleri – Web Editor ,[object Object],[object Object]
IDE Yenilikleri – Web Editor ,[object Object],[object Object],[object Object]
2008 ve Tavsiyeler Microsoft’un 2008 vizyonu ve Firmamızda uygulanması
2008 ve Tavsiyeler ,[object Object],[object Object],[object Object]
Application Framework Hedefleri ,[object Object],[object Object],[object Object],[object Object],Yazılım geliştirmek…
NHibernate ,[object Object],[object Object],[object Object],[object Object],[object Object]
Linq to NHibernate  ,[object Object],[object Object],[object Object]
Windows Workflow Foundation ,[object Object],[object Object],[object Object]
Aspect Oriented Programming ,[object Object],[object Object],[object Object]
Aspect Oriented Programming
Aspect Oriented Programming ,[object Object],[object Object]
Spring.Net Framework ,[object Object],[object Object]
UI Bileşenleri ,[object Object],[object Object],[object Object],[object Object]
Windows Communication Foundation ,[object Object],[object Object]
Application Framework Modülleri ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Andere mochten auch

Alquiler andamios certificados
Alquiler andamios certificadosAlquiler andamios certificados
Alquiler andamios certificadosJimmy Johns
 
La ruta de las esculturas
La ruta de las esculturasLa ruta de las esculturas
La ruta de las esculturasmarianie
 
Livre blanc architecture des systèmes d'innovation des entreprises
Livre blanc architecture des systèmes d'innovation des entreprisesLivre blanc architecture des systèmes d'innovation des entreprises
Livre blanc architecture des systèmes d'innovation des entreprisesalice parisot
 
Working Capital Management
Working Capital ManagementWorking Capital Management
Working Capital ManagementSameer GAHLOT
 
DotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + reactDotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + reactChen-Tien Tsai
 
Atomos y-efectos-cuanticos-de-la-luz
Atomos y-efectos-cuanticos-de-la-luzAtomos y-efectos-cuanticos-de-la-luz
Atomos y-efectos-cuanticos-de-la-luzNorbert R Ibañez
 
plan de negocio de negocio virtual
plan de negocio de negocio virtualplan de negocio de negocio virtual
plan de negocio de negocio virtualYaressi Mellado
 
Nazismo = Sionismo
Nazismo = SionismoNazismo = Sionismo
Nazismo = SionismoCristina
 
GDC Telecom Company Presentation
GDC Telecom Company PresentationGDC Telecom Company Presentation
GDC Telecom Company PresentationGDC Telecom
 
013 Mathias Hermansson Creating Long Term Shareholder Value
013 Mathias Hermansson Creating Long Term Shareholder Value013 Mathias Hermansson Creating Long Term Shareholder Value
013 Mathias Hermansson Creating Long Term Shareholder ValueModern Times Group MTG AB
 
Vientres De Alquiler
Vientres De AlquilerVientres De Alquiler
Vientres De Alquilerauracbn
 
Information Management and Information Design
Information Management and Information DesignInformation Management and Information Design
Information Management and Information DesignEnterprise Architects
 

Andere mochten auch (14)

Alquiler andamios certificados
Alquiler andamios certificadosAlquiler andamios certificados
Alquiler andamios certificados
 
Stadtplan deutsch
Stadtplan deutschStadtplan deutsch
Stadtplan deutsch
 
La ruta de las esculturas
La ruta de las esculturasLa ruta de las esculturas
La ruta de las esculturas
 
Mez bigfoot prospekt 2012
Mez bigfoot prospekt 2012Mez bigfoot prospekt 2012
Mez bigfoot prospekt 2012
 
Livre blanc architecture des systèmes d'innovation des entreprises
Livre blanc architecture des systèmes d'innovation des entreprisesLivre blanc architecture des systèmes d'innovation des entreprises
Livre blanc architecture des systèmes d'innovation des entreprises
 
Working Capital Management
Working Capital ManagementWorking Capital Management
Working Capital Management
 
DotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + reactDotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + react
 
Atomos y-efectos-cuanticos-de-la-luz
Atomos y-efectos-cuanticos-de-la-luzAtomos y-efectos-cuanticos-de-la-luz
Atomos y-efectos-cuanticos-de-la-luz
 
plan de negocio de negocio virtual
plan de negocio de negocio virtualplan de negocio de negocio virtual
plan de negocio de negocio virtual
 
Nazismo = Sionismo
Nazismo = SionismoNazismo = Sionismo
Nazismo = Sionismo
 
GDC Telecom Company Presentation
GDC Telecom Company PresentationGDC Telecom Company Presentation
GDC Telecom Company Presentation
 
013 Mathias Hermansson Creating Long Term Shareholder Value
013 Mathias Hermansson Creating Long Term Shareholder Value013 Mathias Hermansson Creating Long Term Shareholder Value
013 Mathias Hermansson Creating Long Term Shareholder Value
 
Vientres De Alquiler
Vientres De AlquilerVientres De Alquiler
Vientres De Alquiler
 
Information Management and Information Design
Information Management and Information DesignInformation Management and Information Design
Information Management and Information Design
 

Ähnlich wie Kurumsal Yazılım Geliştirme ve Visual Studio 2008

İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21Cihan Özhan
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytarOsman Kurt
 
Windows Azure ile Cloud Computing Uygulamaları - 7
Windows Azure ile Cloud Computing Uygulamaları - 7Windows Azure ile Cloud Computing Uygulamaları - 7
Windows Azure ile Cloud Computing Uygulamaları - 7İbrahim ATAY
 
Visual Studio 2010 Yenilikleri
Visual Studio 2010 YenilikleriVisual Studio 2010 Yenilikleri
Visual Studio 2010 Yenilikleribahadirarslan
 
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriVisual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriMurat Başeren
 
Web İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekWeb İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekVolkan Özçelik
 
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)Kamil Çömlekçi
 
Kod günleri veritabnı
Kod günleri veritabnıKod günleri veritabnı
Kod günleri veritabnıMustafa Tepe
 
Mobil Cihaz Uygulamalarında Sql Server Ce Kullanımı
Mobil Cihaz Uygulamalarında Sql Server Ce KullanımıMobil Cihaz Uygulamalarında Sql Server Ce Kullanımı
Mobil Cihaz Uygulamalarında Sql Server Ce Kullanımıekinozcicekciler
 
Netsis Bilgi Günleri Teknoloji Sunumu
Netsis Bilgi Günleri Teknoloji SunumuNetsis Bilgi Günleri Teknoloji Sunumu
Netsis Bilgi Günleri Teknoloji SunumuNetsis
 
Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010Evren Ayan
 
Cloud computing and technologies
Cloud computing and technologiesCloud computing and technologies
Cloud computing and technologiesBilal Dursun
 

Ähnlich wie Kurumsal Yazılım Geliştirme ve Visual Studio 2008 (20)

İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21
 
Cp Scom
Cp ScomCp Scom
Cp Scom
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytar
 
Windows Azure ile Cloud Computing Uygulamaları - 7
Windows Azure ile Cloud Computing Uygulamaları - 7Windows Azure ile Cloud Computing Uygulamaları - 7
Windows Azure ile Cloud Computing Uygulamaları - 7
 
Java EE Struts
Java EE StrutsJava EE Struts
Java EE Struts
 
Visual Studio Developer Tools
Visual Studio Developer ToolsVisual Studio Developer Tools
Visual Studio Developer Tools
 
12factor apps
12factor apps12factor apps
12factor apps
 
Visual Studio 2010 Yenilikleri
Visual Studio 2010 YenilikleriVisual Studio 2010 Yenilikleri
Visual Studio 2010 Yenilikleri
 
yazılımmuh10.pptx
yazılımmuh10.pptxyazılımmuh10.pptx
yazılımmuh10.pptx
 
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriVisual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
 
Web İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekWeb İçin Teknoloji Geliştirmek
Web İçin Teknoloji Geliştirmek
 
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)
 
Kod günleri veritabnı
Kod günleri veritabnıKod günleri veritabnı
Kod günleri veritabnı
 
Kod günleri veritabnı
Kod günleri veritabnıKod günleri veritabnı
Kod günleri veritabnı
 
Mobil Cihaz Uygulamalarında Sql Server Ce Kullanımı
Mobil Cihaz Uygulamalarında Sql Server Ce KullanımıMobil Cihaz Uygulamalarında Sql Server Ce Kullanımı
Mobil Cihaz Uygulamalarında Sql Server Ce Kullanımı
 
Netsis Bilgi Günleri Teknoloji Sunumu
Netsis Bilgi Günleri Teknoloji SunumuNetsis Bilgi Günleri Teknoloji Sunumu
Netsis Bilgi Günleri Teknoloji Sunumu
 
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
 
Php veritabani
Php veritabaniPhp veritabani
Php veritabani
 
Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010
 
Cloud computing and technologies
Cloud computing and technologiesCloud computing and technologies
Cloud computing and technologies
 

Kurumsal Yazılım Geliştirme ve Visual Studio 2008

  • 1.  
  • 2.
  • 3.
  • 4.
  • 5. Microsoft’un 2008 yazılım geliştirme ürünleri daha çok C#’ın kullanım alanları göz önüne alınarak oluşturuldu. Genel bir dilden çok Kurumsal Yazılım Geliştirme alanına yöneldi.
  • 6.
  • 7.
  • 8. Language INtegrated Query .Net dilleri içinde SQL tarzı sorgu yazılmasına izin veren bir teknolojidir.
  • 9. SqlConnection c = new SqlConnection(…); c.Open(); SqlCommand cmd = new SqlCommand( @&quot;SELECT c.Name, c.Phone FROM Customers c WHERE c.City = @p0&quot; ); cmd.Parameters.AddWithValue(&quot;@po&quot;, &quot;London&quot;); DataReader dr = c.Execute(cmd); while (dr.Read()) { string name = dr.GetString(0); string phone = dr.GetString(1); DateTime date = dr.GetDateTime(2); } dr.Close(); Sorgu tırnak içinde Zayıf-bağlı Parametre Hatalar, derleme anında alınamaz Tip-Güvenli olmayan alanlar
  • 10. public class Customer { public int Id; public string Name; public string Phone; … } Table<Customer> customers = db.Customers; var contacts = from c in customers where c.City == &quot;London&quot; select new { c.Name, c.Phone }; Sınıflar Veritabanı kayıtlarını tanımlar Tablolar Tip-Güvenli koleksiyonlardır Sorgu dilin doğal bir parçası Derleyici sizi hatalardan korur
  • 11. IQueryable<Telefon> findTelefons(string ad) { TelDBDataContext ctx = new TelDBDataContext(); IQueryable<Telefon> tel = from c in ctx.Telefons where c.Kisi.AdSoyad == ad select c; return tel; } private void Form_Load(…) { GridView1.DataSource = findTelefons(ad); kayitSayisi.Text = findTelefons(ad).Count() .ToString(); } Verileri henüz kullanmadan hazırlanmış sorgular Gelen kayıt sayısını aynı sorgu üzerinden çek “ Select * From Telefon …” üretir “ Select Count(*) From Telefon …” üretir
  • 12. LINQ Query Objects SubmitChanges() SQL Query Rows SQL or Stored Procs Linq Linq2Sql ya da Bir ORM Aracı ile DB Engine from c in db.Customers where c.City == &quot;London&quot; select new { c.Name, c.Phone } select Name, Phone from customers where city = 'London' Application Servisler: - Değişim yönetimi - Concurrency control
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Linq 2 Sql Vs 2008 ile piyasaya çıkan zayıf ancak kullanımı çok kolay bir ORM aracı
  • 19.
  • 20. Linq to Sql Tablolar Fonksiyon ya da Stored Procedure’ler Entity’s Associations (Relations)
  • 21. Yeni Veri Girişi TelDBDataContext ctx= new TelDBDataContext(); Kisi ali = new Kisi() { AdSoyad = &quot;Cin Ali&quot; }; ali.Telefons.Add(new Telefon(){TelefonNo=&quot;123456789&quot;}); ctx.Kisis.InsertOnSubmit(ali); ctx.SubmitChanges(); Object Initializing Tüm İşlemleri gerçekleştirir Insert işlemi
  • 22. Association üzerinden veri ekleme TelDBDataContext ctx= new TelDBDataContext(); var kisi = (from c in ctx.Kisis where c.AdSoyad.Contains(“ Ali Veli “) select c).First(); kisi.Telefons.Add(new Telefon() { TelefonNo = &quot;1234567&quot; } ); ctx.SubmitChanges(); Tablolar Tip-Güvenli koleksiyonlar String içinde taratma işlemi Değişiklikleri takip eder. Tüm değişiklikleri tek seferde kaydeder.
  • 23.
  • 24. Entity Framework Microsoft’un sağladığı Haziran 2008 dolaylarında piyasaya çıkacak olan LINQ tabanlı güçlü bir ORM aracı
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.  
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Asp.Net 3.5 Extensions Dynamic Data, Data Services, Asp.Net MVC
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42. .Net Framework 3.0 Microsoft’un IT Sektörü ihtiyaçları doğrultusunda hazırladığı, 4 temel parçadan oluşan Framework
  • 43. .NET At The Core
  • 44. Windows Workflow Foundation İş Akışı tabanlı uygulamalar geliştirmek için tasarlanmış bir programlama modeli, motoru ve araçları bütünü.
  • 45.
  • 46.
  • 47.
  • 48. WF’ının Yapısı Bütün workflow örnekleri , process dahilindeki runtime içerisinde yaratılırlar ve işlem görürler. Aynı application Domain içerisinde birden fazla runtime oluşturulabilir ve bu runtime motorları tutarlı çalışacak şekilde bir çok Workflow örneğini çalıştırabilir. Bir workflow derlendikten sonra, bir windows prosesinde, bir web uygulamasında veya bir web servisinde host edilebilir ve bu uygulama ile kolayca iletişimde bulunabilir. Host eden uygulama olmadan workflow’larımız çalıştırılamaz.
  • 49.
  • 50.
  • 51.
  • 52. Runtime Servisleri Host Application App Domain Runtime Services Workflow PersistenceService TrackingService WorkflowScheduler Service WorkflowCommitWork BatchService Bir thread üzerinde Workflow’un çalışmasını zamanlar Transaction’ları Commit eder Process’in bulunğu durum ya da adımla ilgili değişiklikleri tutar Workflow Instance’ını veritabanına saklar
  • 53.
  • 54.
  • 55.
  • 56. XAML Markup XAML C#/VB Markup + kod C#/VB Sadece kod Workflow derleyicisi C#/VB derleyicisi XAML Markup NET Assembly Workflow Runtime Workflow Instance Geliştirme Seçenekleri
  • 57. Windows Communication Foundation Servis Tabanlı Yazılımları hızlıca geliştirebilmek için Tümleşik Altyapı
  • 58.
  • 59. Bütünleşik Programlama Modeli Farklı platformlarla çalışma ASMX Olay tabanlı programlama Enterprise Services WS-* Protokolleri WSE Mesaj tabanlı programlama System.Messaging Mekan bağımsız nesneler .NET Remoting
  • 60. WCF Sürüm Uyumluluğu Yan Yana çalışma Birlikte çalışma Kolay upgrade imkanları
  • 61.
  • 62. Windows Presentation Foundation Benzersiz bir kullanıcı deneyimi oluşturmak için UI ve medya kavramlarını kapsayan bütünleşik ve üretkenlik sağlayan bir framework
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70. 2008 ve Tavsiyeler Microsoft’un 2008 vizyonu ve Firmamızda uygulanması
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.

Hinweis der Redaktion

  1. Think of EscalateToManager as a blocking activity. While it is waiting, it no longer needs to take CPU or system resources. It only needs a small stub to wait for a reply. It could also time out. DecrementInventory could fail and a whole set of compensating activities could need to occur as a result. Three are a few styles. Start at the top and go to the bottom. Or states can be transitioned between and actions can be taken when events occur. You can create other styles as well.
  2. Speaker Notes These are the what we refer to as the three pillars of Indigo . They are the three design goals of Indigo that really sum up what that technology is all about. They’re what we’ll be drilling into for the remainder of this presentation. &lt;click&gt; The first design goal is productivity . When we talk about productivity, we’re talking about bringing together the various technologies available today for building distributed applications (COM+ and .NET Enterprise services, MSMQ, .NET Remoting, ASP.NET Web Services, Web Services Enhancements (WSE)) into a single, unified programming model. Why is this important? First, it reduces complexity by allowing us to focus on a single programming model rather than learn multiple programming models. Second, it allows us to compose/combine the functionality of today’s technologies in ways that we can’t today. Finally, it allows us to use a single programming model for building distributed applications that communicate with one another on a single machine, across multiple machines, and across the Internet. &lt;click&gt; The second design goal is interoperability and integration . We talk about interoperability and integration on two different pivots. First, Indigo enables you to build services that speak advanced Web services protocols (WS-*), enabling your application to communicate with other WS-* compliant services running on other platforms. Second, we built Indigo to provide a smooth upgrade and interop story for your distributed applications built on today’s technologies (WSE, ASMX, .NET Enterprise Services, System.Messaging, .NET Remoting). Why are Interop and Integration important? First, the ability to communicate with applications running on other platforms provides you with the flexibility you need when working in a heterogeneous environment. Second, the ability to communicate with existing applications protects your investments and provides you with an optional, incremental upgrade path to Indigo. &lt;click&gt; The third design goal is all about service orientation . Indigo provides developers with a highly productive programming model for building service-oriented applications. By using Indigo’s attribute-based programming to define your services, you can dramatically reduce the amount of code you write to build secure, reliable services. Indigo also facilitates the development of applications that adhere to the “four tenets of service-orientation” that we’ll drill into later in the presentation. These tenets help ensure that your services are extremely flexible and resilient to change, thereby reducing long-term maintenance costs. Transition to next slide: We’ll spend the rest of this presentation drilling into these 3 concepts.
  3. Speaker Notes Today, when we build distributed applications, we have a choice of programming models. Each programming model has a different set of APIs, different feature sets, and a different core set of scenarios: ASP.NET Web Services (ASMX) – Our current Web services stack provides basic Web services support and interoperability with Web services running on non-Microsoft platforms. Web Services Enhancements (WSE) – A supported extension to the .NET Framework that provides end-to-end standards-based security for Web services. System.Messaging – This namespace in the .NET Framework provides managed APIs to MSMQ, enabling developers to build asynchronous reliable distributed applications. Enterprise Services – Provided through the System.EnterpriseServices namespace in the .NET Framework, Enterprise Services (or “ES”) provides managed APIs to COM+. COM+ provides component-based programming for doing enterprise critical functionality such as transactions. Remoting – Provided through the System.Remoting namespace in the .NET Framework, .NET Remoting exposes the CLR type system remotely and provides location transparency for objects. While these technologies provide a wide range of functionality, they exist in silos – isolated from one another. This creates an impedance mismatch across the technologies hindering our ability as developers to “compose” or combine functionality across them. For example: You want to use .NET Remoting for it&apos;s rich extensibility model, but you want a ES-style transaction to flow. How do you do this? You want to use ASMX for its interoperability, but you want to provide direct reliable messaging guarantees. How is this accomplished? Today, scenarios like these that involve the combination of functionality across these technologies are more of a challenge than it should be. They often involve hundreds and sometimes thousands of lines of code to accomplish. With Indigo, the challenges of silo programming models becomes a thing of the past… Indigo provides you with a unified programming model that brings together the best aspects of existing Microsoft technologies. What this means is that, with Indigo, you will no longer need to wonder “which technology do I use (ASMX, Remoting, etc)” when building a connected system. All of the application-to-application and intra-application communication for your connected will be handled by Indigo. This unified programming model is exposed to you through the System.ServiceModel namespace. Since Indigo provides all of the features of these existing Microsoft technologies, Indigo supports all of the scenarios currently supported by these technologies. In addition, Indigo enables new scenarios that are currently not possible or very hard to implement with existing technologies because Indigo allows you to compose functionality across these existing technologies. For example, this means that you’ll be able to achieve secure, reliable, transacted Web services by combining/composing the functionality that previously existed in silos. On a related note, we’re also doing a lot of work to preserve your existing investments in ASMX, ES, and other existing technologies shown on this slide. We do this through a number of mechanisms including the ability to communicate between Indigo services and existing ES-based applications for example. We’ll talk about this more later in the presentation.
  4. Windows Presentation Foundation (WPF) is a productive, unified approach to UI, Media, and Documents that you can use to deliver unmatched user experiences to your customers.
  5. Stands for Extensive Application Markup Language Easily toolable, declarative markup Build applications in simple declarative statements Can be used for any CLR object hierarchy Code and content are separate Streamline collaboration between designers and developers Developers add business logic, while designers design Can be rendered in the browser (as part of a web page) or as a standalone application XAML WPF introduces a new role to the rich client software development team – that of professional designer. Gone are the days of boring gray buttons and poorly designed applications: with the declarative programming model enabled by XAML, you can split off presentation and logic in the same way as with a web application. XAML is a markup language that is inherently toolable, allowing for designers and developers to use independent tools. XAML (which stands for &amp;quot;Extensible Application Markup Language&amp;quot;) provides an XML-based way to specify declaratively a hierarchy of objects with properties and logic. We&apos;re positioning XAML as a user interface design language, because it is ideal for generating the kind of code that traditionally resided in a hidden #region area and was hard to maintain by both developers and tools. If you&apos;ve ever wanted to edit the auto-generated blocks of code created by Visual Studio but been dissuaded by the warning comments writ large, or you&apos;ve gone ahead regardless and been burnt badly when your tools refused to load your changes, you&apos;ll appreciate XAML. XAML is not Avalon, and Avalon is not XAML. It so happens that they come out of the same team at Microsoft, but they are not intrinsically wedded together. I&apos;ve been asked before &amp;quot;where can I go to get the XSD for XAML?&amp;quot; and hopefully it&apos;s now clear that this question doesn&apos;t make much more sense than asking for the C# schema. XAML gets compiled into an object definition.