33

sunu (Asp.net -1)

Embed Size (px)

Citation preview

Page 1: sunu (Asp.net -1)
Page 2: sunu (Asp.net -1)

DERS İÇERİĞİDERS İÇERİĞİ

• ASP.NET Nedir?• .NET Framework• .NET Yazılımın Özellikleri ve

Avantajları

• Dezavantajları

• Web Sunucusu – IIS

• ASP.net Sayfa Yapısı ve Elemanları

Page 3: sunu (Asp.net -1)

ASP.NET Nedir? ASP.NET Nedir?

• ASP.Net Server-Side(Sunucu taraflı) web uygulamaları geliştirebileceğimiz. Net’in sağladığı özelliklerin çoğuna erişebilen bir platformdur.

• Asp.NET, klasik ASP’ye göre daha hızlı, işlevsel ve güvenilirdir. Asp.NET, web uygulamaları geliştirme alanına getirdiği yeni yaklaşım, yöntemler ve programlama tekniğiyle ASP’nin yeni bir versiyonu olarak değil farklı bir teknoloji olarak el

Page 4: sunu (Asp.net -1)

.NET Framework.NET Framework

• .NET Framework, çok dağıtık bileşen yönelimli uygulamaların geliştirilmesini ve yürütülmesini destekleyen bir ortam tanımlamaktadır.

• .NET Framework, farklılık gösteren bilgisayar dillerinin birlikte çalışmasını mümkün kılar ve Windows platformu için güvenlik, taşınabilirlik (programlar açısından) ve ortak bir programlama modeli sağlar.

Page 5: sunu (Asp.net -1)

.NET Framework.NET Framework

• .Net’in destek verdiği diller

Visual Basic .Net C# Microsoft Visual J# .NET

Microsoft Jscript .Net Oberon Scheme

Perl Pyhton Cobol

Haskell Pascal ML

Mercury Eiffel Ada

SmallTalk Caml Microsoft Visual C++

Page 6: sunu (Asp.net -1)

Çoklu dil desteğinin avantajları

• Kod modülleri yeniden kullanılabilir. Bir kod modülü, bir dil içinde yazılıp farklı diller içinde kullanılabilir.

• Tüm diller için object kütüphanesi aynıdır ve aynı object modeli kullanılır.

• Eski dillerde yazılmış programlar güncellenebilir.

• .NET Framework içindeki tüm diller eşit performansa sahiptir.

Page 7: sunu (Asp.net -1)

.NET Yazılımın Özellikleri ve Avantajları

• ASP+, daha önce kullanılan Web geliştirme (ASP, JSP gibi) modellerine göre aşağıda listelenen birçok önemli avantajı sağlamaktadır.

1) Geliştirilmiş Performans:

ASP+ sayfaları, sunucu üzerinde çalıştırılan NGWS çalıştırıcısı kodlarıdır. Yorumlama temeline göre çalışan daha öncekilerle (ASP gibi) karşılaştırıldığında, erken,

tam zamanında derleme ve doğal iyileme ve tamponlama hizmetleri gibi avantajlar sağlamaktadır.

Yukarıda anılan bu özellikler, geliştiriciler için daha kod yazmaya başlamadan önce sağlanan çarpıcı performans

iyileştirmeleridir.

Page 8: sunu (Asp.net -1)

2) Üstün Nitelikli Araç Desteği:ASP+ çatısı, geliştirme ortamıyla bütünleştirilmiş olan Visual Studio ile sunulan zengin bir araç takımı ve tasarımcısı ile tamamlanmıştır.

WYSIWYG düzenleme, sürükle-bırak tarzı sunucu denetimleri ve otomatik dağıtım bu güçlü araçların sağlamış olduğu özelliklerin yalnızca birkaç tanesinden bazılarıdır.

3) Güç ve Esneklik:

ASP+, NGWS çalıştırıcısı üzerine temellendirildiğinden, bu platformun tüm esneklik ve gücü Web uygulama geliştiricisi tarafından kullanılabilir durumdadır. NGWS çalıştırıcısının Temel Sınıf Kütüphaneleri, iletim ve veri çözümleri, benzeri olmayan bir biçimde Web’ten erişilebilir durumdadır.

Page 9: sunu (Asp.net -1)

4) Basitlik:

