Rio Oktora Forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Rio Oktora Forum


 
IndeksPortalLatest imagesPencarianPendaftaranLogin

 

 Windows Communication Foundation ( Yudi )

Go down 
PengirimMessage
Administrator
Admininstrator
Admininstrator
Administrator


Jumlah posting : 321
Join date : 09.05.09
Lokasi : Bandar Lampung

Windows Communication Foundation ( Yudi ) Empty
PostSubyek: Windows Communication Foundation ( Yudi )   Windows Communication Foundation ( Yudi ) Icon_minitimeThu May 19, 2011 11:45 pm



WCF merupakan akronim dari Windows Communication Foundation, salah satu teknologi baru dari Microsoft yang memungkinkan aplikasi dalam lingkungan terdistribusi berkomuniksi satu sama lain. WCF adalah model pemrograman lengkap untuk membangun aplikasi berorientasi layanan. Teknologi ini memungkinkan pengembang untuk membangun solusi aman, handal, dan mendukung transaksi, yang dapat terintegrasi lintas platform serta mampu beroperasi dengan investasi yang ada (Mike Liu, 2008).
WCF merupakan cara termudah membuat dan mengkonsumsi service pada platform microsoft maupun .NET. Dengan menggunakan WCF, pengembang dapat fokus pada aplikasi mereka daripada fokus ke protokol komunikasi, karena WCF meng-enkapsulasi terhadap teknologi dan pekerjaan teknis, sehingga pengembang bisa lebih produktif (Steve Resnick, 2008).
WCF mendukung berbagai teknologi seperti : Web service, Binary .NET to .NET communication, Distributed Transaction, Queued Messaging, RESTful Communication, serta mendukung WS-* Spesification.

Karena WCF mendukung komunikasi melalui Web Service maka WCF akan dapat saling beroperasi dengan aplikasi platform lain yang mendukung SOAP. Selain itu WCF juga mendukung spesifikasi WS-* sehingga menyediakan kehandalan, keamanan, dan transaksi ketika berkomunikasi dengan platform lain yang juga mendukung spesifikasi WS-* (David Chappel, 2007). WCF tidak mengharuskan untuk menggunakan protokol HTTP, tetapi juga bisa menggunakan TCP. Pertukaran message pun bisa menggunakan selain SOAP, tetapi bisa juga menggunakan XML sederhana ataupun JSON.
Berikut ini adalah beberapa komponen dasar dari WCF



Service
Sebuah service adalah unit fungsionalitas yang diekspos ke public (Juval Löwy, 2007). Sebuah service memiliki sekumpulan endpoint yang digunakan untuk berkomunikasi dengan client.

Gambar Service endpoint
Sebuah service juga memiliki service description yang memberitahukan ke publik bagaimana service tersebut dapat diakses, dan apa saja fungsionalitas yang tersedia pada service tersebut. Deskripsi paling umum yang biasa digunakan adalah WSDL, tapi kita juga dapat menggunakan cara lain misal menggunakan XSD Schema, WS-Policy, dan WS-MEX (WS-Metadata Exchange) (Scott Klein, 2007). Ketika kita melihat service lebih dalam lagi, di dalamnya akan terdapat komponen komponen seperti Binding, Service contract, dan kode program dari service.

Endpoint
Sebuah endpoint merupakan komponen dari service yang berkomunikasi dengan client dan menyediakan operasi operasi dari service. Sebuah service memiliki paling sedikit satu endpoint. Setiap endpoint memiliki address / alamat nya sendiri yang berbeda dengan endpoint yang lain (Scott Klein, 2007).

Address
WCF adress adalah lokasi / alamat spesifik dari service atau endpoint, tempat dimana message akan dikirim. Semua WCF service di-deploy pada address spesifik, dan mendengarkan request yang masuk pada address tersebut. WCF address memberikan dua informasi penting, yaitu: lokasi dari service dan protokol transport / skema transport yang digunakan untuk berkomunikasi dengan service. WCF address umumnya dituliskan dalam format URI / Unified Resource Identifier (Mike Liu, 2008).


Berikut ini format penulisan WCF Address :

