Sistem Terdistribusi TIK-604

dokumen-dokumen yang mirip
Sistem Terdistribusi

Sistem Terdistribusi 2. Model arsitektur Terdistribusi

Model arsitektur Terdistribusi

BAB 1 Service Oriented Architecture 1.1 Evolusi SOA

KOMUNIKASI PENGANTAR DATA TERDISTRIBUSI. Materi: 1. Komunikasi Data 2. Protocol 3. Remote Procedure Call 4. Object Remote

Sistem Terdistribusi TIK-604

Pemahaman mengenai Model arsitektur SisTer Mengetahui Sudut pandang logis Arsitektur Sistem Tersebar. Memahami model Arsitektur sistem

KOMUNIKASI. Universitas Informatika dan Bisnis Indonesia. 2.1 Komunikasi Data

Mengenal Java RMI. Wiranti Sri Utami. Abstrak. Pendahuluan.

Model Sistem Terdistribusi

Basis Data 2. Database Client / Server. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

Bab 3: Proses-Proses. Konsep Proses

Fase pertama: single user, single tasking

PROSES. Sistem Terdistribusi

1. Hardware terdistribusi. 2. Program terdistribusi. Nama : Gede Doddi Raditya Diputra NIM : Kelas : 5.C

BAB V Remote Procedure Call (RPC)

Bab 3: Proses-Proses. Konsep Proses

PEMROGRAMAN SISTEM TERSEBAR

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB II DASAR TEORI. teknologi informasi belum maksimal diterapkan. Penggunaan Personal Computer

KONSEP PROSES (CONT.)

Objek Terdistribusi dan Remote Invocation. I Made Andhika, S.Kom

PENERAPAN ARSITEKTUR THREE-TIER DENGAN COM+ DALAM PORTAL JURNAL

BAB 1 PENDAHULUAN 1.1 Pendahuluan

BAB I PENDAHULUAN 1.1 Latar Belakang

MODEL ARSITEKTUR SISTEM INFORMASI TERDISTRIBUSI

PENDAHULUAN. Gambar 1.1 Arsitektur Two-Tier 2 1 BAB I

SISTEM OPERASI TERDISTRIBUSI

Middleware Sebagai Jembatan Platform yang berbeda. Budi Susanto

ARSITEKTUR NETWORKING CLIENT

Sistem terdistribusi Processes, Threads and Virtualization pertemuan 3. Albertus Dwi Yoga Widiantoro, M.Kom.

BAB II DASAR TEORI. bersifat umum/non-spesifik (general purpose), dan secara khusus dirancang untuk

BAB II KAJIAN PUSTAKA

26/09/2013. Pertemuan III. Elisabeth, S.Kom - FTI UAJM. Referensi Model TCP/IP

TUGAS TELEMATIKA KOLABORASI DAN ARSITEKTUR CLIENT SERVER KELOMPOK 4: Amal Fajrin ( ) Suhartini ( ) Tri Fitriah ( )

Tujuan 04/07/ :01

Sharing Printer dengan Samba. Oleh. Md. Chrisna donny andrian. V c

Network Programming 2010 Jaringan & Aplikasinya. Husni Husni.trunojoyo.ac.id

PROSES, OBJEK DAN LAYANAN TERDISTRIBUSI

4. SISTEM OPERASI TERDISTRIBUSI

Firewall & WEB SERVICE

Komunikasi Antar Proses Interprocess Communication (IPC)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA SILABUS JARINGAN TERDISTRIBUSI

BAB I PENDAHULUAN 1.1 Latar Belakang

Distribusi Fungsi. Dengan pembagian fungsi untuk tiap komponen dalam sistem client server, berikut manfaat yang ada :

Web Services merupakan salah satu bentuk implementasi dari arsitektur model aplikasi N-Tier yang berorientasi layanan. Perbedaan Web Services dengan

Sistem Terdistribusi Penanganan Proses

SISTEM OPERASI (MANAJEMEN PROSES)

Bab II. TINJAUAN PUSTAKA

CONTOH PENDSTRIBUSIAN HARDWARE

Making Provisions for Applications and Services

KONSEP INTERAKSI. Adrianus W. K X Aziz Yudi Prasetyo Gregorio Cybill

Sistem Terdistribusi Arsitektur

MK. Pemrograman Berorientasi Objek PENGENALAN JAVA KARMILASARI

