SlideShare a Scribd company logo
.Net 2.0 ile Gelen Yenilikler
Burak Selim Şenyurt
MVP (Visual Developer – Visual C#)
Ajanda – Visual Studio 2005
 ClickOnce Tekniği
 Refactoring
 Class Designer
 Debugger Visualizer
Ajanda – C# 2.0
 Generics
 Kısmi Tipler (Partial Types)
 Yeni İterasyon Tekniği (Yield Kullanımı)
 İsimsiz Metodlar (Anonymous Methods)
 Kısmi Tipler (Partial Types)
 Static Sınıflar
 Nullable Değer Türleri
Ajanda – Ado.Net 2.0
 ConnectionStrings Kavramı ve StringBuilders
 Veri Sağlayıcıdan Bağımsız Mimari (Data Provider
 Independent Architect)
 MARS Çoklu Aktif Sonuç Kümeleri (Multiple Active Result
 Sets)
 Toplu Güncelleştirme (Batch Update)
 Asenkron Komut Yürütmek (Asynchronous Command
 Executing)
 Bulk Data Kopyalama Mekanizması
 Yeni Transaction Mimarisi
 Binary Serileştirme
Ajanda – Asp.Net 2.0
   On-Demand Compiling Çalışma Modeli
   Cross Page Posting
   Master Pages
   Veri Kaynağı Kontrolleri (Data Source Controls)
   Temalar (Themes)
   Site Navigasyonu (Site Navigation)
   Profil Yönetimi (Profile Management)
   Konfigurasyon Yönetimi (Configuration Management)
   Üyelik Yönetimi (Membership Management)
Visual Studio 2005 ile
  Gelen Yenilikler
Visual Studio 2005 - ClickOnce

 Web uygulamalarının sağladığı dağıtım
  (deployment) kolaylığının, windows tabanlı
  uygulamalar içinde sağlanabilmesini amaçlar.
Visual Studio 2005 - Refactoring

 Kodların yeniden gözden geçirilmesi dahada
  kolaylaştırılmıştır.
   Yeniden isimlendirme (Rename)
   Alanlardan (Field) özelliklere (Property) hızlı geçiş
   Metodlaştırma (Extract Method)
   Arayüz (Interface) çıkartma
   Parametre sıralarını değiştirme
Visual Studio 2005 – Class Designer

 Uygulamaların yazılımcı dostu UML diagramları
  ile tam entegrasyonunu sağlar.
 Sınıf diagramlarında yapılan değişikliklerin,
  uygulamalara, uygulamalarda yapılan
  değişikliklerin şemalara yansıtılmasını sağlar.
Visual Studio 2005 – Debugger
Visualizer
 Çalışma zamanında tabular veya xml bazlı
   nesnelerin içeriğinin
     Xml,
     Html,
     Text ve Table
  formatında izlenebilmesini sağlar.
Class Designer
    ClickOnce
    Refactoring
Debugger Visualizer
C# 2.0 ile Gelen Yenilikler
C# 2.0 - Generics
 Türden bağımsız olarak algoritma geliştirmek için
  kullanılan dilin güçlü bir yapısıdır.
 Değişik türler ile çalışacak birden fazla tip yazmak
  yerine tek bir tip kullanılabilmesini sağlar.
 Gereksiz boxing ve unboxing süreçlerini ortadan
  kaldırır.
C# 2.0 - Generics
 Uygulama Alanları

                    Koleksiyonlar
                    (Collections)

         Sınıflar                    Yapılar
        (Classes)                   (Structs)
                       Metodlar
                      (Methods)
                      Arayüzler
                     (Interfaces)
                      Temsilciler
                     (Delegates)
Generics                         List<T>
                                 Dictionary<K,V>
                                 SortedDictionary<K,V>
                                 Stack<T>
 Koleksyion Sınıfları           Queue<T>

                                        IList<T>
 Koleksiyon Arayüzleri                 IDictionary<K,V>
                                        ICollection<T>
                                        IEnumerable<T>
                                        IEnumerator<T>
 Koleksiyon Temel Sınıfları            IComparable<T>
                                        IComparer<T>


 Yararlı Sınıflar           Collection<T>
                             KeyedCollection<T>
                             ReadOnlyCollection<T>

               Nullable<T>
               EventHandler<T>
               Comparer<T>
Generics
Generics Mimaride Kısıtlamalar
 Generic tipler için çeşitli zorunluluklar (Constraints)
   tanımlayabiliriz.

             Koşul                           Syntax

Değer tipi olma zorunluluğu       where Tip : struct

Referans tipi olma zorunluluğu where Tip : class

Constructor zorunluluğu           where Tip : new()

Türeme zorunluluğu                where Tip : <Temel Sınıf>

Interface zorunluluğu             where Tip : <Interface>
Generic Koleksiyonlar (Collections)
      Generic Struct (Yapı)
   Generic Performance Test
C# 2.0 – Yeni İterasyon Tekniği (Yield
Kullanımı)
 Kullanıcı tanımlı tiplere ait nesne dizileri üzerinde
   foreach iterasyonunun tip güvenli ve daha kolay
   uygulanabilmesini amaçlar.
C# 2.0 – Yeni İterasyon Tekniği (Yield
Kullanımı)
      C# 1.0/1.1 için Iteratif Uygulama Deseni
Yeni İterasyon Tekniği
  (Yield Kullanımı)
C# 2.0 – İsimsiz Metodlar (Anonymous
Methods)
 Temsilcileri(delegates) işaret edecekleri
  metodların sahip oldukları kod blokları ile bir
  seferde tanımlayabilmeyi amaçlar.
 Metod blokları, çalışma zamanında kendisini
  çağıracak olan temsilci nesnesine eklenir.
 Dışarıdan parametre alabilirler ve geriye değer
  döndürebilirler.
 Metod ile birlikte kullanılan temsilcinin
  bilinmesine gerek yoktur. delegate anahtar
  sözcüğü bu işi üstlenir.
C# 2.0 – İsimsiz Metodlar (Anonymous
Methods)
  Klasik temsilci (delegate) yaklaşımı.

public delegate double dlgCircle(double a, double b);

static double TestMethod(double pi, double r)
{
        return pi * r * r;
}

dlgCircle tOld = new dlgCircle(TestMethod);
double result=tOld(1, 4);
C# 2.0 – İsimsiz Metodlar (Anonymous
Methods)
  Yeni temsilci (delegate) yaklaşımı.

 dlgCircle tNew = delegate(double pi, double r)
 {
        return pi * r * r;
 };

 double alan = tNew(3.14, 10);
C# 2.0 – İsimsiz Metodlar (Anonymous
Methods)
 Çok kanallı programlama (Multi Threading) için klasik
   yaklaşım.
  static void UpCounter()
  {
          for (int i = 0; i < 100; i++)
          {
                   Console.Write("+");
                   Thread.Sleep(100);
          }
  }

  Thread t1 = new Thread(new ThreadStart(UpCounter));
  t1.Start();
C# 2.0 – İsimsiz Metodlar (Anonymous
 Methods)
    Çok kanallı programlama (Multi Threading) için yeni
       yaklaşım.
static void UpCounter(){
         for (int i = 0; i < 100; i++){
                    Console.Write("+");        trdUpCounter.Start();
                    Thread.Sleep(100);         trdDownCounter.Start();
         }
}
Thread trdUpCounter = new Thread(delegate(){ UpCounter(); });

                      Thread trdDownCounter = new Thread(delegate(){
                              for (int i = 1; i <100; i++){
                                         Console.Write("-");
                                         Thread.Sleep(150);
                              }
                      });
C# 2.0 – İsimsiz Metodlar (Anonymous
 Methods)
  Event – Driven (Olay güdümlü) programlama için klasik
    yaklaşım.

this.btnAnonymous.Click += new
System.EventHandler(this.btnAnonymous_Click);

private void btnAnonymous_Click(object sender, EventArgs e)
{
}
C# 2.0 – İsimsiz Metodlar (Anonymous
Methods)
 Event – Driven (Olay güdümlü) programlama için yeni
   yaklaşım.