[transport]://[machine or domain][:optional port]
WCF mendukung protokol atau transport schema berikut ini (Juval Löwy, 2007):
• HTTP
WCF dapat menggunakan http untuk transportnya. Apabila diperlukan dapat dikonfigurasi untuk menggunakan https yang lebih aman.
Contoh penulisan http://localhost:8001
• TCP
Untuk transport yang menggunakan alamat TCP, dapat dituliskan net.tcp pada URI address. Umumnya jika menggunakan TCP, juga diberikan nomer port, tetapi jika port tidak disebutkan maka digunakan port 808.
Contoh penulisan net.tcp://localhost:8002/MyService
• Peer Network
WCF service juga dapat menggunakan PeerToPeer (P2P) untuk skema transportnya. Tidak semua skenario harus berupa server-client, akan tetapi bisa juga peer-to-peer.
Contoh penulisan net.p2p://SimpleChatService
• IPC (Inter-Process Communication over named pipes)
Daripada menggunakan transport TCP ataupun HTTP yang lebih ditujukan untuk komunkasi melalui jaringan, service dapat menggunakan IPC / Named Pipe sebagai mekanisme transport. Named Pipe merupakan mekanisme standar pada Windows untuk komunikasi antar proses di dalam suatu mesin. Pada WCF, service yang dikonfigurasi menggunakan Named Pipe hanya dapat menerima request dari mesin yang sama. Konsekuensinya, untuk penulisan address harus menyebutkan nama local machine dari komputer tersebut atau dengan menuliskan localhost sebagai nama mesin.
Contoh penulisan net.pipe://localhost/MyPipe
• MSMQ
Untuk skenario yang memerlukan mekanisme antrian dapat menggunakan skema transport Microsoft Management Queue (MSMQ).
Contoh penulisan net.msmq://localhost/private/MyService
Contract
WCF contract adalah sekumpulan spesifikasi yang mendefinisikan interface dari WCF service (Mike Liu, 2008). Sebuah service WCF berkomunikasi dengan aplikasi lain berdasarkan contract tersebut. Ada beberapa tipe contract yang digunakan
• Service Contract
Service contract merupakan interface dari WCF Service. Pada dasarnya kontrak ini mendefinisikan apa saja yang dapat dilakukan oleh service, termasuk nama service, namespace dari service, dan beberapa settingan lainnya. Di dalam interface dapat didefinisikan method atau operasi dari service. Suatu service WCF paling sedikit memiliki satu service contract.
• Operation Contract
Operation contract dideklarasikan di dalam service contract. Kontrak ini mendefinisikan parameter dan tipe pengembalian dari suatu operasi. Suatu operasi dapat mengambil tipe data primitif seperti integer sebagai parameter, namun bisa juga mengambil tipe data yang kompleks misalnya class. Suatu operation contract juga dapat untuk mendefinisikan setting level operasi, seperti: fault contract dari operasi, arah dari operasi (one-way, two-way, both-way), serta aliran transaksi dari operasi.
• Data Contract
Data contract adalah tipe data dari WCF service. Seluruh tipe data yang digunakan oleh WCF service harus dideskripsikan di dalam metadata sehingga aplikasi lain dapat beroperasi dengan service. Sebuah data contract dapat digunakan oleh operation contract sebagai parameter atau return type, atau bisa juga digunakan oleh message contract untuk mendefinisikan elemen. Untuk tipe data primitif tidak perlu didefinisikan data contract.
• Message Contract
Jika data contract digunakan untuk mendefinisikan tipe data dari service, maka message contract lebih digunakan untuk mendefinisikan format message dari SOAP. Message contract mendefinisikan elemen dari message serta settingan dan keamanan yang dapat diberlakukan pada level message.
• Fault Contract
Pada operation contract dari WCF service dapat dideklarasikan fault contract, jika terjadi suatu error dan error tersebut dapat dikembalikan kepada aplikasi pemanggil, maka aplikasi pemanggil akan diperingatkan dengan error tersebut. Tipe error ini disebut sebagai fault contract. Fault contract adalah opsional, artinya suatu operation contract dapat tidak diasosiasikan dengan fault contract atau diasosiasikan dengan banyak fault contract.
Binding
Binding adalah konfigurasi yang mendefinisikan bagaimana suatu endpoint dari service berkomunikasi dengan dunia luar. Setiap endpoint harus memiliki sebuah binding. Binding pada dasarnya sekumpulan properti yang mendefinisikan bagaimana pola transport, message, dan kemanan (Scott Klein, 2007). Binding dapat diatur secara programatik dalam kode, maupun melalui file konfigurasi. WCF telah mendefinisikan sekumpulan binding yang bisa langsung digunakan, antara lain: basicHttpBinding, wsHttpBinding, wsDualHttpBinding, netTcpBinding, dan lain-lain. Dari binding yang tersedia tersebut, kita dapat menggunakan yang sesuai dengan kebutuhan kita.
Behavior
Behavior mengontrol karakteristik runtime dari service atau endpoint (Scott Klein, 2007). Perbedaan antara behavior dengan binding adalah, behavior digunakan untuk mengkonfigurasi eksekusi lokal, sedangkan binding mengkonfigurasi pada level komunikasi. Ada banyak jenis dari behavior, tapi behavior tersebut dapat dikelompokkan dalam tiga tipe utama, yaitu: Service Behavior, Endpoint Behavior, dan Operation Behavior (Steve Resnick, 2008). Sebagai contoh, pada kelompok service behavior terdapat konfigurasi yang mengatur tenggang waktu timeout dari transaksi, mengatur jumlah maksimum sesi yang terjadi bersamaan, mengatur jumlah maksimum pemanggilan operasi yang terjadi bersamaan, mengatur apakah diijinkan mempublikasi metadata dari service, dan lain-lain. Behavior dapat diatur secara programatik dalam kode, maupun melalui file konfigurasi.
Hosting
Suatu WCF service haruslah diwadahi (di-hosting-kan) dalam suatu lingkungan agar supaya service tersebut dapat ditemukan dan digunakan oleh aplikasi lainnya. WCF Host adalah aplikasi yang mengontrol masa hidup dari service (Mike Liu, 2008). Ada beberapa cara melakukan hosting service WCF
• Self Hosting
Suatu service WCF dapat di-hosting pada dirinya sendiri, sehingga service berjalan sebagai suatu aplikasi tersendiri dan mengontrol masa hidupnya sendiri. Ini merupakan teknik termudah, akan tetapi beberapa fitur menjadi terbatas.
• Windows Service Hosting
Windows service adalah proses yang dikelola oleh sistem operasi Windows dan secara otomatis proses tersebut berjalan ketika Windows berjalan. WCF service juga dapat di-hosting-kan sebagai Windows service di suatu mesin / komputer.
• IIS Hosting
Cara ini dengan meng-hosting-kan WCF service ke IIS. IIS merupakan web server buatan Microsoft untuk platform Windows. Kelebihan cara ini adalah dapat memanfaatkan kemudahan fitur pengelolaan yang ada pada IIS untuk mengelola WCF service. Kelemahan cara ini adalah WCF service hanya dapat memanfaatkan protokol HTTP saja.
• Windows Activation Services hosting
Windows Process Activation Service (WAS) adalah mekanisme aktivasi proses untuk Windows Server 2008, Windows 7, dan Windows vista. WAS memiliki kelebihan yang sama seperti pada IIS Hosting, akan tetapi WAS memungkinkan digunakannya skema transport selain HTTP untuk WCF Service.