TUGAS SISTEM INFORMASI BERBASIS WEB. PHP Web Service. Nama : Ilham NIM : Kelas : 6B. Daftar isi

2.1. Sistem Komunikasi

BAB I PENDAHULUAN I.1 Latar Belakang

DISTRIBUTED OBJECT CORBA & RMI. Sistem terdistribusi week 13

Bab 1. Pengenalan Sistem Terdistribusi

BAB I PENDAHULUAN 1.1 Latar Belakang dan Permasalahan

PROSES PENGANTAR DATA TERDISTRIBUSI. Materi: 1. Thread 2. Client/Server 3. Agent

Interprocess communication atau komunikasi antar proses adalah inti dari sistem terdistribusi dan komunikasi antar proses-proses pada system-sistem

Soal terdiri dari 50 Pilihan Ganda Setiap soal pilihan ganda hanya satu jawaban yang benar

RENCANA PEMBELAJARAN SEMESTER (RPS)

WEB SERVICES. Sistem terdistribusi week 12

Sistem Terdistribusi. Silabus

Agenda. Protokol TCP/IP dan OSI Keluarga Protokol TCP/IP

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI

STRATEGI PENGEMBANGAN PERANGKAT LUNAK SI Oleh : Hanif Al Fatta

Pertemuan XI Database Connectivity Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

By : Agung surya permana ( )

JARINGAN KOMPUTER Layanan Dari TCP dan UDP Protocol

Contoh diatas merupakan aplikasi yang menggunakan server sebagai temapat penyimpanannya dan client sebagai tempat input data atau proses lainnya.

APLIKASI SISTEM PENDIDIKAN JARAK JAUH BERBASIS WEB

ABSTRAK. Kata Kunci: Layanan Pertukaran Data, Google Drive, API, REST API Google Drive, Cloud Storage.

Making Provisions for Applications and Services

Deskripsi Layanan Protokol TCP dan UDP. (Tugas Mata Kuliah Jaringan Komputer) Nama: Azwar Hidayat NIM: Kelas: SK 4 C

BAB II LANDASAN TEORI. Basis Data Terdistribusi didefinisikan sebagai sebuah collection of multiple,

Pengantar Sistem Terdistribusi

Distributed System. Number One Introduction. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom

1 BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENJURIAN ONLINE BERBASIS WEB SERVICE

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Sistem Terdistribusi Proses. S1 Sistem Komputer Musayyanah, S.ST, MT

TUGAS Mata Kuliah : Sistem Terdistribusi

BAB 2: INTRODUCTION TCP/IP

PEMROGRAMAN JARINGAN

Protokol. Pemrograman Client/Server dengan Java Socket. Protokol TCP/IP. Tipe pemrograman jaringan. Java Socket

Interoperabilitas. bagaimana mereka berkomunikasi?

Pertemuan III. Referensi Model TCP/IP

Komunikasi Antar Proses

Cari contoh dari pendistribusian komponen-komponen Hardware, Program, dan Procedure. Jelaskan!

BAB III LANDASAN TEORI

ANALISIS AVAILABILITAS LOAD BALANCING PADA WEB SERVER LOKAL

Enterprise Java Beans (EJB)

BAB 3 LANDASAN TEORI

Teknik Informatika S1

BAB IV IMPLEMENTASI DAN PENGUJIAN SERVER MMOG

Transkripsi:

Sistem Terdistribusi TIK-604 Husni.trunojoyo.ac.id Model-model Arsitektural Pertemuan 03, 13 Maret 2017 Husni husni@trunojoyo.ac.id

Sesi terakhir: Hari ini Tren & Tantangan dalam Sistem Terdistribusi Sesi hari ini: Model-model Arsitektur dari Sistem Terdistribusi Pengumuman: Proyek 2 dimulai segera setelah kuliah ini. Hadir server database: MySQL. Perubahan data lokal (SQLite) secara otomatis juga mengupdate server database MySQL.

Sistem Terdistribusi Sistem terdistribusi hanya kumpulan komponen hardware / software yang berkomunikasi untuk memecahkan masalah yang kompleks Setiap komponen mengerjakan suatu tugas tertentu. Setiap C0 komponen mengerjakan tugasnya masing-masing C2 C1 Mekanisme komunikasi

