h1

Packaging untuk ASP.Net

Agustus 5, 2008

Language : Visual Basic .Net & Visual C#.Net


Packaging untuk ASP.Net

Pada teknologi .NET kita juga dapat membuat aplikasi web yang dinamakan ASP.NET dan tool pembuatnya menggunakan Visual Studio .NET. Sebelum membuat project ASP.NET dengan Visual Studio .NET maka kita harus memastikan bahwa IIS telah diinstal di komputer. Jika kita sudah menginstal IIS sebelum menginstal Visual Studio .NET maka secara otomatis Visual Studio .NET akan melakukan registrasi framework .NET ke dalam IIS, tapi apabila kita menginstal Visual Studio .NET terlebih dulu sebelum menginstal IIS maka kita harus melakukan registrasi framework .NET pada IIS secara manual dengan file aspnet_regiis.exe. Berikut ini cara menginstal framework.NET secara manual ke dalam IIS.

  1. Jalankan command line console. Pada Windows 2000, XP, dan 2003, console dapat dipanggil dengan mengklik Start | Run. Ketik cmd.
  2. Setelah kotak dialog Commandline muncul maka arahkan ke direktori di mana file aspnet_regiis.exe berada. Umumnya file ini diletakan di direktori Windows, contohnya:
    _C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

    Folder v1.1.4322 menunjukan versi framework .NET. Carilah versi tertinggi.

  3. Ketik command berikut:
    aspnet_regiis -i

Setelah IIS telah terregistrasi dengan baik maka kita sekarang siap membuat aplikasi web dengan ASP.NET. Kali ini, kita akan membuat implementasi dan deployment aplikasi web ASP.NET yang dibuat dengan Visual Studio .NET 2005. Dalam rancangan aplikasi ASP.NET ini kita akan membuat 3 page, yaitu:

  1. Page default.aspx yang berisi data-data tampilan. Page ini hanya dapat diakses jika pengunjung site sudah melakukan proses authentication.
  2. Page login.aspx adalah page untuk melakukan proses login.
  3. Page logout.aspx adalah page untuk melakukan proses logout.

Urutan prosesnya adalah sebagai berikut :

  1. Mula-mula user akan meminta page default.aspx.
  2. Jika user belum melakukan proses login maka sistem akan melemparkannya ke page login.aspx.
  3. Jika user sudah melakukan proses login maka page default.aspx akan menampilkan data yang diambil dari database.
  4. Pada page login.aspx, user memasukan user id dan password.
  5. Jika user memasukkan user id dan password dengan benar maka sistem akan melemparkan ke page default.aspx.
  6. User dapat mengakhiri session login-nya jika mengklik logout sehingga sistem akan melemparkannya ke page logout.aspx.

Pembuatan Aplikasi Web

Di bawah ini adalah langkah-langkah implementasi skenario yang telah kita buat :

  1. Buka Visual Studio .NET 2005.
  2. Buat project baru dengan template ASP.NET. Untuk C#, beri
    nama WebCSharpApp, sedangkan untuk VB.NET beri nama
    WebVBApp.
  3. Ubah nama file WebForm1.aspx menjadi Login.aspx.
  4. Buat UI untuk Login.aspx. Berikut ini properti komponennya:Label : Text = User ID
    Label : Text = Password
    TextBox : ID = txtUserID
    TextBox : ID = txtPassword, TextMode = Password
    Button : Text =- Login
  5. Klik dua kali tombol Login dan tambahkan kode di bawah ini:

    C#

    private void Button1_Click(object sender, System.EventArgs e)
    {

    if(this.txtUserID.Text.Trim()==”user” &&
    this.txtPassword.Text.Trim()==”123″)
    {

    Session["userid"] = this.txtUserID.Text;
    Response.Redirect(”default.aspx”);

    }

    }

    VB

    Private Sub Button1_Click(ByVal sender As System.Object,
    ByVal e As System.EventArgs) Handles Button1.Click

    If Me.txtUserID.Text.Trim() = “usr” And _
    Me.txtPassword.Text.Trim() = “123″ Then

    Session(”userid”) = Me.txtUserID.Text
    Response.Redirect(”default.aspx”) \

    End If

    End Sub

  6. Selanjutnya tambahkan page baru dengan cara mengklik kanan dan memilih menu Add | Add New Item.
  7. Akan muncul kotak dialog,pilih Web Form.
  8. Pilih template Web Form dan beri nama default.aspx. Klik tombol Open jika telah selesai.
  9. Buat UI untuk default.aspx, Berikut ini properti komponennya:Label : ID = lbError, ForeColor = Red, Text = [], Visible = False
    Label : Text = Data Employee
    HyperLink : NavigateUrl = Logout.aspx, Text = Logout
    DataGrid : ID = DataGrid1
  10. Tambahkan namespace baru berikut ini.

    C#

    using System.Data.SqlClient;

    VB

    Imports System.Data.SqlClien

  11. Tambahkan 2 method code berikut pada default.aspx.

    C#

    private bool ValidateLogin() {

    if(Session["userid"]!=null) {

    if((string)Session["userid"]!=”")

    return true;
    else
    return false;

    }

    return false;

    }

    private void PopulateData() {

    string sConn =
    “server=(local);database=northwind;uid=guest;pwd=123;”;
    string sSql = “select EmployeeID,FirstName,LastName from
    Employees”;

    try
    {

    DataSet ds = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter(sSql,sConn);
    da.Fill(ds);

    if(ds!=null)
    {

    this.DataGrid1.DataSource = ds.Tables[0];
    this.DataGrid1.DataBind();

    }

    }
    catch(SqlException err)
    {

    this.lbError.Text = err.Message;
    this.lbError.Visible = true;

    }

    }

    VB

    Private Function ValidateLogin() As Boolean

    If Not Session(”userid”) Is Nothing Then

    If Session(”userid”) <> “” Then

    Return True

    Else

    Return False

    End If

    End If

    Return False

    End Function

    Private Sub PopulateData()

    Dim sConn As String =
    “server=(local);database=northwind;uid=guest;pwd=123;”

    Dim sSql As String = “select
    EmployeeID,FirstName,LastName from Employees”

    Try

    Dim ds As New DataSet
    Dim da As New SqlDataAdapter(sSql, sConn)
    da.Fill(ds)

    If Not ds Is Nothing Then

    Me.DataGrid1.DataSource = ds.Tables(0)
    Me.DataGrid1.DataBind()

    End If

    Catch ex As SqlException

    Me.lbError.Text = ex.Message
    Me.lbError.Visible = True

    End Try

    End Sub

    Catatan:
    Ganti nilai pada Connection String sesuai dengan konfigurasi database Anda, terutama nilai user dan password.
    “server=(local);database=northwind;uid=guest;pwd=123;”

  12. Pada event Load dari page default.aspx, tambahkan kode di bawah ini.

    C#

    private void Page_Load(object sender, System.EventArgs e){

    // Put user code to initialize the page here
    if(!IsPostBack)
    {

    if(ValidateLogin())
    PopulateData();

    else

    Response.Redirect(”login.aspx”);

    }

    }

    VB

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e
    As System.EventArgs) Handles MyBase.Load

    If Not IsPostBack Then

    If ValidateLogin() = True Then

    PopulateData()

    Else

    Response.Redirect(”login.aspx”)

    End If

    End If

    End Sub

  13. Kemudian tambahkan page baru, yaitu Logout.aspx.
  14. Pada event Load pada page Logout.aspx, tambahkan kode berikut.

    C#

    private void Page_Load(object sender, System.EventArgs e)
    {

    if(!IsPostBack)
    {

    Session["userid"] = null;
    this.Session.Clear();

    Response.Redirect(”login.aspx”,true);

    }

    }

    VB

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e
    As System.EventArgs) Handles MyBase.Load

    If Not IsPostBack Then

    Session(”userid”) = Nothing
    Me.Session.Clear()

    Response.Redirect(”login.aspx”, True)

    End If

    End Sub

  15. Kompilasi project ini untuk memastikan bahwa tidak ada kesalahan.
  16. Sebelum menjalankan, tentukan Start Page dengan mengklik kanan page default.aspx. Pilih Set As Start Page
  17. Jalankan project ini.

