menu

Jumat, 27 Mei 2011

Mengenal .Net Frame Work

Dalam mempelajari Visual Studio, tidak akan lepas dari pengetahuan dan keperluan .NET Framework.
Apakah .NET Frameworks itu ?
Microsoft .NET Framework adalah sebuah platform yang baru dan revolusioner yang dibuat oleh Microsoft dalam mengembangkan aplikasi-aplikasi yang berbasis windows. Meskipun berjalan pada Windows, namun pada masa mendatang ia akan bekerja pada sistem operasi lain seperti FreeBSD, Linux, Macintosh bahkan perangkat personal digital assitant (PDA). Salah satu ide dibalik teknologi ini adalah keinginan mengintegrasikan berbagai sistem operasi yang berbeda-beda. Definisi .NET Framework dalam mengembangkan aplikasi-aplikasi hampir tidak ada batasannya. Anda dapat mengembangkan berbagai macam bentuk aplikasi desktop, aplikasi web, komponen, web services dan aplikasi lainnya sejauh yang bisa anda pikirkan. Konsep dan teknologi .NET membuka cakrawala baru bagi berkembangnya cara-cara modern pengembangan software.
.NET Framework didesain sedemikian rupa sehingga ia bisa digunakan oleh berbagai bahasa pemrograman seperti C#, C++, Visual Basic dan JScript. Agar hal ini bisa dilakukan, maka dibuatlah bahasa-bahasa yang spesifik .NET sehingga kita mengenal Managed C++, Visual Basic .NET, JScript .NET, J# bahkan untuk bahasa yang cukup tua semacam COBOL. Bahasa-bahasa pemrograman ini tidak hanya mampu mengakses .NET Framework, tapi mereka juga bisa berkomunikasi satu sama lain. Adalah hal yang biasa bagi programer C# untuk menggunakan kode-kode program yang ditulis menggunakan Visual Basic .NET, dan sebaliknya.



Mengapa disebut .NET Framework? Framework adalah kerangka. Artinya aplikasi yang anda bangun berlandaskan pondasi .NET. Apapun yang anda lakukan dalam pengembangan aplikasi mengacu pada komponen-komponen dasar .NET, terikat pada cara dan gaya .NET, tidak keluar dari aturan dan ketetapannya, kompatibel. Wujud .NET Framework itu sendiri adalah code library, atau kumpulan kode-kode program yang luar biasa besarnya. Sebuah aplikasi yang dihasilkan dari sebuah bahasa pemrograman .NET adalah sebuah aplikasi yang dirangkai menggunakan komponen-komponen .NET library sehingga anda bisa membayangkan betapa tergantungnya aplikasi tersebut pada .NET Framework yang membingkainya. Sedemikian besar dan rumitnya code library .NET Framework sehingga kode-kode ini dikelompokkan menjadi modul-modul yang disesuaikan fungsinya misalnya untuk I/O, jaringan, data dan sebagainya. Tujuan lain pengelompokkan modul kode program ini adalah karena setiap sistem operasi menggunakan blok-blok modul yang berbeda untuk bekerja. Perangkat PDA dengan sistem operasi Windows PocketPC menggunakan komponen-komponen yang berbeda dengan sebuah komputer bersistem operasi Windows 2000 misalnya. Pada sisi lain, ada juga hal-hal fundamental yang berlaku seragam pada semua modul misalnya tipe data. Tipe data di dalam .NET Framework adalah sesuatu yang mendasar sehingga semua bahasa pemrograman .NET harus memiliki kesamaan untuk menjamin interoperabilitas antara satu platform dengan yang lainnya. Standar ini disebut Common Type System (CTS).


.NET Framework tidak hanya mengontrol selama proses pembuatan aplikasi .NET, tapi juga pada saat aplikasi tersebut dieksekusi. Dengan selesainya proses pengembangan aplikasi .NET dan ia siap dijalankan, Common Language Runtime (CLR) akan mengambil peran dan bertanggung jawab mengeksekusi aplikasi itu. Kondisi ini menggambarkan bahwa aplikasi yang menggunakan .NET Framework adalah terkelola (managed) ketika ia dijalankan. CLR mengendalikan aplikasi tersebut dengan mengelola memori, sekuriti, pengalamatan, sumber daya dan sebagainya. Kebalikan dari managed adalah unmanaged, dimana bahasa pemrograman seperti C++ dapat mengakses fungsi-fungsi tingkat rendah dari sistem operasi. Pada pemrograman .NET kita hanya dapat menulis kode program yang dijalankan pada lingkungan managed (sehingga disebut managed code), dengan demikian kita bergantung pada CLR dalam pengendalian jalannya aplikasi dan interaksinya dengan sistem operasi.

Membuat sebuah aplikasi menggunakan .NET Framework sama artinya menulis kode program menggunakan .NET library dengan memakai bahasa pemrograman apapun yang mendukung .NET. Perangkat pengembangan aplikasi .NET yang tidak diragukan kepolulerannya saat ini adalah Ms Visual Studio .NET (VS) yang mendukung C#, C++, J# dan Visual Basic .NET. Agar sebuah kode program (katakanlah dengan bahasa C#) bisa dieksekusi, maka ia harus diubah ke dalam bahasa yang bisa dipahami oleh sistem. Bahasa ini disebut native code. Disebut demikian (native=lokal) karena kita berbicara mengenai kode program yang sama namun dapat diterjemahkan ke dalam “bahasa lokal” yang berbeda sesuai dengan sistem-sistem operasi yang menjalankannya. Konversi dari kode program menjadi native code disebut compiling dan dilakukan oleh sebuah compiler. Visual Studio adalah sebuah editor kode program sekaligus sebuah compiler.

