Download PIM5 - Lecturer

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Pemrograman Internet Mobile
Antonius R.C, S.Kom, M.Cs
Web Database
Definisi Mobile Web Database
• Tempat penyimpanan (repositories) database
atau informasi yang secara dinamis berinteraksi
dengan halaman Mobile Web
• Sebuah metode untuk menyimpan content
WWW, dalam format terstruktur atau usable,
yang terhubung baik secara statis maupun
dinamis dengan database lain
• Membantu komunikasi antara Web server dan
Database.dan memungkinkan pemakai
menerbitkan atau mengumpulkan informasi dari
manapun
Tujuan Mobile Web Database
• Menyediakan jalan / cara remote access
ke database server melalui browser di
mobile
• Menggabungkan web server (http) dan
database server
• Menggunakan semua metodologi mobile
web design standard untuk menyediakan
kemudahan pemakaian, front end GUI ke
database
Konsep Client - Server
• Client/server secara sederhana dapat diartikan
sebagai kemampuan sebuah komputer / device
(client) untuk meminta data atau layanan ke
komputer / device (server) lain
• Komputer / device yang menerima permintaan
data atau layanan ke komputer lain itu akan
menanggapi permintaan tersebut dan
mengirimkan data yang diminta ke komputer /
device yang meminta layanan
Arsitektur Client Server
Three Tier Client-Server
Architecture
Client-Server Characteristics
• Client dan Server merupakan item proses (logika)
terpisah yang bekerja sama pada suatu jaringan
komputer untuk mengerjakan suatu tugas:
• Service : Menyediakan layanan terpisah yang berbeda
• Shared resource : Server dapat melayani beberapa
client pada saat yang sama dan mengatur pengaksesan
resource
• Asymmetrical Protocol : antara client dan server
merupakan hubungan one-to-many. Client memulai
komunikasi dengan mengirim request ke server. Server
menunggu permintaan dari client. Kondisi tersebut juga
memungkinkan komunikasi callback.
Client-Server Characteristics
• Transparency Location : proses server dapat
ditempatkan pada mesin yang sama atau terpisah
dengan proses client. Client/server akan
menyembunyikan lokasi server dari client.
• Mix-and-match : tidak tergantung pada platform
• Message-based-exchange : antara client dan server
berkomunikasi dengan mekanisme pertukaran message.
• Encapsulation of service : message memberitahu server
apa yang akan dikerjakan
• Scalability : sistem C/S dapat dimekarkan baik vertikal
maupun horisontal
• Integrity : kode dan data server diatur secara terpusat,
sedangkan pada client tetap pada komputer tersendiri
Client-Server Characteristics
• Characteristics of a client
–
–
–
–
Initiates requests
Waits for and receives replies
Usually connects to a small number of servers at one time
Typically interacts directly with end-users using a graphical user
interface
• Characteristics of a server
– Passive (slave)
– Waits for requests from clients
– Upon receipt of requests, processes them and then serves
replies
– Usually accepts connections from a large number of clients
– Typically does not interact directly with end-users
Advantages
• Client-server mampu menciptakan aturan dan kewajiban
komputasi secara terdistribusi.
• Mudah dalam maintenance. Memungkinkan untuk
mengganti, memperbaiki server tanpa mengganggu
client.
• Semua data disimpan di server Server dapat
mengkontrol akses terhadap resources, hanya yang
memiliki autorisasi saja.
• Tempat penyimpanan terpusat, update data mudah.
Pada peer-to-peer, update data sulit
• Mendukung banyak clients berbeda dan kemampuan
yang berbeda pula.
Disadvantages
• Traffic congestion on the network, jika banyak
client mengakses ke server secara simultan,
maka server akan overload
– Berbeda dengan P2P network, dimana bandwidthnya
meningkat jika banyak client merequest. Karena
bandwidth berasal dari semua komputer yang
terkoneksi kepadanya.
• Pada client-server, ada kemungkinan server fail.
– Pada P2P networks, resources biasanya
didistribusikan ke beberapa node sehingga masih ada
node yang dapat meresponse request.
HTTP
• Hypertext Transport Protocol (RFC 1945)
• Language of the Web
– Protocol yang digunakan untuk komunikasi antara web browsers
dan web servers
– Since 1990
• TCP port 80
• Penyempurnaan HTTP 1.0 menjadi versi 1.1
dispesifikasikan oleh IETF dengan RFC 2616
• HTTP merupakan implementasi dari protokol TCP
• Bersifat “Stateless”
– Tidak ada informasi yang disimpan
– Solusi? Cookies & Session
HTTP (2)
• HTTP bersifat request – response:
– HTTP client (user agent misalnya) mengirimkan permintaan
(request) ke HTTP server dan server meresponse sesuai
request tersebut
• User agent: Mozilla, Netscape, Microsoft Internet Explorer atau
browser berbasis teks, Lynx atau links
• Perbedaan mendasar antara HTTP/1.1 dengan HTTP/1.0 adalah
penggunaan hubungan persistent.
• HTTP/1.0 membuka satu koneksi untuk tiap permintaan URI
– header = Connection: close
• HTTP/1.1 dapat menggunakan sebuah koneksi TCP untuk
beberapa permintaan URI (persistent)
– header = Connection: Keep-Alive
– kecuali jika client menyatakan tidak hendak menggunakan
hubungan persistent (header = Connection: close).
HTTP - methods
• GET
– retrieve a URL from the server
• simple page request, limited
• run a CGI program
• run a CGI with arguments attached to the URL
• POST
–
–
–
–
preferred method for forms processing
run a CGI program
parameterized data in sysin
more secure and private
HTTP - methods
• Methods (cont.)
– HEAD
• requests URLs status header only
• used for conditional URL handling for performance
enhancement schemes
– retrieve URL only if not in local cache or date is more
recent than cached copy
– PUT
• Upload file ke Server
– DELETE
• Delete file pada Server
URL: www.someschool.edu/someDept/home.index
Three way handshake : conn request, conn granted, ACK
HTTP method syntax
WHAT IS MYSQL
• Free SQL (Structured Query Language)
database server.
• licensed with the GNU General public
license http://www.gnu.org/
• MySQL is a database management
system.
• MySQL is a relational database
management system.
• MySQL is Open Source Software.
• www.mysql.com
Yahoo Futures - Databases
http://buzz.research.yahoo.com
Popular Technology Stacks
LAMP
J2EE
.NET
Java
.net / C#
Perl
MySQL
MySQL
Apache
Apache
Tomcat
JBoss
Linux
Linux
or
Solaris
MySQL
IIS
Apache
JBoss
Windows
Main Features of MySQL
• Fully multi-threaded using kernel threads.
• Works on many different platforms.
• Many column types
• Very fast joins using an optimized one-sweep multi-join
• Full operator and function support in the SELECT and WHERE
parts of queries.
• You can mix tables from different databases in the same query.
• A privilege and password system that is very flexible and secure.
• Handles large databases.
• Tested with a broad range of different compilers. (C/C++)
• No memory leaks.
• Full support for several different character sets.
What’s New?
Now
GA!
MySQL 5.0
Performance
•
•
•
•
•
Stored Procedures
Cluster query push down
Query optimizations
Archive Engine
InnoDB storage improvements
Faster
Reliability
•
•
•
•
•
•
SQL Mode
Triggers
Views
Precision Math
Distributed Transactions
Cluster object support
Better
Ease of Use
•
•
•
•
Migration Toolkit
Information Schema
Cursors
Enhanced GUI Tools
Increased
Manageability
MySQL Performance: 5.0 vs. 4.1
MySQL Performance: 5.0 vs. Others
MySQL Architecture
How MySQL stores data (by default)
•
•
•
A MySQL server can store several databases
Databases are stored as directories
Tables are stored as files inside each database
(directory)
For each table, it has three files:
1.
2.
3.
tablename.frm file containing information about the
table structure — effectively, an internal representation
of the CREATE TABLE statement.
tablename.MYD file containing the row data
tablename.MYI containing any indexes belonging with
this table, as well as some statistics about the table.
Connecting to the MySQL Server
• SYNTAX: mysql -h host -u user -p
<< EXAMPLE >>
C:\mysql\bin> mysql –h localhost –u root –p
THE DEFAULT PASSWORD FOR ROOT IS BLANK !!!
Changing “ROOT” password
 GET USER FIRST:
C:\mysql\bin> mysql -u root mysql
 CHANGE PASSWORD SYNTAX:
mysql> UPDATE user SET Password=PASSWORD('new_password')
WHERE user='root';
mysql> FLUSH PRIVILEGES;
DON NOT FORGET THE
“ ; “ semi-colon
Using MySQL in Interactive Mode
• To view a list of all existing databases
– mysql>SHOW databases;
the default database after an install is mysql (Don’t
Delete it!)
To switch to (use) a database
– mysql>USE mysql;
• To view all tables in a database
– mysql>SHOW tables;
• To view the structure of one table
– mysql>DESCRIBE host;
NEXT