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
Tujuan 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
CHAPTER 11
3
Materi Arsitektur multiprosesor Arsitektur Client-Server Arsitektur Objek Terdistribusi CORBA
CHAPTER 11
4
Sistem Terdistribusi 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 CHAPTER 11
5
Jenis-Jenis Sistem
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 CHAPTER 11
6
Karakteristik Sistem terdistribusi
Pemakaian bersama sumber daya Keterbukaan Konkurensi Skalabilitas Toleransi kesalahan Transparansi
CHAPTER 11
7
Kerugian Sistem Terdistribusi Kompleksitas Keamanan Kemampuan untuk dapat dikendalikan Tidak dapat diramalkan
CHAPTER 11
8
Design issue Resource identification
Description The resources in a distributed system are spread across different computers and a naming scheme has to be devised so that users can discover and refer to the resources that they need. An exa mple of such a naming scheme is the URL (Uniform Resource Locator) that is used to identify WWW pages. If a meaningful and universall y understood identification scheme is not used then many of these resources will be inaccessible to system users. Communicati ons The universal avail abilit y of the Internet and the efficient implementation of Internet TCP/IP communication protocols means that, for most distributed systems, these are the most effective way for the computers to communicate. However, where there are specific requirements for performance, reli ability etc. alternative approaches to communications may be used. Quality of service The quality of service offered by a system reflects its performance, avail abilit y and reli abilit y. It is affected by a number of factors such as the all ocation of processes to processes in the system, the distribution of resources across the system, the network and the system hardware and the adaptability of the system. Software The software architecture describes how the appli cation architectures functionali ty is distributed over a number of logi cal components and how these components are distributed across processors. Choosing the right architecture for an application is essential to achieve the desired quality of service.
Isu-isu pada perencanaan sistem terdistribusi9 CHAPTER 11
Arsitektur Sistem Terdistribusi 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 CHAPTER 11
10
Middleware Perangkat lunak yang dapat menangani bagian-bagian yang beragam agar dapat berkomunikasi dan bertukar data Istilah middleware mengacu kepada posisi ditengahtengah dari software ini diantara berbagai komponen sistem terdistribusi yang berbeda Contoh : Transaction processing monitors Data convertors Communication controllers CHAPTER 11
11
Arsitektur Multiprosesor 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 CHAPTER 11
12
Sistem Kontrol Lalu Lintas Multiprosesor
Sensor processor Sensor control process
Traffic flow sensors and cameras
Traffic flow processor
Traffic li ght control processor
Di spl ay process
Li ght control process
Traffic li ghts Operator consol es
CHAPTER 11
13
Arsitektur Client-Server 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
CHAPTER 11
14
Sistem Client - Server c3
c2
c4
c1 2 c1 1
c1
s1
Server process
s4 c1 0
c5 s2 c6
Cl ient process s3
c9 c8
c7
CHAPTER 11
15
Komputer Pada Jaringan Client/Server Network CC1
c1
CC2
c2
CC3
Network
s1 , s2
s3, s4
Server computer
SC1
SC2
c5, c6, c7
c3, c4
CC4
CC5
c8, c9
CHAPTER 11
CC6
c1 0, c1 1 , c1 2
Cl ient computer
16
Keterangan Komputer Pada Jaringan Client/Server Network
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.
CHAPTER 11
17
Arsitektur Lapisan Aplikasi 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
CHAPTER 11
18
Lapisan Aplikasi Presentation layer
Appl i cation processing l ayer
Data management l ayer CHAPTER 11
19
Thin Client dan Fat Client 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 CHAPTER 11
20
Thin Client dan Fat Client Presentation Thi n-cli ent model
Data management Appl i cation processing
Cl ient
Presentation Appl i cation processing Fat-cli ent model
Server
Cl ient
Server Data management
CHAPTER 11
21
Model Thin Client Model ini merupakan model yang paling sederhana untuk digunakan ketika sistem warisan (legacy) sentral dikembangkan menjadi arsitektur ClientServer. Kekurangan terbesar dari model thin-client adalah bahwa model tersebut menempatkan beban berat pemrosesan pada pada server dan jaringan
CHAPTER 11
22
Model Fat Client 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
CHAPTER 11
23
Client-Server Untuk SistemATM
ATM ATM
Account server TeleCustomer processing account moni tor database
ATM ATM
CHAPTER 11
24
Arsitektur Three-Tier 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 CHAPTER 11
25
Arsitektur Three-Tier Untuk Model ClientServer
Presentation Cl ient
Server
Server
Appl i cation processing
Data management
CHAPTER 11
26
Sistem Internet Banking Cl ient
HTTP i nteracti on Web server
Cl ient
Account service provi sion
SQLquery
Database server SQL
Customer account database
Cl ient
Cl ient
CHAPTER 11
27
Kegunaan Arsitektur Client Server Yang Berbeda Architecture Two-tier C/S architecture with thin clients
Two-tier C/S architecture with fat clients
Three-tier or multitier C/S architecture
Applications 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. 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 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
Arsitektur Objek Terdistribusi
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
CHAPTER 11
29
Arsitektur Objek Terdistribusi o1
o2
o3
o4
S (o1 )
S (o2)
S (o3)
S (o4)
Software bus
o5
o6
S (o5)
S (o6) CHAPTER 11
30
Keuntungan Model Arsitektur Sistem Terdistribusi
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 CHAPTER 11
31
Penggunaan Arsitektur Objek Terdistribusi
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 klienserver. 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 CHAPTER 11
32
Sistem data-mining Database 1
Integrator 1
Database 2
Report gen.
Vi sual iser Integrator 2
Database 3
Di spl ay
CHAPTER 11
33
Sistem data-mining 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 CHAPTER 11
34
CORBA[Common Object Request Broker Architecture]
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 CHAPTER 11 35 Group [OMG]
Struktur Aplikasi
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 36 manajemen sistem dll. CHAPTER 11
Struktur Aplikasi CORBA Appl i cation objects
Domain facil ities
Horizontal CORBAfaci li ti es
Object request broker
CORBA servi ces CHAPTER 11
37
Standard CORBA 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 layananlayanan dasar yang mungkin dibutuhkanoleh aplikasi ini. CHAPTER 11
38
Object CORBA
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 CHAPTER 11
39
Layanan CORBA 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 CHAPTER 11
40
Hal-Hal Penting(1) 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 CHAPTER 11
41
Hal-Hal Penting(2) 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
CHAPTER 11
42
TERIMA KASIH
CHAPTER 11
43