Pada saat sebuah kode program di-compile bersama-sama .NET library, yang dihasilkan pertama kali bukanlah sebuah native code melainkan Microsoft Intermediate Language (MSIL) code. Kode ini tidak spesifik untuk sebuah sistem operasi, juga tidak spesifik untuk bahasa pemrograman tertentu. Baik kode program C# atau Visual Basic .NET akan di-compile menjadi MSIL code untuk langkah pertamanya. Sebuah MSIL code yang dihasilkan oleh compiler ditempatkan di dalam sebuah wadah yang dinamakan assembly. Wujud MSIL adalah sebuah aplikasi yang bisa dieksekusi, yaitu file yang berekstensi EXE dan library-library yang digunakan oleh aplikasi tersebut – umumnya berekstensi DLL. Selain berisi MSIL code, assembly mengandung resources yaitu data-data tambahan yang digunakan oleh MSIL seperti file gambar atau suara. Selain itu, assembly juga mengandung metadata yaitu informasi yang menerangkan isi dari sebuah assembly.

MSIL adalah hasil akhir dari proses pembuatan aplikasi .NET yang dilakukan oleh seorang programer. Jika ia bermaksud mendistribusikan aplikasinya untuk diinstal pada komputer-komputer klien, maka yang didistribusikannya adalah MSIL tersebut (bersama dengan resource yang diperlukannya dalam sebuah paket instalasi). Menurut teori, aplikasi yang sama akan dapat berjalan dengan normal pada sistem operasi Windows, sama baiknya berjalan pada komputer bersistem operasi Linux atau Macintosh yag di dalamnya terinstal .NET Framework. Bagaimana sebuah aplikasi yang tidak di-compile ulang dapat berjalan normal pada sistem operasi dan arsitektur mesinnya yang berbeda-beda? Rahasianya ada pada Just-In-Time (JIT) compiler.

Pada saat sebuah MSIL dieksekusi, secara diam-diam dan cepat JIT compiler di dalam CLR akan melakukan proses compiling tahap kedua untuk menghasilkan native code yang sesuai dengan target sistem operasi dan arsitektur mesin yang bersangkutan. Sesuai dengan namanya, just-in-time - proses ini dilakukan secara transparan. Setelah melewati tahap inilah akhirnya sebuah aplikasi .NET bisa berjalan normal di dalam lingkungan eksekusinya.

Pada masa-masa lalu sebuah kode program harus di-compile menjadi beberapa aplikasi yang masing-masing spesifik untuk sistem operasi dan arsitektur CPU yang berbeda-beda. Seringkali pula ditemui kasus dimana beberapa bagian kode program harus dioptimasi agar sesuai dengan platform mana ia dijalankan. Pada masa kini hal itu tidak perlu terjadi lagi karena JIT compiler menggunakan MSIL code yang independen terhadap mesin, sistem operasi dan CPU. Beberapa JIT compiler ada untuk berbagai target arsitektur. Pada proses compiling, sebuah JIT compiler yang tepat akan digunakan untuk menghasilkan native code sesuai dengan target arsitekturnya.

Keunggulan dari proses ini adalah kita menghemat waktu dan tenaga, bahkan kita tidak perlu memikirkan detail-detal ketergantungan sistem sehingga kita bisa lebih berkonsentrasi pada bagian-bagian penting dari kode program itu sendiri.


Ilustrasi berikut ini merangkum penjelasan di atas dalam proses pembuatan aplikasi.
  1. Kode program (dalam hal ini disebut juga managed code) ditulis menggunakan bahasa pemrograman .NET misalnya C# atau VB.
  2. Kode program di-compile menjadi MSIL dan disimpan dalam sebuah assembly yang siap didistribusikan.
  3. Pada saat eksekusi, MSIL di-compile oleh JIT compiler menjadi native code untuk target sistem operasi dan mesin tertentu.
  4. Native code dijalankan dengan CLR bersama aplikasi atau proses lainnya.



Program  .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. Bagi seorang .Net Developer, pemahaman terhadap konsep dan object model .NET Framework adalah jauh lebih penting daripada bahasa pemrograman itu sendiri. Bagi anda programmer VB6, tentu mengetahui bahwa diperlukan distribusi run time library khusus ketika menginstal aplikasi. Demikian pula ketika anda menginstal aplikasi yang dibangun dengan Visual C++ maupun Delphi. Dalam dunia .NET, hal tersebut sudah tidak diperlukan lagi, selama .NET Framework telah terinstal di komputer sasaran. Untuk informasi lebih detil tentang .NET Framework :
http://msdn.microsoft.com/netframework
http://msdn.microsoft.com/netframework/productinfo/topten/default.aspx
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. Informasi lebih lengkap tentang VS .NET : http://msdn.microsoft.com/vstudio
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.

Tidak ada komentar:

Posting Komentar