Oleh: Galih Adi Paryanto 5108100005 Febri Fernanda 5108100136 Nazarudin 5108100187 Ajax-Enabled JavaServer TM  Faces Web A...
Introduction <ul><li>Chapter ini membahas masalah pembangunan aplikasi web dengan konsep yang lebih maju. </li></ul><ul><l...
Introduction (cont) <ul><li>Versi pertama dari aplikasi tersebut, menambah dan menampilkan daftar contact dalam sebuah kom...
Accesing Databases in Web Application <ul><li>Aplikasi yang akan dibangun menggunakan Java DB database untuk menyimpan con...
Building a Web Application That Displays Data from a Database <ul><li>Step 1:  Membuat Project </li></ul><ul><li>Step 2:  ...
Step 1:  Membuat Project <ul><li>Dalam Netbeans, membuat sebuah project  Visual Web Application  yang diberi nama AddressB...
Step 2:  Membuat Form untuk User Input <ul><li>Dalam mode  Design , menambah  Text Field  untuk tempat pengisian first nam...
Step 3:  Menambah sebuah Komponen Tabel ke Halaman <ul><li>Drag sebuah komponen  Tabel  dari  Basic  section di  Palette  ...
Step 4:  Membuat sebuah Java DB Database <ul><li>Langkah-langkahnya: </li></ul><ul><li>1. Pilih  Tools > Java DB Database ...
Step 5:  Menambah sebuah Tabel dan Data ke  AddressBook  Database <ul><li>Runtime  tab digunakan untuk membuat tabel dan m...
Step 6:  Mengikat Komponen Tabel ke  Addresses Table  dari  AddressBook Database <ul><li>Untuk membuat ikatan cukup dengan...
Step 6:  Mengikat Komponen Tabel ke  Addresses Table  dari  AddressBook Database (cont) <ul><li>Atur properti  internalVir...
Step 7:  Mengubah  addressesRowSet’s  SQL Statement <ul><li>CachedRowSet dibungkus dalam addressesDataProvider diatur seca...
Step 8:  Penambahan Validasi <ul><li>Penting untuk memastikan data berhasil dimasukkan ke database AddressBook. </li></ul>...
Ajax-Enabled JFS Component <ul><li>Komponen library Java BluePrint Ajax menyediakan komponen Ajax-enabled JFS . </li></ul>...
Auto Complete Text Field and Virtual Forms <ul><li>Misal pada aplikasi addresbook. Auto Complete Text Field Component akan...
Configuring Virtual Forms <ul><li>Virtual form memungkinkan developer untuk menampilkan multiple form di page yang sama. <...
JSP File with Virtual Forms and an AutoComplete Text Field <ul><li>Dalam AutoComplete Text Field terdapat sebuah method ya...
Providing Suggestion for an AutoComplete Text Field <ul><li>Method nameAutoComplete_complete digunakan setelah setiap tomb...
GoogleMaps map viewer Component
Pengantar <ul><li>Penambahan Map viewer Ajax enabled JSF component ke dalam halaman adalah untuk menampilkan peta dari sua...
Pengantar(2) <ul><li>Untuk saat ini,pemakaian googlemaps API  dianalogikan untuk membuat method biasa yang dipanggil dalam...
Cara memperoleh Sebuah GoogleMaps API key <ul><li>Untuk menggunakan  map viewer, user harus punya akun dengan google.  Jik...
Cara memperoleh Sebuah GoogleMaps API key(2) <ul><li>Key yang  didapat akan dispesifikkan ke web application kita dan akan...
Menambah map viewer component ke halaman <ul><li>P enambahan map viewer component di bawah nameAutoComplete menggunakan Ad...
Menambah map viewer component ke halaman(2) <ul><li>Cncsal Drop map marker(dari BluePrints AJAX Support Beans section dala...
Menambah data provider ke dalam page <ul><li>Untuk menyelesaikan proses di atas, kita butuh data provider kedua untuk menc...
Menambah data provider ke dalam page(2) <ul><li>Dalam Runtime tab, kembangkan Databases node, Addressbook database’s node ...
Menambah data provider ke dalam page(3) <ul><li>Dobel klik node addressesSearchRowSet untuk mengedit statement SQL </li></...
Geocoding Service Object <ul><li>Geocoding Service object merupakan salah satu object dari BluPrints AJAX SupportBeans sec...
Geocoding Service Object(2) <ul><li>Method Geocoding Service Object’s geocode menerima alamat sebagai argumen dan mengemba...
<ul><li>Wes Cukup ,  Matur Suwon </li></ul><ul><li>Sumber : </li></ul><ul><li>Internet & World Wide Web How To Program 4th...
Upcoming SlideShare
Loading in …5
×

Ajax enabled java servertm faces web application

1,949 views

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,949
On SlideShare
0
From Embeds
0
Number of Embeds
79
Actions
Shares
0
Downloads
48
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ajax enabled java servertm faces web application

  1. 1. Oleh: Galih Adi Paryanto 5108100005 Febri Fernanda 5108100136 Nazarudin 5108100187 Ajax-Enabled JavaServer TM Faces Web Application
  2. 2. Introduction <ul><li>Chapter ini membahas masalah pembangunan aplikasi web dengan konsep yang lebih maju. </li></ul><ul><li>Didiskusikan masalah pengaksesan, updating dan pencarian database di aplikasi web, penambahan virtual form pada sebagai form input halaman web dan penggunaan Ajax-enabled untuk meningkatkan kemampuan dan responsiveness aplikasi. </li></ul><ul><li>Pembangunan aplikasi address book tunggal dalam tiga tingkat untuk mengilustrasikan konsep ini. Aplikasi ini menggunakan Java DB database untuk menyimpan nama dan alamat contact. </li></ul>
  3. 3. Introduction (cont) <ul><li>Versi pertama dari aplikasi tersebut, menambah dan menampilkan daftar contact dalam sebuah komponen JFS Table . </li></ul><ul><li>Versi kedua, menambahkan komponen Ajax-enabled Autocomplete Text Field dan membuatnya mampu mensugesti daftar nama. </li></ul><ul><li>Versi ketiga, bisa melakukan pencarian address book untuk sebuah contact dan menampilkannya alamat yang cocok pada peta menggunakan komponen Ajax-enabled Map Viewer yang ditangani Google Maps. </li></ul>
  4. 4. Accesing Databases in Web Application <ul><li>Aplikasi yang akan dibangun menggunakan Java DB database untuk menyimpan contact dalam address book dan menampilkannya dalam halaman web. </li></ul><ul><li>Halaman web memungkinkan user memasukkan contact baru ke form yang terdiri dari komponen Text Field untuk first name, last name, street address, city, state dan zip code. Dalam form juga terdapat Submit button untuk mengirim data ke server dan Clear button untuk mengosongkan kembali form. Aplikasi menyimpan informasi ini dalam database (AddressBook) yang memiliki tabel tunggal (Addresses). </li></ul>
  5. 5. Building a Web Application That Displays Data from a Database <ul><li>Step 1: Membuat Project </li></ul><ul><li>Step 2: Membuat Form untuk User Input </li></ul><ul><li>Step 3: Menambah sebuah Komponen Tabel ke Halaman </li></ul><ul><li>Step 4: Membuat sebuah Java DB Database </li></ul><ul><li>Step 5: Menambah sebuah Tabel dan Data ke AddressBook Database </li></ul><ul><li>Step 6: Mengikat Komponen Tabel ke Addresses Table dari AddressBook Database </li></ul><ul><li>Step 7: Mengubah addressesRowSet’s SQL Statement </li></ul><ul><li>Step 8: Penambahan Validasi </li></ul>
  6. 6. Step 1: Membuat Project <ul><li>Dalam Netbeans, membuat sebuah project Visual Web Application yang diberi nama AddressBook. Me- rename JSP dan page bean file dengan AddressBook menggunakan refactoring tool. </li></ul>
  7. 7. Step 2: Membuat Form untuk User Input <ul><li>Dalam mode Design , menambah Text Field untuk tempat pengisian first name, last name, street address, city, state dan zip code. Atur properti yang diperlukan setiap Text Field . Kemudian menambahkan sebuah Submit dan Clear button yang masing-masing untuk melakukan validasi dan menggagalkan validasi. </li></ul>
  8. 8. Step 3: Menambah sebuah Komponen Tabel ke Halaman <ul><li>Drag sebuah komponen Tabel dari Basic section di Palette ke halaman, komponen Tabel itu menyusun dan menampilkan data dari database tabel. Atur properti yang dibutuhkan tabel. </li></ul>
  9. 9. Step 4: Membuat sebuah Java DB Database <ul><li>Langkah-langkahnya: </li></ul><ul><li>1. Pilih Tools > Java DB Database > Create Java DB Database…. </li></ul><ul><li>2. Masukkan nama database yang akan dibuat (AddressBook), user name (iw3htp4) dan password (iw3htp4), kemudian klik OK untuk membuat database. </li></ul><ul><li>Di Runtime tab Netbeans, step paling awal membuat entry baru di Database node yang ditunjukkan dengan URL dari database (jdbc:derby://localhost:1527/AddressBook). Hal ini menunjukkan bahwa database berada di local machine dan menerima koneksi pada port 1527. </li></ul>
  10. 10. Step 5: Menambah sebuah Tabel dan Data ke AddressBook Database <ul><li>Runtime tab digunakan untuk membuat tabel dan menjalankan SQL statement yang menggabungkan database dengan data: </li></ul><ul><li>1. Klik Runtime tab dan kembangkan Databases node. </li></ul><ul><li>2. Netbeans harus terhubung dengan database untuk menjalankan SQL statement. Jika telah terhubung maka proses ke step 3. Jika belum maka harus di hubungkan dulu. </li></ul><ul><li>3. Kembangkan node untuk database AddresssBook, klik kanan node Tables dan pilih Execute Command… untuk membuka SQL Command editor di Netbeans. Untuk menjalankan SQL Command , klik kanan SQL Command editor dan pilih Run Selection . </li></ul>
  11. 11. Step 6: Mengikat Komponen Tabel ke Addresses Table dari AddressBook Database <ul><li>Untuk membuat ikatan cukup dengan drag tabel database dari Server tab dan drop ke komponen Tabel . </li></ul><ul><li>Untuk memilih kolom tabel apa saja yang ingin ditampilkan diatur dalam Bind to Data . Nama kolom tabel bisa diubah lewat Properties . </li></ul><ul><li>Address book mungkin memiliki banyak contact, jadi hanya sebagian saja yang dapat ditampilkan sekali waktu. Hal ini dapat diatur dengan paginationControls pada Properties . </li></ul>
  12. 12. Step 6: Mengikat Komponen Tabel ke Addresses Table dari AddressBook Database (cont) <ul><li>Atur properti internalVirtualForm addressesTable untuk mencegah pagination control button pada Tabel dari submitting Text Field pada form setiap kali user ingin melihat grup contact berikutnya. </li></ul><ul><li>Mengikat Tabel ke sebuah data provider, ditambahkan objek baru addressesDataProvider (instansiasi dari class CachedRowSetProvider) ke AddressBook node di Outline. CachedRowSetProvider dapat mengarah sebuah komponen Tabel untuk menampilkan data RowSet. </li></ul>
  13. 13. Step 7: Mengubah addressesRowSet’s SQL Statement <ul><li>CachedRowSet dibungkus dalam addressesDataProvider diatur secara default untuk menjalankan SQL query yang memilih semua data di tabel Addresses dari database AddressBook. </li></ul><ul><li>SQL query dapat diubah dengan memperluas SessionBean node di jendela Outline dan double klik elemen addressesRowSet untuk membuka jendela query editor. </li></ul><ul><li>Contoh untuk mengurutkan contact menurut last name dulu baru first name secara ascending: </li></ul><ul><li>ORDER BY IW3HTP4.ADDRESSES.LASTNAME ASC, </li></ul><ul><li> IW3HTP4.ADDRESSES.FIRSTNAME ASC </li></ul>
  14. 14. Step 8: Penambahan Validasi <ul><li>Penting untuk memastikan data berhasil dimasukkan ke database AddressBook. </li></ul><ul><li>Semua kolom database bertipe varchar (kecuali ID) dan mempunyai batas panjang. Maka dari itu perlu ditambahkan Length Validator untuk setiap komponen Text Field atau mengatur properti maxLenght setiap Text Field . </li></ul><ul><li>Yang terakhir, drag komponen Message Group ke kanan Text Field . Komponen ini digunakan untuk menampilkan pesan error ketika usaha menambah contact gagal. Atur properti showGlobalOnly Message Group menjadi true . </li></ul>
  15. 15. Ajax-Enabled JFS Component <ul><li>Komponen library Java BluePrint Ajax menyediakan komponen Ajax-enabled JFS . </li></ul>Component Description AutoComplete Text Field Buy Now Button Map Viewer Popup Calendar Rating Rich Textarea Editor Select Value Text Field Membuat Ajax request untuk menampilkan daftar sugesti sebagaimana user ketik di Text Field. Inisiasi transaksi lewat PayPal website. Menggunakan Google Maps API untuk menampilkan peta yang bisa diperbesar dan memilih lokasinya sesuai keinginan Menyediakan kalender yang memungkinkan user untuk melakukan scroll antara bulan dan tahun. Mengisi Text Field dengan format date ketika user memilih sebuah hari. Menyediakan sebuah five-star rating bar yang dapan menampilkan pesan jika user memindahkan mouse diatas rating tadi. Menyediakan sebuah editable text area yang mengijinkan user memformat text dengan huruf, warna, hyperlinks dan background Menampilkan daftar sugesti dalam drop-down sebagaimana yang user ketik, hampir mirip dengan AutoComplete Text Field.
  16. 16. Auto Complete Text Field and Virtual Forms <ul><li>Misal pada aplikasi addresbook. Auto Complete Text Field Component akan menyediakan daftar sugesti sebagaimana user ketik. Sugesti tersebut didapatkan dari data source, seperti database, atau dari web service.Dengan cepat, form baru muncul dan mengijinkan user untuk mencari addres book dengan menampilkan nama dari daftar. Jika user memilih contact, maka aplikasi akan menampilkan contact’s name dan alamat dalam sebuah peta . Untuk membangun aplikasi ini, harus melalui 2 tahapan. Pertama, dengan menambahkan AutoComplete Text Field dalam aplikasi tersebut yang akan menampilkan sugesti-sugesti berupa nama sebagaimana yang user ketik. Selanjutnya dengan menambahkan search functionality dan tampilan peta di langkah berikutnya . </li></ul>
  17. 17. Configuring Virtual Forms <ul><li>Virtual form memungkinkan developer untuk menampilkan multiple form di page yang sama. </li></ul><ul><li>Untuk menambahkan virtual form dalam sebuah page : </li></ul><ul><li>1. Klik kanan pada komponen submitter dalam form dan pilih Configure Virtual Forms. </li></ul><ul><li>2. Klik New untuk menambahkan virtual form, lalu klik Name pada kolom dan tuliskan nama form yang baru. </li></ul><ul><li>3. Double klik submit kolom dan ubah option menjadi Yes untuk mengindikasikan bahwa button ini digunakan untuk men-submit virtual form. </li></ul><ul><li>4. Klik OK untuk keluar dari dialog. Selanjutnya, pilih semua komponen input yang akan digunakan dalam virtual form. </li></ul><ul><li>5. Klik kanan satu dari komponen yang dipilih dan pilih Configure Virtual Forms. </li></ul><ul><li>6. Di kolom Participate , ubah option menjadi Yes untuk mengindikasikan bahwa nilai di komponen ini harus di-submit ke server. </li></ul><ul><li>Untuk menampilkan virtual form yang telah dibuat, klik tombol Show Virtual Form. </li></ul>
  18. 18. JSP File with Virtual Forms and an AutoComplete Text Field <ul><li>Dalam AutoComplete Text Field terdapat sebuah method yang disebut nameAutoComplete_complete. Untuk membuat method ini, klik kanan komponen nameAutoComplete di Design view dan pilih Edit Event Handler > complete. </li></ul>
  19. 19. Providing Suggestion for an AutoComplete Text Field <ul><li>Method nameAutoComplete_complete digunakan setelah setiap tombol di AutoComplete Text Field meng-update daftar sugesti berdasarkan text yang diinputkan user. Method ini hanya menerima string/text yang diinputkan user dan CompletionResult object yang digunakan untuk menampilkan sugesti kepada user. </li></ul>
  20. 20. GoogleMaps map viewer Component
  21. 21. Pengantar <ul><li>Penambahan Map viewer Ajax enabled JSF component ke dalam halaman adalah untuk menampilkan peta dari suatu wilayah untuk suatu alamat </li></ul><ul><li>Map viewer memakai google maps API web service untuk mencari dan menampilkan peta. </li></ul>
  22. 22. Pengantar(2) <ul><li>Untuk saat ini,pemakaian googlemaps API dianalogikan untuk membuat method biasa yang dipanggil dalam objek map viewer dan bean yang mendukungnya dalam file page bean. </li></ul><ul><li>Ketika suatu kontak ditemukan, maka akan menampilkan peta dengan menggunakan Map Marker yang akhirnya menunjukkan koordinat(point) dari lokasi dan mengindikasikan nama kontak dan alamatnya . </li></ul>
  23. 23. Cara memperoleh Sebuah GoogleMaps API key <ul><li>Untuk menggunakan map viewer, user harus punya akun dengan google. Jika belum punya, silakan kunjungi : </li></ul><ul><li> www.google.com/accounts/ManageAccount </li></ul><ul><li>Untuk mendapatkan keynya,setelah login klik link berikut : </li></ul><ul><li>www.google.com/apis/maps </li></ul>
  24. 24. Cara memperoleh Sebuah GoogleMaps API key(2) <ul><li>Key yang didapat akan dispesifikkan ke web application kita dan akan membatasi jumlah peta yang aplikasi bisa tampilkan per hari </li></ul><ul><li>Ketika kita sign up untuk key tersebut , maka kita akan ditanyai untuk mengisikan url untuk application yang akan memakai googlemaps API </li></ul>
  25. 25. Menambah map viewer component ke halaman <ul><li>P enambahan map viewer component di bawah nameAutoComplete menggunakan Addressbook.jsp yang dibuka dalam Design mode. </li></ul><ul><li>Pada window Properties , set property key mapviewer dari key yang kita dapat sebelumny(akses googlemaps API) </li></ul><ul><li>Set rendered property ke false agar peta tidak ditampilkan ketika user belum mencari sebuah alamat dan set zoomlevel menjadi 1 sehingga user dapat melihat nama jalan dalam peta. </li></ul>
  26. 26. Menambah map viewer component ke halaman(2) <ul><li>Cncsal Drop map marker(dari BluePrints AJAX Support Beans section dalam Palette) dimanapun dalam halaman. </li></ul><ul><li>Ikat(Bind) marker ke map sehingga marker akan ditampilkan dalam map. Caranya : </li></ul><ul><li>- K lik kanan pada Map Viewer dalam Design mode component dan pilih PropertyBinding. </li></ul><ul><li>- Select info dari kolom Select bindable property lalu select Map Marker dari kolom Select Binding target. Apply dan terakhir close . </li></ul>
  27. 27. Menambah data provider ke dalam page <ul><li>Untuk menyelesaikan proses di atas, kita butuh data provider kedua untuk mencari AddressBook databes based pada nama depan dan belakang yang diisikan di AutoComplete TextField </li></ul><ul><li>Perlu diketahui bahwa Disini kita membuat datasource baru, bukan memakai kembali yang masih eksis, ini karena query pencarian untuk kontak berbeda dengan query untuk menampilkan semua kontak </li></ul>
  28. 28. Menambah data provider ke dalam page(2) <ul><li>Dalam Runtime tab, kembangkan Databases node, Addressbook database’s node dan Tables node-nya untuk membuka Addresses table </li></ul><ul><li>Drag Addresses table pada page untuk membuat data provider baru </li></ul><ul><li>Pilih new data provider pada Navigator tab dan ubah id-nya menjadi addressesSearchDataProvider </li></ul><ul><li>Pada outline tab, sebuah node baru dinamakan addressesRowSet1 telah ditambahkan pada node SessionBean1. Ubah id dari addressesRowSet1 menjadi addressesSearchRowSet </li></ul>
  29. 29. Menambah data provider ke dalam page(3) <ul><li>Dobel klik node addressesSearchRowSet untuk mengedit statement SQL </li></ul><ul><li>Untuk menambah search parameters pada SELECT statement yang akan dieksekusi oleh RowSet enter text “=?“ pada kolom Criteria pada baris nama depan dan belakang dalam SQL statement editor table </li></ul><ul><li>Pastikan jika baris berikut telah tertambah pada SQL statement </li></ul><ul><li>WHERE JHTP7.ADDRESSES.FIRSTNAME = ? </li></ul><ul><li> AND JHTP7.ADDRESSES.LASTNAME = ? </li></ul><ul><li>yang mengndikasikan bahwa RowSet sekarang mengeksekusi parameterized SQL statement. </li></ul>
  30. 30. Geocoding Service Object <ul><li>Geocoding Service object merupakan salah satu object dari BluPrints AJAX SupportBeans section of the Palette </li></ul><ul><li>Fungsinya untuk mengkonversi alamat jalan ke koordinat lintang dan bujur dimana dipakai Map Viewer component untuk menampilkan peta yang tepat </li></ul>
  31. 31. Geocoding Service Object(2) <ul><li>Method Geocoding Service Object’s geocode menerima alamat sebagai argumen dan mengembalikan array dari objek GeoPoint yang merepresentasikan lokasi yang sesuai dengan address parameter. </li></ul><ul><li>Objek GeoPoint menyediakan koordinat lintang dan bujur dari lokasi yang diberikan </li></ul>
  32. 32. <ul><li>Wes Cukup , Matur Suwon </li></ul><ul><li>Sumber : </li></ul><ul><li>Internet & World Wide Web How To Program 4th edition </li></ul>

×