Friday, July 29, 2011

PowerBuilder 10.5.2 EAServer 6.0.2 Linux

Wihartoyo     Friday, July 29, 2011    
Ceritanya bulan ini nih, ane lagi ada kerjaan porting powerbuilder component ke Sybase EAServer.  Targetnya mendapatkan viabilitas Sybase EAServer terutama yang berjalan di Linux untuk hosting existing application milik kantor. Oleh karena, PowerBuilder yang ada adalah versi 10.5.2, maka pilihan EAServer jatuh pada versi 6.0.2 dan developer edition tentunya.

Pertama, aku coba make OS nya Oom Bill Gate. Microsoft Windows. Fine, semuanya berjalan lancar.  Dengan beberapa penyesuaian mengikuti aturan main di EAServer, aplikasi bisa diporting dengan baik ke EAServer. Client bisa konek dan dioperasikan dengan baik. Fine bin gak ada masalah tentunya.
Berikutnya, bagaimana dengan di Linux?
Grrr....! Full masalah! Ha ha ha....!

Pada aplikasi yang berjalan saat ini ada satu logic yang dibuat untuk mengakomodasi penampilan report yang bersifat dinamis dan bisa di-deploy secara partial tanpa melakukan kompilasi ulang.

PowerBuilder dengan datawindow-nya memang sangat unik. Datawindow yang merupakan object dengan kapabilitas entry data dan data presentation bisa di-assign ke visual / non visual object pada presentasi aplikasi dengan berbagai cara.
Cara Pertama. Dengan meng-assign secara langsung dari datawindow object name yang merupakan variable string ke datawindow control maupun datastore.
::Syntax nya

dw_1.dataobject = "dwObjectName"
ds_1.dataobject = "dwObjectName"

Cara Kedua. Dengan meng-assign psr filename.  Dalam hal ini, datawindow object diekspor sebagai psr file dan diassign ke dataobject.

::Syntax nya
dw_1.dataobject = "[path_to]\psrFileName.psr"
ds_1.dataobject = "[path_to]\psrFileName.psr"

Cara Ketiga.  Dengan datawindow syntax.  Cara ini relatif dynamic dimana datawindow object yang diassign tidak harus ada pada current library list. Atau bahkan bisa dengan membuat datawindow object baru via script.  Namun di sini ane bukan mau cerita yang via script, tapi yang via datawindow object yang tersimpan pada library lain di luar current library list.  Bahkan masih dalam bentuk *.pbl.  Metoda ini menggabungkan LibraryExport PowerFunction dan Create method dari datawindow/datastore control.


::Syntax nya
String sintake,ErroTeks_e
datastore ds_e
integer error_e
ds_e = create datastore
sintake = LibraryExport("[path_to]\PBLFileName.pbl","dwObjectName",ExportDatawindow!)
error_e = ds_e.create(sintake,ErrorTeks_e)
if error_e > 1 then
if error_e > 0 then
    ds_e.settransobject(sqlca)
end if
dst....

Dari ketiga cara di atas kebetulan cara yang diadaptasi oleh aplikasi punya kantor make cara yang ketiga. Nah, lo....!
Semenjak PowerBuilder 9.0 sybase sudah merubah character encoding untuk source PowerBuilder dari DBCS menjadi unicode dengan default encodingnya adalah UTF16LE.
Entah benar enah tidak dugaan saya, inilah kemudian yang mengakibatkan kegagalan routine ini ketika dijalankan dengan memberikan error exception CORBA.MARSHAL bad UTF-8 data.
Awalnya, karena terlalu rajin, ane coba deploy ke berbagai distro utama seperti Ubuntu, RedHat, SuSE, SlackWare, dan terakhir Gentoo. berharap salah satu dari distro tersebut bisa berbaik hati dengan memberikan hasil seperti yang terjadi di Windows.  Namun jauh panggang dari api, usaha gak memberikan hasil. Kambing guling tetap mentah.....
Lama, ane berusaha untuk mencari alternatif dari metoda ini. Akhirnya kepikiran juga kayak begini:
  1. Library yang tadinya *.pbl dibikin jadi *.pbd.
  2. Kemudian library listnya diubah dengan menambahkan pbd file yang berisi datawindow object yang akan digunakan. 
  3. Kemudian assignment datawindow bisa dilakukan dengan menggunakan syntax pertama. 
  4. Pada akhir method, library list dikembalikan kepada nilai awalnya. 
Clear!
Aplikasi dideploy ke server, client di jalankan. Konek sukses. Transaksi sukses. Reporting sukses.  ALHAMDULILLAH!!!! Dan ternyata cukup sederhana.

Wednesday, July 27, 2011

20 Mobile Phone Terbaik di Dunia

Wihartoyo     Wednesday, July 27, 2011    
Sekarang ni, banyak kali judul henpon yang beredar. Beberapa judul datang silih berganti. Kalo dulu, dulu sekali, kenal henpon paling juga motorolla, ericsson, nokia.  Kemudian ericsson kongsian sama jepun bikin sony ericsson. Kemudian datang samsung yang awalnya ngekor banget sama motorolla.  Kemudian lagi, beberapa saat lalu orang indonesia sempat dibikin yuporia blackberry.  Bersamaan dengan itu juga henpon china menyerbu pasar tanah air. Dan jangan lupa pula, Macintosh juga ikut bikin bising (rame maksudnya) pasar perangkat bergerak ini dengan iPhone-nya.
Ini jadi bikin rasa pengin tahu, bagaimana sih sebenarnya rangking para henpon itu? Apa sebenarnya yang terbaik?
Beberapa pihak, oleh karena nama besar dan perbawa yang dimiliki oleh Macintosh menganggap bahwa pastinya iPhone 4, akan menduduki rangking pertama.  Anggapan yang mungkin gak salah, tapi menurut suatu survey yang dilakukan oleh techradar di inggris sono menunjukkan kenyataan yang berbeda. iPhone 4 ternyata hanya masuk 5 besar pada posisi ke-5. Posisi ke-4 diduduki oleh HTC Desire S.  Sony Ericsson Xperia Arc pun cuma bisa menduduki posisi ke-3. Dan, HTC kembali mendudukan produknya pada 5 besar pada posisi ke-2 dengan HTC Sensation.
Bila dilihat dari 4 henpon yang telah disebutkan, mungkin orang akan mengira bahwa posisi pertama akan diduduki oleh Blackberry. Namun, pada kenyataannya tidak, meskipun bila bukan kita tatap mahfum, karena posisi pertama diduduki oleh Samsung Galaxy S II.
Lah, kemanakah gerangan Blackberry?
Andai saja survey dilakukan di Indonesia, mungkin beberapa Item Blackberry akan tampil di beberapa posisi.  Ini tidak. Karena survey dilakukan di Inggris, yang terjadi justeru HTC, pendatang baru dari Taiwan, mendudukan dua item produknya di posisi ke-4 dan ke-2.  Sementara Blackberry hanya menempatkan satu item produknya, dan itupun cuma mampu duduk di rangking 20 dengan Blackberry Bold 9780. Nah lo...
Hasil rangking seluruhnya bisa dilihat di http://www.techradar.com/news/phone-and-communications/mobile-phones/20-best-mobile-phones-in-the-world-today-645440?artc_pg=2
Cuma memang dari 5 besar yang tampil, semuanya menggunakan OS Android.

Recommended