Artikel ini mengenalkan sebuah tools yang digunakan untuk mempermudah membangun applikasi pemetaan WebGIS dengan webserver yakni Chameleon.
MapServer digunakan sebagai pengembang applikasi pemetaan berbasis web yang dikembangkan oleh Universitas Minnesota. Team pengembang software tersebut menggunakan pendekatan Open Source sehingga software tersebut dapat diperoleh secara gratis, bebas dipergunakan, dimodifikasi dan didistribusikan. MapServer menjadi sebuah applikasi CGI executeable yang dapat digunakan dengan Web Server.
MapServer juga memberikan API (Application Programming Interface) yang disebut dengan Mapscript, sehingga seorang programmer dapat melakukan modifikasi pada peta. Dengan Mapscript dimungkinkan adanya pengembangan fungsi pemetaan dengan menggunakan bahasa pemrograman yang berbeda. Hanya saja sebagian besar dari pengembang applikasi WebGIS bukan seorang programmer. Untuk dapat membangun applikasi pemetaan berbasis web dengan MapServer dibutuhkan beberapa skill diantaranya adalah :
-
Web Server management
-
Mapping server management (seperti membuat file *.map pada Mapserver)
-
Desain grafis /layout interface (HTML)
-
Interaction Programming (seperti PHP dan Javascript)
-
Menyiapkan data
Chameleon sebagai sebuah produk dari Open Source yang dibangun dengan bahasa pemprograman PHP. Chameleon memberikan akses yang sederhana ke beberapa fitur yang hanya bisa diakses dalam MapScript dimana telah disediakan sebuah script yang telah jadi sebagai komponen yang dapat di gunakan. Dengan Chameleon seorang yang bukan programmer memunkinkan untuk memasukan komponen pada applikasi webGis.
Pengenalan Chameleon
Chameleon adalah framework yang dapat digunakan dengan baik pada webGis. Dapat digunakan secara berdampingan atau full integrated dengan dengan Mapserver berdasarkan spesifikasi yang ditentukan oleh Open Geospatial Consortium (OGC). Gambar berikut mengilustrasikan konfigurasinya :

Gambar 1. Konfigurasi Chameleon yang digunkan dengan MapServer
DM Solution Group (Ottawa, Canada) adalah pengembang komponen yang re-usedable pada Chameleon. Komponen-komponen yang dikembangkan tersebut membangun Chameleon Framework.
Menggunakan Fungsi Chameleon
Chameleon terdiri lebih dari 300 script PHP yang memberikan fungsi dan akses “widgets” pada WebGIS. Kita tidak mesti mengetahui bagaimana script ini bekerja karena dibangun dengan PHP MapScript jadi disini kita dapat dengan mudah memberikan HTML tag. Sebagai contoh penggunaan HTML Tag seperti melakukan desain untuk menambahkan peta, scalebar, legend, query tool, printing tools dan applikasi-aplikasi lainnya.
Pengembang applikasi yang menggunakan Chameleon dapat melakukannya hanya dengan menambahkan Tag pada halaman HTML. Cara seperti ini disebuat dengan CWC2 tag sebuah konfigurasi untuk komponen client WebGIS. Penggunaan Tags ini memberikan metode yang sederhana dalam menambahankan sebuah halaman pada applikasi web. Gambar berikut ini menunjukan beberapa kode yang ada pada widget.

Gambar 2. Contoh kontent yang ada pada Widgets
Berikut ini juga beberapa contoh tag yang di letakkan pada file HTML :
Main map image :

Legend dengan kontrol layer visibility:

Scalebar :

Masing-masing tag memasukan parameter untuk melakukan modifikasi fungsi pada widgets. Ada lebih dari 100 widget yang dapat digunakan sebagian besar merupakan tools dan opsi yang dapat digunakan disisi user. Diantaranya adalah :
-
ExpressionBuilder – untuk membangun fiter data.
-
CatalogSearch – untuk mencari layanan OGC catalog
-
MapSize – untk mengubah ukuran peta
-
ProjectionSelector – untuk mengubah proyeksi peta
-
PrintProduction – untuk menghasilkan file grafic print
Yang Dibutuhkan Saat Instalasi
Chameleon dapat di install dengan mudah pada banyak platform khususnya jika menggunakan file binary/paket Mapserver. Mapserver for Windows (MS4W) memiliki paket chameleon lengkap dengan contoh-contohnya. FOSS GIS Suite (FGS) merupakan installer untuk Linux yang juga telah menyediakan beberapa modul termasuk didalamnya adalah Chameleon. Kedua contoh paket yang disebutkan tadi telah termasuk didalamnya applikasi Web Server dan fungsi-fungsi PHP dan PHP mapscript yang siap digunakan.
Bekerja dari Contoh Applikasi
Chameleon telah menyedikan beberapa contoh applikasi yang siap dijalankan, biasanya menggunakan file PHP dengan terlebih dahulu memperhatikan beberapa setting berikut :
-
Dimana lokasi file sistem chameleon berada
-
File *.map digunakan untuk penggambar fitur atau untuk mengakses data
-
Apakah file template HTML digunakan untuk layer.
Web desainer bisa hanya memfokuskan pada layout web dan tampilan webnya. Pengembang Applikasi Geospasial memfokuskan pada management tampilan peta dan interaksi dengan komponen, dan pemrosesan data sehingga dapat ditampilkan pada applikasi.
Tampilan Standart
Chameleon memiliki default skin yang terdiri dari beberapa tombol yang menggunakan CSS (cascaded style sheet). Web Desainer bisa saja menambahkan tombolnya sendiri. Gambar berikut ini menggambarkan tampilan websites berbasis Chameleon.

Gambar 3. Applikasi ini dikembangkan dengan Chameleon oleh PeopleGIS

Gambar 4. Applikasi yang dikembangkan dengan Chameleon oleh MapItOut
Interaktif Tools
Chameleon memberikan beberapa interaktif tools seperti dragging tools, zoom level dan lainnya. Kita tidak perlu melakukan setting pada Javasript ataupun pada komponen DHTML karena sudah terintegrasi dengan Chameleon. Ada beberapa keuntungan yang didapat menggunkan Chameleon :
-
komponen yang re-usedable. Template atau widget yang di modifikasi dapat digunakan pada applikasi Chameleon yang lainnya.
-
Advanced fitur seperti pencarikan kode pos, labelling, mengubah ukuran peta, printing, query dan lainnya.
-
Siklus pengembangan yang singkat. Dengan memahami chameleon kita dapat membuat sebuah site dengan cepat.
Referensi :
1. Tyller Mitchell, Chameleon Web Mapping Framework, 2005
2. Tyller Mitchell, Web Mapping Illustration, 2005
Diawal bulan April yang lalu kita dihebohkan dengan adanya pemblokiran situs-situs yang dianggap tidak layak di tampilkan di Indonesia. Tapi ternyata pemblokiran tersebut masih dapat ditembus dengan mudah salah satunya dengan menggunakan Proxy. Apa sebenarnya Anonymous Proxy. Berikut adalah penjelasan singkatnya
PROXY
Proxy sebenarnya adalah sebuah applikasi yang digunakan untuk menyimpan webcache sementara di memori (server) nya sampai tidak ada yang mengakses lagi. Jadi jika kita kembali menggunakan file cache tersebut dan mengunjungi websites yang sama maka komputer tidak akan mendownload semua kontent yang ada di server tersebut karena sebagian besar isinya sudah disimpan pada file cache tadi sehingga menambah kecepatan download dan loading sebuah websites. Konfigurasi proxy dapat dilihat pada gambar berikut:

Dengan demikian penggunaan proxy sebenarnya tidak menghubungkan kita dengan internet secara langsung. Jika kita mengakses www.detik.com dengan sebuah browser maka browser yang kita gunakan akan meminta proxy untuk mendownload kontent yang ada pada detik.com. Proxy menyimpan kontent web tersebut pada file cachenya secara bersamaan kemudian jika kita ingin kembali mengakses detik.com Proxy akan membaca file cache tersebut terlebih dahulu sebelum mendownload file-file lainnya dari internet.
ANONYMOUS
Anonymous dapat dikatakan adalah sebuah istilah yang digunakan untuk menyembunyikan identitas agar tidak diketahui orang banyak. Jadi dapat kita artikan bahwa Anonymous Proxy adalah proxy yang digunakan untuk menyembunyikan identitas sebenarnya dan tidak diketahui darimana asalnya saat kita melakukan browsing. Identitas apa saja yang disembunyikan ? dan untuk apa disembunyikan ? identitas yang disembunyikan biasanya adalah IP Address dengan tidak mengirimkan HTTP_X_FORWARDED_FOR kepada remote host, Browser yang dipakai, Sistem Operasi yang digunakan dan Lokasi pengguna. Biasanya penyembuyian identitas digunakan untuk mengawasi pengguna internet (spamming, dll) dan juga untuk mencari jalur lain dari pemblokiran sebuah websites.
MENGGUNAKANNYA ?
Untuk menggunakna Anonymous Proxy yang dilakukan pertama kali adalah membuka alamat menyedia Anonymous Proxy tersebut melalui browser. Ada banyak penyedia yang memberikan layanan gratis ada juga yang trial 30 hari bahkan ada juga yang minta di bayar. List/Daftarnya klik disini. Salah satu contonya adalah http://spysurfing.com/index.php? kemudian tampil halaman seperti berikut :

Ketikan alamat websites yang memblokir IP anda / yang mau diamati misalnya http://ubuntu.com centang pilihan-pilihan yang mau di gunakan atau tidak. Kemudian klik Start Surfing. Tunggu sebentar maka akan muncul tampilan webnya seperti sediakala :

BAGAIMANA CARA KERJANYA ?
Seperti yang dijelaskan diatas Proxy menyimpan cache content sebuah websites pada memori di Server. Untuk kasus ini server Proxy berada pada http://spysurfing.com/index.php?. Waktu kita mengetikan alamat web htt://ubuntu.com pada halaman http://spysurfing.com/index.php? artinya kita meminta pada http://spysurfing.com/index.php? untuk mendownload kontent yang ada pada http://ubuntu.com. Kemudian http://spysurfing.com/index.php? menjadikan halaman http://ubuntu.com sebagai bagian darinya. Sekarang kita mengakses http://ubuntu.com secara langsung melalui http://spysurfing.com/index.php?.
Euro 2008 sudah dimulai. Pengen lagi rasanya maen CM (championship manager) atau FM (FootBall Manager) seperti dulu masa-masa di Dayeuhkolot. Cuma sekarang mau nyoba dan nyari yang bisa jalan di Linux. Setelah browsing-browsing akhirnya menemukan link ini. Namanya BygFoot sebuah permainan Football Manager yang sederhana. Langsung saja di install, buka dulu terminal jangan lupa masuk sebagai super user, ketikan perintah berikut untuk menginstall Bygfoot :
root@denny-laptop:/home/denny# apt-get install bygfoot
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages were automatically installed and are no longer required:
libxml1 python-glade-1.2 python-gtk-1.2 libgladeui-1-common libglade0
Use ‘apt-get autoremove’ to remove them.
The following NEW packages will be installed:
bygfoot
0 upgraded, 1 newly installed, 0 to remove and 21 not upgraded.
Need to get 1519kB of archives.
After unpacking 5923kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com gutsy/universe bygfoot 2.0.1-1ubuntu2 [1519kB]
Fetched 1519kB in 50s (30.1kB/s)
Selecting previously deselected package bygfoot.
(Reading database … 205294 files and directories currently installed.)
Unpacking bygfoot (from …/bygfoot_2.0.1-1ubuntu2_i386.deb) …
Setting up bygfoot (2.0.1-1ubuntu2) …
root@denny-laptop:/home/denny#
Setelah selesai jalankan dengan membuka Applications > Games > Bygfoot

Selanjutnya kita diminta untuk menambahkan user isikan nama anda sebagai manager dan pilih klub/negara yang mau dilatih. Seperti biasa aku pilih Liga Italia. sedikit terkejut Klub Favoritku LAZIO malah nggak ada… komplain… ROMA di urutan no.1 (ni yang buat sepertinya Romanisti)… Akhirnya untuk percobaan aku pake Portugal di UERO 2008.

Mirip seperti CM dan FM disini kita bisa bertindak selayaknya seorang manager dan pelatih sepakbola. Kita bisa beli pemain, jual pemain, pasang strategi dan lain-lain..cobain sendiri. Mungkin kekurangannya di Grafis yang belum terlalu baik. Jadi inget sama CM di masa-masa tahun 1999 dan 2000 yang masih text based.

