Jika anda merasa blog ini bermanfaat dan berharap tetap berkelanjutan baik website maupun content-nya maka anda dapat berpartisipasi dengan memberikan donasi pada website ini. Donasi lewat Paypal dibawah ini.

If you think this website is usefull and want to this website that can still exist and keep content maintenance then you can participate to donate this website. Donate via Paypal as below.

Released Majapahit Project 1.0

by Agus Kurniawan 2. January 2010 01:08

Sometimes we want to know what’s happening about our server condition on data center.  Normally, we check system monitoring each server via server remote. It’s a pain if we have many servers then we want to know all server status on one view.

majapahit-for-codeplex

The goal of Majapahit project is to help administrators/data center owners to monitor server system based on Linux and Windows.

Features

Majapahit System Monitoring can monitor the availability of systems such as

  • Active Directory on Windows Server 2008
  • OpenLDAP on CentOS/RHEL
  • Email server
  • DNS and DHCP on Windows Server 2008 and CentOS/RHEL
  • Web Server IIS and Apache
  • Database Server: MySQL and SQL Server 2008

image

A Majapahit tool also can retrieve system information such hardware and software on server. System information of server covers

  • Operating System
  • Network Information
  • Hardware Information
  • Processor
  • Memory
  • CPU
  • CD/DVD driver
  • NIC Adapter
  • Graphics Adapter
  • Software Information
  • Installed software

System monitoring dasboard can be accessed by browser and mobile device

image 

Reporting


Majapahit tool provides reports so IT owners can make decision for their systems. Majapahit reports cover

  • List of system of server by date & months
  • Detail information by system server
  • Availability based on KPI by date & months
  • Availability by system, date & months

Download

You can download the latest Majapahit application on http://majapahit.codeplex.com

majapahit_logo


Donate this article:

Tags:

Linux | Windows | C/C++ | .NET | Distributed System

Hello World WCF

by Agus Kurniawan 20. August 2009 16:48

Seperti sebelumnya gw jelas mengenai singkat WCF di http://blog.aguskurniawan.net/post/Introduction-to-Windows-Communication-Foundation-(WCF).aspx. Saatnya kita coba mempraktekan WCF.

Lab Environment

Untuk keperluan ini dibutuhkan

  • OS Windows XP/Vista atau Windows Server 2000/2003/2008
  • Visual Studio 2008

Membuat Aplikasi Hello World WCF 3.5

Disini kita membuat aplikasi WCF yang dihosting di web ASP.NET. Sedangkan client akan berbentuk console app.

WCF Server

Pertama-tama kita buat aplikasi WCF server yang bertindak sebagai service server. Berikut ini langkah-langkahnya:

Buat project dan pilih templet ASP.NET Web Application, lihat gambar dibawah 

wcf1

Beri nama project dan solution. Jika selesai klik tombol OK. Selanjutnya pada project tersebut, klik kanan dan pilih Add->New Item, contohnya seperti gambar dibawah

wcf2  

Kemudian akan muncul kotak dialog seperti gambar dibawah

wcf3

Pilih WCF Service dan tulis nama file nya. Jika selesai, klik tombol Add. Misalkan disini namanya MyWCF maka akan dihasilkan file IMyWCF.cs, MyWCF.svc, dan MyWCF.svc.cs

Berikut ini code untuk IMyWCF.cs

[ServiceContract]
public interface IMyWCF
{
    [OperationContract]
    string DoWork(string data);
}

Sedangkan implementasi pada file MyWCF.svc.cs

public class MyWCF : IMyWCF
{
    public string DoWork(string data)
    {
        return string.Format("Data={0}", data);
    }
}

Jika selesai, lakukan compile dan build. Pastikan tidak ada error. Kalau sudah ok, kita test WCF server nya. Caranya klik kanan file MyWCF.svc dan pilih menu View in Browser

wcf3-1

Selanjutnya pada browser akan muncul tampilan seperti dibawah ini

wcf3-2

Ok, pekerjaan pembuatan WCF server sudah selesai.

WCF Client

Setelah WCF server selesai dibuat, kita akan membuat aplikasi client berbasis console. Tambahkan project baru dengan template Console Application.

wcf4

Setelah project console dipilih maka pertama-tama kita menghubungkan aplikasi WCF client ke WCF Server. Caranya klik kanan project dan pilih menu Add Service Reference seperti gambar dibawah ini

wcf5

Selanjutnya akan muncul kotak dialog seperti gambar dibawah ini

wcf6

Isi URL WCF Server dan kemudian klik tombol Go. Jika selesai, klik tombol OK. Ini akan menghasil Service Reference dan penambahan file baru yaitu app.config. Isinya:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <wsHttpBinding>
                <binding name="WSHttpBinding_IMyWCF" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                    allowCookies="false">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
                        enabled="false" />
                    <security mode="Message">
                        <transport clientCredentialType="Windows" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="Windows" negotiateServiceCredential="true"
                            algorithmSuite="Default" establishSecurityContext="true" />
                    </security>
                </binding>
            </wsHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:3569/MyWCF.svc" binding="wsHttpBinding"
                bindingConfiguration="WSHttpBinding_IMyWCF" contract="RefWCF.IMyWCF"
                name="WSHttpBinding_IMyWCF">
                <identity>
                    <dns value="localhost" />
                </identity>
            </endpoint>
        </client>
    </system.serviceModel>
</configuration>

Nilai http://localhost:3569/MyWCF.svc, dapat diganti disesuaikan dengan URL dan port nya.

Selanjutnya pada file Program.cs, tulis code sebagai berikut:

using System;
 
using ClientWCF.RefWCF;
namespace ClientWCF
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Call WCF");
 
            MyWCFClient wcf = new MyWCFClient();
            string resultData = wcf.DoWork("Selamat datang WCF");
            Console.WriteLine(resultData);
 
            Console.ReadLine();
        }
    }
}

Jika selesai, lakukan compile dan build. Pastikan tidak ada error yang terjadi.

Menjalankan Aplikasi

Pertama-tama jalan app WCF Server nya. Selanjutnya baru jalankan WCF client, berikut ini contohnya

wcf7

Apabila app WCF client dijalankan melalui VS 2008 dengan mode debugging maka mungkin mendapatkan error seperti dibawah ini

wcf8

Supaya gak keluar error diatas, pada bagian  WCF server, pastikan debug dibuat true

wcf9

Source Code

Source aplikasi ini dapat didownload di http://download.aguskurniawan.net/DownloadFile.aspx?file=3975b820-6099-4f80-914b-105a9be0c883

Semoga berguna….


Donate this article:

Tags: , ,

.NET | Distributed System

Introduction to Windows Communication Foundation (WCF)

by Agus Kurniawan 19. August 2009 06:19

Beberapa tahun lalu Microsoft meluncurkan suatu library atau framework yang dikenal Windows Communication Foundation atau disingkat dengan WCF. Library ini memungkinkan kita membantu kita dalam membangun aplikasi berbasis distribusi data. WCF ini sebenarnya merupakan enkapsulasi dari Socket sehingga para developer tidak perlu fokus ke level socket dalam membuat aplikasi distribusi data tetapi lebih fokus pada format data yang merupakan suatu kontrak yang mengikat ketika ingin melakukan komunikasi. Pada saat peluncuran library WCF, Microsoft sudah meluncurkan development tool yaitu Visual Studio 2005 yang targetnya untuk .NET Framework 2.0. Sedangkan library WCF tersebut berjalan diatas .NET Framework 3.0 atau diatasnya sehingga untuk membuat aplikasi WCF dengan menggunakan Visual Studio 2005 maka kita memerlukan WCF Extension yang diinstall dimana Visual Studio 2005 diinstall atau menggunakan Visual Studio 2008 yang baru-baru ini diluncurkan.

gambar1

Unified Programming Model


WCF tidak hanya hadir untuk menyelesaikan permasalahan dasar pada sistem distribusi tetapi juga memperbaiki dalam proses pengembangan perangkat lunak. WCF menawarkan model programming yang memungkinkan untuk integrasi beberapa model pemrograman. Tujuan integrasi model programming tidak lain hanya untuk meningkatkan kualitas dan mengurangi lamanya proses pengembangan perangkat lunak.
Model pemrograman yang ditawarkan pada WCF seperti yang terlihat pada gambar 1. Setidaknya ada 5 model pemrograman yang dapat kita gunakan untuk berkomunikasi dengan aplikasi WCF. Kelima model pemrograman ini antara lain

Web Service (WS)/WS Enhancement (WSE)


Web Service (WS) seperti kita ketahui merupakan salah satu cara untuk mendistribusi data dalam bentuk service dan model WS ini diimplementasi dengan pendekatan Service Orientation Architecture (SOA). Sedangkan WS Enhancement (WSE) adalah salah satu jawaban untuk menyelesaikan permasalahan pada WS terutama pada data transfer yang berupa plain text sehingga WSE memberikan alternatif lain yang memungkinknan data transfer dapat berupa binary. Selain itu, WSE juga menawarkan sistem sekuriti yang lebih baik. WS dan WSE dengan berbagai fitur yang mengesankan menjadikan ini salah satu solusi yang ditawarkan oleh Microsoft dan WCF sebagai pengembangan baru dari WS secara inline dapat berkomunikasi dengan WS maupun WSE melalui interop.

Attribute-Based Programming


Pemrograman berbasis Attribute adalah fitur yang ditawarkan oleh .NET Framework guna membuat aplikasi dengan mudah yaitu cukup dengan memasang attribute pada objek yang didefinisikan. Enterprise service adalah bentuk implementasi dari pemrograman attribute-based. Contoh enterprise service adalah COM+. WCF dapat berkomunikasi dengan COM+ melalui attribute-based.

REST/HTTP Programming


WCF tidak hanya berkomunikasi dengan platform tetapi juga dapat berkomunikasi pada protokol jaringan seperti HTTP. Protokool ini digunakan oleh WCF untuk distribusi data


Message-Oriented Programming


Salah satu bentuk message-oriented adalah MSMQ (Microsofr Message Queuing) yang dapat digunakan untuk distribusi data dan juga fitur antrian. WCF dan MSMQ dapat berkolaborasi guna menghasilkan aplikasi yang lebih baik.

.NET Remoting


.NET Remoting adalah platform komunikasi yang secara implementasinya hanya dapat digunakan pada lingkungan aplikasi berbasis .NET. WCF bisa dikatakan secara implisit merupakan pengganti dari teknologi .NET Remoting dengan fitur yang jauh lebih lengkap. Walau WCF dapat menggantikan .NET Remoting tetapi WCF sendiri dapat langsung berkomunikasi dengan .NET Remoting.

-----------------

Bersambung ke [V]


Donate this article:

Tags: , ,

.NET | Windows | Distributed System

About Agus Kurniawan

Agus Kurniawan

For more detail about me click here [V]

Please entry your name into my guestbook [V]

My Facebook



Agus Kurniawan is Microsoft MVP (Most Valuable Professional)