Penjelasan Mengenai Microsoft.net framework dan Link Download

Dot NET Framework

Di luar beragamnya definisi .NET Framework, .NET Framework merupakan “Man Behind The Gun” dari VB.NET sehingga kita perlu megetahui jeroan dari teknologi yang ada di dalamnya.
Saya akan memberikan sedikit penjelasan mengenai .Net Framework ini. Microsoft .NET adalah software yang menghubungkan informasi, orang, system dan device! Perangkat yang menjangkau client, server dan tool pengembang.
Microsoft .NET disusun oleh:
  • Dot NET Framework, digunakan untuk membangun dan menjalankan semua macam softwere termasuk aplikasi berbasis Web, aplikasi smart client, dan layanan web XML (Extensible Markup Language). Menyediakan  komponen untuk berbagai data melalui Network menggunakan komponen platform protocol independent seperti XML, SOAP, dan HTTP.
  • Tool – tool pengembang  seperti Microsoft VisualStudio .NET yang penyediaan IDE (Integrated Development Enveronment! lingkungan pengembangan terintegrasi) untuk memaksimalkan produktivitas pengembangan menggunakan .NET Framework.
  • Serangkaian server termasuk Microsoft Windows Servwr 2003, Microsoft SQL Server dan Micosoft BizTalk Server yang terintegrasi, untuk menjalankan, mengoprasikan dan mengelola services Web dan aplikasi berbasis Web.
  • Softwere client seperti Windows XP, windows CE dan Windows Office XP yang membantu pengembangan untuk menyebarkan dan mengelola aplikasinya.
.NET Platform merupakan satu set kumpulan teknologi yang memungkinkan teknologi Internet ditransformasikan ke dalam platform distributed computing dengan skalabilitas dan kompatibilitas tinggi. Secara teknikal, .NET Platform menyediakan konsep pemrograman dengan library dan modul-modul baru yang konsisten, terlepas dari jenis bahasa pemrograman yang digunakan. 
.NET Platform menyediakan hal-hal berikut bagi para developer :
1)  Language independent, dengan programming model yang konsisten di semua tier aplikasi yang dibangun.
2)    Interoperability dan kompatibilitas antar aplikasi.
3)    Kemudahan migrasi dari teknologi yang ada saat ini.
4)    Dukungan penuh terhadap berbagai teknologi standar yang digunakan dalam platform internet, antara lain HTTP, XML, SOAP dan HTML. 
Teknologi inti .NET secara umum terdiri dari 4 area pokok :
1) .NET Framework  
.NET Framework adalah teknologi inti yang menyediakan berbagai library untuk digunakan oleh aplikasi di atasnya. Komponen inti .NET Framework adalah Common Language Runtime (CLR) yang menyediakan run time environment untuk aplikasi yang dibangun menggunakan Visual Studio .NET, terlepas dari jenis bahasa pemrogramannya.