Tampak Sekilas Sistem Terdistribusi Google Expedia Server Peer 2 Peer 1 Peer 3 Search Client 1 1 Reservation Search Client 2 2 Reservation Google Search Airline Booking Search Client 3 Reservation Peer 4 Bit-torrent Skype Bagaimana sistem seperti di atas dikategorisasi?

Klasifikasi Sistem Terdistribusi Entitas apa yang berkomunikasi di dalam Sister? a) Entitas yang berkomunikasi Bagaimana entitas-entitas tersebut berkomunikasi? b) Paradigma komunikasi Apa peran dan tanggungjawab dari entitas tersebut? c) Peran dan tanggungjawab Bagaimana entitas dipetakan ke infrastruktur yang terdistribusi secara fisik? d) Penempatan entitas

Klasifikasi Sistem Terdistribusi Entitas apa yang berkomunikasi di dalam Sister? a) Entitas yang berkomunikasi Bagaimana entitas-entitas tersebut berkomunikasi? b) Paradigma komunikasi Apa peran dan tanggungjawab miliki entitas tersebut? c) Peran dan tanggungjawab Bagaimana entitas dipetakan ke infrastruktur yang terdistribusi secara fisik? d) Penempatan entitas

Entitas yang Berkomunikasi Entitas apa saja yang berkomunikasi dalam suatu sistem terdistribusi? Entitas berorientasi sistem (system-oriented) Processes Threads Nodes Entitas berorientasi masalah (problem-oriented) Obyek (dalam pendekatan berbasis object-oriented programming)

Klasifikasi Sistem Terdistribusi Entitas apa yang berkomunikasi di dalam Sister? a) Entitas yang berkomunikasi Bagaimana entitas-entitas berkomunikasi? b) Paradigma komunikasi Apa peran dan tanggungjawab miliki entitas tersebut? c) Peran dan tanggungjawab Bagaimana entitas dipetakan ke infrastruktur yang terdistribusi secara fisik? d) Penempatan entitas

Paradigma Komunikasi Tiga jenis paradigma komunikasi Inter-Process Communication (IPC) Remote Invocation Indirect Communication Applications, Services Remote Invocation, Indirect Communication IPC Primitives Lapisan Middleware Internet Protocols

Inter-Process Communication (IPC) Dukungan komunikasi level [relatif] rendah Mis. Akses langsung ke protokol Internet (Socket API) Keuntungan Hadirnya komunikasi seamless antar proses pada sistem operasi heterogen Kerugian API yang sudah teruji & terkenal digunakan oleh banyak SO Kerja programming meningkat bagi pengembang aplikasi Socket programming: Programmer harus secara eksplisit menulis kode untuk komunikasi (selain logika program) Space Coupling (Identitas bocor): Sender harus mengetahui ID receiver (mis. IP Address, port) Time Coupling: Receiver harus secara eksplisit mendengarkan komunikasi dari sender.

Remote Invocation Entitas meminta eksekusi suatu prosedur (metode) pada komputer lain. Programmer tidak secara eksplisit menuliskan kode lengkap untuk interaksi jarak jauh ini Lapisan middleware mengurusi komunikasi mentahnya (low level) Contoh Remote Procedure Call (RPC) Sun s RPC (ONC RPC) Remote Method Invocation (RMI) Java RMI

Remote Invocation Keuntungan: Programmer tidak harus menulis kode untuk komunikasi socket Kerugian: Space Coupling: Dimana prosedur berada harus diketahui Time Coupling: Pada receiver, proses harus secara eksplisit waiting menerima request pemanggilan prosedur.

Space and Time Coupling dalam RPC & RMI Sender mengetahui identitas dari receiver (space coupling) Time Coupling dooperation.. (wait).. (continuation) Request Message Reply Message getrequest. Select operation. Execute operation. Send reply Sender Receiver RMI sangat mirip RPC tetapi dalam dunia obyek terdistribusi

Paradigma Komunikasi Tak-Langsung Komunikasi tak-langsung menggunakan middleware untuk: Menyediakan komunikasi one-to-many Beberapa mekanisme menghapus space and time coupling Sender dan receiver tidak harus saling mengetahui identitas Sender dan receiver tidak perlu secara eksplisit mendengar untuk berkomunikasi. Pendekatan yang digunakan: Indirection Sender middle-man (penengah) Receiver Jenis komunikasi tak-langsung 1. Komunikasi grup 2. Terbit-langgan (publish-subscribe) 3. Antrian pesan (message)