this.btnAnonymous.Click += delegate(object sender,
System.EventArgs arg)
{
        MessageBox.Show("Onay 1")
};
C# 2.0 – Kısmi Tipler (Partial Types)

 Kısmi tipler, bir tipin bütününü oluşturan
  soyutsal parçalardır.
 Sınıflar (Class), Arayüzler (Interface), Yapılar
  (Struct) kısmi olarak tanımlanıp kullanılabilir.
 Çoğunlukla görsel taraf ile kod tarafının
  ayrıştırılmasında kullanılır.
C# 2.0 – Kısmi Tipler (Partial Types)
C# 2.0 – Kısmi Tipler (Partial Types)
              partial class DbManager{
                   public DbManager(string conStr){}
                   public void SetCommand(string qryStr){}
                   public void Metod() { }
              }

                   partial class DbManager{
                              private SqlConnection con;
                              private SqlCommand cmd;
                              public SqlConnection Conn
                              {
                                       get { return con; }
                                       set { con = value; }
                              }
                              public SqlCommand Cmnd
                              {
                                       get { return cmd; }
                                       set { cmd = value; }
                              }
                   }
C# 2.0 – Static Sınıflar
 Sadece static üyeler içeren, örneklendirilemeyen ve
  kalıtım için kullanılamayan sınıflardır.
       public static class CommonMath
       {
              public static double Total(double valueA,
       double valueB)
              {
              }
              public static double pi = 3.14;
              public static double PI
              {
                      get{return pi;}
                      set{pi = value;}
              }
       ...
C# 2.0 – Static Sınıflar

 Static sınıflara ait nesne örnekleri üretilemez.
 Static sınıflara ait nesne tanımlamaları
  yapılamaz.
 Yapıcı metodlar (constructors) içermez.
 Sadece static üyeler den oluşur.
 Türetme (Inheritance) için kullanılamaz.
C# 2.0 - Nullable Types

 Değer türlerinin (Value Types), referans türleri
   (reference types) gibi null değer taşıyabilmesi
   özelliği.

                   int? degerTipi;
                  degerTipi = null;

 Veritabanı uygulamaları için yararlı bir özelliktir.
 System.Nullable<T> sınıfı yardımıyla kendi
   değer türlerimizi nullable olarak kullanabiliriz.
Ado.Net 2.0 ile Gelen
    Yenilikler
Ado.Net 2.0 – ConnectionStrings Kullanımı
 Bağlantı bilgisinin herhangibir .Net uygulamasında
  aynı şekilde saklanmasını sağlar.
 Yeni Configuration API sayesinde kod tarafından
  kolayca yönetilebilir.
<configuration>
 <connectionStrings>
  <add name="AdvConStr" connectionString="data
source=Manchester;database=AdventureWorks;integrated Security=true"
providerName="System.Data.SqlClient"/>
 </connectionStrings>
</configuration>

        Web (Web.config)               Desktop (App.config)
ConfigurationManager.ConnectionStrings["AdvConStr"].ConnectionString;
Ado.Net 2.0 – ConnectionStringBuilder
Nesneleri
 Data Provider (Veri Sağlayıcı) seçimine göre daha kolay
   ConnectionString oluşturulmasını sağlayan yeni tipler.
 SqlConnectionStringBuilder sqlConStrBdr = new
 SqlConnectionStringBuilder();
 sqlConStrBdr.DataSource = "Manchester";
 sqlConStrBdr.InitialCatalog = "AdventureWorks";
 sqlConStrBdr.IntegratedSecurity = true;
 sqlConStrBdr.AsynchronousProcessing = true;
 sqlConStrBdr.MultipleActiveResultSets=true;
 Console.WriteLine(sqlConStrBdr.ConnectionString);

    SqlConnectionStringBuilder
        OleDbConnectionStringBuilder
            OracleConnectionStringBuilder
                   OdbcConnectionStringBuilder
                          DbConnectionStringBuilder
Ado.Net 2.0 – Veri Sağlayıcı Bağımsız
Mimari (Data Provider Independent Architect)
 Tüm veri sağlayıcı bağımlı nesneleri tek bir çatı
  altında toplar.
 Çok biçimliliği kullanarak çalışma zamanında veri
  sağlayıcılar arasındaki geçişi kolaylaştırır.
 Tüm istekler managed (yönetimli) nesneler
  vasıtasıyla kolayca gerçekleştirilir.
 Gerçek bir kullanım alan Enterprise Library
  içerisindeki Data Access Application Block’ tur.
Ado.Net 2.0 – Veri Sağlayıcı Bağımsız
Mimari (Data Provider Independent Architect)




•Provider Toplayıcı
•Factory Üretici




 •Gerekli Ürün
 Üretici
Ado.Net 2.0 – Veri Sağlayıcı Bağımsız
Mimari (Data Provider Independent Architect)
                 DbProviderFactories

 Sistemde yüklü olan tüm veri sağlayıcılarının
   elde edilmesini sağlar.
                  DbProviderFactory

 Seçilen veri sağlayıcıyı kullanarak uygun
  Connection, Command, DataAdapter, Parameter,
  DataReader, CommandBuilder vb. nesnelerinin
  üretilmesinden sorumludur.
Veri Sağlayıcı Bağımsız Mimari
(Data Provider Independent Architecture)
Ado.Net 2.0 – MARS
Ado.Net 2.0 – MARS Çoklu Aktif Sonuç
Kümeleri (Multiple Active Result Sets)
 Aynı açık bağlantı üzerinden birden fazla sonuç
  kümesini elde edebileceğimiz sql sorgularının tek
  bir bağlantı üzerinden çalıştırılabilmesi.
Çalışma Şartları;
 Veri tabanı sunucusunun MARS desteğinin
  olması gerekir.
 Bağlantı katarı bilgisinde varsayılan değeri false
  olan MultipleActiveResultSets özelliği true
  olmalıdır.
Ado.Net 2.0 – MARS Çoklu Aktif Sonuç
 Kümeleri (Multiple Active Result Sets)
try{
   SqlConnection con=new SqlConnection(bağlantı);
   SqlDataReader dr1;
   SqlDataReader dr2;
   SqlDataReader dr3;
   SqlCommand cmd1=new SqlCommand("SELECT * FROM
 Customers",con);
   SqlCommand cmd2=new SqlCommand("SELECT * FROM Orders",con);
   SqlCommand cmd3=new SqlCommand("SELECT * FROM [Order
 Details]",con);
   con.Open();
   dr1=cmd1.ExecuteReader();
   dr2=cmd2.ExecuteReader();
   dr3=cmd3.ExecuteReader();
   con.Close();
}
catch(Exception hata)
{ Console.WriteLine(hata.Message);}
Ado.Net 2.0 – MARS Çoklu Aktif Sonuç
Kümeleri (Multiple Active Result Sets)


            Ado.Net 1.0 / 1.1
Ado.Net 2.0 – MARS Çoklu Aktif Sonuç
Kümeleri (Multiple Active Result Sets)
               Ado.Net 1.0 / 1.1

SqlCommand cmd1=new SqlCommand("SELECT * FROM
Customers",con1);
SqlCommand cmd2=new SqlCommand("SELECT * FROM
Orders",con2);
SqlCommand cmd3=new SqlCommand("SELECT * FROM
[Order Details]",con3);
Ado.Net 2.0 – MARS Çoklu Aktif Sonuç
Kümeleri (Multiple Active Result Sets)
MARS (Mutliple Active Result Sets)
Ado.Net 2.0 – Toplu Güncelleştirme
(Batch Update)
 Birden fazla sql ifadesinin tek bir seferde çalıştırılması.

       public override int UpdateBatchSize {get;set;}

  DataAdapter için güncelleme işlemlerinin toplu olarak
   hangi periyotta gerçekleştirileceğini belirtir.

UpdateBatchSize
                                Komut Çalışma Şekli
     Değeri
                       Sunucunun desteklediği en büyük
        0                        boyutta 1 kerede
                     Hepsi ayrı ayrı (UpdateBatchSize devre
        1                              dışı)
        n                        n seferde 1’ er kere
Ado.Net 2.0 – Asenkron Komut Yürütmek
(Asynchronous Command Executing)

Birden fazla sql komutunun Command nesneleri yardımıyla,
 eş zamanlı ve uygulamanın çalışmasına paralel olarak
 yürütülebilmesi imkanı.
Ado.Net 2.0 – Asenkron Komut Yürütmek
(Asynchronous Command Executing)
Ado.Net 2.0 – Asenkron Komut Yürütmek
(Asynchronous Command Executing)

   Anahtar İlişki

                    BeginExecuteNonQuery
                    BeginExecuteReader
   IAsyncResul      BeginExecuteXmlReader
        t           EndExecuteNonQuery
                    EndExecuteReader
                    EndExecuteXmlReader
Ado.Net 2.0 – Asenkron Komut Yürütmek
(Asynchronous Command Executing)
                      Polling Modeli

  IAsyncResult tipinden nesne örneği ile sahip olunan
  process’ in tamamlanıp tamamlanmadığı sürekli olarak
  kontrol edilir.
Ado.Net 2.0 – Asenkron Komut Yürütmek
(Asynchronous Command Executing)
              Polling Modeli
Ado.Net 2.0 – Asenkron Komut Yürütmek
(Asynchronous Command Executing)
                       Callback Modeli

  Asenkron olarak çalışan sql komutlarının işleyişlerinin
  sona erdiği noktalarda yürürlüğe giren metodları
  bünyesinde barındıran bir tekniktir.
Ado.Net 2.0 – Asenkron Komut Yürütmek
(Asynchronous Command Executing)
              Callback Modeli
Ado.Net 2.0 – Asenkron Komut Yürütmek
(Asynchronous Command Executing)
                      Callback Modeli

public IAsyncResult BeginExecuteNonQuery (AsyncCallback
                                          (
   callback, object stateObject);
public IAsyncResult BeginExecuteReader (AsyncCallback
                                       (
   callback, object stateObject);
public IAsyncResult BeginExecuteXmlReader (AsyncCallback
                                            (
   callback, object stateObject);
Ado.Net 2.0 – Asenkron Komut Yürütmek
 (Asynchronous Command Executing)
 Eş zamanlı yürütülen komutlar tamamlanıncaya kadar
 uygulamanın ve diğer komutların beklemesini istediğimizde.
Farklı sunucularda çalışacak ve dönüş değerleri ilerleyen kod
 satırlarında kullanılacak olan eş zamanlı sorgularda tercih
 edilebilir.

                          Wait Modeli




      WaitOne               WaitAll                WaitAny
Polling
 Callback
WaitHandle
Ado.Net 2.0 – Bulk Data Kopyalama
Mekanizması
  Bir veritabanı tablosundan, başka bir hedef
   tabloya veri taşıma işleminin,Yönetimsel Kod
   (Managed Code) ile gerçekleştirilebilmesi.

  Transfer işlemi bir transaction içerisinde yürütülür.

  Kaynak ve hedef tablolar farklı sunuculardaki
   farklı veritabanlarında bulunabilir.
Ado.Net 2.0 – Bulk Data Kopyalama
Mekanizması
Bulk Data
Kopyalama Mekanizması
Ado.Net 2.0 – Transactions Mimarisi
  Veri Sağlayıcı (Data Provider)’ dan bağımsız bir
   yapı sunar.
  Otomatik olarak transactionların açılması ve
   kapatılması sağlanmıştır.
  Dağıtık (Distributed) Transaction modelinde
   COM+ nesnelerin yazılmasına (dolayısıyla
   ContextUtil kullanılmasına) gerek yoktur.
  DTC Dağıtık Transaction Yöneticisi (Distributed
   Transaction Coordinator) otomatik olarak devreye
   girer.
Ado.Net 2.0 – Transactions Mimarisi

  Mimari temel olarak iki tip transaction modeli
   içerir.

       LightWeight                  OleTx
       Transactions              Transactions

     Tek veri kaynağı         Farklı veri kaynakları
     üzerinde çalışır.        üzerinde ortak çalışır.
Ado.Net 2.0 – Transactions Mimarisi
                LightWeight Transactions
  using (TransactionScope tsScope = new TransactionScope())
  {
      using (SqlConnection con = new SqlConnection("data
 source=localhost;database=AdventureWorks;integrated
 security=SSPI"))
       {
          SqlCommand cmd = new SqlCommand("INSERT INTO
 Books (BookPrice,Name,Category,PubDate) VALUES
 (1000,'C#','Computer','1.1.2006')", con);
          con.Open();
          cmd.ExecuteNonQuery();
          tsScope.Complete();
       }
 }
Transaction Mimarisi
Ado.Net 2.0 – Binary Serileştirme
  DataTable ve DataSet nesneleri için gerçek
   anlamda binary serileştirme imkanı sağlanmıştır.

   RemotingFormat = SerializationFormat.Binary;
Asp.Net 2.0 ile Gelen
    Yenilikler
Ado.Net 2.0 – OnDemand Compiling

 Web uygulamasına ait kodların, yeniden
  derlemeye gerek duyulmadan güncellenmesidir.

 Kaynak kod dosyası veya sunu katındaki
  üyelerdeki değişikliklerin, kullanımdaki sürüme
  gelecek ilk talep ile birlikte yanısıtılmasını sağlar.
OnDemand Compiling
Asp.Net 2.0 - CrossPage Posting
 Bir form’ dan, başka bir form’ a verilerin Post Back
  tekniğine göre taşınabilmesini sağlar.
 Hedef form üzerinden, kaynak forma ait
  referanslar ele alınabilir.

     Form.aspx                     Hedef.aspx

                    CrossPage
                     Postback
Asp.Net 2.0 - CrossPage Posting
 Bir sayfaya birden fazla sayfadan Cross Page
  Post Back işlemi yapılabilir.

       Form1.aspx

                                  Hedef.aspx
                    CrossPage
                     Postback

       Form2.aspx
Cross Page Posting
Asp.Net 2.0 – Master Pages
   Master Page, uygulandığı diğer aspx
    sayfalarının nasıl görünmesi gerektiğine
    karar veren bir şablondur.
   ContentPlaceHolder bileşeni sayesinde,
    Master Page' leri uygulayan diğer aspx
    sayfalarının, istenilen içeriğe sahip
    olması sağlanır.
   Master Page’ ler normal bir aspx sayfası
    gibi tasarlanabilir, html, image, server
    control gibi üyeleri içerebilir.
Asp.Net 2.0 - MasterPages

     Default.aspx
               Statik Öğeler


                    Dinamik
                     İçerik
Asp.Net 2.0 - MasterPages




  Master Page' i uygulayan bir aspx sayfası tarayıcıda
    açıldığında tarayıcıya gelen sayfa, Master Page ile
    aspx sayfasının birleştirilmesi sonucu ortaya çıkan
    başka bir aspx sayfasıdır.
Master Pages
Asp.Net 2.0 - Veri Kaynağı Kontrolleri

                            SqlDataSource
     Sunu Katmanı
                            AccessDataSource
                            ObjectDataSource
Veri Kaynağı Kontrolleri    XmlDataSource
                            SiteMapDataSource


     Veri Kaynağı
Asp.Net 2.0 - Veri Kaynağı Kontrolleri
               ObjectDataSource
               ObjectDataSource

Sunu Katmanı




                    İş nesnesi

                 SelectMetodu()
                   SelectMetodu()
 ObjectData
 ObjectData       InsertMetodu()
                   InsertMetodu()   Veritabanı
                                    Veritabanı
   Source
   Source        UpdateMetodu()
                  UpdateMetodu()
  Kontrolü
  Kontrolü       DeleteMethodu()
                 DeleteMethodu()

                     CRUD
                     CRUD
Veri Kaynağı Kontrolleri
Asp.Net 2.0 - Temalar
 Bir web projesinin çeşitli bölümlerinin, tamamının ya da
  web projesini barındıran sunucunun tümüne ait web
  uygulamalarının, belirli font, renk gibi özelliklere göre
  ortak bir noktadan şekillendirilmesine imkan sağlar.
 Temalar değişik seviyelerde (sayfa, uygulama,
  makine) uygulanabilir.
 Temaların içerdiği skin’ ler yardımıyla sunucu
  kontrolleri için ortak görsel şablonlar oluşturulabilir.
Asp.Net 2.0 - Temalar
Temalar
(Themes)
Asp.Net 2.0 - Site Navigation
 Web sitelerinde kullanıcıların nerede olduklarını
  bilmelerine ve diğer sayfalar arasında kolayca
  gezinmelerine yardımcı olan yeni bir yaklaşım
  modelidir.
 Site içeriği XML tabanlı tutulur. Bu site yönetimi
  için büyük esneklik sağlar.
Asp.Net 2.0 - Site Navigation
   SiteMapPath
    SiteMapPath
  (Web Control)
   (Web Control)



     SiteMap
     SiteMap             SiteMapDataSource
                         SiteMapDataSource
      (Xml)
       (Xml)                   (Xml)
                                (Xml)




                     TreeView
                      TreeView          Menu
                                        Menu
                   (Web Control)
                    (Web Control)   (Web Control)
                                     (Web Control)
Asp.Net 2.0 - Site Navigation
Site Navigation
Asp.Net 2.0 - Üyelik ve Rol Yönetimi

 Kolay ve genişletilmiş güvenlik, kullanıcı, erişim
  ve rol yönetimlerini içerir.
 Hem görsel araçlar’ lar (Asp.Net Web
  Application Administration) hemde yönetimli
  sınıflar (managed class-MemberShip)
  yardımıyla uygulanabilir.
 Sql Server 2005 ve daha pek çok veritabanını
  üyelik sistemi için destekler.
Asp.Net 2.0 - Üyelik ve Rol Yönetimi

   Sunucu Kontrolleri
   Sunucu Kontrolleri          MemberShip API
                               MemberShip API
     <asp:Login>
      <asp:Login>


                MemberShip Providers
                MemberShip Providers

    AspNetSqlProvider             X Provider




    Access               Sql                   X
Asp.Net 2.0 – Profile Yönetimi

 Web uygulamalarının kişiselleştirilmesini
  kolaylaştırmak amacıyla geliştirilmiş yeni bir
  yönetim modelidir.
 Membership sisteminin alt parçalarından
  birisidir.
Asp.Net 2.0 – Profile Yönetimi
 Konfigurasyon tarafı. (web.config)
<profile>
  <properties>
     <add name="Kategorim" type="System.String" defaultValue="Dvd"/>
     <add name="KarsilamaMesajim" type="System.String"
defaultValue="Kişisel Mesajınız"/>
     <add name="SonGirisZamanim" type="System.DateTime"/>
     <add name="ButonFontBuyuklugu" type="System.Int32"
defaultValue="12"/>
  </properties>
</profile>
 Managed Code Tarafı.
         Profile.SonGirisZamanim = DateTime.Now;
         Profile.KarsilamaMesajim = txtMesaj.Text;
         Profile.Kategorim = ddlKategoriler.SelectedItem.Text;
         Profile.Save();
Asp.Net 2.0 – Konfigurasyon Yönetimi

 Web uygulamalarında konfigurasyon bilgisinin
  yönetimli kod (managed code) tarafından ele
  alınabilmesi sağlanmıştır.
 Web.config gibi konfigurasyon dosyalarında
  bilgi düzenleme, parametre ekleme, şifreleme
  işlemlerinde kullanılabilir.
 Web uygulamalarının daha kolay ve daha güçlü
  yönetim sağlar.
Teşekkürler


     Burak Selim ŞENYURT

MVP (Visual Developer – Visual C#)
      selim@bsenyurt.com
       www.bsenyurt.com
© 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

More Related Content

Viewers also liked

Kariyerini Çiz
Kariyerini ÇizKariyerini Çiz
Kariyerini Çiz
Burak Selim Şenyurt
 
Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterFosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterBenjamin Zores
 
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterBenjamin Zores
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkBenjamin Zores
 
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets AnsibleCloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
Benjamin Zores
 
Bir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanıBir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanı
Burak Selim Şenyurt
 
Finans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı OlabilmekFinans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı Olabilmek
Burak Selim Şenyurt
 
ABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat InternalsABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat InternalsBenjamin Zores
 
Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)
kyasar
 
SOA Gerçekleri
SOA GerçekleriSOA Gerçekleri
SOA Gerçekleri
Burak Selim Şenyurt
 
Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)
allankliu
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
Emertxe Information Technologies Pvt Ltd
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
Emertxe Information Technologies Pvt Ltd
 
Embedded Linux - Building toolchain
Embedded Linux - Building toolchainEmbedded Linux - Building toolchain
Embedded Linux - Building toolchain
Emertxe Information Technologies Pvt Ltd
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
Emertxe Information Technologies Pvt Ltd
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
Emertxe Information Technologies Pvt Ltd
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
Emertxe Information Technologies Pvt Ltd
 
Data Structures & Algorithm design using C
Data Structures & Algorithm design using C Data Structures & Algorithm design using C
Data Structures & Algorithm design using C
Emertxe Information Technologies Pvt Ltd
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
Emertxe Information Technologies Pvt Ltd
 

Viewers also liked (20)

Kariyerini Çiz
Kariyerini ÇizKariyerini Çiz
Kariyerini Çiz
 
Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterFosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media Center
 
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media Center
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
 
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets AnsibleCloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
 
Bir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanıBir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanı
 
Finans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı OlabilmekFinans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı Olabilmek
 
ABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat InternalsABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat Internals
 
Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)
 
SOA Gerçekleri
SOA GerçekleriSOA Gerçekleri
SOA Gerçekleri
 
Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
 
Embedded Linux - Building toolchain
Embedded Linux - Building toolchainEmbedded Linux - Building toolchain
Embedded Linux - Building toolchain
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Data Structures & Algorithm design using C
Data Structures & Algorithm design using C Data Structures & Algorithm design using C
Data Structures & Algorithm design using C
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 

Similar to Ready to Rock

Typescript
TypescriptTypescript
Typescript
Cem Topkaya (MSc)
 
9. şablonlar
9. şablonlar9. şablonlar
9. şablonlar
karmuhtam
 
C sharp-egitim-cd-si
C sharp-egitim-cd-siC sharp-egitim-cd-si
C sharp-egitim-cd-sisersld30
 
C++ dokumani
C++ dokumaniC++ dokumani
C++ dokumanisersld29
 
C++ egitimi-catalca
C++ egitimi-catalcaC++ egitimi-catalca
C++ egitimi-catalcasersld29
 
C programlama
C programlamaC programlama
C programlama
Turgay Erbay
 
C++ semineri
C++ semineriC++ semineri
C++ seminerisersld30
 
Introduction to Android Programming
Introduction to Android ProgrammingIntroduction to Android Programming
Introduction to Android Programming
Anıl Sözeri
 
C sharp-dokumani
C sharp-dokumaniC sharp-dokumani
C sharp-dokumanisersld30
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
Fatih Özlü
 
C++ cevaplari
C++ cevaplariC++ cevaplari
C++ cevaplarisersld29
 
C++ cizimi
C++ cizimiC++ cizimi
C++ cizimisersld29
 
C++ ornegi
C++ ornegiC++ ornegi
C++ ornegisersld30
 
C yapilar
C yapilarC yapilar
C yapilar
Türkü Dinle
 

Similar to Ready to Rock (20)

C#4.0
C#4.0C#4.0
C#4.0
 
Typescript
TypescriptTypescript
Typescript
 
Templates
Templates Templates
Templates
 
9. şablonlar
9. şablonlar9. şablonlar
9. şablonlar
 
C++ odevi
C++ odeviC++ odevi
C++ odevi
 
C sharp-egitim-cd-si
C sharp-egitim-cd-siC sharp-egitim-cd-si
C sharp-egitim-cd-si
 
C++ dokumani
C++ dokumaniC++ dokumani
C++ dokumani
 
C++ egitimi-catalca
C++ egitimi-catalcaC++ egitimi-catalca
C++ egitimi-catalca
 
C++ ornek
C++ ornekC++ ornek
C++ ornek
 
C programlama
C programlamaC programlama
C programlama
 
C++ semineri
C++ semineriC++ semineri
C++ semineri
 
Introduction to Android Programming
Introduction to Android ProgrammingIntroduction to Android Programming
Introduction to Android Programming
 
C sharp-dokumani
C sharp-dokumaniC sharp-dokumani
C sharp-dokumani
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
C++ cevaplari
C++ cevaplariC++ cevaplari
C++ cevaplari
 
C++ cizimi
C++ cizimiC++ cizimi
C++ cizimi
 
C++ proje
C++ projeC++ proje
C++ proje
 
C++ ornegi
C++ ornegiC++ ornegi
C++ ornegi
 
C yapilar
C yapilarC yapilar
C yapilar
 
C odevi
C odeviC odevi
C odevi
 

More from Burak Selim Şenyurt

Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
Burak Selim Şenyurt
 
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern MacerasıBeş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
Burak Selim Şenyurt
 
Monolitik Yapılarda Teknik Borçlardan Kurtulmak
Monolitik Yapılarda Teknik Borçlardan KurtulmakMonolitik Yapılarda Teknik Borçlardan Kurtulmak
Monolitik Yapılarda Teknik Borçlardan Kurtulmak
Burak Selim Şenyurt
 
Bugün Yarınların için Ne Yapacaksın?
Bugün Yarınların için Ne Yapacaksın?Bugün Yarınların için Ne Yapacaksın?
Bugün Yarınların için Ne Yapacaksın?
Burak Selim Şenyurt
 
Kaosu Körüklemek
Kaosu KörüklemekKaosu Körüklemek
Kaosu Körüklemek
Burak Selim Şenyurt
 
Yazılımda Sağlam Adımlar Atmak
Yazılımda Sağlam Adımlar AtmakYazılımda Sağlam Adımlar Atmak
Yazılımda Sağlam Adımlar Atmak
Burak Selim Şenyurt
 
Enterprise Applications
Enterprise ApplicationsEnterprise Applications
Enterprise Applications
Burak Selim Şenyurt
 
Anti-Patterns
Anti-PatternsAnti-Patterns
Anti-Patterns
Burak Selim Şenyurt
 
Bankacılık ve SOA
Bankacılık ve SOABankacılık ve SOA
Bankacılık ve SOA
Burak Selim Şenyurt
 
Trakya Üniversitesi Workshop
Trakya Üniversitesi WorkshopTrakya Üniversitesi Workshop
Trakya Üniversitesi Workshop
Burak Selim Şenyurt
 
Geleceğin Programıcısı
Geleceğin ProgramıcısıGeleceğin Programıcısı
Geleceğin Programıcısı
Burak Selim Şenyurt
 

More from Burak Selim Şenyurt (18)

Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
 
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern MacerasıBeş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
 
Monolitik Yapılarda Teknik Borçlardan Kurtulmak
Monolitik Yapılarda Teknik Borçlardan KurtulmakMonolitik Yapılarda Teknik Borçlardan Kurtulmak
Monolitik Yapılarda Teknik Borçlardan Kurtulmak
 
Bugün Yarınların için Ne Yapacaksın?
Bugün Yarınların için Ne Yapacaksın?Bugün Yarınların için Ne Yapacaksın?
Bugün Yarınların için Ne Yapacaksın?
 
Kaosu Körüklemek
Kaosu KörüklemekKaosu Körüklemek
Kaosu Körüklemek
 
Yazılımda Sağlam Adımlar Atmak
Yazılımda Sağlam Adımlar AtmakYazılımda Sağlam Adımlar Atmak
Yazılımda Sağlam Adımlar Atmak
 
Enterprise Applications
Enterprise ApplicationsEnterprise Applications
Enterprise Applications
 
NoSQL - Yazılımcı Bakışıyla
NoSQL - Yazılımcı BakışıylaNoSQL - Yazılımcı Bakışıyla
NoSQL - Yazılımcı Bakışıyla
 
Gizli Tehlike : AntiPatterns
Gizli Tehlike : AntiPatternsGizli Tehlike : AntiPatterns
Gizli Tehlike : AntiPatterns
 
Anti-Patterns
Anti-PatternsAnti-Patterns
Anti-Patterns
 
C# Akademi 2005
C# Akademi 2005C# Akademi 2005
C# Akademi 2005
 
Netron Techweek 2007 WCF
Netron Techweek 2007 WCFNetron Techweek 2007 WCF
Netron Techweek 2007 WCF
 
Yazilim Zirvesi 2008
Yazilim Zirvesi 2008Yazilim Zirvesi 2008
Yazilim Zirvesi 2008
 
C# 4.0 new features - innova
C# 4.0   new features - innovaC# 4.0   new features - innova
C# 4.0 new features - innova
 
Bankacılık ve SOA
Bankacılık ve SOABankacılık ve SOA
Bankacılık ve SOA
 
Trakya Üniversitesi Workshop
Trakya Üniversitesi WorkshopTrakya Üniversitesi Workshop
Trakya Üniversitesi Workshop
 
Geleceğin Programıcısı
Geleceğin ProgramıcısıGeleceğin Programıcısı
Geleceğin Programıcısı
 
Tfs ile duzenli proje gelistirme
Tfs ile duzenli proje gelistirmeTfs ile duzenli proje gelistirme
Tfs ile duzenli proje gelistirme
 

Ready to Rock

  • 1. .Net 2.0 ile Gelen Yenilikler Burak Selim Şenyurt MVP (Visual Developer – Visual C#)
  • 2. Ajanda – Visual Studio 2005  ClickOnce Tekniği  Refactoring  Class Designer  Debugger Visualizer
  • 3. Ajanda – C# 2.0  Generics  Kısmi Tipler (Partial Types)  Yeni İterasyon Tekniği (Yield Kullanımı)  İsimsiz Metodlar (Anonymous Methods)  Kısmi Tipler (Partial Types)  Static Sınıflar  Nullable Değer Türleri
  • 4. Ajanda – Ado.Net 2.0  ConnectionStrings Kavramı ve StringBuilders  Veri Sağlayıcıdan Bağımsız Mimari (Data Provider Independent Architect)  MARS Çoklu Aktif Sonuç Kümeleri (Multiple Active Result Sets)  Toplu Güncelleştirme (Batch Update)  Asenkron Komut Yürütmek (Asynchronous Command Executing)  Bulk Data Kopyalama Mekanizması  Yeni Transaction Mimarisi  Binary Serileştirme
  • 5. Ajanda – Asp.Net 2.0  On-Demand Compiling Çalışma Modeli  Cross Page Posting  Master Pages  Veri Kaynağı Kontrolleri (Data Source Controls)  Temalar (Themes)  Site Navigasyonu (Site Navigation)  Profil Yönetimi (Profile Management)  Konfigurasyon Yönetimi (Configuration Management)  Üyelik Yönetimi (Membership Management)
  • 6. Visual Studio 2005 ile Gelen Yenilikler
  • 7. Visual Studio 2005 - ClickOnce  Web uygulamalarının sağladığı dağıtım (deployment) kolaylığının, windows tabanlı uygulamalar içinde sağlanabilmesini amaçlar.
  • 8. Visual Studio 2005 - Refactoring  Kodların yeniden gözden geçirilmesi dahada kolaylaştırılmıştır.  Yeniden isimlendirme (Rename)  Alanlardan (Field) özelliklere (Property) hızlı geçiş  Metodlaştırma (Extract Method)  Arayüz (Interface) çıkartma  Parametre sıralarını değiştirme
  • 9. Visual Studio 2005 – Class Designer  Uygulamaların yazılımcı dostu UML diagramları ile tam entegrasyonunu sağlar.  Sınıf diagramlarında yapılan değişikliklerin, uygulamalara, uygulamalarda yapılan değişikliklerin şemalara yansıtılmasını sağlar.
  • 10. Visual Studio 2005 – Debugger Visualizer  Çalışma zamanında tabular veya xml bazlı nesnelerin içeriğinin Xml, Html, Text ve Table formatında izlenebilmesini sağlar.
  • 11. Class Designer ClickOnce Refactoring Debugger Visualizer
  • 12. C# 2.0 ile Gelen Yenilikler
  • 13. C# 2.0 - Generics  Türden bağımsız olarak algoritma geliştirmek için kullanılan dilin güçlü bir yapısıdır.  Değişik türler ile çalışacak birden fazla tip yazmak yerine tek bir tip kullanılabilmesini sağlar.  Gereksiz boxing ve unboxing süreçlerini ortadan kaldırır.
  • 14. C# 2.0 - Generics  Uygulama Alanları Koleksiyonlar (Collections) Sınıflar Yapılar (Classes) (Structs) Metodlar (Methods) Arayüzler (Interfaces) Temsilciler (Delegates)
  • 15. Generics List<T> Dictionary<K,V> SortedDictionary<K,V> Stack<T>  Koleksyion Sınıfları Queue<T> IList<T>  Koleksiyon Arayüzleri IDictionary<K,V> ICollection<T> IEnumerable<T> IEnumerator<T>  Koleksiyon Temel Sınıfları IComparable<T> IComparer<T>  Yararlı Sınıflar Collection<T> KeyedCollection<T> ReadOnlyCollection<T> Nullable<T> EventHandler<T> Comparer<T>
  • 17. Generics Mimaride Kısıtlamalar  Generic tipler için çeşitli zorunluluklar (Constraints) tanımlayabiliriz. Koşul Syntax Değer tipi olma zorunluluğu where Tip : struct Referans tipi olma zorunluluğu where Tip : class Constructor zorunluluğu where Tip : new() Türeme zorunluluğu where Tip : <Temel Sınıf> Interface zorunluluğu where Tip : <Interface>
  • 18. Generic Koleksiyonlar (Collections) Generic Struct (Yapı) Generic Performance Test
  • 19. C# 2.0 – Yeni İterasyon Tekniği (Yield Kullanımı)  Kullanıcı tanımlı tiplere ait nesne dizileri üzerinde foreach iterasyonunun tip güvenli ve daha kolay uygulanabilmesini amaçlar.
  • 20. C# 2.0 – Yeni İterasyon Tekniği (Yield Kullanımı) C# 1.0/1.1 için Iteratif Uygulama Deseni
  • 21. Yeni İterasyon Tekniği (Yield Kullanımı)
  • 22. C# 2.0 – İsimsiz Metodlar (Anonymous Methods)  Temsilcileri(delegates) işaret edecekleri metodların sahip oldukları kod blokları ile bir seferde tanımlayabilmeyi amaçlar.  Metod blokları, çalışma zamanında kendisini çağıracak olan temsilci nesnesine eklenir.  Dışarıdan parametre alabilirler ve geriye değer döndürebilirler.  Metod ile birlikte kullanılan temsilcinin bilinmesine gerek yoktur. delegate anahtar sözcüğü bu işi üstlenir.
  • 23. C# 2.0 – İsimsiz Metodlar (Anonymous Methods)  Klasik temsilci (delegate) yaklaşımı. public delegate double dlgCircle(double a, double b); static double TestMethod(double pi, double r) { return pi * r * r; } dlgCircle tOld = new dlgCircle(TestMethod); double result=tOld(1, 4);
  • 24. C# 2.0 – İsimsiz Metodlar (Anonymous Methods)  Yeni temsilci (delegate) yaklaşımı. dlgCircle tNew = delegate(double pi, double r) { return pi * r * r; }; double alan = tNew(3.14, 10);
  • 25. C# 2.0 – İsimsiz Metodlar (Anonymous Methods)  Çok kanallı programlama (Multi Threading) için klasik yaklaşım. static void UpCounter() { for (int i = 0; i < 100; i++) { Console.Write("+"); Thread.Sleep(100); } } Thread t1 = new Thread(new ThreadStart(UpCounter)); t1.Start();
  • 26. C# 2.0 – İsimsiz Metodlar (Anonymous Methods)  Çok kanallı programlama (Multi Threading) için yeni yaklaşım. static void UpCounter(){ for (int i = 0; i < 100; i++){ Console.Write("+"); trdUpCounter.Start(); Thread.Sleep(100); trdDownCounter.Start(); } } Thread trdUpCounter = new Thread(delegate(){ UpCounter(); }); Thread trdDownCounter = new Thread(delegate(){ for (int i = 1; i <100; i++){ Console.Write("-"); Thread.Sleep(150); } });
  • 27. C# 2.0 – İsimsiz Metodlar (Anonymous Methods)  Event – Driven (Olay güdümlü) programlama için klasik yaklaşım. this.btnAnonymous.Click += new System.EventHandler(this.btnAnonymous_Click); private void btnAnonymous_Click(object sender, EventArgs e) { }
  • 28. C# 2.0 – İsimsiz Metodlar (Anonymous Methods)  Event – Driven (Olay güdümlü) programlama için yeni yaklaşım. this.btnAnonymous.Click += delegate(object sender, System.EventArgs arg) { MessageBox.Show("Onay 1") };
  • 29. C# 2.0 – Kısmi Tipler (Partial Types)  Kısmi tipler, bir tipin bütününü oluşturan soyutsal parçalardır.  Sınıflar (Class), Arayüzler (Interface), Yapılar (Struct) kısmi olarak tanımlanıp kullanılabilir.  Çoğunlukla görsel taraf ile kod tarafının ayrıştırılmasında kullanılır.
  • 30. C# 2.0 – Kısmi Tipler (Partial Types)
  • 31. C# 2.0 – Kısmi Tipler (Partial Types) partial class DbManager{ public DbManager(string conStr){} public void SetCommand(string qryStr){} public void Metod() { } } partial class DbManager{ private SqlConnection con; private SqlCommand cmd; public SqlConnection Conn { get { return con; } set { con = value; } } public SqlCommand Cmnd { get { return cmd; } set { cmd = value; } } }
  • 32. C# 2.0 – Static Sınıflar  Sadece static üyeler içeren, örneklendirilemeyen ve kalıtım için kullanılamayan sınıflardır. public static class CommonMath { public static double Total(double valueA, double valueB) { } public static double pi = 3.14; public static double PI { get{return pi;} set{pi = value;} } ...
  • 33. C# 2.0 – Static Sınıflar  Static sınıflara ait nesne örnekleri üretilemez.  Static sınıflara ait nesne tanımlamaları yapılamaz.  Yapıcı metodlar (constructors) içermez.  Sadece static üyeler den oluşur.  Türetme (Inheritance) için kullanılamaz.
  • 34. C# 2.0 - Nullable Types  Değer türlerinin (Value Types), referans türleri (reference types) gibi null değer taşıyabilmesi özelliği. int? degerTipi; degerTipi = null;  Veritabanı uygulamaları için yararlı bir özelliktir.  System.Nullable<T> sınıfı yardımıyla kendi değer türlerimizi nullable olarak kullanabiliriz.
  • 35. Ado.Net 2.0 ile Gelen Yenilikler
  • 36. Ado.Net 2.0 – ConnectionStrings Kullanımı  Bağlantı bilgisinin herhangibir .Net uygulamasında aynı şekilde saklanmasını sağlar.  Yeni Configuration API sayesinde kod tarafından kolayca yönetilebilir. <configuration> <connectionStrings> <add name="AdvConStr" connectionString="data source=Manchester;database=AdventureWorks;integrated Security=true" providerName="System.Data.SqlClient"/> </connectionStrings> </configuration> Web (Web.config) Desktop (App.config) ConfigurationManager.ConnectionStrings["AdvConStr"].ConnectionString;
  • 37. Ado.Net 2.0 – ConnectionStringBuilder Nesneleri  Data Provider (Veri Sağlayıcı) seçimine göre daha kolay ConnectionString oluşturulmasını sağlayan yeni tipler. SqlConnectionStringBuilder sqlConStrBdr = new SqlConnectionStringBuilder(); sqlConStrBdr.DataSource = "Manchester"; sqlConStrBdr.InitialCatalog = "AdventureWorks"; sqlConStrBdr.IntegratedSecurity = true; sqlConStrBdr.AsynchronousProcessing = true; sqlConStrBdr.MultipleActiveResultSets=true; Console.WriteLine(sqlConStrBdr.ConnectionString); SqlConnectionStringBuilder OleDbConnectionStringBuilder OracleConnectionStringBuilder OdbcConnectionStringBuilder DbConnectionStringBuilder
  • 38. Ado.Net 2.0 – Veri Sağlayıcı Bağımsız Mimari (Data Provider Independent Architect)  Tüm veri sağlayıcı bağımlı nesneleri tek bir çatı altında toplar.  Çok biçimliliği kullanarak çalışma zamanında veri sağlayıcılar arasındaki geçişi kolaylaştırır.  Tüm istekler managed (yönetimli) nesneler vasıtasıyla kolayca gerçekleştirilir.  Gerçek bir kullanım alan Enterprise Library içerisindeki Data Access Application Block’ tur.
  • 39. Ado.Net 2.0 – Veri Sağlayıcı Bağımsız Mimari (Data Provider Independent Architect) •Provider Toplayıcı •Factory Üretici •Gerekli Ürün Üretici
  • 40. Ado.Net 2.0 – Veri Sağlayıcı Bağımsız Mimari (Data Provider Independent Architect) DbProviderFactories  Sistemde yüklü olan tüm veri sağlayıcılarının elde edilmesini sağlar. DbProviderFactory  Seçilen veri sağlayıcıyı kullanarak uygun Connection, Command, DataAdapter, Parameter, DataReader, CommandBuilder vb. nesnelerinin üretilmesinden sorumludur.
  • 41. Veri Sağlayıcı Bağımsız Mimari (Data Provider Independent Architecture)
  • 43. Ado.Net 2.0 – MARS Çoklu Aktif Sonuç Kümeleri (Multiple Active Result Sets)  Aynı açık bağlantı üzerinden birden fazla sonuç kümesini elde edebileceğimiz sql sorgularının tek bir bağlantı üzerinden çalıştırılabilmesi. Çalışma Şartları;  Veri tabanı sunucusunun MARS desteğinin olması gerekir.  Bağlantı katarı bilgisinde varsayılan değeri false olan MultipleActiveResultSets özelliği true olmalıdır.
  • 44. Ado.Net 2.0 – MARS Çoklu Aktif Sonuç Kümeleri (Multiple Active Result Sets) try{ SqlConnection con=new SqlConnection(bağlantı); SqlDataReader dr1; SqlDataReader dr2; SqlDataReader dr3; SqlCommand cmd1=new SqlCommand("SELECT * FROM Customers",con); SqlCommand cmd2=new SqlCommand("SELECT * FROM Orders",con); SqlCommand cmd3=new SqlCommand("SELECT * FROM [Order Details]",con); con.Open(); dr1=cmd1.ExecuteReader(); dr2=cmd2.ExecuteReader(); dr3=cmd3.ExecuteReader(); con.Close(); } catch(Exception hata) { Console.WriteLine(hata.Message);}
  • 45. Ado.Net 2.0 – MARS Çoklu Aktif Sonuç Kümeleri (Multiple Active Result Sets) Ado.Net 1.0 / 1.1
  • 46. Ado.Net 2.0 – MARS Çoklu Aktif Sonuç Kümeleri (Multiple Active Result Sets) Ado.Net 1.0 / 1.1 SqlCommand cmd1=new SqlCommand("SELECT * FROM Customers",con1); SqlCommand cmd2=new SqlCommand("SELECT * FROM Orders",con2); SqlCommand cmd3=new SqlCommand("SELECT * FROM [Order Details]",con3);
  • 47. Ado.Net 2.0 – MARS Çoklu Aktif Sonuç Kümeleri (Multiple Active Result Sets)
  • 48. MARS (Mutliple Active Result Sets)
  • 49. Ado.Net 2.0 – Toplu Güncelleştirme (Batch Update) Birden fazla sql ifadesinin tek bir seferde çalıştırılması. public override int UpdateBatchSize {get;set;}  DataAdapter için güncelleme işlemlerinin toplu olarak hangi periyotta gerçekleştirileceğini belirtir. UpdateBatchSize Komut Çalışma Şekli Değeri Sunucunun desteklediği en büyük 0 boyutta 1 kerede Hepsi ayrı ayrı (UpdateBatchSize devre 1 dışı) n n seferde 1’ er kere
  • 50. Ado.Net 2.0 – Asenkron Komut Yürütmek (Asynchronous Command Executing) Birden fazla sql komutunun Command nesneleri yardımıyla, eş zamanlı ve uygulamanın çalışmasına paralel olarak yürütülebilmesi imkanı.
  • 51. Ado.Net 2.0 – Asenkron Komut Yürütmek (Asynchronous Command Executing)
  • 52. Ado.Net 2.0 – Asenkron Komut Yürütmek (Asynchronous Command Executing) Anahtar İlişki BeginExecuteNonQuery BeginExecuteReader IAsyncResul BeginExecuteXmlReader t EndExecuteNonQuery EndExecuteReader EndExecuteXmlReader
  • 53. Ado.Net 2.0 – Asenkron Komut Yürütmek (Asynchronous Command Executing) Polling Modeli  IAsyncResult tipinden nesne örneği ile sahip olunan process’ in tamamlanıp tamamlanmadığı sürekli olarak kontrol edilir.
  • 54. Ado.Net 2.0 – Asenkron Komut Yürütmek (Asynchronous Command Executing) Polling Modeli
  • 55. Ado.Net 2.0 – Asenkron Komut Yürütmek (Asynchronous Command Executing) Callback Modeli  Asenkron olarak çalışan sql komutlarının işleyişlerinin sona erdiği noktalarda yürürlüğe giren metodları bünyesinde barındıran bir tekniktir.
  • 56. Ado.Net 2.0 – Asenkron Komut Yürütmek (Asynchronous Command Executing) Callback Modeli
  • 57. Ado.Net 2.0 – Asenkron Komut Yürütmek (Asynchronous Command Executing) Callback Modeli public IAsyncResult BeginExecuteNonQuery (AsyncCallback ( callback, object stateObject); public IAsyncResult BeginExecuteReader (AsyncCallback ( callback, object stateObject); public IAsyncResult BeginExecuteXmlReader (AsyncCallback ( callback, object stateObject);
  • 58. Ado.Net 2.0 – Asenkron Komut Yürütmek (Asynchronous Command Executing)  Eş zamanlı yürütülen komutlar tamamlanıncaya kadar uygulamanın ve diğer komutların beklemesini istediğimizde. Farklı sunucularda çalışacak ve dönüş değerleri ilerleyen kod satırlarında kullanılacak olan eş zamanlı sorgularda tercih edilebilir. Wait Modeli WaitOne WaitAll WaitAny
  • 60. Ado.Net 2.0 – Bulk Data Kopyalama Mekanizması  Bir veritabanı tablosundan, başka bir hedef tabloya veri taşıma işleminin,Yönetimsel Kod (Managed Code) ile gerçekleştirilebilmesi.  Transfer işlemi bir transaction içerisinde yürütülür.  Kaynak ve hedef tablolar farklı sunuculardaki farklı veritabanlarında bulunabilir.
  • 61. Ado.Net 2.0 – Bulk Data Kopyalama Mekanizması
  • 63. Ado.Net 2.0 – Transactions Mimarisi  Veri Sağlayıcı (Data Provider)’ dan bağımsız bir yapı sunar.  Otomatik olarak transactionların açılması ve kapatılması sağlanmıştır.  Dağıtık (Distributed) Transaction modelinde COM+ nesnelerin yazılmasına (dolayısıyla ContextUtil kullanılmasına) gerek yoktur.  DTC Dağıtık Transaction Yöneticisi (Distributed Transaction Coordinator) otomatik olarak devreye girer.
  • 64. Ado.Net 2.0 – Transactions Mimarisi  Mimari temel olarak iki tip transaction modeli içerir. LightWeight OleTx Transactions Transactions Tek veri kaynağı Farklı veri kaynakları üzerinde çalışır. üzerinde ortak çalışır.
  • 65. Ado.Net 2.0 – Transactions Mimarisi LightWeight Transactions using (TransactionScope tsScope = new TransactionScope()) { using (SqlConnection con = new SqlConnection("data source=localhost;database=AdventureWorks;integrated security=SSPI")) { SqlCommand cmd = new SqlCommand("INSERT INTO Books (BookPrice,Name,Category,PubDate) VALUES (1000,'C#','Computer','1.1.2006')", con); con.Open(); cmd.ExecuteNonQuery(); tsScope.Complete(); } }
  • 67. Ado.Net 2.0 – Binary Serileştirme  DataTable ve DataSet nesneleri için gerçek anlamda binary serileştirme imkanı sağlanmıştır. RemotingFormat = SerializationFormat.Binary;
  • 68. Asp.Net 2.0 ile Gelen Yenilikler
  • 69. Ado.Net 2.0 – OnDemand Compiling  Web uygulamasına ait kodların, yeniden derlemeye gerek duyulmadan güncellenmesidir.  Kaynak kod dosyası veya sunu katındaki üyelerdeki değişikliklerin, kullanımdaki sürüme gelecek ilk talep ile birlikte yanısıtılmasını sağlar.
  • 71. Asp.Net 2.0 - CrossPage Posting  Bir form’ dan, başka bir form’ a verilerin Post Back tekniğine göre taşınabilmesini sağlar.  Hedef form üzerinden, kaynak forma ait referanslar ele alınabilir. Form.aspx Hedef.aspx CrossPage Postback
  • 72. Asp.Net 2.0 - CrossPage Posting  Bir sayfaya birden fazla sayfadan Cross Page Post Back işlemi yapılabilir. Form1.aspx Hedef.aspx CrossPage Postback Form2.aspx
  • 74. Asp.Net 2.0 – Master Pages  Master Page, uygulandığı diğer aspx sayfalarının nasıl görünmesi gerektiğine karar veren bir şablondur.  ContentPlaceHolder bileşeni sayesinde, Master Page' leri uygulayan diğer aspx sayfalarının, istenilen içeriğe sahip olması sağlanır.  Master Page’ ler normal bir aspx sayfası gibi tasarlanabilir, html, image, server control gibi üyeleri içerebilir.
  • 75. Asp.Net 2.0 - MasterPages Default.aspx Statik Öğeler Dinamik İçerik
  • 76. Asp.Net 2.0 - MasterPages  Master Page' i uygulayan bir aspx sayfası tarayıcıda açıldığında tarayıcıya gelen sayfa, Master Page ile aspx sayfasının birleştirilmesi sonucu ortaya çıkan başka bir aspx sayfasıdır.
  • 78. Asp.Net 2.0 - Veri Kaynağı Kontrolleri  SqlDataSource Sunu Katmanı  AccessDataSource  ObjectDataSource Veri Kaynağı Kontrolleri  XmlDataSource  SiteMapDataSource Veri Kaynağı
  • 79. Asp.Net 2.0 - Veri Kaynağı Kontrolleri ObjectDataSource ObjectDataSource Sunu Katmanı İş nesnesi SelectMetodu() SelectMetodu() ObjectData ObjectData InsertMetodu() InsertMetodu() Veritabanı Veritabanı Source Source UpdateMetodu() UpdateMetodu() Kontrolü Kontrolü DeleteMethodu() DeleteMethodu() CRUD CRUD
  • 81. Asp.Net 2.0 - Temalar  Bir web projesinin çeşitli bölümlerinin, tamamının ya da web projesini barındıran sunucunun tümüne ait web uygulamalarının, belirli font, renk gibi özelliklere göre ortak bir noktadan şekillendirilmesine imkan sağlar.  Temalar değişik seviyelerde (sayfa, uygulama, makine) uygulanabilir.  Temaların içerdiği skin’ ler yardımıyla sunucu kontrolleri için ortak görsel şablonlar oluşturulabilir.
  • 82. Asp.Net 2.0 - Temalar
  • 84. Asp.Net 2.0 - Site Navigation  Web sitelerinde kullanıcıların nerede olduklarını bilmelerine ve diğer sayfalar arasında kolayca gezinmelerine yardımcı olan yeni bir yaklaşım modelidir.  Site içeriği XML tabanlı tutulur. Bu site yönetimi için büyük esneklik sağlar.
  • 85. Asp.Net 2.0 - Site Navigation SiteMapPath SiteMapPath (Web Control) (Web Control) SiteMap SiteMap SiteMapDataSource SiteMapDataSource (Xml) (Xml) (Xml) (Xml) TreeView TreeView Menu Menu (Web Control) (Web Control) (Web Control) (Web Control)
  • 86. Asp.Net 2.0 - Site Navigation
  • 88. Asp.Net 2.0 - Üyelik ve Rol Yönetimi  Kolay ve genişletilmiş güvenlik, kullanıcı, erişim ve rol yönetimlerini içerir.  Hem görsel araçlar’ lar (Asp.Net Web Application Administration) hemde yönetimli sınıflar (managed class-MemberShip) yardımıyla uygulanabilir.  Sql Server 2005 ve daha pek çok veritabanını üyelik sistemi için destekler.
  • 89. Asp.Net 2.0 - Üyelik ve Rol Yönetimi Sunucu Kontrolleri Sunucu Kontrolleri MemberShip API MemberShip API <asp:Login> <asp:Login> MemberShip Providers MemberShip Providers AspNetSqlProvider X Provider Access Sql X
  • 90. Asp.Net 2.0 – Profile Yönetimi  Web uygulamalarının kişiselleştirilmesini kolaylaştırmak amacıyla geliştirilmiş yeni bir yönetim modelidir.  Membership sisteminin alt parçalarından birisidir.
  • 91. Asp.Net 2.0 – Profile Yönetimi  Konfigurasyon tarafı. (web.config) <profile> <properties> <add name="Kategorim" type="System.String" defaultValue="Dvd"/> <add name="KarsilamaMesajim" type="System.String" defaultValue="Kişisel Mesajınız"/> <add name="SonGirisZamanim" type="System.DateTime"/> <add name="ButonFontBuyuklugu" type="System.Int32" defaultValue="12"/> </properties> </profile>  Managed Code Tarafı. Profile.SonGirisZamanim = DateTime.Now; Profile.KarsilamaMesajim = txtMesaj.Text; Profile.Kategorim = ddlKategoriler.SelectedItem.Text; Profile.Save();
  • 92. Asp.Net 2.0 – Konfigurasyon Yönetimi  Web uygulamalarında konfigurasyon bilgisinin yönetimli kod (managed code) tarafından ele alınabilmesi sağlanmıştır.  Web.config gibi konfigurasyon dosyalarında bilgi düzenleme, parametre ekleme, şifreleme işlemlerinde kullanılabilir.  Web uygulamalarının daha kolay ve daha güçlü yönetim sağlar.
  • 93. Teşekkürler Burak Selim ŞENYURT MVP (Visual Developer – Visual C#) selim@bsenyurt.com www.bsenyurt.com
  • 94. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Editor's Notes

  1. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  2. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  3. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  4. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  5. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  6. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  7. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  8. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  9. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  10. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  11. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  12. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  13. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  14. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  15. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  16. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  17. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  18. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  19. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  20. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  21. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  22. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  23. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  24. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  25. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  26. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  27. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  28. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  29. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  30. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  31. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  32. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  33. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  34. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  35. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  36. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  37. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  38. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  39. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  40. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  41. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  42. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  43. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  44. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. This slide introduces the benefits for Architects. Stress the integration of the two different architects, IT and Software Architects. You may briefly mention the Dynamic Systems Initiative here, but keep it short. I’ve found that presenting it led to too much time being spent on the Arch piece.
  45. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  46. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  47. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  48. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  49. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  50. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  51. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  52. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  53. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  54. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  55. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. This slide introduces the benefits for Architects. Stress the integration of the two different architects, IT and Software Architects. You may briefly mention the Dynamic Systems Initiative here, but keep it short. I’ve found that presenting it led to too much time being spent on the Arch piece.
  56. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  57. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  58. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  59. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  60. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  61. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  62. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  63. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  64. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  65. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  66. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  67. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  68. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  69. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  70. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  71. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  72. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  73. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  74. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  75. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  76. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  77. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  78. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  79. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  80. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  81. 03/07/13 23:10 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Self Explanatory slide. :-)