Title: Web Client / Server Infrastructure
1Web Client / Server Infrastructure
2Definition
- Client-server is a network architecture
- which separates the client from the server.
- Each client software can send requests to
- a server.
- There are many different types of servers
- such as file server, or mail server, and so
- on.
- ServerComputer (PC/mini/mainframe) that provides
a service For DBMS, server is a database server - Example Wikipedia web
3 topology Client/Server
- Menggunakan LAN untuk mendukung jaringan PC
- Masing-masing PC memiliki penyimpan tersendiri
- Berbagi hardware atau software
4Application Logic in C/S Systems
- Presentation Logic
- Inputkeyboard/mouse
- Outputmonitor/printer
GUI Interface
- Processing Logic
- I/O processing
- Business rules
- Data management
Procedures, functions, programs
- Storage Logic
- Data storage/retrieval
DBMS activities
5Client/Server Architectures
- File Server Architecture
- Database Server Architecture
- Three-tier Architecture
6File Server Architecture
FAT CLIENT
7Arsitektur File Server
- Model pertama Client/Server
- Semua pemrosesan dilakukan pada sisi workstation
- Satu atau beberapa server terhubungkan dalam
jaringan - Server bertindak sebagai file server
- File server bertindak sebagai pengelola file dan
memungkinkan klien mengakses file tersebut
8Arsitektur File Server (Lanjutan)
Klien
Klien
Klien
- Setiap klien dilengkapi DBMS tersendiri
- DBMS berinteraksi dengan data yang tersimpan
dalam bentuk file pada server - Aktivitas pada klien
- Meminta data
- Meminta penguncian data
- Tanggapan dari klien
- Memberikan data
- Mengunci data dan memberikan statusnya
LAN
- Permintaan data
- Status penguncian
- Permintaan data
- Permintaan penguncian data
File Server
9Batasan File Server
- Beban jaringan tinggi karena tabel yang diminta
akan diserahkan oleh file server ke klien melalui
jaringan - Setiap klien harus memasang DBMS sehingga
mengurangi memori - Klien harus mempunyai kemampuan proses tinggi
untuk mendapatkan response time yang bagus - Salinan DBMS pada setiap klien harus menjaga
integritas databasse yang dipakai secara
bersama-sama ? tanggung jawab diserahkan kepada
programmer
10Application Architectures
- Two-tier architecture Contoh - program klien
menggunakan ODBC/JDBC untuk berkomunikasi dengan
database - Three-tier architecture Contoh aplikasi berbasis
Web
11Contoh Two-Tier Architecture
Program Visual BASIC
MyODBC
Database Server MySQL
12Two-Tier Database Server Architectures
- Client is responsible for
- I/O processing logic
- Some business rules logic
- Server performs all data storage and access
processing - ? DBMS is only on server
13Advantages of Two-Tier Approach
- Clients do not have to be as powerful
- Greatly reduces data traffic on the network
- Improved data integrity since it is all processed
centrally - Stored procedures ? DBMS code that performs some
business rules done on server
14Advantages of Stored Procedures
- Compiled SQL statements
- Reduced network traffic
- Improved security
- Improved data integrity
- Thinner clients
15Two-tier database server architecture
Thinner clients
DBMS only on server
16Three-Tier Architectures
GUI interface (I/O processing)
Browser
Client
Application server
Web Server
Business rules
Database server
Data storage
DBMS
- Thin Client
- PC just for user interface and a little
application processing. Limited or no data
storage (sometimes no hard drive)
17Three-tier architecture
Thinnest clients
Business rules on separate server
DBMS only on DB server
18Three-Tier Architecture
19Three Tierarchitrcture
20Contoh Three-tier Architecture
21Three-Tier Architecture
Lapisan Klien
- Melibatkan lapisan server yang lain selain
lapisan database server
LAN
Lapisan Bisnis
Application Server
Lapisan Database
Database Server
22Beberapa Keuntungan Arsitektur Three-Tier
- Keluwesan teknologi
- Mudah untuk mengubah DBMS engine
- Memungkinkan pula middle tier ke platform yang
berbeda - Biaya jangka panjang yang rendah
- Perubahan-perubahan cukup dilakukan pada middle
tier daripada pada aplikasi keseluruhan - Keunggulan kompetitif
- Kekampuan untuk bereaksi thd perubahan bisnis
dengan cepat, dengan cara mengubah modul kode
daripada mengubah keseluruhan aplikasi
23Advantages of Three-Tier Architectures
- Scalability
- Technological flexibility
- Long-term cost reduction
- Better match of systems to business needs
- Improved customer service
- Competitive advantage
- Reduced risk
24Perbandingan kecepatan two three Tier
25Two tier
Three Tier
26Internal Example Amazons Catalog Service
Client (browser)
Catalog Server (Apache)
Web Server (Apache)
Obidos
Catalog Information
Page templates,etc.
27Middleware
- S/W yang memungkinkan aplikasi berhubungan dengan
S/W lain tanpa memerlukan pengetahuan pemakai
terhadap kode yang diperlukan agar
interoperatibiltas tercapai - Implementasinya bisa berupa API (Application
Program Interface)
28ODBC
- ODBC (open database connectivity) adalah suatu
middleware berbasis Windows yang digunakan untuk
berinteraksi denga berbagai database
29Contoh Menguji ODBC
- Klik tombol Start ().
- Klik pada Control Panel.
- Klik pada Administrative Tools.
- Klik ganda pada Data Source (ODBC).
30Contoh Menguji ODBC(Lanjutan)
- Klik pada System DSN.
- Klik pada Add....
- Pilih pada MySQL ODBC 3.5.1
31Contoh Menguji ODBC(Lanjutan)
- Ketikkan MySQL pada Data Source Name.
- Ketikkan 127.0.0.1 pada Server.
- Ketikkan root pada User.
- Ketikkan rahasia pada Password.
- Pilih pegawai pada Database.
- Klik tombol Test.
32Pemanfaatan ODBC pada VB6
- Function KoneksiMySQL(Conn As ADODB.Connection, _
- Server As String, _
- Database As String, _
- User As String, Password As
String) As Boolean - 'Koneksi ke database MySQL
- Conn.ConnectionString "DRIVERMySQL ODBC
3.52 Driver" _ - "SERVER" Server
"" _ - "DATABASE" Database
"" _ - "UID" User "
PWD" _ - Password
-
- On Error Resume Next
- Conn.Open
- On Error GoTo 0
-
- KoneksiMySQL (Err.Number 0)
- End Function
33JDBC
- JDBC (Java Database Connectivity) memungkinkan
applet mengakses database - Bisa digunakan pada JSP
34Query-By-Example (QBE)
- Suatu tool yang memungkinkan pengaksesan database
secara lansung menggunakan pendekatan grafis
35Internet
- Internet merupakan contoh jaringan terbesar yang
menghubungkan jutaan komputer yang tersebar di
seluruh penjuru dunia dan tak terikat pada satu
organisasipun - Siapa saja dapat bergabung pada Internet
- Dengan menggunakan jaringan ini, sebuah
organisasi dapat melakukan pertukaran informasi
secara internal ataupun melakukan pertukaran
informasi secara eksternal dengan
organisasi-organisasi yang lain
36e-Business
- Penggunaan teknologi Internet untuk menghubungkan
dan memperkuat proses-proses bisnis, perdagangan
elektronis (electronic commerce atau e-commerce),
dan komunikasi serta kolaborasi antar sebuah
perusahaan dengan para pelanggan, pemasok, dan
mitra kerja bisnis elektronis lainnya (OBrien)
37Cakupan e-Business
38Aplikasi Bisnis Internal
- Digunakan untuk mendukung kegiatan, proses, dan
operasi bisnis yang bersifat internal bagi
perusahaan - Contoh
- Pemrosesan transaksi internal
- Enterprise information portal
- Sistem pendukung manajemen
39E-Commerce
- E-commerce dibagi menjadi dua jenis
- B2B dan
- B2C
40B2B (Business-to-Business)
- Menyatakan penjualan produk atau jasa yang
melibatkan antarperusahaan dan dilakukan dengan
sistem otomasi - Umumnya perusahaan yang terlibat adalah pemasok,
distributor, pabrik, tokok, dan lain-lain - Kebanyakan transaksi berlangsung secara langsung
antara dua sistem
41B2B (Business-to-Business)(Lanjutan)
- Keuntungan B2B, jika dikerjakan dengan benar,
dapat menghemat biaya, meningkatkan pendapatan,
memberikan pengiriman yang lebih cepat,
mengurangi biaya administrasi, dan meningkatkan
layanan kepada pelanggan (Karper dan Ellis)
42B2C (Business-to-Consumer)
- Melibatkan interaksi dan transaksi antara sebuah
perusahaan dengan para pelanggan - Keunggulan B2C dibandingkan dengan penjualan
konvensional melalui toko fisik adalah
memungkinkan layanan selama 24 jam
43Aplikasi Web
- Aplikasi Web dapat dibagi menjadi 2 macam
- Web Statis dan
- Web Dinamis
44Web Statis
- Web statis dibentuk dengan menggunakan HTML saja
- Kekurangan Web statis terletak pada keharusan
untuk memelihara halaman Web secara terus-menerus
setiap ada perubahan informasi
45Web Dinamis
- Isi halaman bersifat dinamis, dapat mengikuti
perubahan isi database - Pengertian Web dinamis terkadang diartikan
sebagai halaman Web yang dilengkapi dengan
gambar-gambar bergerak - Web dinamis dapat digunakan untuk membentuk
aplikasi interaktif, yang memungkinkan pemakai
tak hanya memperoleh informasi terkini tetapi
juga dapat melakukan perubahan data. Misalnya - Untuk pengisian KRS
- Perubahan data pribadi
- Pengisian berita baru
- dll
- Web dinamis dibentuk dengan menambahkan perangkat
lunak tambahan, seperti ASP atau PHP
46Prinsip Kerja Web Berbasis HTML
- Browser meminta sebuah halaman ke suatu situs
- Permintaan diterima oleh Web server (server yang
bertanggung jawab melayani permintaan browser) - Web server segera mengirimkan halaman HTML yang
diminta ke klien) - Browser pada klien segera menampilkan dokumen
HTML berdasarkan kode-kode yang terdapat pada HTML
47Prinsip Kerja Web Berbasis HTML
48Prinsip Kerja Web Dinamis(Contoh dengan PHP)
49Teknologi Web
- Teknologi untuk membentuk aplikasi Web yang
dinamis - Teknologi pada sisi klien (client-side
technology) - Teknologi pada sisi server (server-side
technology)
50Web application servers
Server
HTML Forms
Web Browser
CGI
Java
HTTP over TCP/IP
Application
Internet
Web Browser
HTML documents
HTML Forms
Web Browser
51Teknologi pada Sisi Klien
- Kontrol Active X
- Java applet
- Client-side script (JavaScript dan VBScript)
- DHTML (CSS / Cascading Style Sheets)
52Teknologi pada Sisi Server
- CGI
- FastCGI
- Proprietary Web Server API (ISAPI dan NSAPI)
- Active Server Pages (ASP)
- Java Server Pages (JSP) dan Java Servlets
- Server-side JavaScript
- PHP