ASP+, basit form bilgileri gönderiminden, kimlik doğrulama, kullanıcı tanıma, uygulama dağıtımı ve site yapılandırmaya kadar tüm genel görevleri yapmayı son derece basitleştirmektedir.

5) Yönetilebilirlik:

ASP+, metin-tabanlı ve hiyerarşik bir yapılandırma sistemi kullanır. Böylelikle sunucu ortamı ve Web uygulamasına özel ayarların yapılması son derece basitleştirilmiştir. Çünkü, yapılandırma bilgisi düz metin olarak depolanır, yeni ayarlar yerel yönetim araçlarını kullanmaksızın basit bir metin işlemci aracılığıyla yapılabilir.

Page 10: sunu (Asp.net -1)

6) Ölçeklenebilirlik ve Elde Edilebilirlik:

ASP+, ölçeklenebilirlik düşünülerek tasarlanmıştır. Bu nedenle, kümelenmiş ve çok-işlemcili ortamlarda performansı iyileştirmek üzere özel olarak tasarlanmış niteliklere sahiptir.

7) İsteğe Bağlı Biçimlendirme ve Uzatılabilirlik:

ASP+, geliştiricilerin uygun gördüğü yerlerde kodlarına takı yapmalarına izin veren iyi-faktörlü bir mimari sunmaktadır. ASP+ çalıştırıcısının herhangi bir alt bileşenini kendi yazdığınız herhangi bir bileşenle zenginleştirebilir veya değiştirebilirsiniz. İsteğe bağlı doğrulama veya durum servislerinin uygulanması daha kolay hale getirilmiştir.

Page 11: sunu (Asp.net -1)

8) Programlama Dilinde Bağımsızlık:

Asp.net programlama dillerimden bağımsızdır. Asp.net web yazılımları geliştirebilmek için 20 programlama dili ve fazlasını kullanabiliriz. Örneğin, VB.net, C#, JScript.net, C++ with Managed Extensions, COBOL.net, Perl.net.

9) Derlenmiş Kod:

Asp scripting dilleriyle çalışıyor. Fakat asp.net derlenmiş kod ve güçlü tipli dillerle çalışıyor. Asp.net bu nedenle gerçek veri tiplerini kullanıyor örneğin integers ve strings.

Asp.net de kullanılan programlama dilleri daha iyi olağanüstü durum işleme gücüne sahiptirler. Asp.net içerisinde try … catch … finally deyimleri ile olağanüstü durum işleme imkanına sahibiz

Page 12: sunu (Asp.net -1)

10) Sürükle & Bırak ve Olay Bazlı Programlama:

VB’nin en güzel taraflarından birisi sürükle ve bırak objeleri sistemi ve olay bazlı programlama yani click, doubleclick, textchange gibi.

Asp.net bu özellikleri Web Formlarıyla aynı şekilde kullanabilirsiniz. VB de nasıl program geliştiriyorsanız, asp.net Web Formları da fonksiyonelliği sağlıyor.

11) Mobile Programlama Desteği:

Asp.net ile sadece web yazılımları değil ayrıca mobil telefonları ve PDA’lar içinde yazılım geliştirebilirsiniz.Asp.net de mobil aletleri için WML (Wireless Markup Language) veya HTML 3.2 (Hyper Text Markup Language) veya cHTML (Compact Hyper Text Markup Language) of I-mode aletlerini destek sağlar. asp.net mobil aletin kullandığı protokolü otomatik olarak belirler ve ona göre sonucu geri döndürür.

Page 13: sunu (Asp.net -1)

12) Bağlantısız Veri Erişimi:

Asp ve ADO nun en önemli sorunlarından birisi ADO her zaman veritabanına canlı bağlantıyı tutar. Buda asp sayfalarının çalıştırılmasını önemli ölçüde yavaşlatır. ADO.net bağlantısız veri erişimini sağlayan sistemi bizim kullanımımıza sunar.

13) Session state:

Asp session değişkenleri desteği çok sınırlıdır ve birden fazla web server dan oluşan sistemde session değişkenlerini hiç desteklemez.Asp.net de, birçok session depolama metodunu destekler örneğin In-Process (asp ile ayni), out-of-process (session durumu başka bir bilgisayardaki Windows Servis ile sağlanır) ve SQL Server’da. Out-of-process ve SQL Server seçenekleri web farm desteği sağlar.

