Component and Connector StylesFajar Setiawan 5112100010
Luthfi F Soehadak 5112100016
Risky Dwi Setiyawan 5112100030
Andrias Meisyal 5112100116
Dicky Irwanto 5112100182
Introduction
• Setiap sistem yang berbeda memiliki struktur C&C yang berbeda
• Style arsitektur merupakan beberapa struktur yang sangat umum dan berguna untuk class problem
• Suatu style arsitektur mendefinisikan arsitektur mana yang sesuai dengan batasan dari C&C style
• C&C Style dapat membantu dalam membangun artisetektur suatu sistem. C&C Style juga dapat dikombinasikan
partial representation
Categories
• Call-return styles. Style dimana komponen bertinteraksi melalu invocation synchronous yang disediakan oleh komponen lainnya
• Data flow styles. Style dimana komputasi datanya mengalir melalui sistem
• Event-based styles. Style dimana tiap komponen berinteraksi melalui events atau pesan asynchronous
• Repository styles. Style dimana komponen saling berinteraksi melalui suatu wadah yang besar secara terus-menurus, sharing data
• Crosscutting Issues for C&C Styles
Elements (review)
Components Runtime processors dan data stores Biasanya diimplementasikan dengan melakukan kombinasi sebuah modifikasi
(custom), reusable, dan modul Tujuannya mengurangi penggunaan jumlah modul yang harus dikembangkan
untuk merealisasikan sebuah komponen Contoh custom dan reusable modules: XSLT transformers, XML parsers, dan
DBMS. Connectors
Sebuah mekanisme pertukaran data antar komponen Biasanya diimplementasikan menggunakan modul, teknologi, dan protokol Tujuannya menggunakan middleware dan meningkatkan format standart Contoh, dua sistem harus berinteraksi dengan satu atau lebih koneksi. Koneksi
tersebut merupakan interfaces dari sistem
Data Flow Style
• Merupakan style yang merepresentasikan system dengan komponen yang berperan sebagai data transformer dan connector sebagai pengirim data dari satu komponen ke komponen lainnya
• Macam dari data flow style, antara lain :• Batch Sequential• Pipe-And-Filter
Pipe-And-Filter
• Ada 2 elemen pada Pipe-And-Filter style, yaitu :• Filter :
Merupakan sebuah komponen yang melakukan transformasi data yang nantinya akan dikirimkan ke komponen lain melalui pipe. Filter mempunya input port dan output port
• Pipe :Merupakan connector yang membawa data dari output port filter satu ke input port filter lainnya
• Pada pipe and filter style, data masuk ke input port filter kemudian di transformasi oleh filter dan dikirimkan ke input filter lain melalui pipe
• Satu filter bisa mendapatkan data (input) dari banyak pipe dan dapat menghasilkan data ke multiple pipe
Pipe-And-Filter
Contoh Penggunaan Pipe-And-Filter
• Compiler• Unix Program
Call-return styles
Call return is the architectural analog of a procedure call in programming languages. The connectors are responsible for conveying the service request from the requester to the provider and for returning any results.
• Client-Server Style• Peer to Peer Style• Service-Oriented Architecture Style
Client-Server Style
Clients initiate interactions, invoking services as needed from servers and waiting for the results of those requests.
In client-server style, client components make synchronous requests to services from server components.
Ex.
ATM banking system
Peer to Peer Style
Computation is achieved by cooperating peers that request services of one another.
Peer-to-peer communication is a kind of request/reply interaction without the asymmetry found in the client-server style.
Ex.
file-sharing networks
Service-Oriented Architecture Style
Service-oriented architectures consist of a collection of distributed components that provide and/or consume services. Services are largely standalone.
Ex.
web services that combine elements of service providers and service consumers.
Event-based styles
• Publish-Subscribe Style
Asynchronous Messages
PengertianSebuah metode komunikasi di mana sistem meletakkan pesan ke dalam antrian pesan dan tidak membutuhkan respon segera untuk melanjutkan prosesnyaContoh, surat elektronik (e-mail)
Publish-Subscribe Style
PengertianSalah satu styles of the C&C viewtype yang menerapkan asynchronous messages/events untuk melakukan interaksi antar komponennyaKomponen berlangganan events tertentuRuntime infrastructure memastikan setiap events yang telah dipublikasikan diterima oleh semua pelanggan events tersebutPenghubung atau connector sejenis event-bus
Publish-Subscribe Style
Elemen
Publish-Subscribe Style
Infrastruktur Komunikasi
Publish-Subscribe Style
IstilahTopic, tempat pesan dikirim atau diterima (message queue)Broker, terdiri dari API, server, message queue MessageProducer, yang mengirim pesanConsumer, yang menerima pesan
Publish-Subscribe Style
Implicit invocationKomponen yang memiliki procedural interfacesKomponen lain berlangganan sebuah event sesuai prosedur yang telah didefinisikan dengan jenis events tertentuKetika sebuah event dipublikasikan dengan prosedur yang telah didefinisikan tadi, komponen yang berlangganan dipanggil (invoked) permintaan (biasanya ditentukan oleh runtime infrastructure)
Publish-Subscribe Style
ContohDistributed object, CORBASistem berbasis objek menggunakan observer patternSistem dikenal dengan active databases
Publish-Subscribe Style
KelebihanLoose couplingScalability
KekuranganInflexible semantic couplingMessage delivery issues
Repository styles
• Sistem repositori terbagi atas dua, yaitu :• shared-data style : data accessors bertanggung jawab untuk
memulai interaksi dengan repositori• blackboard style : repositori bertanggung jawab untuk
memberitahu kepada komponen lainnya jika ada perubahan data yang sesuai dengan ketentuan yang berlaku
• Untuk mengakses repositori, biasanya digunakan DBMS (Database Management System) untuk pengembalian dan manipulasi data.
• Dengan digunakannya DBMS, maka style yang paling cocok untuk sistem repositori adalah shared-data style
Shared-Data Style
• Component : • Data Repository : menyediakan penyimpanan permanaen yang reliabel. Mengatur
data apa saja yang disimpan, berapa banyak accessor yang diperbolehkan mengakses dalam satu waktu
• Data Accessor : mengakses data dalam repositori, melakukan perhitungan, dan dapat mengambil kembali hasilnya
• Connector :• Data reading/writing : satu-satunya connector yang menjembatani data repositoi
dengan data accessor.
• Komunikasi antar data accessor terjadi di dalam repositori• What's for :• memungkinkan beberapa komponen mengakses data persisten• memudahkan proses modifikasi dengan men-decoupling data produsen dari data
konsumer
Contoh
• Pendaftaran mahasiswa pada suatu universitas• Repositori memuat semua data tentang mahasiswa,
perkuliahan, dan lain sebagainya• Accessor berupa administration, approval, registration,
report, dimana semuanya bisa melakukan operasi pada data
Contoh
Mengapa adanya crosscutting pada c & c styles
Adanya kesulitan terkait banyak hubungan c & c style disatu waktu. Karena adanya hal itu perlunya sebuah crosscutting untuk menyamankan semua style pada sebuah dokumentasi.
Pemecahan
• Pada kasus-kasus cross cutting dapat didokumentasikan dengan menambah sebuah tipe elemen style yang memiliki detail semantik yang menjelaskan bagaimana memecahkan sebuah problem crosscutting. Berupa tiers, communication style
Communication Style
Proses komunikasi C & C style dapat diperoleh dengan menetapkan masing-masing komponen dapat melakukan pengeksekusian secara independent. Dan pada umumnya sebuah top-level komponen akan dijalankan sebagai komponen yang terpisah namun memungkinkan komponen internal untuk mengakses parent proses.
Tujuan Communication Style
Style ini digunakan untuk ;
1. memahami bagian dari sistem yang dapat berjalan secara paralel dan thread kontrol dalam sistem.
2. menganalisis peformace dan kehandalan.
3. Dapat ddigunakan pada tahp desain, pada saat menentukan komponen yang harus melakukan suatu process.
communicating-processes styles Dokumentasi
1. Mekanisme pemulaian, pengakhiran, dan sinkronasi dari proses
2. Prioritasi sebuah proses
3. Timing parameter seperti periode dan deadline
4. Sebuah komponen tambahan seperti scheduller untuk monitoring dan controlling
5. Sebuah penggunaan sumber daya, mekanisme lock dan pencegahan deadlock
Communicating – Process Style Ver (Clements, Bass)
1. Elemen : Componen types (process, task, threads)
2. Elemen : connector type(data excange. Message passing, contol dan sinkronasi)
3. Relasi :(sudah di dijelaskan sebelumnya)
4. Topologi : Arbitrary graph
5. Computation Model: dilakukan bersamaan melaksanakan komponen yang berinteraksi
6. Concurrent unit(preemptability): menunjukkan bahwa pelaksana unit dilakukan bersamaan, sesama unit juga dapat melakukan sebuah prioritas, penjadwalan. Parameter waktu, deadline dan periode
7. Data exchange(buffered): menunjukkan sebuah protocol yang digunakan saat berkomunikasi
Tier
Tier adalah mekanisme untuk sebuah system partisi yang biasanya diterapkan pada client-server. Diamana terdapat bagian tier dari sebuah sistem (UI, databasem bisnis , logika aplikasi) yang dieksekusi pada platform yang berbeda. Konektor pada tier adalah sebuah penghubung antara sebuah componen dalam 1 tier / tier yang berbeda namun saling berdekatan. Multi tier style banyak ditemukan pada Java EE dan Microsoft . NET aplication. Dan juga Tier bukan merupakan sebuah komponen namun ada kelompok logical dari komponen.
Contoh
Dynamic Creation and Destruction
C & C style memungkinkan sebuah komponen dan konektor melakukan pembuatan dan melakukan penghancuran pada sistem yang berjalan. Contoh poda client server pada python.
Dynamic Creation and Destruction Dokumentasi
• Untuk mendokumentasi sebuah dinamis arsitektur , pengguna harus menambah beberapa informasi yaitu:
1. Jenis komponen / konektor yang mungkin dihancurkan / diciptakan
2. Mekanisme yang digunakan untuk membuat, mengelola dan menghancurkan elemen. Contohnya componen “factory” yang membuat instansiasi baru
3. Berapa banyak instance yang pada komponen tertentu pada waktu yang sama
4. Life sycle dari sebuah componen , berisikan tentang keadaan pembuatan, pengaktifan dan penonaktifan
Top Related