Contoh Penerapannya:
Membuat Class dari Microsoft Visual Basic
pertama adalah menyiapkan class nya. kita buat dengan menggunakan MS.Visual Foxpro. berikut ini adalah Class nya :
Define Class Person_class As Session OlePublic
Function namatgl(tgl_n_n as Date) as String
tgl_n_n=DATE(YEAR(tgl_n_n),MONTH(tgl_n_n),DAY(tgl_n_n))
nmtanggl_r= this.namahari(tgl_n_n)+' , '+ THIS.strtgl(tgl_n_n)
Return nmtanggl_r
ENDfunc
hidden Function namahari(nmhari as Date) as String
nmhari_no=Dow(nmhari)
nmhari_no_nm=Substr('MingguSenin SelasaRabu Kamis Jumat Sabtu ',nmhari_no*6-5,6)
Return Trim(nmhari_no_nm)
ENDfunc
HIDDEN Function strtgl(strtglstrtgl as Date) as String
strtgl_bln=Alltrim(Str(Day(strtglstrtgl)))+' '+ THIS.NamaBln(strtglstrtgl)+' '+Alltrim(Str(Year(strtglstrtgl)))
Return strtgl_bln
ENDfunc
PROTECTED Function NamaBln(NmBlnx as Date) as String
If Type('NmBlnx')="D"
NmBlnx=Month(NmBlnx)
Endif
NmBln_tgl_bln=Substr('Januari Pebruari Maret April Mei Juni Juli Agustus SeptemberOktober November Desember ',NmBlnx*9-8,9)
Return Trim(NmBln_tgl_bln)
ENDfunc
Enddefine
setelah itu class tersebut kita Build menjadi Multi-threaded COM server, yang nanti diperoleh sebuah file berekstensi *.dll . kita beri nama testcom2.dll

lalu kita daftarkan file dll tersebut kedalam register. Buka Start Button pada windows anda, lalu klik Run. setelah itu pada textbox Open ketik Regsvr32 [path file\namafile]. Setelah itu tekan tombol OK. maka akan muncul messagebox seperti ini :


Kembali Ke Atas Go down
http://riooktora.nstars.org
 
Windows Communication Foundation ( Yudi )
Kembali Ke Atas 
Halaman 1 dari 1
 Similar topics
-
» Windows Communication Framework
» Windows Communication Framework Dengan Microsoft Visual Studio

Permissions in this forum:Anda tidak dapat menjawab topik
Rio Oktora Forum :: Universitas Bandar Lampung :: Fakultas Ilmu Komputer-
Navigasi: