tugas v 0317_arie firmandani_1512510445

22
REKAYASA WEB TUGAS v NIM :1512510445 NAMA : Arie Firmandani FAKULTAS : Fakultas Teknologi Informasi Prodi : Sistem Informasi

Upload: arie-firmandani

Post on 06-Apr-2017

20 views

Category:

Education


2 download

TRANSCRIPT

REKAYASA WEBTUGAS v

NIM :1512510445NAMA : Arie FirmandaniFAKULTAS : Fakultas Teknologi InformasiProdi : Sistem Informasi

DCS

A. PENGERTIANDistributed computing System (DCS)merupakan

sebuah proses komputasi tidak terjadi dalam satu komputer saja akan tetapi didistribusikan atau di-share ke beberapa komputer. Analogi kelompok-kelompok jaringan LAN lain semisal Kost-Kostan dan ISP . Intinya proses tersebar dalam kelompok, namun menghasilkan satu output. Ya, distributed computing adalah salah satu contoh parallel processing (pemrosesan paralel)..

B. SEJARAH DCS• Sejarah mencatat Konferensi internasional tentang ParCo97 komputasi paralel (Parallel

Computing 97) diadakan di Bonn, Jerman 19-22 September 1997. Konferensi pertama dalam seri ini dua tahunan diadakan pada tahun 1983 di Berlin. Selanjutnya konferensi diadakan di Leiden (Belanda), London (Inggris), Grenoble (Prancis) dan Gent (Belgia). Sejak awal tujuan dengan (Komputasi Paralel) konferensi parco adalah untuk mempromosikan penerapan komputer paralel untuk memecahkan masalah kehidupan nyata. Dalam kasus ParCo97 tonggak baru dicapai dalam bahwa lebih dari setengah dari makalah dan poster yang disajikan prihatin dengan aspek aplikasi. Fakta ini mencerminkan kedatangan usia komputasi paralel.

• Sekitar 200 makalah yang disampaikan kepada Komite Program oleh penulis dari seluruh dunia. Program akhir terdiri dari empat makalah diundang, 71 kontribusi ilmiah / industri kertas dan 45 poster. Selain diskusi panel tentang Komputasi Paralel dan Evolusi Cyberspace diadakan. Penekanan praktis konferensi ini ditekankan oleh pameran industri di mana perusahaan menunjukkan perkembangan terbaru dalam peralatan pemrosesan paralel dan perangkat lunak. Pembicara dari perusahaan yang berpartisipasi mempresentasikan makalah dalam sesi industri di mana perkembangan baru dalam komputasi paralel dilaporkan.

• Komputer paralel secara kasar dapat diklasifikasikan menurut tingkat di mana hardware mendukung paralelisme, dengan komputer multi-core dan multi-prosesor yang memiliki elemen pemrosesan ganda dalam satu mesin, sedangkan cluster, MPP, dan grid menggunakan beberapa komputer untuk bekerja pada hal yang sama tugas. Khusus arsitektur komputer paralel kadang-kadang digunakan bersama prosesor tradisional, untuk mempercepat tugas-tugas tertentu.

• Sumber daya komputer (computer resource) dapat terdiri dari sebuah komputer dengan beberapa processor, atau beberapa komputer yang terhubung oleh sebuah jaringan, atau pun kombinasi antara keduanya. Processor mengakses data melalui shared memory. Beberapa supercomputer parallel processing system memiliki ratusan bahkan ribuan microprocessor. Dengan bantuan dari parallel processing, sejumlah komputasi dapat dijalankan dalam satu waktu, memangkas waktu yang dibutuhkan untuk menyelesaikan sebuah project. Parallel processing sangat berguna untuk project yang membutuhkan komputasi komplek, seperti weather modelling dan efek digital spesial (special effect digital). Dengan bantuan dari parallel processing, masalah yang sangat kompleks dapat terselesaikan dengan efektif dan lebih efisien. Parallel computing dapat secara efektif digunakan untuk tugas-tugas (task) yang melibatkan begitu banyak komputasi, untuk dapat dibagi menjadi task-task yang lebih kecil.

CAP

A. PENGERTIAN Keprihatinan ini Consistency (C), Availability(A), dan

Partition tolerance(P) di sistem terdistribusi membentuk apa yang Eric Brewer diciptakan sebagai Teorema CAP. Sederhananya, CAP teorema menunjukkan bahwa setiap sistem terdistribusi tidak bisa menjamin C, A, dan P secara bersamaan, bukan, trade-off harus dilakukan pada titik-in-time untuk mencapai tingkat kinerja dan ketersediaan yang diperlukan untuk tugas tertentu.

MENURUT ERIMENURUT ERIC BREWERC BREWER

Teori tersebut bersangkutan dengan NoSql,karena NoSql didasarkan oleh Consistency, Availability,Partition-Tolerance (CAP). Consistency Availability (CA) berseberangan denganPartition-Tolerance dan berhubungan dengan replikasi. Consistency Partition-Tolerance (CP) berseberangan dengan Availability dalam penyimpanan data.Availability Partition-Tolerance (AP) dimana system mencapai kondisi eventualconsistency melalui replikasi dan verifikasi yang konsisten dalam node yang telahterbagi – bagi. Dalam basis data NoSQL, penerapan konsep tersebut diterjemahkandalam empat konsep dasar, yaitu Non-Relational, MapReduce, Schema Free, danHorizontal Scaling.

KONSEP DASAR

a) Non-RelationalKonsep Non-Relational dalam basis data NoSQL meliputi hirarki, graf, dan basis data berorientasi obyek. Penggunaan basis data non-relasional kembali merebak seiring bertambahnya aplikasi berbasis web yang menuntut skalabilitas tinggi.

b) MapReduceMapReduce merupakan mode pemrograman yang diadaptasi dari pemrograman fungsional yang diimplementasikan mengolah dataset yang besar. Tujuan dari MapReduce adalah merancang suatu abstraksi baru yang memungkinkanpengguna untuk membuat antarmuka pemrograman sederhana dan menyembunyikan detail yang rumit dari paralelisasi, fault-tolerance, distribusi data, dan load-balancing dalam pustaka pemrogramannya.

c) Schema-FreeNoSQL dan RDBMS mempunyai perbedaan dalam hal penerapan skema basis data. Dalam RDBMS, sebuah table didesain dengan peraturan skema yang ketat, sedangkan pada NoSQL tidak diharuskan memiliki table, kolom, primary key,foreign key, join, dan relasi. Dalam pengembangan RDBMS, developer/database administrator harus berhati – hati dalam menentukan bagaimana table saling berelasi dan field yang ada di dalam setiap tabel. Manfaat lain dalam penggunaan schema-free adalah penghematan dalam media penyimpanan. Model data schema free artinya setiap baris memungkinkan memiliki nilai sebanyak yang telah didefinisikan dalam tiap fields, dan tidak perlumenggunakan nilai yang memang tidak diperlukan. Kelemahan dalam schemafree adalah memunculkan lemahnya pendefinisian struktur yang memungkinkan terjadinya penggunaan basis data yang tidak konsisten.

d) Horizontal ScalingHorizontal Scaling memungkinkan basis data dijalankan pada beberapa server untuk meningkatkan kemampuan perangkat penyimpanan dan meningkatkan efisiensi waktu. Hal ini berarti memungkinkan dilakukannya penambahan server dalam satu jaringan dan user tidak sadar jika terdapat hardware yang diganti dari sisi server.

B. PENJELASAN[C] Consistency - Semua node melihat data yang sama pada

waktu yang sama. Sederhananya, melakukan operasi baca akan mengembalikan nilai terbaru menulis operasi menyebabkan semua node untuk mengembalikan data yang sama. Sebuah sistem memiliki konsistensi jika transaksi dimulai dengan sistem dalam keadaan konsisten, dan berakhir dengan sistem dalam keadaan konsisten. Dalam model ini, sistem dapat (dan tidak) bergeser menjadi negara yang tidak konsisten selama transaksi, tetapi seluruh transaksi akan digulung kembali jika ada kesalahan selama setiap tahap dalam proses. database relasional khas Consistency : SQL Server, MySQL, dan PostgreSQL.

[A] Availability - Setiap permintaan mendapat respon atas keberhasilan / kegagalan. Mencapai ketersediaan di sistem terdistribusi mengharuskan sistem tetap operasional 100% dari waktu. Setiap klien mendapat respon, terlepas dari keadaan setiap node individu dalam sistem. Metrik ini sepele untuk mengukur: baik Anda bisa mengirimkan membaca perintah / tulis, atau Anda tidak bisa. database relasional khas juga tersedia: SQL Server, MySQL, dan PostgreSQL. Ini berarti bahwa database relasional ada di ruang CA - Consistency dan Availability. Namun, CA tidak hanya disediakan untuk database relasional - beberapa alat berorientasi dokumen seperti ElasticSearch juga jatuh di bawah payung CA .

[P] Partition tolerance - Sistem terus bekerja meskipun kehilangan pesan atau kegagalan parsial. Kebanyakan orang berpikir dari menyimpan data mereka sebagai node tunggal dalam jaringan. “Ini adalah Server misalnya produksi SQL kami”. Siapapun yang telah menjalankan contoh produksi selama lebih dari empat menit, dengan cepat menyadari bahwa ini menciptakan satu titik kegagalan. Sebuah sistem yang partisi-toleran dapat mempertahankan setiap jumlah kegagalan jaringan yang tidak mengakibatkan kegagalan seluruh jaringan. catatan data cukup direplikasi di kombinasi node dan jaringan untuk menjaga sistem melalui pemadaman berselang. sistem penyimpanan yang jatuh di bawah Partition tolerance dengan Consistency (CP): MongoDB, Redis, AppFabric Caching, dan MemcacheDB. sistem CP membuat cache didistribusikan baik karena setiap client mendapat data yang sama, dan sistem dipartisi melintasi batas-batas jaringan. sistem penyimpanan yang jatuh di bawah Partition tolerance dengan Availability (AP) termasuk DynamoDB, CouchDB, dan Cassandra

C. KESIMPULAN atau pentingnya terhadap application web yang akan kita buat

Kesimpulan sistem terdistribusi memungkinkan kita untuk mencapai tingkat kekuasaan dan ketersediaan yang cukup tidak tersedia di yesteryears komputasi. Sistem kami memiliki kinerja yang lebih tinggi, latency rendah, dan hampir 100% up-waktu di pusat data yang menjangkau seluruh dunia. Terbaik dari semua, sistem saat ini dijalankan pada perangkat keras komoditas yang mudah didapat dan dikonfigurasi dengan biaya mendekati $ 0. Semua daya komputasi ini dan manfaat datang pada harga, namun. sistem terdistribusi lebih kompleks daripada rekan-rekan satu jaringan mereka. Ada banyak alat-alat dan keterampilan yang perlu diperoleh untuk membuat benar-benar scalable, sistem kinerja tinggi. Memahami kompleksitas yang timbul dalam sistem terdistribusi, membuat trade-off yang sesuai untuk tugas di tangan (CAP), dan memilih alat yang tepat untuk pekerjaan itu semua keterampilan yang penting di dunia di mana sistem komputasi bergerak keluar, tidak sampai.

Service discovery framework

A. PENGERTIAN Framework adalah sekumpulan perintah/fungsi

dasar yang dapat membantu dalam menyelesaikan proses-proses yang lebih kompleks

B. JENIS-JENIS FRAMEWORK

1. Bussiness Logic Framework• JSF JavaServer Faces (JSF) : spesifikasi Java untuk membangun antarmuka pengguna untuk

aplikasi web. menggunakan Facelets sebagai sistem template defaultnya• Spring : Frame Work opensource, yang diciptakan oleh Rod Johnson untuk masalah desain

sistem dalam pengembangan aplikasi enterprise. misal: aplikasi perbankan,pelaporan keuangan skala besar,dsb

• Struts : Framework Open Source yang di pakai untuk membangun aplikasi berbasis Web yang sudah terinstregasi dengan standard technologi seperti Servlet, Java Beans dan Java Server Pages

• Seam : Framework yang kuat untuk membangun aplikasi generasi Web berikut dengan teknologi pemersatu yang mengintegrasikan seperti Asynchronous JavaScript and XML (AJAX), Java Server Faces (JSF), Enterprise Java Beans (EJB3), Jawa Portlets dan Manajemen Proses Bisnis (BPM).

• Tapestry : framework berbasis komponen yang digunakan untuk membuat aplikasi berbasis web dengan bahasa pemrograman Java. dibangun berdasarkan standar API Java Servlet, sehingga dapat bekerja dengan berbagai macam servlet containeratau application server seperti misalnya Tomcat, Jetty, JBoss, dll.

2. Data Access Framework• Hibernate : merupakan teknologi object relational persistence mapping (ORM)

dan query service. ditulis dengan menggunakan bahasa pemrograman java• iBATIS : merupakan SQL database Mapping untuk pengembangan perangkat

lunak berorientasi objek . SQL Maps dan DAO (Data Access Objects)• JDBC Java Database Connectivity : framework yang dibangun dengan

menggunakanbahasa Java untuk menghubungkan aplikasi dengan database. JDBC adalah versi ODBC yang dibuat oleh Sun Microsystem.

• JPA Java Persistance API : sebuah framework dalam pemrograman java menggunakan pendekatan Obejct Relational Maping (ORM) untuk memanageatau mengatur relational data menggunakan platform Java Standard Edition dan Java Enterprise Edition.

3. View/Front End Framework• PrimeFace• iText• JaspertReport : Framework untuk membuat

laporan di Java/ library untuk pencetakan laporan.

• Velocity

eureka

PENJELASAN• Eureka adalah registri layanan. Ini menyediakan API REST untuk

mengelola pendaftaran layanan-contoh dan untuk query contoh yang tersedia. Netflix Ribbon adalah klien IPC yang bekerja dengan Eureka untuk memuat permintaan keseimbangan di contoh layanan yang tersedia. Kita akan membahas Eureka secara lebih mendalam nanti dalam artikel ini.

• Pola Penemuan sisi klien memiliki berbagai kelebihan dan kekurangannya. Pola ini relatif mudah dan, kecuali untuk registri layanan, tidak ada bagian yang bergerak lainnya. Juga, karena klien tahu tentang contoh layanan yang tersedia, dapat membuat cerdas, keputusan load-balancing aplikasi khusus seperti menggunakan hashing konsisten. Salah satu kelemahan signifikan dari pola ini adalah bahwa hal itu pasangan klien dengan registri layanan. Anda harus menerapkan sisi klien penemuan layanan logika untuk setiap bahasa pemrograman dan kerangka kerja yang digunakan oleh klien layanan Anda.

zookeeper

A. PENGERTIAN Zookeeper adalah layanan terpusat untuk menjaga informasi konfigurasi, penamaan, menyediakan sinkronisasi didistribusikan, dan menyediakan layanan kelompok. Semua jenis layanan yang digunakan dalam beberapa bentuk atau lain dengan aplikasi terdistribusi. Setiap kali mereka diimplementasikan ada banyak pekerjaan yang masuk ke dalam memperbaiki bug dan kondisi balapan yang tak terelakkan. Karena kesulitan menerapkan jenis layanan, aplikasi awalnya biasanya berhemat pada mereka, yang membuat mereka rapuh di hadapan perubahan dan sulit untuk mengelola. Bahkan ketika dilakukan dengan benar, implementasi yang berbeda dari layanan ini menyebabkan kompleksitas manajemen ketika aplikasi dikerahkan

B. Ikhtisar• Zookeeper adalah didistribusikan layanan koordinasi untuk mengelola set

besar host. Mengkoordinasikan dan mengelola layanan dalam lingkungan terdistribusi adalah proses yang rumit. Zookeeper memecahkan masalah ini dengan arsitektur dan API sederhana. Zookeeper memungkinkan pengembang untuk fokus pada logika aplikasi inti tanpa khawatir tentang sifat didistribusikan dari aplikasi.

• Kerangka Zookeeper awalnya dibangun di "Yahoo!" untuk mengakses aplikasi mereka dengan cara yang mudah dan kuat. Kemudian, Apache Zookeeper menjadi standar untuk layanan yang diselenggarakan digunakan oleh Hadoop, HBase, dan kerangka kerja didistribusikan lainnya. Misalnya, Apache HBase menggunakan Zookeeper untuk melacak status data terdistribusi.

• Sebelum bergerak lebih jauh, penting bahwa kita tahu satu atau dua hal tentang aplikasi terdistribusi. Jadi, mari kita mulai diskusi dengan gambaran singkat dari aplikasi terdistribusi.

