comp 3381: object-oriented design · pdf filearsitektur sistem terdistribusi memahami berbagai...

43
CHAPTER 11 1

Upload: phamthu

Post on 01-Mar-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

CHAPTER 11 1

SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK)

PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER

JURUSAN PENDIDIKAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS NEGERI MAKASSAR

2011 CHAPTER 11 2

Memahami kelebihan dan kekurangan utama dari

arsitektur sistem terdistribusi

Memahami berbagai pendekatan terhadap pengembangan sistem terdistribusi

Memahami perbedaan antara arsitektur client-server dengan objek terdistribusi

Memahami konsep object request broker dan prinsip-prinsip yang mendasari standar CORBA

Tujuan

CHAPTER 11 3

Arsitektur multiprosesor

Arsitektur Client-Server

Arsitektur Objek Terdistribusi

CORBA

Materi

CHAPTER 11 4

Hampir semua sistem berbasis-komputer yang

besar, saat ini merupakan sistem terdistribusi (sistem tersebar)

Kegiatan memproses informasi disitribusikan kepada sejumlah komputer sebagai pengganti komputer tunggal

Rekayasa Perangkat Lunak Terdistribusi sekarang menjadi isu yang penting

Sistem Terdistribusi

CHAPTER 11 5

Sistem Personal yang tidak terdistribusi dan dirancang

untuk berjalan pada personel komputer atau workstation. Contoh : Word,Spreadsheet,grafis dll

Sistem embedded yang berjalan pada satu prosesor atau pada kelompok prosesor yang terintegrasi

Sistem terdistribusi (tersebar) dimana perangkat lunak sistem berjalan pada sekelompok prosesor yang bekerja sama dan terintegrasi secara longgar, dengan dihubungkan oleh jaringan

Jenis-Jenis Sistem

CHAPTER 11 6

Pemakaian bersama sumber daya

Keterbukaan

Konkurensi

Skalabilitas

Toleransi kesalahan

Transparansi

Karakteristik Sistem terdistribusi

CHAPTER 11 7

Kompleksitas

Keamanan

Kemampuan untuk dapat dikendalikan

Tidak dapat diramalkan

Kerugian Sistem Terdistribusi

CHAPTER 11 8

Isu-isu pada perencanaan sistem terdistribusi

Design issue DescriptionResourceidentification

The resources in a distributed system are spread across differentcomputers and a naming scheme has to be devised so that users candiscover and refer to the resources that they need. An example ofsuch a naming scheme is the URL (Uniform Resource Locator) thatis used to identify WWW pages . If a meaningful and universallyunderstood identification scheme is not used then many of theseresources will be inaccessible to system users.

Communications The universal availabilit y of the Internet and the efficientimplementation of Internet TCP/IP communication protocols meansthat, for most distributed systems, these are the most effective wayfor the computers to communicate. However, where there arespecific requirements for performance, reliability etc. alternativeapproaches to communications may be used.

Quali ty of service The quality of service offered by a system reflects its performance,availabilit y and reliabilit y. It is affected by a number of factors suchas the allocation of processes to processes in the system, thedistribution of resources across the system, the network and thesystem hardware and the adaptability of the system.

Softwarearchitectures

The software architecture describes how the appli cationfunctionali ty is distributed over a number of logi cal components andhow these components are distributed across processors. Choosingthe right architecture for an application is essential to achieve thedesired quality of service.

CHAPTER 11 9

Arsitektur Client-Server

Sistem dapat dianggap sebagai satu set layanan yg disediakan untuk Client. Server penyedia layanan, server dan client dilakukan berbeda.

Arsitektur Objek Terdistribusi

Tidak ada perbedaan antara server dan client, sistem dapat dianggap sebagai satu objek yang berinteraksi yang lokasinya tidak relevan. Tidak ada perbedaan antara server dan client

Arsitektur Sistem Terdistribusi

CHAPTER 11 10

Perangkat lunak yang dapat menangani bagian-bagian yang beragam agar dapat berkomunikasi dan bertukar data

Istilah middleware mengacu kepada posisi ditengah-tengah dari software ini diantara berbagai komponen sistem terdistribusi yang berbeda

