Implementasi RMI pada C# dengan SCS

SCS merupakan framework yang berjalan diatas .NET 4.0
Framework ini bisa kita gunakan untuk mengimplementasikan RMI (Remote Method Invocation). SCS menggunakan protokol TCP untuk bertukar informasi antara host yang satu dengan yang lain. SCS itu sendiri menggunakan teknik komunikasi 2 arah, client-server dan server-client. Detail penjelasan mengenai framework ini bisa dicari di google ๐Ÿ™‚

Oke langsung saja kita praktekan :
1. Buatkan project dengan tipe Library untuk mendefinisikan service yang akan digunakan dengan nama misalnya “SimpleSCSLib”.

2. Buatkan interface dengan nama Inf_SimpleSCS.

[ScsService(Version = "1.0.0.0")]
    public interface Inf_SimpleSCS
    {
        string getHelloWorld();
    }

3. Sekarang kita buat 1 project lagi yang akan bertindak sebagai server dengan type project adalah ConsoleApplication dengan nama “ServerSide_SCS”.

4. Didalam project server ini dibuat sebuah kelas baru yang akan mengimpelementasikan fungsi yang sudah kita buat di library tadi. (Jangan lupa untuk menambahkan referenesi SCS dan SimpleSCSLib kedalam project server).
Kelas yang dibuatkan adalah “ServerSCS_Service”

    [Serializable]
    public class ServerSCS_Service: ScsService, Inf_SimpleSCS
    {
        string getHelloWorld()
        { return "Hello World" }
    }

5. Setelah itu kita buatkan kelas untuk mengetes dan menjalankan service di sisi server.

    public class Program
    {
        static void Main(string[] args)
        {
            var server = ScsServiceBuilder.CreateService(new ScsTcpEndPoint(10048));
            server.AddService<Inf_SimpleSCS, ServerSCS_Service>(new ServerSCS_Service());
            server.Start();
            Console.WriteLine("Server ON, ...");
            Console.ReadLine();
            server.Stop();
        }
    }

6. Langkah selanjutnya kita buatkan sisi clientnya dengan membuat project baru dengan tipe ConsoleApplication juga tetapi dengan nama “ClientSideSCS”. Didalam project ini kita tambahkan sebuah kelas yang baru untuk melakukan tes terhadapa service dari server dengan port 10048.

class Program
    {
        static void Main(string[] args)
        {
            var client = ScsServiceClientBuilder.CreateClient<Inf_SimpleSCS>(new ScsTcpEndPoint("127.0.0.1", 10048));

            Console.WriteLine("Tekan enter untuk koneksi ke server ...");
            Console.ReadLine();

            client.Connect();

            var teks = client.ServiceProxy.getHelloWorld();
            if (teks != null)
            {
                Console.WriteLine("Isi teks dari server adalah : {0}",teks);
            }
            else
            {
                Console.WriteLine("tidak ada.. !");
            }

            Console.WriteLine();
            Console.WriteLine("putus....");
            Console.ReadLine();

            client.Disconnect();
        }
    }

Dari contoh diatas bisa dikembangkan untuk proses yang lainnya seperti mengakses database dan lain-lain. Happy Coding.. ๐Ÿ™‚

Advertisements

3 Responses to Implementasi RMI pada C# dengan SCS

  1. yanuar7199 says:

    Wah udah mulai menginvansi C# ya pak ๐Ÿ˜€

  2. Vyor Oppier says:

    hahaha… udah lama.. skarang saya lagi kembangkan C# untuk ERP Ms Dynamics Axapta. biar compatible ya pake saja C#. ga jauh beda juga.. ๐Ÿ™‚

  3. Pingback: Tugas Sistem Terdistribusi Trimester 2 2013/2014 | Vyor Oppier

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: