Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu...

13
Data-centered architectures. Arsitektur ini memiliki tujuan untuk mencapai kualitas integrability data. Istilah ini mengacu ke sistem di mana akses dan update dari data store yang dapat diakses secara luas adalah tujuan utamanya. Pada dasarnya, itu tidak lebih dari terpusatnya data store yang berhubungan dengan sejumlah klien. Yang terpenting dari style ini adalah tiga protokol: komunikasi, data definition dan data manipulation protocol. Gb Data-centered architectures Sarana komunikasi membedakan dua subtipe: repositori dan blackboard. Repository: klien mengirimkan permintaan ke sistem untuk melakukan tindakan yang diperlukan (misalnya memasukkan data).

Transcript of Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu...

Page 1: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Data-centered architectures.Arsitektur ini memiliki tujuan untuk mencapai kualitas integrability data. Istilah ini mengacu ke sistem di mana akses dan update dari data store yang dapat diakses secara luas adalah tujuan utamanya. Pada dasarnya, itu tidak lebih dari terpusatnya data store yang berhubungan dengan sejumlah klien. Yang terpenting dari style ini adalah tiga protokol: komunikasi, data definition dan data manipulation protocol.

Gb Data-centered architectures

Sarana komunikasi membedakan dua subtipe: repositori dan blackboard.

Repository: klien mengirimkan permintaan ke sistem untuk melakukan tindakan yang diperlukan (misalnya memasukkan data).

Page 2: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Papan tulis: sistem mengirimkan pemberitahuan dan data untuk pelanggan ketika data berubah, dan dengan demikian aktif.

Contoh Data-centered architectures

* Salah satu contoh yang paling terkenal dari arsitektur data-terpusat, adalah arsitektur database

Ada skema database yang umum (meta struktur-yaitu dari repositori) - dibuat dengan data definition protocol. Misal dalam RDBMS satu set tabel yang berkaitan dengan bidang, tipe data, kunci. Klien menggunakan data manipulation protocol untuk bekerja dengan data. Misalnya SQL untuk insert, select , delete data. Tergantung dimana klien dikondisikan communication protocol mungkin adalah

Sebuah inner-process communication

Komunikasi antara komponen pada mesin yang sama

Komunikasi melalui network missal, LAN, internet, etc.

Data-centered architectures: analysis

Memastikan integritas data Handal, aman, dijamin testability Klien independen pada sistem: kinerja dan kegunaan di sisi klien baik Masalah dengan skalabilitas Solusi: repositori bersama, replikasi tapi ini meningkatkan kompleksitas

Contoh lain Data-centered architectures

Adalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara mereka, serta mekanisme addressing. Manipulasi data tidak langsung dalam sistem tetapi biasanya dicapai melalui aplikasi. Walaupun protokol HTTP memiliki metode untuk manipulasi data. Komunikasi adalah protokol HTTP. Analisis: integritas tidak dijamin (404 error) tetapi sangat berskala.

Page 3: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Resource-Oriented Architecture

arsitektur tersebut melihat ke Web sebagai database besar yang terdistribusi. Data model: dialamatkan oleh URL dan interlinked. Manipulasi data : cara HTTP (GET, PUT, POST, DELETE). Berskala, kinerja yang bagus, baik, dll.

Data-flow architecturesArsitektur ini memiliki tujuan untuk mencapai kualitas pemakaian ulang dan modifiability. Gaya data-flow ditandai dengan melihat sistem sebagai rangkaian transformasi pada potongan-potongan berturut-turut input data.Data masuk ke sistem dan kemudian mengalir melalui satu komponen pada suatu waktu sampai. Akhirnya, data ditugaskan untuk beberapa tujuan akhir (output atau menyimpan data).

Data-flow architectures dapat diklasifikasikan ke dalam arsitektur Batch-sequential dan pipe and filters. Pada gaya batch-sequential setiap langkah, diselesaikan satu persatu secara berututan. Misalnya, pipa baris perintah UNIX. Dalam pipe and filtering style, langkah –langkahnya merangkap bagian pengolahan data secara bertahap.

Pipes and filters

Data mengalir melalui pipa: saluran komunikasi antara filter. Pengolahan unit: filter. Tergantung dimana filter mengeksekusi arsitektur yang berbeda berada. Missal proses yang sama: filter dijalankan dalam threads. Misal mesin yang sama: filter dijalankan dalam prosesnya sendiri. Misalnya jaringan: pipes menggunakan arsitektur jaringan.

konseptual filter mengkonsumsi data dari input dan menulis data ke output. Input dan output: saluran komunikasi, yaitu pipes. Filer tidak tahu apa –apa tentag filter lainnya. Dapat dimodulkan, pemeliharaan yang baik. Data flow dalam aliran: baik untuk pengolahan gambar, audio, video, etc.

Page 4: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Variasi: struktural dan komunikasi. Struktural: topologi yang lebih kompleks mungkin dapat digunakan. Misalnya loop, cabang, lebih dari satu inputan.

komunikasional: adalah filters blocked dan menunggu data?. Bentuk lain dari sinkronisasi. Misalnya ketika hanya ada satu saluran komunikasi. Memblokir mungkin membahayakan kinerja. Misalnya baru2 ini sangat popular NIO (non-Blocking input/output) dalam aplikasi jaringan.

Call-and-Return ArchitecturesCall-and-Return architectures memiliki tujuan untuk mencapai kualitas dari kempampuan modifikasi dan kemampuan pemecahan masalah. Call-and-Return architectures telah menjadi style arsitektur dominan dalam system perangkat lunak yang besar selama 30 tahun terakhir. Namun, dalam style ini sejumlah substyle, yang masing2 memiliki fitur yang menarik, telah muncul.

Main-Program-and-Subroutine architectures adalah paradigm pemrograman classic.

Tujuannya adalah untuk menguraikan sebuah progam menjadi pecahan kecil untuk membantu mencapai kemampuan modifikasi. Sebuah program terurai secara hirarki. Ada sebuah single thread dari control dan masing2 komponen dalam hirarki mendapatkan kendali ini (opsional bersama dengan beberapa data) dari induknya dan melewatinya bersama anak2nya.

Page 5: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Remote procedure call systems adalah sistem main-program-and-subroutine yang terurai kedalam bagian2 yang hidup dalam komputer2 via sebuah jaringan.

Tujuannya adalah untuk meningkatkan kinerja dengan mendistribusi komputasinya dan menagmbil keuntungan dari multiple processor. Dalam system remote procedure call, penugasan sebenarnya bagian untuk prosesor ditangguhkan sampai saat runtime, yang berarti bahwa tugas mudah diubah untuk mengakomodasi performance tuning. Kenyataanya, kecuali mungkin subroutine calls membutuhkan waktu lama untuk tercapai jika pemanggilan fungsi pada mesin remote, procedure calls remote tidak dibedakan dari program utama dan system subroutine.

Object-oriented or abstract data type systems adalah versi modern dari call-and-return architecture.

Paradigmanya, seperti paradigma abstract data type dari yang berevolusi, menggabungkan data2 dan metode untuk memanipulasi dan akses data (public interface). Abstraksi objeknya membentuk komponen yang menyediakan layanan black-box dan komponen lain yang membutuhkan layanannya. Tujuannya adalah utnuk mencapai kualitas kemampuan yang dapat dimodifikasi.

Bundle ini adalah enkapsulasi yang menyembunyikan rahasia dari lingkungannya. Akses menuju objek diperbolehkan hanya melalui operasi yang disediakan, dikenal sebagai metode, yang terbentuk secara paksa dari procedure calls. Enkapsulasi ini menawarkan reuse and modifiability, terutama karena mempromosikan pemisahan dari kepentingan.

User dari layanan tidak perlu tahu dan seharusnya tidak tahu, semua tentang implementasi dari layanan itu.

Abstract layer architecturesLayering: struktur sistemnya diatur dalam set lapisan. Tiap lapisan dalam di bagian atas lapisan yang lain. Well-defined interface antara lapisan. Mengurangi kompleksitas, meningkatkan modularitas, usabilitas, pemeliharaan. kriteria yang berbeda untuk layering: terutama abstraksi.

Page 6: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Layered systems adalah yang dimana komponen ditugaskan ke lapisan untuk mengontrol interaksi intercomponent. Dalam versi murni arsitektur ini, setiap tingkatan hanya berkomunikasi dengan tetangga terdekatnya.

Tujuannya adalah untuk mencapai kualitas dari modifiability and, usually, portability. Lapisan terndah menyediakan beberapa fungsi inti, seperti perangkat keras, atau kernel system operasi. Setiap lapisan berturut – turut dibangun di atas pendahulunya, menyembunyikan beberapa layanan yang lapisan atas gunakan.

Contoh umumnya : Peer-to-peer protocol stacks

TCP/IP protocol stack, terdiri dari empat lapisan. Lapisan terndah menangani komunikasi antara dua computer, lapisan teratas menangani ruting paket di seluruh jaringan. Transport layer menjamin paketnya bebas-error diterima dalam urutan yang sama seperti yang dikirim. Application layer mendukung protocol aplikasi spesifik. Misalnya HTTP, SMTP, FTP, dll. Constitute layer sebuah seri dari operasi abstrak. Lapisan yang lebih tinggi span koneksi virtual antara computer2 dalam jaringan.

Page 7: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Event-based, Implicit InvocationAdalah contoh dari gaya arsitektur yang dibuat dengan baik dengan kohesi yang tinggi dan kopling yang longgar. Dengan demikian, ini adalah salah satu gaya arsitektur yang diterima secara luas dalam rekayasa perangkat lunak. Contoh sistem pemanggilan secara implisit berlimpah ruah, termasuk hampir semua sistem operasi modern, integrated development environtments, dan database management systems.

Implicit invocation system dijalankan oleh event2. Event2 yang dipicu setiap kali sistemperlu untuk melakukan sesuatu-seperti menanggapi permintaan yang masuk. Event dapat mengambil banyak bentuk di berbagai jenis implementasi, sering untuk system berbasis obyek sebuah event adalah sebuah obyek yang sifatnya mengandung informasi kontekstual yang diperlukan untuk proses event (mirip dengan bagaimana permintaan HTTP disertai dengan berbagai bentuk dan variable query-string).

Page 8: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Implicit invocation architectures berbeda dengan explicit invocation system dalam implicit invocation system gunakan events untuk berkomunikasi satu sama lain. Connector in such architectures mengikat antara event dan komponen metode.

RepositoryKomponennya:

Data store Clients, yang berinteraksi dengan store

Connector

Queries

Arsitekturnya terpusat pada data store yang terakses secara luas. Data store dan clients adalah 2 varian utamanya. Database yang digunakan adalah passive data store dan clients that poll the database. Blackboardnya yaitu data store yang active yang memberitahu setiap data klien yang diubah oleh klien dan clientnya bias disebut sebagai sumber pengetahuan.

Page 9: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Kemampuan dari repository adalah Klien yang relatif independen satu sama lain. Data toko independen dari klien, berskala dan modifiable. Kelemahannya yaitu kekutan bergantung pada data store itu sendiri.

Ada beberapa varian dari sistem DB termasuk perbedaan utama antara database tradisional vs database berorientasi objek, distributed database.

Table driven intrepetersDalam sebuah organisasi juru mesin virtual diproduksi dalam perangkat lunak. Sebuah interpreter mencakup pseudo-program yang diinterpretasikan dan penafsiran mesin itu sendiri. Pseudo-program termasuk program itu sendiri dan analog interpreter dari status eksekusinya sendiri (activation record). Mesin interpreter mencakup kedua definisi dari interpreter dan current state dari eksekusinya. Jadi interpreter umumnya memiliki empat komponen: mesin interretasi untuk melakukan pekerjaan itu, sebuah memori berisi pseudo code untuk diterjemahkan, sebuah representasi dari status control mesin interpretasi, dan representasi dari current state dari program sedang disimulasikan.

Page 10: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Interpreters biasanya digunakan untuk membangun virtual machine yang menutup kesenjangan antara mesin komputasi diharapkan oleh semantic program dan mesin komputasi yang tersedia di hardware. Yang dikatakan sebagai bahasa pemrograman atau mesin virtual pascal.

Heterogeneous ArchitecturesSistem jarang dibangun dari satu gaya, dan kita mengatakan bahwa sistem tersebut heterogen.Ada tiga jenis heterogenitas, mereka adalah sebagai berikut.

Locationally heterogeneous artinya bahwa gambar struktur runtime yang akan mengungkapkan pola gaya yang berbeda di berbagai daerah. Sebagai contoh, beberapa cabang sistem Main-Program-dan-subrutin mungkin memiliki data berbagi repositori (yaitu database).

Hierarchically Heterogeneous berarti bahwa komponen dari satu gaya, ketika terurai, disusun menurut aturan gaya yang berbeda. Sebagai contoh, sebuah antarmuka pengguna akhir sub-sistem mungkin dibangun menggunakan gaya Event Sistem arsitektur, sementara semua sub-sistem lainnya - menggunakan Layered Arsitektur.

Page 11: Resource-Oriented Architecture  · Web viewAdalah Web architecture. Ada skema data umum (yaitu meta struktur dari Web). Mengikuti model data hypermedia. Pages (node) dan links antara

Simultaneously Heterogeneous berarti bahwa salah satu dari beberapa gaya dengan baik mungkin deskripsi yang tepat dari sistem.

Bentuk terakhir dari heterogenitas mengakui bahwa gaya tidak partisi arsitektur perangkat lunak menjadi non-overlapping, kategori bersih. Anda mungkin telah memperhatikan ini sudah. Data-gaya berpusat pada awal diskusi ini terdiri dari klien benang-independen, seperti arsitektur komponen independen.

Lapisan dalam sistem berlapis dapat terdiri dari objek atau komponen independen atau bahkan subrutin dalam-main-sistem-program dan subrutin. Komponen dalam sistem pipa-dan-filter biasanya diimplementasikan sebagai proses yang beroperasi secara independen, menunggu sampai masukan di pelabuhan mereka, sekali lagi, ini mirip dengan sistem komponen independen yang urutan eksekusi sudah ditentukan sebelumnya.