1. Komunikasi Grup Komunikasi one-to-many Komunikasi multicast Abstraksi suatu grup Grup dalam sistem diwakili oleh suatu groupid Penerima menjadi anggota grup Sender mengirimkan message ke grup yang diterima oleh semua penerima (recipient). Sender Recv 2 Recv 1 Recv 3

1. Komunikasi Grup (lanj.) Layanan disediakan oleh middleware Keanggotaan grup Penanganan kegagalan dari satu atau lebih anggota grup Keuntungan Memungkinkan komunikasi one-to-many Efisien dalam pemanfaatan bandwidth Identitas dari anggota tidak perlu tersedia pada semua node Kerugian Time coupling

Banyak produser mendistribusikan informasi ke banyak pelanggan 2. Publish-Subscribe Mekanisme komunikasi berbasis kejadian (event) Publisher menerbitkan event ke suatu layanan event Subscriber menyatakan tertarik terhadap event tertentu. Publishers Subscribers Publish (Event2) Publish-subscribe Event Service Subscribe (Event3)

2. Publish-Subscribe (lanj.) Contoh: Financial Trading Dealer process

3. Antrian Pesan Pemurnian dari Publish-Subscribe dimana Producer menyetor pesan-pesan dalam suatu antrian Pesan dihantarkan ke pelanggan dengan metode 2 berbeda Antrian untuk memastikan penyampaian pesan Keuntungan Memungkinkan space decoupling Memungkinkan time decoupling

Rekap Entitas & Paradigma Komunikasi Entitas Komunikasi (apa yang berkomunikasi) Paradigma Komunikasi (bagaimana entitas berkomunikasi) System-oriented Problemoriented IPC Remote Invocation Indirect Communication Nodes Processes Threads Objects Sockets RPC RMI Group communication Publish-subscribe Message queues

Klasifikasi Sistem Terdistribusi Entitas apa yang berkomunikasi di dalam Sister? a) Entitas yang berkomunikasi Bagaimana entitas-entitas tersebut berkomunikasi? b) Paradigma komunikasi Apa peran dan tanggungjawab entitas tersebut? c) Peran dan tanggungjawab Bagaimana entitas dipetakan ke infrastruktur yang terdistribusi secara fisik? d) Penempatan entitas

Peran & Tanggungjawab Dalam Sister, entitas yang berkomunikasi mengambil peran untuk mengerjakan tugas Peran (role) fundamental dalam menentukan arsitektur lengkap Q: Apakah smart-phone anda memainkan peran yang sama seperti Google Search Server? Arsitektur Sister diklasifikasi menjadi dua berdasarkan pada peran dan tanggungjawab entitas Client-Server Peer-to-Peer

Arsitektur Client-Server Pendekatan: Server menyedikan layanan yang diperlukan oleh client Client meminta ke server (invocation), server melayani dan mengirimkan hasilnya (result) Digunakan luas pada banyak sistem Mis. DNS, Web server Client Server Client

Arsitektur Client-Server: Pro Kontra Keuntungan: Kendali terpusat dan sederhana Pemrosesan berat-komputasi dapat dibebankan ke server yang sangat tangguh Kerugian: Client dapat menjadi thin Titik-tunggal kegagalan di server Skalabilitas

Arsitektur Peer to Peer (P2P) Dalam P2P, peran semua entitas sebanding Semua node selevel (sebanding) Peers adalah partisipan yang mempunyai hak sama dalam aplikasi Mis. Napster, Bit-torrent, Skype

Arsitektur Peer to Peer Contoh: Download file dari bit-torrent Peer 1 mau file. Bagianbagian file tersedia pada peer 3, 4 dan 5 Peer 2 Peer 1 Peer 3 Peer 3 ingin file yang tersimpan pada peer 1, 2 dan 6 Peer 6 Peer 4 Peer 5

Pola-pola Arsitektural Elemen arsitektural dasar dapat dikombinasikan untuk membentuk berbagai pola Arsitekur deretan bertingkat (tier) Berlapis (layering) Arsitektur ber-tier dan berlapis saling melengkapi Layering = Organisasi layanan secara vertikal Tiered Architecture = Pembagian layanan secara horizontal

