Component and Connector Styles

38
Component and Connector Styles Fajar Setiawan 5112100010 Luthfi F Soehadak 5112100016 Risky Dwi Setiyawan 5112100030 Andrias Meisyal5112100116 Dicky Irwanto 5112100182

description

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

Transcript of Component and Connector Styles

Page 1: Component and Connector Styles

Component and Connector StylesFajar Setiawan 5112100010

Luthfi F Soehadak 5112100016

Risky Dwi Setiyawan 5112100030

Andrias Meisyal 5112100116

Dicky Irwanto 5112100182

Page 2: Component and Connector Styles

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

Page 3: Component and Connector Styles

partial representation

Page 4: Component and Connector Styles

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

Page 5: Component and Connector 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

Page 6: Component and Connector Styles

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

Page 7: Component and Connector Styles

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

Page 8: Component and Connector Styles

Pipe-And-Filter

Page 9: Component and Connector Styles

Contoh Penggunaan Pipe-And-Filter

• Compiler• Unix Program

Page 10: Component and Connector Styles

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

Page 11: Component and Connector Styles

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

Page 12: Component and Connector Styles

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

Page 13: Component and Connector Styles

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.

Page 14: Component and Connector Styles

Event-based styles

• Publish-Subscribe Style

Page 15: Component and Connector Styles

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)

Page 16: Component and Connector Styles

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

Page 17: Component and Connector Styles

Publish-Subscribe Style

Elemen

Page 18: Component and Connector Styles

Publish-Subscribe Style

Infrastruktur Komunikasi

Page 19: Component and Connector Styles

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

Page 20: Component and Connector Styles

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)

Page 21: Component and Connector Styles

Publish-Subscribe Style

ContohDistributed object, CORBASistem berbasis objek menggunakan observer patternSistem dikenal dengan active databases

Page 22: Component and Connector Styles
Page 23: Component and Connector Styles

Publish-Subscribe Style

KelebihanLoose couplingScalability

KekuranganInflexible semantic couplingMessage delivery issues

Page 24: Component and Connector Styles

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

Page 25: Component and Connector Styles

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

Page 26: Component and Connector Styles

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

Page 27: Component and Connector Styles

Contoh

Page 28: Component and Connector Styles

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.

Page 29: Component and Connector Styles

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

Page 30: Component and Connector Styles

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.

Page 31: Component and Connector Styles

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.

Page 32: Component and Connector Styles

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

Page 33: Component and Connector Styles

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

Page 34: Component and Connector Styles
Page 35: Component and Connector Styles

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.

Page 36: Component and Connector Styles

Contoh

Page 37: Component and Connector Styles

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.

Page 38: Component and Connector Styles

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