Skip to main content

PowerBuilder 10.5.2 EAServer 6.0.2 Linux

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.

Popular posts from this blog

Log Management Dengan Graylog2, MongoDB, Elasticsearch, Kibana (2)

Bagian 2 dari 3 tulisan Pada bagian ini diuraikan konfigurasi input dan ekstraktor serta menghubungkan Suricata ke Graylog2 Melanjutkan tulisan sebelumnya Log Management Dengan Graylog2, MongoDB, Elasticsearch, Kibana (1), pada tulisan ini akna sedikit menguraikan tentang beberapa konfigurasi dan pemanfaatannya.  Tentunya masih menggunakan Graylog2. Input. Konfiguras Input sangat penting mengingat ini adalah item konfigurasi yang memungkinkan Graylog2 untuk membuka port menangkap kiriman log. Ada beberapa jenis input.  Namun untuk sementara kita hanya menggunakan “Syslog TCP”  dan “Syslog UDP”.  Dan karena input nanti akan berhubungan dengan extractors, maka sebaiknya input dibuat spesifik untuk mesin log yang spesifik juga.  Misalkan kita akan menangkap log dari Suricata, kita buatkan 1 input khusus dengan protocol UDP misalnya, dan listening pada port 6160 misalkan. Langkah pembuatan input Untuk membuat input, setelah kita bisa memasuki interface Graylog2, ...

Bagaimana Menginstall Snort dengan Barnyard2 dan Snorby

Mas....! Apa? Nuwun sewu, Mas! Saya udah coba install Snort dan Suricata. Tapi bingung... Bingung gimana? Bingung nginstallnya. Sampeyan nginstallnya di mana? Sampeyan gimana? Ya di kantor, Mas! Masa di rumah.  Di rumah komputer kan cuma 1 doang. He he....! Maksud saya, nginstallnya di komputer apa, OS nya apa? Di PC, OS-nya linux Linux apa? Ubuntu, Mas! Hmm... Ubuntu? Sampeyan nginstallnya make apt-get install apa compile dari source-nya? Make apt-get install, Mas! sudo apt-get install snort snort-mysql Emang kenapa, Mas? Gak apa, Cuma biasanya saya nginstallnya langsung dari source. Gimana caranya? Begini, unduh dulu source terakhir yang stabil dari http://www.snort.org/snort-downloads/ Kemudian copykan ke mesin linux yang bakal kita install snort.  Jangan cuma download source snortnya thok.  Download juga library DAQ (Data Aqcuisition Library).  Karena snort juga butuh ini kalo mau mengenable-kan semua fitur snort. Jangan lupa juga download barny...

Ha Na Ca Ra Ka, Huruf Jawa: Riwayatmu Kini

Ha na ca ra ka; hana caraka; ada utusan. Ah kemanakah para utusan itu sekarang? Sesekali aku jalan-jalan ke blog orang-orang dari wilayah-wilayah asia semacem Thailand, Champa (Khmer); ada yang tiba tiba menyeruak dari kedalaman jiwaku. Dari kedalaman jiwa seorang Jawa. Hari ini aku sudah tidak bisa lagi membaca rangkaian kalimat yang tersusun dari huruf-huruf milik kami, orang jawa. Dulu, ketika aku masih duduk di bangku sekolah dasar, pak guru dan ibu guruku begitu rajinnya mengajarkan aku membaca dan menulis huruf jawa. Sampai kemudian aku pun bisa menuliskannya dengan lancar. Membacanya pun aku tidak ada halangan. Bahkan sampai aksara murda sekalipun. Tapi kini aku seperti menjadi orang lain ketika harus membaca tulisan-tulisan itu. Hari ini, ketika aku tidak mampu lagi membaca hurufku. Aku mencoba untuk menelusuri di internet tentang huruf-huruf jawa. Aku dapat salah satunya di http://en.wikipedia.org/wiki/Javanese_script , kemudian dari sini aku mendapatkan http://www.omniglot...