Dengan adanya CLR tersebut, programmer dapat menikmati consistent object model dalam mengakses berbagai komponen library. Dengan demikian penggunaan bahasa pemrograman dalam dunia .NET adalah lebih ke masalah selera atau taste, dan bukan pada kelebihan maupun kekurangan masing-masing bahasa. Mengapa ? Karena semua bahasa pemrograman yang mensupport .NET mengakses library yang sama di dalam .NET Framework, dengan object model yang konsisten, dengan run time file yang sama. Bahasa adalah sekedar skin atau theme, bukan senjata sakti.
Apakah .NET Framework?
Dot NET Framework adalah linkungan untuk membangun, deploying menyebarkan,  dan menjalankan services Web dan aplikasi lainnya.
Dot NET Framework disusun oleh dua komponen utama, yaitu Common Language Runtime (runtime bahasa umum) dan .NET Framework Class Library (pustaka class .NET Framework.
Definisi di atas saya ambil dari penjelasan Microsoft dalam FAQ(Frequently Asked Questions) mengenai  .NET Framework. Secara sederhana .NET Framework adlah platform tunggal dimana semua orang dapat platform tunggal dimana semua orang dapat mengembangkan aplikasi menggunakan suatu system yang mirip dengan JVM(Java Virtual Machine). Hanya berbeda dengan java, tidak ada penghalang dengan bahasa .NET sehingga aplikasi dapat dikembangkan menggunakan bahasa: VB, C++, C#, J# dan 20 bahasa-bahasa pemrograman lainnya yang kompatibel dengan .NET Framework.

Tujuan dari .NET Framework adalah:
-Menyediakan lingkungan pemrograman berorientasi objek, apakah kode objek disimpan dan dijalankan secara lokal, dijalankan secara lokal tetapi disebarkan melalui internet atau dijalankan secara remote (dijalankan dari suatu tempat).
-Menyediakan lingkungan untuk menjalankan suatu kode yang meminimalkan konflik saat software deployment disebarkan dan versioning /tentang versi.
-Menyediakan lingkungan untuk menjalakan suatu kode yang menjamin keamanan saat kode dijalankan, termasuk kode yang dibuat oleh pihak yang tidak diketahui atau pihak ketiga yang setengah dipercaya.
-Menyediakan lingkungan untuk menjalankan suatu kode yang dapat mengeliminasi masalah performa dari lingkungan scripted dan interpreted.
-Membuat pengembang memiliki pengalaman yang konsisten dalam berbagai tipe aplikasi berbasis Windows dan aplikasi berbasis Web.

Definisi lainnya, .NET Framework bisa juga diartikan sebagai serangkaian teknologi yang :
·         Mempersatukan aplikasi Web yang sekarang masi terisolasi.
·         Membuat informasi tersedia di setiap saat dan di setiap tempat.
·         Menyederhanakan pengembangan dan penyebaran aplikasi.

Common Language Runtime (CLR)
Common language  runtime/CLR/runtime bahasa umum (runtime) merupakan dasar dari .NET Framework. Runtime adalah engine yang menjalankan aplikasi >NET Framework. Runtime menyediakan sejumlah service/layanan, seperti berikut ini:
·         Mengelola kode (loading dan menjalankan)
·         Isolasi memori aplikasi
·         Verifikasi untuk kemanan type
·         Konversi dari IL (Intermediate Language) ke kode native/asli.
·         Akses metadata (informasi yang dipercaya)
·         Mengelola memori pada objek managed/terkelola
·         Mengelola keamanan kode akses
·   Menangani eksepsi (kejadian yang tidak diharapkan yang muncul saat kode dieksekusi) termasuk eksepsi lintas bahasa
·         Inperoperation di antara managed code, objek COM(Component Object Model)
·         Otomatisasi layout objek
·         Mendukung layanan pengembang (profiling, debugging dan sebagainya)

Konsep pengelolaan kode merupakan prinsip dari runtime. Kode yang menjadi target dari runtime disebut managed code/kode terkelola, sedangkan kode yang tidak menjadi target runtime disebut unmanaged code/kode yang tidak terkelola. VB.NET akan menjalankan managed code apabila dalam system computer tersebut terdapat CLR atau dengan kata lain pemakai tidak dapat menjalankan aplikasi VB.NET tanpa menginstall CLR terlebih dahulu.

CLR “mengetahui” apa yang akan dilakukan pada data khusus (disebut metadata) yang berada dalam aplikasi. Metadata berisi peta dimana menemukan class, kapan memanggil class dan kapan mengatur batas isi runtime, menghasilkan native code/kode asli, mengatur keamanan, menentukan class manayang menggunakan metode dan memanggil class jika dibutuhkan. CLR juga menentukan kapan suatu objek digunakan dan dilepas. Semua itu disebut managed code. 
2) .NET Building Block Services 
Building block merupakan sekumpulan services yang bersifat programmable, yang dapat diakses secara offline maupun online. Service tersebut merupakan modul-modul yang terdapat di suatu komputer, server dalam jaringan, maupun di suatu server di internet.

Service ini merupakan suatu idealisasi di masa depan, dimana sebuah aplikasi bersifat terdistribusi dengan modul-modul yang tersimpan di berbagai tempat, tetapi dapat diintegrasikan membentuk suatu aplikasi. Konsep ini merupakan arah pengembangan subscription based software, yang saat ini mulai banyak berkembang dan dikenal sebagai Application Service Provider.
Service tersebut dapat diakses oleh berbagai platform, asalkan platform tersebut mensupport protokol SOAP, yang merupakan protokol standar dalam mengakses web service. Peranan XML sebagai media definisi data menjadi sangat penting dalam hal ini, dan XML juga menjadi pusat perubahan besar dalam platform .NET. Dalam pelajaran selanjutnya, anda akan melihat bahwa semua data dalam .NET selalu direpresentasikan dalam bentuk XML.
3) Visual Studio .NET
Visual Studio .NET menyediakan tools bagi para developer untuk membangun aplikasi yang berjalan di .Net Framework. VS.Net membawa perubahan besar dalam gaya pemrograman, karena setiap programmer dituntut untuk memahami .NET object model dan Object Oriented Programming dengan baik, jika tidak ingin menghasilkan aplikasi dengan performa rendah.
VS.Net juga semakin mempertipis jarak antara Windows Programmer dengan Web Programmer. Dunia scripting yang akrab bagi programmer web akan sulit ditemukan dalam .NET, karena pemrograman web sudah bersifat full object oriented, dengan fasilitas event driven programming sebagaimana layaknya windows programming. Pemrograman web menjadi lebih mudah dan menyenangkan bagi para programmer windows, sedangkan anda para veteran scripting language sudah saatnya untuk beralih ke ASP.NET, yang dapat diprogram menggunakan VB, C#, C++ maupun Phyton dan COBOL sekalipun.
Microsoft masih menyediakan Jscript.NET bagi anda para pecandu JavaScript dan JScript, sedangkan versi .Net dari VBScript belum diketahui apakah akan disediakan atau tidak. Para veteran VB.Script disarankan untuk mempelajari VB, sehingga dapat menggunakan VB.Net untuk membangun aplikasi web. Bahasa pemrograman yang terdapat di VS.NET adalah VB.NET, C#, C++ .NET, J#, dan Jscript .NET. Dalam masa mendatang akan terus ditambah berbagai bahasa pemrograman lain.
4) .Net Enterprise Server
Bagian ini merupakan sekumpulan server based technology yang digunakan untuk mendukung teknologi .NET, yang mencakup sistem operasi, database, messaging, maupun manajemen e-commerce. Teknologi yang disediakan antara lain adalah Windows 2000 Server, SQL Server, Exchange, ISA Server dan BiZTalk Server.