Page 14: sunu (Asp.net -1)

14) Güvenlik Desteği:

Asp sadece IIS authentication metodlarını desteklerken asp.net daha geniş güvenlik sistemini destekliyor.örneğin IIS/Windows doğrulama sistemlerinden Basic doğrulama, form bazlı doğrulama ve Microsoft Passport doğrulama. Asp.net içerisinde yeni olarak Windows kullanıcı doğrulama sistemine ek olarak form bazlı kullanıcı doğrulama sistemi geliştirilmiştir. Bu yeni sistemde çerez yönetimi ve otomatik olarak doğrulanmayan kullanıcıların başka bir web sayfasına gönderilmesi gibi güzel özellikler eklenmiştir.

Page 15: sunu (Asp.net -1)

15) XML Bazlı Konfigürasyon:

Asp içerisinde ise konfigürasyon bilgileri çok değişik yerlerde saklanıyordu. Örneğin, IIS bilgileri IIS ****base (registry) de saklanmaktadır.Asp.net konfigürasyonu metin dosyaları ile yapılır. Bu metin dosyaları XML dosyalarıdır. Asp.net de XML ayrı bir önem kazanmıştır. Asp.net de çalışan programı kesmeden bu konfigürasyon dosyaları değiştirilebilir. Asp.net bunu arka planda, kullanıcıdan saklayarak halleder. Yeni bir web isteği geldiğinde asp.net worker process (çalışan işlemci) yeni konfigürasyonla işleme devam eder.

Page 16: sunu (Asp.net -1)

16) XCopy Kurulum:

COM bileşenlerinden farklı olarak .net bileşenleri Windows registry’e kayıt edilmesine gerek yoktur. Yapmamız gereken tek şey bileşeni derlemek, asp.net yazılımının bulunduğu klasörde BIN isimli bir klasöre ekledikten sonra bu derlediğimiz bileşeni kopyalamaktır.

17) Hosting Seçenekleri:

Asp bir ISAPI programı olup IIS e bağlıdır. Asp.net ise .net framework üzerinde çalışır, böylece asp.net sayfaları bu nedenle IIS dışındaki web serverları tarafından da sunulabilecektir.

Page 17: sunu (Asp.net -1)

18) Daha hızlı web uygulamaları:

ASP.NET derlenmiş kod ve saklanma işlemi ile hız kazanıyor. Daha önceki ASP sürümlerinde bir kullanıcı web sitesine girdiği zaman bilgisayar üzerinde anlık derlemeler yapılırdı ve bu hız kaybına neden olurdu. Artık ASP.NET ile hazırlanmış bir kod, bir ziyaretçi tarafından hiçbir zaman ziyaret edilmese bile derleniyor. Saklama işlemiyle de hafızaya bilgi depolanıp, bu sayede kullanıcılara verilerin daha hızlı yollanması sağlanabiliyor.

19) Güçlü veri tabanı fonksiyonları:

ASP gibi ASP.NET de programcıların veri tabanlarıyla etkileşimli çalışabilen web uygulamaları yapabilmesine izin veriyor. ASP.NET’in asıl avantajlı bir çok programlama aracına imkan veren Nesne Merkezli programlama ile çalışması. Bu sayede daha fonksiyonel ve daha hızlı tasarıma imkan sağlıyor.

Page 18: sunu (Asp.net -1)

20) Hafıza sızıntısı ve çökme koruması:

ASP.NET teki en çok beğenilen yeniliklerin başında hafıza sızıntısı ve çökme koruması özellikleri geliyor. Özellikle hafıza sızıntısı, çoğu kullanıcı tarafından pek bilinen bir konu değilken, sistem yöneticilerini sıkıntıya sokan durumlardan biridir. ASP.NET ile bu hatalar otomatik olarak düzeltilerek, kullanıcıların her zaman web sitesine ulaşabilmesi sağlanıyor.

21) Çoklu dil desteği:

Programcılar artık 25’ten fazla .NET dili ile ASP.NET’i kullanabiliyorlar. Bu dillerden bazıları VB.NET, C# ve Jscript NET. Geniş dil desteği sayesinde birçok programcı web uygulamalarını kolayca hizmete sunabiliyor.