Agak susah, sewaktu pegang Portugal di EURO, pertandingan pertama bertemu Serbia Montenegro… Kalah 3-0, pertandingan kedua lawan tuan ruma Austria kalah juga 1-0.
Pertandingan Pertama

Pertandingan Kedua

Dua pertandingan kalah artinya Portugal pasti tersingkir. Daripada Stress mending di restart lagi…hehehehehe… Maen game kan buat ngilangin Stress bukan nambahin Stress… Bravo Sepak Bola.
Kategori: Umum
Tags: Security, WEB
Security (keamanan) adalah hal yang penting dan harus di pahami oleh semua developer. Kita sering mendengar banyaknya websites yang di hack atau di deface seperti yang terjadi pada websites depkominfo baru-baru ini. Tentunya kita tidak ingin hal seperti itu terjadi pada websites yang kita kelola. Apa itu security ? untuk memahaminya dapat dilihat dengan menjawab pertanyaan-pertanyaan berikut :
1. Apakah kita bisa mengetahui siapa saja yang melakukan permintaan (request) terhadap layanan Web yang kita miliki ? Hal seperti ini sering disebut dengan authentication.
2. Apakah kita bisa mengetahui bahwa tidak ada pihak lain yang mampu membaca pesan yang ada dalam jaringan yang dimiliki? Untuk menjawab hal ini maka diperlukan adanya enkripsi.
3. Apakah seseorang atau sebuah program yang me request di perbolehkan untuk melakukan request tersebut ? Hal seperti ini disebut dengan author-ization.
Jadi ada tiga hal yang harus diperhatikan untuk memberikan keamanan pada layanan berbasis web yang kita miliki. Berikut adalah gambarannya :
Authentication
Authentication terdiri dari dua proses yakni identifikasi dan validasi. Identifikasi diartikan bahwa sebuah request / permintaan untuk beberapa identitas. Identitas ini dapat berupa user ID dan pasangan password (kata kunci) atau sebuah sertifikat. Validasi adalah kesamaan identitas antara user ID dan password atau verifikasi dari sertifikat. Kemudian apakah ada standar dalam melakukan Authentication. Sebenarnya tidak ada standar khusus untuk authentifikasi layanan berbasis web dan juga tidak ada software khusus yang dapat dijadikan standart. Namun pada beberapa kasus pembangunan layanan dengan protocol HTTP dan J2EE sering digunakan untuk authentifikasi layanan berbasis web.
Pada sebagian besar skenario user authentication pada layanan berbasis web adalah mekanisme membangun protocol HTTP 1.1 yang memberikan banyak manfaat. Mekanisme ini dikatakan sebagai model dasar authentication dimana prosedur dasarnya adalah seperti berikut :
1. Sebuah Client melakukan permintaan secured URL.
2. Server memberikan respon balik dengan kode HTTP response 401 yang mengidentifikasikan perlunya authentication.
3. Client kemudian memasukan ulang permintaan dengan mengisi header authentication.
4. Server kemudian mem-validasi kebenaran user ID dan password pada database, jika ternyata hasilnya sesuai maka halaman yang request diberikan malalui HTTP response.
Kuncinya disini adalah header authentification. Ini adalah standart pada protocol HTTP yakni berupa encode dari user ID dan password yang belum terenkripsi.
Enkripsi
Ketika sebuah data di enkripsi ini artinya bahwa sebuah data dikodekan sedemikian rupa sehingga keamanan informasinya terjaga dan tidak dapat dibaca tanpa di deskripsikan kembali. Skema yang paling sering digunakan adalah public key encryption, yang dimulai dengan sebuah asumsi yang memiliki dua kunci. Satu kunci (public key) di distribusikan secara umum dan kunci yang lainnya (private key) tidak didistribusikan. Data tersebut di enkripsikan dengan public key dan untuk membukanya digunakanlah private key tersebut.
HTTP
Untuk memahami bagaimana HTTP bekerja kita harus kembali mengingat bahwa protokol HTTP dibangun pada posisi teratas dari TCP/IP stack. HTTP bekerja menggunakan socket TCP yakni sebuah standart untuk mentransmisikan paket melalui jaringan. Secure Socket Layer (SSL) adalah teknik yang sering digunakan untuk mengamankan komunikasi pada TCP/IP dengan menggunakan kriptograhy Public Key. HTTP berada diurutan teratas pada SSL. Dasarnya dapat dilihat seperti berikut :
1. Client mengirimkan request ke server untuk koneksi.
2. Server mengirimkan tanda certificate kembali ke client.
3. Client memverifikasi tanda cetificate tersebut pada list certificate authority yang dapat diterima.
4. Client men- generate session key yang akan digunakan untuk enkripsi dan mengirimkannya ke server dengan public key.
5. Server menggunakan private key ini untuk men dekripsikan session yang identifikasi.
Authorization
Authorization adalah proses untuk mengontrol akses ke resource. Proses dasar pada authorization adalah dengan menggunakan access control list yakni sebuah cara yang digunakan untuk menspesifikan sistem antara user dan resource sehingga dapat ditunjukan user mana yang punya hak untuk mengakses resource.
Masalah yang mendasar adalah tidak ada standar khusus pada layanan berbasis web. Hal ini dikarenakan standart pada layanan berbasis web lebih ditentukan oleh sistem komunikasinya bukan pada layanan web itu sendiri. Layanan web membutuhkan adanya interoperability untuk platform dan bahasa yang berbeda. Sebagai contoh perbedaan platform antara J2EE dan .NET tentunya akan memiliki authorization yang berbeda pula. Sehingga sulit untuk membuat sebuah standart authorization dengan perbedaan seperti ini.
Seperti yang telah dijelaskan pada artikel sebelumnya bahwa applikasi MapServer dapat dijalankan di Windows salah satunya dengan menggunakan sebuah paket applikasi yang disebut dengan MS4W. Download aplikasi MS4W di situs http://maptools.org. Jika menggunakan framework chameleon pilih versi 1.x (ms4w1.6) karena untuk MS4W versi 2.x menggunakan PHP5 yang tidak disupport dengan baik oleh Chameleon (chemeleon v 2.4.1). Setelah di download misalnya ms4w_1.6, selanjutnya extract isinya ke hardisk misalnya di D:\ (root saya di D karena pake dual boot) dan akan dibuat secara otomatis folder D:\ms4w. Kemudian eksekusi apache-install.bat. Ini adalah program untuk menjalankan service apache. Apache bawaan MS4W adalah Apache versi 2.0.50. Jika di Komputer sebelumnya sudah terinstall Apache atau webserver lain seperti IIS sebaiknya di uninstall terlebih dahulu atau di non aktifkan melalui Control Panel seperti berikut :

