Saturday, February 27, 2016

PENJELASAN LENGKAP Arsitektur .NET dan .NET Framework

Arsitektur .NET dan .NET Framework

a. Common Language Runtime (CLR)

Konsep paling penting dalam .NET framwork adalah keberaaan dan
fungsionalitas .NET Common Language Runtime (CLR). CLR adalah
sebuah layer atau lapisan framework yang berada pada sistem operasi dan
menangani eksekusi dari aplikasi .NET. Program yang nantinya akan dibuat
tidak terkomunikasi langsung dengan Sistem Operasi, tetapi melalui CLR
terlebih dahulu.

b. MSIL (Microsoft Intermediate Language) Code

Pada saat mengkompilasi aplikasi .NET menggunakan bahasa
pemograman .NET (misalkan C#, VB.net atau C#.net), source code yang
telah anda buat tidak akan dubah langsung menjadi sebuah kode biner
executable tetapi diubah dahulu menjadi intermediate code yang bernama
MSIL, yang diinterpretasikan oleh CLR. MSIL adalah kode sistem operasi dan kode hardware yang berdiri sendiri. Pada saat program dieksekusi, MSIL akan mengubahnya menjadi
kode biner executable.

c. Just in Time Compilers (JITers)

Pada saat kode intermediate language membutuhkan untuk dieksekusi,
CLR akan meminta JIT compiler untuk mengompilasi IL (Intermediate
Language) ke native executable code (Exe atau DLL) yang dirancang pada
mesin atau OS tertentu. JITers pada dasarnya berbeda sama sekali dengan
compiler konvensional yang mengompilasi IL ke Native kode hanya pada
saat dibutuhkan. 

Misalkan ketika sebuah fungsi dipanggil, Intermediate Language dari
function body akan diubah pada saat itu juga atau just in time. Jadi, bagian
dari kode yang tidak digunakan tidak akan diubah menjadi native code.
Jika beberapa kode IL diubah ke native code, dan kode tersebut di lain
waktu dibutuhkan lagi, CLR akan menggunakan copy kode yang sama
(yang telah dikompilasi) tanpa harus mengompilasi ulang kode tersebut.
JITers sangat memperhatikan jenis processor dan sistem operasi pada saat
runtime. JITers dapat mengoptimasi kode dengan sangat efisien dalam
merancang sebuah aplikasi yang baik.

d. The Framework Class Library (FCL)

.NET Framework menyediakan banyak sekali jenis Framework Class
Library (FCL) untuk digunakan secara serentak dalam proses pengembangan
aplikasi. FCL berisi ribuan class yang menyediakan akses ke windows API
dan fungsi pada umumnya seperti Manipulasi String, Data struktur umum,
IO, Streams, Threads, Security, Network Programing, Pemrograman
Windows, Pemrograman web, data akses, dan masih banyak lagi yang
lainnya.
Pengertian sederhananya, FCL merupakan library standar besar yang
dikemas dalam satu bahasa pemrograman. Bagian terbaik dari library ini
adalah peggunaan teknik pemrograman object oriented yang membuat teknik
pengaksesan dan penggunaannya menjadi sangat sederhana. Anda dapat
menggunakan FCL pada program yang akan dibuat hanya seperti
menggunakan kelas-kelas lainnya. Anda bahkan dapat menerapkan teknik
inheritance dan polimorfisme pada kelas FCL ini.

e. Common Language Specification

Anda mungkin sering menggunakan istilah . “NET Compliant
Language” yang berasal dari common language specification (CLS).
Microsoft telah mengeluarkan sebuah subset kecil dari spesifikasi masingmasing
bahasa yang dapat digunakan dan dapat memenuhi standar .NET
Compliant Language.
CLS pada dasarnya adalah sebuah desain bahasa yang menetapkan
standar bawah tertentu. Sebagai contoh, misalkan anda membuat program
namun tidak terdapat pointer , tidak terdapat multiple inheritance, maupun
tidak ada global variable, maka kode anda dijamin dapat digunakan lagi pada
bahasa .NET yang lain selama masih dalam ruang lingkup CLS.

f. The Common Type System (CTS)

.NET juga mendefinisikan sebuah common type system (CTS). Seperi
CLS, CTS juga terdiri dari beberapa set standar. CTS mendefinisikan tipe data
dasar ang dipahami dan digunakan oleh IL. Masing-masing .NET Compliant
Language harus memetakan datanya pada sebuah tipe data standar.
Hal ini yang membuat dua bahasa berkomunikasi satu sama lain
dengan cara menerima parameter untuk dan dari satu sama lain. Misalkan,
CTS mendefinisikan sebuah tipe data int (integer 32 bit) yang dipetakan
dengan bahasa C# menjadi int dan VB.NET juga akan memetakanna menjadi
tipe data integer.

g. Garbage Collection (GC)

CLR juga berisi sebuah Garbage Collector (GC) yang berjalan di
prioritas thread rendah dan memeriksa apakah terdapat alokasi ruang memori
yang tidak direferensikan. Jika Garbage Collection menemukan beberapa data
yang tidak direferensikan oleh sebuah variable, ruang memori tersebut akan
dikembalikan lagi ke sistem operasi. Kehadiran Garbage Collector berguna
untuk memudahkan programmer dalam melacak data yang kacau.

h. .NET Framework

.NET Framework adalah kombinasi dari layer CLR, FCL, Data, dan
kelas XML, Windows, aplikasi web dan web service. Framework adalah
sebuah kerangka penopang sebuah program untuk dapat berjalan pada suatu
sistem operasi. Contohnya adalah yang biasa kita kenal dengan .NET
Load disqus comments

0 komentar