Component and Connector Styles

Post on 16-Jan-2016

35 views 0 download

description

Penjelasan terhadap style yang digunakan pada C&CContain many style of C&C

Transcript of Component and Connector Styles

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