Keterangan Kode

  • Mula-mula user akan masuk ke page default.aspx. Bagian event Load page default.aspx akan mengecek apakah user telah melakukan login dengan mengecek Session[“userid”] yang dila kukan pada method ValidateLogin()
  • Implementasi method ValidateLogin():
  • menampilkan data dengan cara mengambil data dari database SQL Server 2000 melalui objek ADO.NET:
  • Untuk bagian page Login.aspx, kita tidak mengunakan Windows Authentication, Active Directory Authentication, atau Database Authentication, melainkan mengunakan Hardcode. Penulis tidak
    membahas masalah authentication secara mendalam karena akan banyak dijumpai pada topik-topik yang berhubungan dengan sekuriti.
  • Jjika proses login sukses maka nama userid akan disimpan di session dan dilemparkan ke page default.aspx.
  • Pada Logout.aspx, kita melakukan penghapusan semua session dan melemparkan user ke page Login.aspx.
  • Klik tombol Login dan page akan berpindah ke default.aspx dan selanjutnya akan menampilkan data dari database. Jika kita ingin logout, cukup klik link Logout.

Pembuatan Packaging

Langkah selanjutnya kita akan membuat packaging dari aplikasi desktop yang telah dibuat. Lakukan langkah-langkah di bawah ini:

  1. Tambahkan project baru pada solution kita dengan mengklik kanan solution di bagian Solution Explorer.
  2. Pilih menu Add | New Project….
  3. Selanjutnya akan muncul kotak dialog untuk project baru.
  4. Pilih tipe project yaitu Setup and Deployment Projects.
  5. Pilih template yaitu Web Setup Project.
  6. Tulis nama project setup, misalnya WebSetup1.
  7. Setelah selesai, klik tombol OK.
  8. Untuk memasukkan aplikasi web yang telah dibuat di packaging, kita dapat mengklik kanan project setup
  9. Pilih menu Add | Project Output.
  10. pilih project yang akan ditambahkan ke packaging, misalnya project yang telah kita buat, yaitu WebCsharpApp (untuk C#) atau WebVBApp (untuk VB).
  11. Pilih menu “Primary output” dan “Content Files” dengan meng-kliknya sambil menekan Ctrl.
  12. Setelah selesai, klik tombol OK.
  13. Untuk melakukan Build Project Setup, klik kanan web project setup dan build.

Deployment

Setelah membuat aplikasi packaging maka langkah selanjutnya adalah menginstalnya ke komputer target.

  1. Untuk kasus ini, cara instalasi cukup dilakukan dengan mengklik file setup.exe yang merupakan hasil dari web project setup.
  2. Pada packaging web, pada langkah kedua dari kotak dialog Installation Wizard.
  3. Kemudian kita akan diminta memasukkan nama Virtual Directory yang akan masuk ke direktori wwwroot dari IIS.
  4. Port digunakan web server untuk melayani request. Umumnya port web server adalah 80.
  5. Untuk proses uninstall aplikasi web melalui file setup tersebut, Pilihlah “Remove [nama_project]” untuk menghapus aplikasi.

Tinggalkan sebuah Komentar