Selasa, 09 September 2014

Server Side Programming



Server Side Programming
Pada server-side programming, perintah-perintah program (script) dijalankan di web server, kemudian hasilnya dikirim ke browser dengan format HTML. Program web yang tergolong dalam server-side programming adalah CGI/Perl, ASP (Active Server Page), PHP, CFM (Coldfussion), JSP (Java Script Page) dan lainnya.

Teknologi-teknologi server-side programming memang mempunyai kelemahan dan kelebihan, namun semua dari program server-side programming mempunyai persamaan yaitu kontrol. Artinya hanya server yang dikontrol oleh pengembang web tentang bagaimana program pada sisi server seharusnya berjalan. Yang paling penting dan perlu dipertimbangkan dalam server-side programming ini adalah isu tentang kecepatan dalam melayani banyak user. Sebagai contoh, form login yang biasanya ditampilkan untuk validasi user. Validasi akan dikirimkan ke server dan kemudian dicocokkan dengan basisdata di server, kemudian server akan mengirim balik informasi tersebut apakah valid atau tidak

Dalam pemrograman berbasis web ini, didalamnya adalah berupa script-script, baik pemrograman client maupun pemrograman server, dengan dalam bentuk script ini lebih mendekati atau dapat dikatakan pemrograman yang berasosiasi dengan halaman web. Server-side scripting yang banyak dalam pemrograman web adalah PHP, ASP dari Microsoft, JSP dari SUN, Coldfusion dan lainnya.


 Pengantar Server-Side Programming

Dalam bahasa nonprocedural seperti SQL, set data yang akan dioperasikan pada ditentukan, tetapi tidak operasi yang akan dilakukan atau cara di mana mereka harus dilakukan. Dalam program bahasa prosedural, sebagian besar eksekusi pernyataan tergantung pada pernyataan sebelumnya atau berikutnya dan pada struktur kontrol, seperti loop atau cabang kondisional, yang tidak tersedia di SQL.

Untuk ilustrasi perbedaan antara bahasa prosedural dan nonprocedural, anggaplah bahwa pernyataan SQL berikut query tabel karyawan:
Employee_id SELECT, department_id, last_name, gaji DARI karyawan;

Sebelumnya meminta data laporan, tetapi tidak berlaku logika pada data. Namun, misalkan Anda ingin aplikasi untuk menentukan apakah setiap karyawan dalam kumpulan data layak kenaikan gaji berdasarkan kinerja gaji dan departemen. Sebuah kondisi yang diperlukan dari kenaikan gaji adalah bahwa karyawan tidak menerima lebih dari tiga kenaikan gaji dalam lima tahun terakhir. Jika kenaikan gaji disebut untuk, maka aplikasi tersebut harus menyesuaikan gaji dan email manajer; jika tidak, aplikasi tersebut harus memperbarui laporan.


Masalahnya adalah bagaimana aplikasi database prosedural yang membutuhkan bersyarat logika dan aliran kontrol program dapat menggunakan SQL. Pendekatan pembangunan dasar adalah sebagai berikut:
     Gunakan pemrograman sisi klien untuk menanamkan pernyataan SQL dalam aplikasi yang ditulis dalam bahasa prosedural seperti C, C ++, atau Java
     Anda dapat menempatkan pernyataan SQL dalam kode sumber dan mengirimkannya ke precompiler atau Java penerjemah sebelum kompilasi. Atau, Anda dapat menghilangkan langkah precompilation dan menggunakan API seperti Java Database Connectivity (JDBC) atau Oracle Call Interface (OCI) untuk memungkinkan aplikasi untuk berinteraksi dengan database.

     Gunakan pemrograman server-side untuk mengembangkan logika data yang berada dalam database

     Sebuah aplikasi secara eksplisit dapat meminta disimpan subprogram (prosedur dan fungsi), yang ditulis dalam PL / SQL (diucapkan PL sekuel) atau Java. Anda juga dapat membuat memicu, yang diberi nama Unit program yang disimpan dalam database dan dipanggil dalam menanggapi peristiwa tertentu.

Bab ini menjelaskan pendekatan kedua. Manfaat utama dari pemrograman server-side adalah bahwa fungsi dibangun ke dalam database dapat digunakan di mana saja. Database, bukan aplikasi menentukan cara terbaik untuk melakukan tugas-tugas pada sistem operasi tertentu. Juga, subprogram meningkatkan skalabilitas dengan memusatkan proses aplikasi di server, memungkinkan klien untuk menggunakan kembali kode. Karena panggilan subprogram cepat dan efisien, satu panggilan dapat memulai disimpan subprogram menghitung-intensif, mengurangi lalu lintas jaringan.

Anda dapat menggunakan bahasa berikut untuk menyimpan data logika di Oracle Database:
     PL / SQL
     PL / SQL adalah Oracle Database ekstensi prosedural untuk SQL. PL / SQL terintegrasi dengan database, mendukung semua jenis laporan, fungsi, dan data Oracle SQL. Aplikasi ditulis dalam API database dapat memanggil PL / SQL subprogram disimpan dan mengirim blok PL / SQL code ke database untuk eksekusi.

     Java
     Oracle Database juga menyediakan dukungan untuk mengembangkan, menyimpan, dan menggunakan aplikasi Java. Jawa disimpan subprogram berjalan dalam database dan independen terhadap program yang dijalankan di tingkat menengah. Java subprogram disimpan antarmuka dengan SQL menggunakan model yang sama eksekusi untuk PL / SQL.

Lihat Juga:
     "Sisi Klien Pemrograman Database" untuk belajar tentang embedding SQL dengan precompilers dan API


     Panduan Oracle Database 2 Developer Day untuk pengenalan Oracle pengembangan aplikasi database

     Oracle Database Panduan Lanjutan Application Developer untuk belajar bagaimana memilih lingkungan pemrograman
Ikhtisar PL / SQL
PL / SQL menyediakan server-side, disimpan bahasa prosedural yang mudah digunakan, mulus dengan SQL, kuat, portabel, dan aman. Anda dapat mengakses dan memanipulasi data database menggunakan obyek skema prosedural yang disebut PL / unit SQL Program.
PL unit program / ​​SQL umumnya dikategorikan sebagai berikut:
     Sebuah subprogram adalah PL / SQL block yang disimpan dalam database dan dapat disebut dengan nama dari aplikasi. Ketika Anda membuat sebuah subprogram, database mengurai subprogram dan menyimpan representasi dipecah dalam database. Anda dapat mendeklarasikan subprogram sebagai prosedur atau fungsi.
     Sebuah blok anonim adalah PL / SQL block yang muncul dalam aplikasi Anda dan tidak disebutkan atau disimpan dalam database. Dalam banyak aplikasi, / PL SQL blok dapat muncul di mana saja pernyataan SQL dapat muncul.

PL / SQL compiler dan interpreter yang tertanam dalam Oracle SQL Developer, memberikan pengembang sebuah model pengembangan yang konsisten dan leveraged pada kedua klien dan server. Juga, PL / SQL prosedur yang tersimpan dapat dipanggil dari beberapa klien database, seperti Pro * C, JDBC, ODBC, atau OCI, dan dari Oracle Laporan dan Oracle Forms.
Lihat Juga:
     "Alat untuk Database Developer"
     Oracle Database PL / SQL Language Reference untuk informasi lengkap tentang PL / SQL, termasuk paket
PL / SQL subprogram
A PL / SQL subprogram adalah bernama PL / SQL block yang memungkinkan pemanggil untuk memasok parameter yang dapat menjadi masukan saja, output saja, atau input dan nilai output. Sebuah subprogram memecahkan suatu masalah tertentu atau melakukan tugas-tugas yang terkait dan berfungsi sebagai blok bangunan untuk modular, aplikasi database dipertahankan.

Sebuah subprogram adalah salah satu prosedur atau fungsi. Prosedur dan fungsi adalah identik kecuali bahwa fungsi selalu mengembalikan nilai tunggal ke pemanggil, sedangkan prosedur tidak. Prosedur istilah dalam bab ini berarti prosedur atau fungsi.
Lihat Juga:
     Pro * C / C ++ Programmer Panduan dan Pro * COBOL Programmer Panduan untuk belajar tentang prosedur yang tersimpan dalam bahasa ini

     Oracle Database PL / SQL Language Reference

Keuntungan dari PL / SQL subprogram
Sebagaimana dijelaskan dalam "Pengantar Server-Side Programming", pemrograman server-side memiliki banyak keuntungan dibandingkan pemrograman sisi klien. PL / SQL subprogram memberikan keuntungan sebagai berikut:

     peningkatan kinerja
         Jumlah informasi bahwa aplikasi harus mengirimkan melalui jaringan kecil dibandingkan dengan mengeluarkan pernyataan SQL individu atau mengirim teks dari PL seluruh / SQL blok Oracle Database, karena informasi yang dikirim hanya sekali dan selanjutnya dipanggil bila digunakan.
         Bentuk dikompilasi dari prosedur sudah tersedia dalam database, sehingga tidak ada kompilasi diperlukan pada waktu eksekusi.
         Jika prosedur ini hadir dalam kolam bersama dari SGA, maka database tidak perlu mengambilnya dari disk dan dapat mulai eksekusi segera.

     alokasi memori
     Karena prosedur yang tersimpan memanfaatkan kemampuan memori bersama dari Oracle Database, harus memuat hanya satu salinan prosedur ke dalam memori untuk eksekusi oleh beberapa pengguna. Berbagi kode kalangan pengguna hasil dalam pengurangan substansial dalam persyaratan memori database untuk aplikasi.
     Peningkatan produktivitas
     Prosedur yang disimpan meningkatkan produktivitas pembangunan. Dengan merancang aplikasi sekitar seperangkat prosedur, Anda dapat menghindari coding berlebihan. Misalnya, Anda dapat menulis prosedur untuk memanipulasi baris dalam tabel karyawan. Setiap aplikasi dapat memanggil prosedur ini tanpa memerlukan pernyataan SQL harus ditulis ulang. Jika metode perubahan manajemen data, maka hanya prosedur harus dimodifikasi, bukan aplikasi yang menggunakan prosedur.
     Prosedur yang disimpan mungkin adalah cara terbaik untuk mencapai penggunaan kembali kode. Karena setiap aplikasi client ditulis dalam bahasa yang terhubung ke database dapat meminta prosedur yang tersimpan, mereka menyediakan penggunaan kembali kode yang maksimal di semua lingkungan.

     integritas
     Prosedur yang disimpan meningkatkan integritas dan konsistensi dari aplikasi Anda. Dengan mengembangkan aplikasi di kelompok umum prosedur, Anda mengurangi kemungkinan kesalahan coding.

     Misalnya, Anda dapat menguji subprogram untuk menjamin bahwa ia mengembalikan hasil yang akurat dan, setelah diverifikasi, menggunakannya kembali di sejumlah aplikasi tanpa pengujian ulang. Jika struktur data direferensikan oleh prosedur yang diubah, maka Anda hanya harus mengkompilasi ulang prosedur. Aplikasi yang memanggil prosedur tidak selalu memerlukan modifikasi.
     Keamanan dengan prosedur hak pembuat definisi ini

     Prosedur yang disimpan dapat membantu menegakkan keamanan data (lihat "Ikhtisar Keamanan Database"). Prosedur hak A pembuat definisi ini dijalankan dengan privilege dari pemiliknya, bukan pengguna saat ini. Dengan demikian, Anda dapat membatasi operasi database yang pengguna melakukan dengan memungkinkan mereka untuk mengakses data hanya melalui prosedur dan fungsi yang dijalankan dengan hak istimewa yang pembuat definisi itu.

     Misalnya, Anda dapat memberikan akses pengguna ke prosedur yang update meja tapi tidak memberikan akses ke meja itu sendiri. Bila pengguna memanggil prosedur, itu berjalan dengan privileges dari pemiliknya. Pengguna yang hanya memiliki hak istimewa untuk menjalankan prosedur (tapi tidak hak untuk query, update, atau menghapus dari tabel yang mendasari) dapat meminta prosedur tetapi tidak memanipulasi data tabel dengan cara lain.

     Hak warisan dan konteks skema dengan prosedur hak Invoker ini

     Prosedur hak An Invoker ini mengeksekusi dalam skema pengguna saat ini dengan hak pengguna saat ini. Dengan kata lain, prosedur hak yang Invoker ini tidak terikat pada pengguna tertentu atau skema. Prosedur hak Invoker ini memudahkan pengembang aplikasi untuk memusatkan logika aplikasi, bahkan ketika data yang mendasari dibagi di antara skema pengguna.

     Sebagai contoh, seorang pengguna hr_manager yang menjalankan prosedur update pada tabel hr.employees dapat memperbarui gaji, sedangkan hr_clerk yang menjalankan prosedur yang sama dibatasi untuk pengkinian data alamat.

Lihat Juga:
     Oracle Database PL / SQL Language Reference ikhtisar dari PL / SQL subprogram

     Oracle Database Keamanan Panduan untuk mempelajari lebih lanjut tentang pembuat definisi dan hak-hak Invoker ini
Penciptaan PL / SQL subprogram
Sebuah subprogram yang dibuat di tingkat skema dengan pernyataan CREATE PROSEDUR atau CREATE FUNCTION adalah mandiri disimpan subprogram. Subprogram didefinisikan dalam paket disebut paket subprogram dan dianggap sebagai bagian dari paket. Basis data menyimpan subprogram dalam kamus data sebagai obyek skema.

Sebuah subprogram memiliki spesifikasi, yang mencakup deskripsi dari setiap parameter, dan tubuh. Contoh 8-1 menunjukkan bagian dari pernyataan penciptaan untuk mandiri PL / SQL prosedur hire_employees. Prosedur menyisipkan baris ke dalam tabel karyawan.
Contoh 8-1 PL / SQL Prosedur


CREATE PROSEDUR hire_employees

   (p_last_name VARCHAR2, p_job_id VARCHAR2, NUMBER p_manager_id, DATE p_hire_date,
    NOMOR p_salary, NOMOR p_commission_pct, NOMOR p_department_id)
IS
BEGIN
.
.
.
   INSERT INTO karyawan (employee_id, last_name, job_id, MANAGER_ID, hire_date,
     gaji, commission_pct, department_id)
   VALUES (emp_sequence.NEXTVAL, p_last_name, p_job_id, p_manager_id, p_hire_date,
     p_salary, p_commission_pct, p_department_id);
.
.
.
END;

Lihat Juga:

     Oracle Database 2 Panduan Developer Day untuk belajar cara membuat subprogram

     Oracle Database PL / SQL Language Reference untuk belajar tentang perintah CREATE PROSEDUR

Pelaksanaan PL / SQL subprogram

Pengguna dapat mengeksekusi subprogram interaktif dengan:

     Menggunakan alat Oracle, seperti SQL * Plus atau SQL Developer (lihat "Tools untuk Database Developer")

     Memanggil secara eksplisit dalam kode aplikasi database, seperti Oracle Forms atau aplikasi precompiler (lihat "Client-Side Pemrograman Database")

     Memanggil secara eksplisit dalam kode prosedur atau pemicu lain

Gambar 8-1 menunjukkan aplikasi database yang berbeda memanggil hire_employees.

Gambar 8-1 Memanggil PL / SQL Stored Prosedur
Deskripsi Gambar 8-1 berikut
Deskripsi "Gambar 8-1 Memanggil PL / SQL Stored Prosedur"

Atau, pengguna istimewa dapat menggunakan Oracle Enterprise Manager atau SQL * Plus untuk menjalankan prosedur hire_employees menggunakan pernyataan seperti berikut:

EXECUTE hire_employees ('TSMITH', 'CLERK', 1037, SYSDATE, 500, NULL, 20);

Pernyataan sebelumnya menyisipkan rekor baru untuk TSMITH dalam tabel karyawan.

Sebuah prosedur yang tersimpan tergantung pada objek yang dirujuk dalam tubuhnya. Database secara otomatis melacak dan mengelola dependensi ini. Misalnya, jika Anda mengubah definisi tabel karyawan direferensikan oleh prosedur hire_employees dengan cara yang akan mempengaruhi prosedur ini, maka prosedur harus dikompilasi ulang untuk memvalidasi bahwa itu masih bekerja seperti yang dirancang. Biasanya, database secara otomatis mengelola manajemen ketergantungan tersebut.

Lihat Juga:

     Oracle Database PL / SQL Language Reference untuk belajar bagaimana menggunakan PL / SQL subprogram

     SQL * Plus Panduan Pengguna dan Referensi untuk belajar tentang Jalankan perintah

PL / SQL Paket

A PL paket / SQL adalah sekelompok subprogram terkait, bersama dengan kursor dan variabel yang mereka gunakan, disimpan bersama-sama dalam database untuk terus digunakan sebagai unit. Subprogram Dikemas bisa disebut secara eksplisit oleh aplikasi atau pengguna.

Oracle Database mencakup banyak paket yang disediakan yang memperluas fungsi database dan menyediakan akses PL / SQL untuk fitur SQL. Misalnya, paket UTL_HTTP memungkinkan callouts HTTP dari PL / SQL dan SQL untuk mengakses data di Internet atau untuk memanggil Oracle Web Server Cartridge. Anda dapat menggunakan paket yang disediakan saat membuat aplikasi atau sebagai sumber ide ketika membuat prosedur sendiri tersimpan.
Keuntungan dari PL Paket / SQL

PL / SQL menyediakan paket keuntungan sebagai berikut:

     encapsulation

     Paket memungkinkan Anda untuk merangkum atau kelompok prosedur, variabel, jenis data yang disimpan, dan seterusnya dalam bernama, satuan disimpan. Encapsulation memberikan organisasi yang lebih baik selama pengembangan dan fleksibilitas juga lebih. Anda dapat membuat spesifikasi dan referensi prosedur publik tanpa benar-benar menciptakan tubuh paket. Encapsulation menyederhanakan manajemen hak istimewa. Pemberian hak istimewa untuk membuat paket paket membangun diakses penerima beasiswa.

     keamanan data

     Metode definisi paket memungkinkan Anda untuk menentukan variabel, kursor, dan prosedur yang publik dan swasta. Publik berarti bahwa hal itu langsung diakses oleh pengguna dari sebuah paket. Private berarti bahwa itu tersembunyi dari pengguna paket.

     Sebagai contoh, sebuah paket dapat berisi 10 prosedur. Anda dapat menentukan paket sehingga hanya tiga prosedur yang umum dan karena itu tersedia untuk eksekusi oleh pengguna paket. Prosedur tersisa pribadi dan hanya dapat diakses oleh prosedur dalam paket. Jangan bingung variabel paket publik dan swasta dengan hibah untuk UMUM.

     kinerja yang lebih baik

     Seluruh paket dimuat ke memori dalam potongan kecil ketika prosedur dalam paket disebut untuk pertama kalinya. Beban ini selesai dalam satu operasi, yang bertentangan dengan beban yang terpisah diperlukan untuk prosedur mandiri. Bila panggilan prosedur dikemas terkait terjadi, tidak ada disk I / O yang dibutuhkan untuk menjalankan kode dikompilasi dalam memori.

     Sebuah badan paket dapat diganti dan dikompilasi ulang tanpa mempengaruhi spesifikasi. Akibatnya, skema objek yang referensi konstruksi paket ini (selalu melalui spesifikasi) tidak perlu dikompilasi ulang kecuali paket spesifikasi juga diganti. Dengan menggunakan paket, recompilations tidak perlu dapat diminimalkan, sehingga kurang berdampak pada kinerja database secara keseluruhan.

Penciptaan PL Paket / SQL

Anda membuat paket dalam dua bagian: spesifikasi dan tubuh. Paket spesifikasi menyatakan semua konstruksi umum dari paket, sedangkan tubuh mendefinisikan semua konstruksi (publik dan swasta) dari paket.

Contoh 8-1 menunjukkan bagian dari sebuah pernyataan yang menciptakan spesifikasi paket untuk employees_management, yang merangkum beberapa subprogram yang digunakan untuk mengelola database karyawan. Setiap bagian dari paket dibuat dengan pernyataan yang berbeda.

Contoh 8-2 PL / SQL Package

MENCIPTAKAN PAKET employees_management AS
   Hire_employees FUNGSI (last_name VARCHAR2, job_id VARCHAR2, NUMBER MANAGER_ID,
     NOMOR gaji, NOMOR commission_pct, NOMOR department_id) RETURN NOMOR;
   Fire_employees PROSEDUR (employee_id NUMBER);
   PROSEDUR salary_raise (NUMBER employee_id, NOMOR salary_incr);
.
.
.
   PENGECUALIAN no_sal;
Employees_management END;

Spesifikasi demikianlah hire_employees fungsi, prosedur fire_employees dan salary_raise, dan no_sal pengecualian. Semua ini objek program publik yang tersedia untuk pengguna yang memiliki akses ke paket.

CREATE PACKAGE perintah BODY mendefinisikan objek dinyatakan dalam spesifikasi. Paket body harus dibuat dalam skema yang sama dengan paket. Setelah membuat paket, Anda dapat mengembangkan aplikasi yang memanggil salah satu dari prosedur umum atau fungsi atau meningkatkan salah satu pengecualian umum dari paket.

Lihat Juga:
Oracle Database PL / SQL Language Reference untuk belajar tentang CREATE PACKAGE perintah
Pelaksanaan PL / SQL Package subprogram

Anda dapat referensi isi paket dari pemicu basis data, subprogram disimpan, program aplikasi 3GL, dan alat-alat Oracle. Gambar 8-2 menunjukkan aplikasi database memohon prosedur dan fungsi dalam paket employees_management.

Gambar 8-2 subprogram Memanggil dalam PL / SQL Package
Deskripsi Gambar 8-2 berikut
Deskripsi "Gambar 8-2 Memanggil subprogram dalam PL / SQL Package"





server side programming







 














Disusun oleh :
Kelompok : 7
ketua : nurul
anggota : Heni
nisa
matin


smk mathlaul anwar cibuah
Tahun Ajaran 2014/2015