Buka browser dan ketikkan http://localhost kemudian akan muncul tampilan seperti berikut :

Jika proses instalasi masih gagal periksa kegagalannya pada log yang ada di D:\ms4w\Apache\logs.

PHP Mapscript
Ada sedikit konfigurasi yang dilakukan untuk mengaktifkan PHP/MapScript. Edit file php.ini yang berada di D:\ms4w\Apace\cgi-bin\php.ini kemudian tambahkan baris berikut pada Dynamic Extensions :

Kemudian restart service apache dengan mengeksekusi apache-restart.bat.
Untuk memriksa instalai PHP/MapScript buat script PHP berikut
<? php
echo ms_GetVersion( ) ;
?>
Simpan script tersebut dengan nama msinfo.php dan simpan di lokasi D:\ms4w\Apache\htdocs. Kemudian eksekusi script tadi melalui browser dengan mengetikan http://localhost/msinfo.php jika berhasil maka akan muncul tampilan seperti berikut :

MapLab dan Chameleon
MapLab digunakan untuk mempermudah membangun applikasi WebGis. Applikasi ini bisa di download di http://maptools.org/maplab/ untuk download maplab 2.2.1 klik disini. Maplab menggunakan Java applet ROSA jadi membutuhkan Java Runtime Environtment (http://www.maptools.org/rosa/). Download file j2re-1_4_2_06-windows-i586-p.exe.

Download chameleon_ms4w-2.4.1-20060906.zip dan maplab_ms4w-2.2.1.zip. Kemudian install JRE install dengan opsi Typical.
Setelah JRE terinstall ekstrak file yang ada di chameleon_ms4w-2.4.1-20060906 di lokasi D:\ms4w\apps, juga di D:\ms4w\httpd.d dan D:\ms4w\apache\htdocs. Kemudian buka browser dan ketikkan http://localhost/maplab

Tahapan untuk instalasi MS4W selesai…