C. APLIKASI DIDISTRIBUSIKAN• Sebuah aplikasi terdistribusi dapat berjalan pada beberapa sistem dalam jaringan

pada waktu tertentu (bersamaan) dengan berkoordinasi antara mereka sendiri untuk menyelesaikan tugas tertentu dengan cara yang cepat dan efisien. Biasanya, kompleks dan memakan waktu tugas, yang akan mengambil jam untuk menyelesaikan dengan aplikasi non-didistribusikan (berjalan dalam satu sistem) dapat dilakukan dalam menit dengan aplikasi terdistribusi dengan menggunakan kemampuan komputasi dari semua sistem yang terlibat.

• Waktu untuk menyelesaikan tugas dapat lebih dikurangi dengan mengkonfigurasi aplikasi didistribusikan untuk berjalan pada sistem yang lebih. Sekelompok sistem di mana aplikasi terdistribusi berjalan disebut Cluster dan setiap mesin berjalan di sebuah cluster disebut Node a.

• Sebuah aplikasi terdistribusi memiliki dua bagian, Server dan aplikasi Client. aplikasi server sebenarnya didistribusikan dan memiliki antarmuka umum sehingga klien dapat terhubung ke server di cluster dan mendapatkan hasil yang sama. aplikasi client adalah alat untuk berinteraksi dengan aplikasi terdistribusi.

D. MANFAAT DAN TANTANGAN APLIKASI TERDISTRIBUSI

Manfaat Aplikasi Terdistribusi• Keandalan - Kegagalan dari satu atau beberapa sistem tidak membuat seluruh sistem

gagal.• Skalabilitas - Kinerja dapat ditingkatkan sebagai dan bila diperlukan dengan

menambahkan lebih banyak mesin dengan perubahan kecil dalam konfigurasi aplikasi tanpa downtime.

• Transparansi - Menyembunyikan kompleksitas sistem dan menunjukkan dirinya sebagai satu kesatuan / aplikasi.

Tantangan Aplikasi Terdistribusi• Kondisi balapan - Dua atau lebih mesin mencoba untuk melakukan tugas tertentu,

yang sebenarnya perlu dilakukan hanya oleh satu mesin pada waktu tertentu. Misalnya, sumber daya bersama hanya harus dimodifikasi oleh sebuah mesin tunggal pada waktu tertentu.

• Kebuntuan - Dua atau lebih operasi menunggu satu sama lain untuk menyelesaikan tanpa batas.

• Inkonsistensi - kegagalan parsial dari data.

E. LAYANAN DARI ZOOKEEPER• Layanan penamaan - Mengidentifikasi node dalam sebuah cluster dengan

nama. Hal ini mirip dengan DNS, tetapi untuk node.• Manajemen konfigurasi - up-to-date informasi konfigurasi terbaru dan

sistem untuk node bergabung.• Manajemen cluster - Bergabung / meninggalkan node dalam status cluster

dan simpul pada real time.• Pemimpin pemilu - Pemilihan node sebagai pemimpin untuk tujuan

koordinasi.• Mengunci dan sinkronisasi layanan - Mengunci data sementara

memodifikasi itu. Mekanisme ini membantu Anda dalam otomatis gagal pemulihan saat menyambung aplikasi terdistribusi lain seperti Apache HBase.

• Registry data yang sangat handal - Ketersediaan data bahkan ketika satu atau beberapa node mati.

D. MANFAAT ZOOKEEPER

• Berikut adalah manfaat menggunakan Zookeeper -• Proses koordinasi didistribusikan sederhana• Sinkronisasi - Mutual exclusion dan kerjasama antara proses

server. Proses ini membantu dalam Apache HBase untuk manajemen konfigurasi.

• memerintahkan Pesan• Serialisasi - Encode data sesuai dengan aturan tertentu. Pastikan

aplikasi Anda berjalan secara konsisten. Pendekatan ini dapat digunakan dalam MapReduce untuk mengkoordinasikan antrian untuk mengeksekusi benang berjalan.

• Keandalan• Atomicity - Transfer data baik berhasil atau gagal sama sekali, tapi

tidak ada transaksi parsial.