Ismail Hamzah

.NET
See also: Other Geeks@INDC

ASP.NET 2.0 Layered Application : Skin Dive ;-)

Pengalaman skin dive pertama saya adalah di pantai anyer bersama temen-temen dari SIAWARE8. Skin dive nya tidak terlalu menarik namun anak-anak SIAWARE8 nya sangat asik. Ok, mudah-mudahan skin dive di pantai "Layered Application" bisa lebih menarik ;-)

BO (Bussines Object)

Pada layer BO berkumpul banyak kelas yang menggambarkan sebuah record dari sebuah tabel. Kelasnya hanya berisi code get dan set yang akan mengisi dan mengambil nilai sebuah properties. Propertiesnya merupakan kolom-kolom dari tabel yang hendak di petakan menjadi BO. Misalkan ada tabel seperti dibawah:

maka kelas BO yang bersesuaian dengan tabel diatas adalah seperti berikut:

dapat dilihat bahwa kelas BO hanya berisi get dan set.

DAL (Data Access Layer)

Lapisan DAL berisi kelas-kelas yang mengandung code-code yang mengakses database secara langsung. Disinilah tempat yang paling baik untuk memanggil stored procedure yang ada di database. Pada DAL, saya membuat sebuah kelas yang akan dijadikan induk bagi semua kelas yang berada di DAL. si induk ini hanya bertugas membuat object database dengan menggunakan informasi connection string dari web.config. Why? agar proses pembuatan object database hanya dilakukan di satu tempat, jadi ketika ada perubahan informasi connection string kita hanya akan melakukan perubahan di satu tempat saja, tidak di semua kelas DAL. Berikut adalah contoh kelas induk di DAL yang saya beri nama kelas DAL:

 

dan berikut adalah kelas di DAL yang diturunkan dari kelas induk diatas:

Dapat dilihat bahwa kelas yang terdapat di lapisan BO digunakan disini. Method GETALLEMPLOYEE memanggil stored procedure DEMO_EMP_GET_ALL(). Dan karena yang akan dikembalikan oleh SP tersebut adalah banyak record, maka digunakanlah List dari BO untuk menangkap kembalian dari SP.

BLL (Bussiness Logic Layer)

Kelas-kelas di BLL akan memanggil method-method yang terdapat di DAL. berikut adalah contohnya:

BLL hanya memanggil method dari DAL. Kemudian, si BLL akan dipanggil oleh UI, berikut adalah contoh pemanggilan BLL oleh UI:

note: saya membuat BO, DAL dan BLL menggunakan C#, namun UI menggunakan VB.NET. .NET canggih kan :-)

untuk memperdalam, silahkan download DotNetNuke dan install pada mesin kesayangan Anda. setelah itu selamat "menelanjangi" DNN dan selamat terkagum-kagum dengan arsitekturnya :D

that just my two cents.

Share this post: | | | |
Posted: Mar 11 2008, 02:00 PM by go2ismail | with 10 comment(s)
Filed under:

Comments

agung said:

Keep writing !

:)

# March 11, 2008 3:55 PM

go2ismail said:

okie dokie :-)

# March 11, 2008 4:03 PM

agung said:

So, another people inspired with DNN right ?

:)

Berarti racun gue melekat erat ya. Wakakaka...

:p

# March 11, 2008 4:15 PM

mh.irfan said:

Well...well...finally Mr.Ismail is comeback, ahlan wa sahlan!!

# March 11, 2008 5:57 PM

mh.irfan said:

Oh iya...btw Gmail chat-nya online dunk... :)

# March 11, 2008 6:28 PM

go2ismail said:

hehehe.. apan ente tau gw kagak suka chat =D

# March 11, 2008 7:42 PM

De_Joker said:

wah bos Ismail, di DNN bisa make Enterprise Library juga ya ? ( ngeliat di codingan ente:P) tutorial Enterprise Lib dunk

# March 12, 2008 7:03 AM

go2ismail said:

yes, sangat bisa sekali. Tapi sejauh yang saya tahu, core code dari DNN masih menggunakan ApplicationBlocks, ini bisa dilihat dari statements imports nya.

# March 12, 2008 9:07 AM

cl41 said:

apanya yg canggih ...??? biasa aja ...d dunia java dah dari dolo pake arsitektur terpisah kayak gitu :)

# March 12, 2008 10:12 AM

go2ismail said:

ok JVM dan CLR sama-sama barang canggih, life is cool huh :-)

# March 12, 2008 10:42 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 
Are you human?:  


Enter the numbers above: