comp 3381: object-oriented design · pdf filearsitektur sistem terdistribusi memahami berbagai...
TRANSCRIPT
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
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