300 likes | 440 Views
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
E N D
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
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
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 .net / C# Java Perl MySQL MySQL MySQL Apache Tomcat JBoss IIS Apache JBoss Apache Linux or Solaris Linux 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 Reliability Ease of Use • Stored Procedures • Cluster query push down • Query optimizations • Archive Engine • InnoDB storage improvements • SQL Mode • Triggers • Views • Precision Math • Distributed Transactions • Cluster object support • Migration Toolkit • Information Schema • Cursors • Enhanced GUI Tools Faster Better Increased Manageability
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: • 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;