Page 19: sunu (Asp.net -1)

22) .NET"in parçası olmak:

.NET çatısı 3400’den fazla sınıftan oluşan bir yapıya sahip, ASP.NET de .NET’in bir parçası olduğu için neredeyse web uygulaması olarak yapılamayacak hiçbir şey yokmuş gibi gözüküyor.

23) Programlar ve HTML artık aynı sayfada değil:

Önceki sürüm ASP’lerde göze çarpan sorunlardan biri HTML sayfasında programlamanın da görünmesiydi. Diğer bir deyişle, scriptler ve HTML aynı sayfadaydı. Artık gösterilen kod ile script kodu ayrılmış olduğundan, Microsoft bunun önüne geçmek için bir önlem almış gibi görünüyor.

Page 20: sunu (Asp.net -1)

Dezavantajları

1) Windows zorunluluğu:

ASP.NET halen Windows işletim sistemi kullanan bir sunucu üzerinde yapılandırılmak zorunda; kısacası platform bağımsız değil.

2) Güvenlik:

Güvenlik açıkları ASP.NET’ten değil IIS’ten kaynaklanıyor. Her yeni sürümde açıkları kapansa da IIS dünya çapında güvenlik açıklarıyla ünlü fakat .NET ile bununda bir dezavantaj olmaktan çıkması bekleniyor

Page 21: sunu (Asp.net -1)

3) Bedava değil:

ASP.NET bedava değil. Kendi bilgisayarınızda ASP.NET kullanabilmek için (lisanslı) bir Windows sürümüne ihtiyacınız var.

4) Eklenti krizi:

ASP.NET kaynak olarak bedava gibi görünebilir. Bir işlemi yapmak için gereken eklentiler genelde ücretli olarak satılıyor.

5) Hosting maliyeti:

Eğer dışarıdan hosting hizmeti alacaksanız biraz daha fazla para ödemek gerekiyor.

Page 22: sunu (Asp.net -1)

Web Sunucusu – IIS (Internet Web Sunucusu – IIS (Internet Information Services) Information Services)

• Bilgisayarınızda ASP dosyaları çalıştırmak için IIS yi kurmanız gerekmektedir.

• IIS işletim sistemleriyle birlikte gelir fakat kurulu olarak gelmez.

• Kurmak için aşağıdaki işlemleri sırasıyla yapınız. (Aşağıdaki İşlemler Windows 7 içindir. ) Denetim Masası > Program Ekle Kaldır > Windows özelliklerini aç veya kapat dediğinizde pencere açılacaktır. Internet Information Services (IIS) ayarları şöyle olmalıdır.

Page 23: sunu (Asp.net -1)
Page 24: sunu (Asp.net -1)

ASP.net Sayfa Yapısı ve ASP.net Sayfa Yapısı ve ElemanlarıElemanları

• Net sayfalarını hangi programlama diliyle yazılırlarsa yazılsın görüntülenmelerini sağlayan program, tarayıcılardır.

• Tarayıcıların yorumlayabildikleri dil ise HTML (ve betik kodlardır, örneğin javascipt, vbscript, jscript). Bu nedenle bir web uygulaması tarayıcıda görüntülendiği sürece hangi programlama diliyle geliştirilirse geliştirin uygulamanın çıktıları HTML veya betik kodlar olacaktır

Page 25: sunu (Asp.net -1)

• Asp.NET ile geliştirdiğiniz uygulamalar da çalıştırılma sonucu çıktıları HTML ve betik kodlar olarak tarayıcıya gönderilir. Tarayıcı da bu kodları yorumlayarak tarayıcı penceresinde görüntüler. Gördüğünüz sayfanın bahsedilen HTML (ve betik kodlar) kodlarını sayfanızın “Kaynak kodu”na bakarak görebilirsiniz. Daha önce oluşturduğunuz merhaba.aspx sayfasını inceleyelim.

Örnek:<%@ page language="VB"%><script runat="server">sub page_load(obj as object, e as eventargs)metin.text ="Asp.NET Dünyasına Hosgeldiniz"end sub</script><html><body><asp:label id="metin" runat="server" /></body></html>

Page 26: sunu (Asp.net -1)