Arsitektur Multi-Tier Suatu teknik untuk: 1. Mengatur fungsionalitas dari suatu layanan, dan 2. Menempatkan fungsionalitas tersebut ke dalam serverserver yang tepat Aplikasi Pencarian Penerbangan Tampilkan layar UI Ambil input pengguna Ambil data dari database Rankingkan penawaran

Arsitektur Two-Tiered Rancangan aplikasi pencarian penerbangan EXPEDIA --- Aplikasi Pencarian Penerbangan Tampilkan layar input pengguna Tampilkan hasil kepada pengguna Ambil input pengguna Rankingkan penawaran Database Penerbangan Tier 1 Tier 2

Arsitektur Three-Tiered Rancangan aplikasi pencarian penerbangan EXPEDIA --- Aplikasi Pencarian Penerbangan Tampilkan layar input pengguna Tampilkan hasil kepada pengguna Ambil input pengguna Rankingkan penawaran Database Penerbangan Tier 1 Tier 2 Tier 3

Arsitektur Three-Tiered Fungsi Presentasi (Presentation Logic) Fungsi Aplikasi (Application Logic) Fungsi Data (Data Logic) User tampilan kendali User tampilan kendali Pengolahan Khusus- Aplikasi Pengolahan Khusus- Aplikasi Pengelola Basis Data

Arsitektur Three-Tiered: Pro Kontra Keuntungan Software makin mudah dirawat (pemetaan one-to-one dari elemen logis ke server fisik) Setiap tier mempunyai peran yang terdefnisi dengan baik Kerugian Kompleksitas bertambah karena mengelola banyak server Lalulintas jaringan meningkat Kemacetan juga bertambah

Layering Suatu sistem kompleks dipartisi menjadi lapisan-lapisan Layer lebih atas memanfaatkan layanan dari layer di bawahnya Organisasi vertikal dari berbagai layanan Layering menyederhanakan sistem terdistribusi kompleks dengan menyembunyikan kerumitan layer di bawahnya Aliran kendali dari layer ke layer Layer 3 Aliran Request Aliran Respon Layer 1

Layering - Platform & middleware Sistem terdistribusi dapat diatur ke dalam tiga layer 1. Platform Lapisan hardware dan software level rendah Menyediakan layanan umum untuk layer lebih tinggi 2. Middleware Menyembunyikan heterogenitas dan menyediakan model pemrograman yang nyaman bagi pengembang aplikasi Pada dasarnya menyederhanakan pemrograman aplikasi dengan mengabstraksi mekanisme komunikasi. 3. Application Applications Operating system

Klasifikasi Sistem Terdistribusi Entitas apa yang berkomunikasi di dalam sistem terdistribusi? a) Entitas yang berkomunikasi Bagaimana entitas-entitas tersebut berkomunikasi? b) Paradigma komunikasi Apa peran dan tanggungjawab miliki entitas tersebut? c) Peran dan tanggungjawab Bagaimana entitas dipetakan ke infrastruktur yang terdistribusi secara fisik? d) Penempatan entitas

Penempatan Pengamatan: Terdapat banyak hardware heterogen (mesin, jaringan) Pemetaan cerdas entitas-entitas (proses, obyek) terhadap hardware membantu kinerja, keamanan dan toleransi kegagalan Placement memetakan entitas terhadap infrastruktur fisik terdistribusi yang melandasi Placement sebaiknya diputuskan setelah suatu kajian cermat dari karakteristik aplikasi. Strategi contoh: Pemetaan layanan ke banyak server Pemindahan kode mobile ke client

Penempatan Entitas Web search indexing Userinterface Mobile Code Infrastruktur Fisik Hiperformance Server Desktop Smart-phone

Rekap Elemen-elemen arsitektural primitif Entitas-entitas yang berkomunikasi Paradigma komunikasi dari entitas IPC, RMI, RPC, Indirect Communication Peran dan tanggungjawab entities karena pilihan arsitektur Client-Server, Peer-to-Peer, Hybrid Penempatan entitas

Pertemuan Selanjutnya Mengidentifikasi berbagai jenis jaringan Menjelaskan prinsip utama jaringan seperti layering, enkapsulasi dan packet-switching Bagaimana paket diarahkan (diatur rutenya) untuk menghindari kemacetan Menganalisis skalabilitas, kehandalan, dan toleransi kesalahan dari Internet