Contoh : Transaction processing monitors

Data convertors

Communication controllers

Middleware

CHAPTER 11 11

Merupakan model sistem terdistribusi yang paling sederhana

Sistem terdiri dari sejumlah proses yang dapat (tapi tidak mesti) berjalan pada beberapa prosesor yang terpisah

Model ini umum pada sistem real-time yang besar

Pendistribusian proses ke prosesor dapat ditentukan sebelumnya atau bisa juga dikendalikan oleh dispatcher yang memutuskan proses yang mana dialokasikan ke masing-masing prosesor

Arsitektur Multiprosesor

CHAPTER 11 12

Sistem Kontrol Lalu Lintas Multiprosesor

Traffic lights

Lightcontrolprocess

Traffic light controlprocessor

Traffic flowprocessor

Operator consolesTraffic flow sensors

and cameras

Sensorprocessor

Sensorcontrolprocess

Displayprocess

CHAPTER 11 13

Model Aplikasi dimana sekumpulan layanan

disediakan oleh Server dan sekumpulan Client yang membutuhkan layanan tersebut

Klien tahu server dan server tidak perlu tahu client nya

Klient dan server berada pada proses logikal

Tidak harus ada pemetaan 1:1 antar proses dengan prosesor pada sistem

Arsitektur Client-Server

CHAPTER 11 14

Sistem Client - Server

s1

s2 s3

s4c1

c2 c3 c4

c5

c6c7 c8

c9

c1 0

c1 1c1 2

Cl ient process

Server process

CHAPTER 11 15

Komputer Pada Jaringan Client/Server Network

Network

SC1SC2

CC1 CC2 CC3

CC5 CC6CC4

Servercomputer

Cl ientcomputer

s1 , s2 s3, s4

c5, c6, c7

c1 c2 c3, c4

c8, c9 c1 0, c1 1 , c1 2

CHAPTER 11 16

Contoh-contoh dari model client-server, dimana ada

beberapa server dan client. Masing-masing server menyimpan datanya sendiri dan setiap client bisa mengakses/menggunakan layanan pada tiap server. Client server merupakan arsitektur terdistribusi. Bisa digunakan secara efektif pada jaringan dengan prosesor yang terdistribusi.

Keterangan Komputer Pada Jaringan Client/Server Network

CHAPTER 11 17

Lapisan Presentasi

Berhubungan dengan penyajian informasi ke user dan dengan semua interaksi user

Lapisan Pemrosesan Informasi

Berhubungan dengan implementasi logika aplikasi

Lapisan Manajemen Data

Berhubungan dengan semua operasi database

Arsitektur Lapisan Aplikasi

CHAPTER 11 18

Lapisan Aplikasi

Presentation layer

Appl ication processinglayer

Data managementlayer

CHAPTER 11 19

Model Thin-client

Pada model ini semua pemrosesan aplikasi dan manajemen data dilakukan pada server. Klien bertanggung jawab untuk menjalankan perangkat lunak presentasi

Model Fat-client

Pada model ini, server hanya bertanggung jawab untuk manajemen data. Perangkat lunak pada klien mengimplementasi logika aplikasi dan interaksi dengan user sistem

Thin Client dan Fat Client

CHAPTER 11 20

Thin Client dan Fat Client

Thin-clientmodel

Fat-clientmodel Client

Cl ient

Server

Data managementAppl icationprocessing

Presentation

Server

Datamanagement

PresentationAppl ication processing

CHAPTER 11 21

Model ini merupakan model yang paling sederhana

untuk digunakan ketika sistem warisan (legacy) sentral dikembangkan menjadi arsitektur Client-Server.

Kekurangan terbesar dari model thin-client adalah bahwa model tersebut menempatkan beban berat pemrosesan pada pada server dan jaringan

Model Thin Client

CHAPTER 11 22

Menggunakan kekuatan pemrosesan yang tersedia

dan mendistribusikan pemrosesan logika aplikasi dan presentasi kepada klien

Server harus merupakan server transaksi yang menangani semua transaksi database

Lebih rumit dibandingkan model thin client terutama aspek manajemen.Aplikasi diinstal di semua client

Model Fat Client

CHAPTER 11 23

Client-Server Untuk SistemATM

Account server

Customeraccountdatabase

Tele-processingmoni tor

ATM

ATM

ATM

ATM

CHAPTER 11 24

Pada arsitektur three-tier , tiap lapisan arsitektur

aplikasi dapat dieksekusi dengan prosessor yang terpisah

Arsitektur ini mempunyai unjuk kerja yang lebih baik dibandingkan pendekatan thin-client dan lebih sederhana mengelolanya dibandingkan pendekatan fat-client

Arsitektur yang dapat dikembangkan- bila demands bertambah , maka tinggal menambahA more scalable architecture - as demands increase, extra servers can be added

Arsitektur Three-Tier

CHAPTER 11 25

Arsitektur Three-Tier Untuk Model Client-Server

Client

Server

Datamanagement

PresentationServer

Appl icationprocessing

CHAPTER 11 26

Sistem Internet Banking

Database server

Customeraccountdatabase

Web server

Client

Cl ient

Cl ient

Cl ient

Account serviceprovision

SQLSQL query

HTTP interaction

CHAPTER 11 27

Kegunaan Arsitektur Client Server Yang Berbeda

Architecture Applications Two-tier C/S architecture with thin clients

Legacy system applications where separating application processing and data management is impractical Computationally-intensive applications such as compilers with little or no data management Data-intensive applications (browsing and querying) with little or no application processing.

Two-tier C/S architecture with fat clients

Applications where application processing is provided by COTS (e.g. Microsoft Excel) on the client Applications where computationally-intensive processing of data (e.g. data visualisation) is required. Applications with relatively stable end-user functionality used in an environment with well-established system management

Three-tier or multi-tier C/S architecture

Large scale applications with hundreds or thousands of clients Applications where both the data and the application are volatile. Applications where data from multiple sources are integrated

CHAPTER 11 28

Pada model Client-Server sistem terdistribusi, klien dan server berbeda

Klien menerima layanan dari server dan tidak dari klien lainnya

Server dapat bertindak sebagai klien dan menerima layanan dari server lainnya

Klien tidak meminta layanan dari klien

Model ini membatasi fleksibilitas perancang sistem dalam arti perancang harus memutuskan kapan layanan diberikan

Pendekatan yang lebih umum bagi sistem terdistribusi adalah menghilangkan perbedaan antara klien dan server, dan merancang arsitektur sistem sebagai arsitektur objek terdistribusi

Arsitektur Objek Terdistribusi

CHAPTER 11 29

Arsitektur Objek Terdistribusi

Software bus

o1 o2 o3 o4

o5 o6

S (o1 ) S (o2) S (o3) S (o4)

S (o5) S (o6)

CHAPTER 11 30

Sistem ini memungkinkan perancang sistem menunda

keputusan mengenai dimana dan bagaimana layanan harus disediakan

Model ini merupakan arsitektur yang sangat terbuka yang meungkinkan sumber day abaru ditambahkan jika perlu

Sistem ini sangat fleksibel dan dapt dikembangkan dengan mudah

Rekonfigurasi sistem secara dinamis akan dimungkinkan dengan objek berimigrasi melintasi jaringan bilamana diperlukan

Keuntungan Model Arsitektur Sistem Terdistribusi

CHAPTER 11 31

Sebagai model logika yang memungkinkan Anda

menstruktur dan mengorganisasikan sistem. Dalam hal ini , yang perlu dipikirkan mengenai bagaimana menyediakan fungsionalitas sistem hanya dalam hitungan layanan dan kombinasi layanan

Sebagai pendekatan yang fleksibel terhadap sistem klien-server. Dalam hal ini , model logika sistem merupakan model client-server, tetapi baik client maupun server direalisasikan sebagai objek terdistribusi yang berkomunikasi melalui bus perangkat lunak

Penggunaan Arsitektur Objek Terdistribusi

CHAPTER 11 32

Sistem data-mining

Database 1

Database 2

Database 3

Integrator 1

Integrator 2

Visual iser

Display

Report gen.

CHAPTER 11 33

Data mining adalah contoh dari sistem arsitektur objek

terdistribusi

Data mining akan mencari hubungan dalam sejumlah database yang berbeda

Objek integrator masing-masing dapat menangani hubungan-hubungan khusus dan mengumpulkan informasi dari semua database untuk mencoba menyimpulkan hubungannya

Objek visualiser berinteraksi dengan objek integrator untuk menghasilkan visualisasi atau laporan mengenai hubungan yang telah ditemui

Sistem data-mining

CHAPTER 11 34

CORBA adalah standar internasional untuk Object

Request Broker - middleware - untuk mengelola komunikasi diantara objek yang didistribusikan

Ada beberapa implementasi dari CORBA yang tersedia

DCOM [ Distributed Component Object Mode] adalah alternatif lain dari CORBA yeng merupakan produk Microsoft

CORBA didefinisikan oleh The Object Management Group [OMG]

CORBA[Common Object Request Broker Architecture]

CHAPTER 11 35

OMG mengusulkan agar aplikasi terdistribusi terbuat dari

sejumlah komponen :

Objek Aplikasi : yang dirancang dan diimplementasikan untuk aplikasi ini

Objek Standar : yang didefinisikan oleh OMG untuk domain khusus. Misalnya untuk keuangan/asuransi, e-comm, kesehatan dll.

Layanan CORBA : fundamental yang menyediakan layanan komputasi terdistribusi dasar seperti direktori, manajemen sekuritas , dll.

Fasilitas CORBA horizontal, seperti user interface, fasilitas manajemen sistem dll.

Struktur Aplikasi

CHAPTER 11 36

Struktur Aplikasi CORBA

CORBA services

Object request broker

Domainfacil ities

HorizontalCORBA faci li ties

Appl icationobjects

CHAPTER 11 37

Objek CORBA merupakan enkapsulasi status dengan interface

yang terdefinisi dengan baik dan netral dalam hal bahasa yang dideskripsikan dalam IDL [interface definition language]

Model objek untuk objek aplikasi

Object Request Broker (ORB) yang menangani permintaan akan layanan objek

Satu set layanan objek yang merupakan layanan umum dan mungkin diperlukan oleh banyak aplikasi terdistribusi

Satu set komponen umum, yang dibangun diatas layanan-layanan dasar yang mungkin dibutuhkanoleh aplikasi ini.

Standard CORBA

CHAPTER 11 38

Objek CORBA dapat dikomparasi , secara prinsip,

dengan objek di dalam C++ dan Java

Kedua mesti terpisah dan dinyatakan dengan IDL

Oleh karenanya diperlukan pemetaan dari IDL ke bahasa pemrograman (C++, Java, etc.)

Dengan demikian object yang ditulis dengan bahasa yang berbeda dapat berkomunikasi satu dengan lainnya

Object CORBA

CHAPTER 11 39

Layanan Penamaan dan Layanan Pertukaran

Memungkinkan objek mengacu ke dan menemukan objek lain pada jaringan

Layanan Pengumuman

Memungkinkan objek memberitahu objek lain telah terjadi event

Layanan Transaksi

Mendukung transaksi atomic dan rollback (kembali ke asal) jika ada kesalahan

Layanan CORBA

CHAPTER 11 40

Hampir semua sistem besar yang baru saat inni merupakan

sistem terdistribusi di mana perangkat lunak sistem berjalan pada kelompok jaringan prosesor yang terintegrasi secara longgar (loose)

Sistem terdistribusi dapat mendukung pemakaian bersama sumber daya, keterbukaan, konkurensi, skalabilitas, toleransi kesalahan, dan transparansi

Sistem client-server merupakan sistem terdistribusi di mana sistem dimodelkan sebagai satu set layanan yang disediakan oleh server bagi proses klien

Hal-Hal Penting(1)

CHAPTER 11 41

Pada sistem client-server, interface user selalu beroperasi

pada klien, dan manajemen data selalu disediakan oleh server yang dipakai bersama

Pada arsitektur objek terdistribusi, tidak ada perbedaan antara klien dan server. Objek memberikan layanan umum yang bisa dipanggil oleh objek lain . Pendekatan ini dapat dipakai untuk pendekatan Client-Server

Hal-Hal Penting(2)

CHAPTER 11 42

TERIMA KASIH

CHAPTER 11 43