Bir Asp.NET sayfası 5 sayfa elemanından oluşur.•Sayfa bildirim (direktif)•Kod bildirim blogu•HTML sayfa bildirimleri ve HTML elemanları•Kod sunucu blogu•Web formu ve web kontrolleri1)Sayfa Bildirim (Direktif)Sayfanın başında genelde sayfa denilen bir bildirim bölümü bulunur. Bu bölümde sayfa hakkında birtakım bilgiler verilir.

ifadesiyle sayfada kullanılacak programlama dilinin VB (Visual Basic) olacağı belirtilmiştir. Sayfa bildiriminin language seçeneği dışında birçok seçeneğe sahiptir.

<%@ page language="vb" %>

Page 27: sunu (Asp.net -1)

2)Kod Bildirim Bloğu<script runat=”server”></script> ifadeleri arasında yazılan bölüme “Kod Bildirim Blogu” denir. Kod bildirim bloğunda sayfanın program kodları bulunur. Bu kısımda kullanacağımız programlama dili, sayfa bildirim alanında bildirilir. <script runat=”server”> ifadesindeki runat=”server” kısmı bu bloktaki komutların sunucuda çalışacağını belirtir. Runat=”server” ifadesini “sunucuda çalış” olarak çevirebiliriz. Bu bölüm bir olayın gerçekleşmesi (örneğin, sayfanın yüklenmesi, gönder düğmesine basılması) durumunda çalışacak kodları bulundurur. Örnek sayfada düğmeye basılması durumunda çalışması istenen kodlar buraya yazılmıştır.

Page 28: sunu (Asp.net -1)

<script runat="server">sub tiklandi(sender as object, e as eventargs)mesaj.text = "Merhaba " & metin_kutusu.text & " Asp.NET sayfa yapısınıögrenmeye hazır mısın?"end sub</script>sub tiklandi(sender as object, e as eventargs)….end sub

Page 29: sunu (Asp.net -1)

3)HTML Sayfa Bildirimleri ve HTML ElemanlarıHTML sayfa bildirimlerinin ve HTML elemanlarının kullanıldığı bölümdür. Örnek sayfada <h1>, <p> HTML etiketleriyle “Asp.NET Sayfa Yapısı” yazısı biçimlendirilmiştir. Aslında HTML etiketlerinin kullanımı sadece bu bölümle sınırlı değildir, etiketler Asp.NET sayfasının diğer bölümlerinde de kullanılabilir.

Page 30: sunu (Asp.net -1)

4)Kod Sunucu Blogu:Asp.NET sayfasına eklenebilecek mesaj ve yönergelerin bildiriminde kullanılır. <% %> etiketleri arasında kalan bölümdür. Bu etiketler ASP bildirimidir. Bu alandaki ifadeler derlenmeyip yorumlandıklarından performansları düşüktür. Bu nedenle bu blogun kullanılması tercih edilmez.Burada kullanılan

satırıyla ekrana bir metin yazdırılmaktadır. Response.write komutu Kod Bildirim blogunda da kullanılabilir .

Response.write("Kutuya adınızı yazıp, „Tıkla ve gör düğmesine ‟tıklayınız:<p>")

Page 31: sunu (Asp.net -1)

5)Web Formu ve Web Kontrolleri:• Sayfada web formunun oluşturulduğu bloktur. Web

formu, Asp.NET ile birlikte gelen yazım biçimi ve işleyişi farklı yeni bir form yapısıdır.

• Web formu, <form runat="server"> ifadesiyle başlar </form> ifadesiyle biter.

• Kullanıcının çeşitli veriler girmesini sağlayan formun oluşturulduğu bu alanda HTML ifadeleri de kullanılabilir.

Page 32: sunu (Asp.net -1)

• Web formu, istemci bilgisayarda değil tamamen sunucu bilgisayarda çalışır ve çalıştırma sonucu üretilen HTML kodları istemci bilgisayara gönderilir.

• runat=”server” ifadesi web form ve kontrollerinin sunucuda çalıştığını göstermektedir. Bu ifade yazılmadığında sayfa hata verir.

• Form elemanlarının sunucuda çalıştırılması, form kullanımının kontrolünün tamamen web sitesi geliştiricisinde olmasını sağlar.

Page 33: sunu (Asp.net -1)

TEŞEKKÜRLER!!