javaFX redirect page and passing object to controller

Selasa, 31 Desember 2013
how to redirect page and passing object between controller class in javaFX?
read more at http://blog.nostratech.com/2013/12/javafx-redirect-page-and-passing-object.html

baca selengkapnya..






-------------------------------------------------------------------------------------

ADF table multiple selection tanpa business component

Minggu, 15 Desember 2013
Ada kalanya saat menggunakan ADF, kita mem-bind suatu table tidak melalui business component, misalnya data tersebut tidak berasal dari database, bisa jadi hasil dari suatu kalkulasi di engine tertentu dan resultnya berupa list, atau bisa juga data didapat dari invokasi service (soap/rest).

bagaimana cara melakukan multiple selection untuk kasus seperti di atas? baca selengkapnya di http://blog.nostratech.com/2013/12/adf-table-multiple-selection-tanpa.html

baca selengkapnya..






-------------------------------------------------------------------------------------

Sentralisasi Hibernate Cache dengan Terracotta/Ehcache

ORM cache diperlukan untuk mengurangi akses ke database, yaitu untuk pengaksesan data yang sama berulang kali. Defaultnya, hibernate telah menerapkan caching pada level Session (L1). artinya, cache tersebut hanya digunakan oleh 1 user, dalam 1 proses transaksi. Bagaimana untuk menerapkan caching untuk multi-user (multi-session)?

baca selengkapnya di http://blog.nostratech.com/2013/12/sentralisasi-hibernate-cache-dengan.html.

baca selengkapnya..






-------------------------------------------------------------------------------------

maaf

Rabu, 07 Agustus 2013
prinsip 'no regrets' mbentuk mindset gw untuk selalu ga menyesali apa yang udah gw lakukan. selalu berusaha memanfaatkan yang udah terjadi itu untuk jadi bekal keesokan hari. menjalani konsekuensi demi konsekuensi. membiasakan diri untuk mengedepankan sisi positif dari yang telah terjadi tersebut, secara ga sadar bikin gw 'menghilangkan' negatifnya, demi memperkuat alasan untuk 'tidak menyesal'. selalu mencari pembenaran?

dengan mengasumsikan semua hal yg gw lakukan adalah udah ngelewatin pertimbangan matang tentang baik-buruknya, maka semua yang telah dilakukan dan telah terjadi tersebut pastilah yang terbaik. terbaik pada waktunya. tapi ada kalanya pertimbangan2 tersebut kurang mencakup aspek atau wawasan yang lebih luas. dan ada kalanya asumsi tersebut tidak dijalankan.

menjalani konsekuensi. dengan prinsip yang sama, no regrets. dan siklus akan berulang.

membiasakan diri seperti demikian, ada positifnya, ada negatifnya. positifnya, akan selalu berani menjalankan tiap konsekuensi, karena meyakini apa yang kita lakukan adalah tepat. tapi ada negatifnya, yaitu berkurangnya introspeksi diri.

pasti ada salahnya. meski tidak disengaja, kesalahan, terutama kesalahan yang dilakukan kepada orang lain, bisa menyakiti perasaan. dan itu melenceng dari salah satu prinsip yang ingin dikejar, yaitu 'tidak mengganggu dan tidak ingin diganggu'. walau tidak disengaja, kesalahan itu bisa mengganggu.

kadang kala, kata maaf tetap diperlukan. bukan saja kepada orang lain, tapi juga kepada diri sendiri. tetap berintrospeksi. dan terima saja kenyataan bahwa kadang kala 'regrets' tetap diperlukan.

maaf.

baca selengkapnya..






-------------------------------------------------------------------------------------

some of these days thoughts

Minggu, 07 Juli 2013

beberapa pikiran beberapa hari (atau beberapa minggu) ini. ada beberapa pikiran yang ga berkaitan dengan yang lain, mungkin sbnrnya postingan ini bisa dibagi2 jadi beberapa posting pendek (subpost), tapi males ah ngepost banyak2. gabungin aja lah ya.

chat server application
dimulai dari ngulik2 oracle communications instant messaging server - kita singkat aja namanya jadi ocims. dia salah satu produknya oracle yang nanganin real-time communication, 'saingannya' oracle beehive (mungkin beehive udah tenar duluan). standar dan teknologi protocol yang diusung: xmpp, singkatnya si ocims ini adalah server buat chatting.

kalo kita chatting di ym misalnya, kita ngetik di aplikasi (desktop/web) nya ym, ngeliat presence (siapa aja yg online/offline), dll. semua aktivitas yg kita lakukan di aplikasi tersebut akan dikirim ke server chatnya yahoo. utk diterusin lagi ke setiap pemilik akun ym yg lagi online, secara realtime. misalnya kita ngechat temen kita, yg kita ketik dikirim ke server, trus server akan nerusin informasi tadi ke aplikasinya temen kita (baca: client). trus nongol deh message kita di sana.

*technically, bukan server yang akan nerusin info tadi ke client. tapi tiap client naro listener di server, utk nerima message yang ditujukan ke dirinya, dan dibawa ke aplikasi kliennya.

itu artinya, server ga akan berguna kalo ga ada kliennya. aplikasi apa yang bisa jadi clientnya?

itu lah asiknya xmpp (atau jabber). selain teknologi, dia juga adalah sebuah standar. dengan adanya sebuah standar, beberapa provider (server) bisa menerima client dari berbagai aplikasi. sekarang google, facebook, yahoo pada pake xmpp utk instant messagingnya, dan utk bisa mengakses mereka (bahkan pada saat bersamaan) kita bisa menggunakan aplikasi seperti pidgin/adium dan kalo ga salah ym versi baru juga support utk login ke im-nya facebook..

kalo demikian, logikanya, setelah gw setup ocims, gw bisa konek pake pidgin dan adium. dan bener aja, memang bisa konek, login, ngliat presence, kirim2an message, juga kirim2an file. sukses.

chat client application
oke, kita bisa konek pake adium. tapi main goalnya apa sih sebenernya? ternyata si klien itu lagi pengen integrasiin fitur chat ke aplikasi portalnya. portalnya dia pake oracle juga. jadi yang harus dilakukan berikutnya adalah masang chat client di sebuah aplikasi web. si aplikasi web ini nantinya akan di-embed ke halaman portal.

pidgin bisa di-embed ke aplikasi web ngga? gw ngga tau. gimana caranya?
coba googling2, nemu beberapa web chat app pake javascript, misalnya yg ini: http://opkode.com/media/blog/converse.js-xmpp-instant-messaging-with-javascript. wah bagus nih, coba ah. ternyata eh ternyata, browser punya kebijakan same origin policy, silakan baca juga HTTP access control. jadinya koneksi xmpp harus 'dialihkan' melalui http, memanfaatkan BOSH.

so, terkait dengan aplikasi client ini, ada 2 opsi: 1) pake javascript yg udah ada, trus setup bosh di ocims, atau 2) ga perlu setup bosh, tapi bikin aplikasi xmpp client pake java, utk di-embed ke web app. opsi (1) keliatannya butuh effort yang lebih banyak utk ngertiin dulu apa itu bosh, dan gimana cara kerja bosh sbnrnya, dan gimana hubungan teknis bosh dan xmpp server. jadi karena dikejar waktu, opsi (2) lah yg dipake.

harusnya kalo pake javascript aplikasinya bisa jauh lebih ringan daripada aplikasi webapp java. terkait dengan masalah server processing. kalo pake java framework, misalnya jsf atau adf atau yg lain, komponen2 direndernya oleh server, dengan kata lain, server harus melakukan juga fungsi tambahan selain processing data, kalo concurrent usernya banyak mungkin akan kerasa beratnya.

tapi apa mau dikata, waktu lah yang akhirnya mengerucutkan pilihan. webapp pun dibuat pake framework oracle adf (mempermudah integrasi dengan oracle webcenter portal, udah ada pluginnya di IDE jdeveloper) dan xmpp client diimplementasi menggunakan smack api.

kondisi saat ini, xmpp client sudah berhasil dijalankan (terpisah dengan framework adf). tetapi saat diintegrasikan dengan framework adf, masih tersangkut masalah terkait dengan mekanisme page rendering dan data control yang dimiliki sama adf. curhatan soal ini dibahas dikit di subpost life barrier di bawah.

review soap vs rest webservices
sebenernya ini dimulai dari case umum: gw pengen aplikasi gw dijadiin soa-based, utk integrasinya pake webservice. pertanyaannya: mendingan mana, webservice RESTful atau SOAP?

di situ ada overview sekilas, dilanjutin dengan komparasinya. disertakan juga link2 referensi kalo mau baca2 lebih lanjut. silakan.

life barrier
ini tentang sudut pandang.

semua hal yang dilakukan tiap orang, berasal dari sudut pandang orang tersebut terhadap objek yang dikenai pekerjaannya. hal-hal kecil yang dilakukan berulang-ulang dan akhirnya membentuk kebiasaan. karena telah terbiasa, akhirnya orang tersebut menjadi yakin dalam menjalaninya. entah salah atau benar, tapi keyakinan pada apa yang dilakukan (atau apa yang dituju) itulah yang memunculkan keberanian (menghadapi konsekuensinya) dan makin memperkuat karakter tiap orang, yang tentunya berbeda satu sama lain. sudut pandangnya berbeda.

misalnya seorang programmer. anggaplah dia programmer java. terbiasa menggunakan library2 opensource dalam proses developmentnya. karena yang digunakan adalah library, maka logika programming yang dia terapkan pun berdasarkan logikanya. logika dan arsitekturnya adalah rancangan logika sang programmer.

tiba-tiba pada suatu hari, programmer tersebut diminta untuk melakukan development softwarenya menggunakan framework (bukan library) milik vendor tertentu. library mengacu pada reusable functions, framework mengacu pada reusable behaviors. behaviors berarti tingkah laku, dan tingkah laku terkait dengan logika si pembuatnya, terkait lagi dengan sudut pandang pembuatnya.

adalah sebuah kesalahan fatal bagi seorang programmer untuk ngotot membawakan logikanya di tengah framework yang dia gunakan. karena dalam banyak kasus, logika sang programmer tidak sejalan dengan logika pembuat framework. dan pemanfaatan framework itu pun jadinya bukan best practice nya framework itu. dan bug2 yang tidak perlu pun bermunculan, dan usaha2 fixingnya pun bisa jadi malah memperparah keadaan. dan mungkin solusi terakhir yang bisa dilakukan adalah rework. mengikuti logika pembuatnya.

konteks yang sama bisa juga diterapkan dalam logika beragama. ketika seseorang telah menjalani hari2nya dengan keyakinan yang berasal dari logikanya sendiri, selama bertahun-tahun. dan kemudian berusaha mengenal suatu agama dan/atau kepercayaan (mendekati keyakinan melalui sudut pandang tertentu) tetapi dengan membawa logikanya dalam (berusaha) memahami kepercayaan itu.

agama, artinya aturan, untuk membuat jadi teratur. mengatur behavior tertentu, bisa dianalogikan sebagai framework tiap orang sebagai programmer yang memprogram kehidupannya, untuk mengenal framework, harus dilepaskan dulu logika pribadinya. ikuti alur dan mekanisme frameworknya.

dan, yah… ga mudah untuk melepas logika bawaan. karena artinya sudut pandangnya harus diubah. tetapi untuk mengenal sebuah framework/agama, sudut pandang harus diubah mengikuti framework/agama-nya. walaupun ga mudah.


baca selengkapnya..






-------------------------------------------------------------------------------------

membandingkan SOAP dan REST webservice

Senin, 01 Juli 2013
silakan langsung menuju halaman ini
http://blog.nostratech.com/2013/07/membandingkan-soap-dan-rest-webservice.html

baca selengkapnya..






-------------------------------------------------------------------------------------

Membuat Custom WebLogic Certificate

Rabu, 26 Juni 2013
membuat custom weblogic certificate, dengan symantec (free trial).
http://blog.nostratech.com/2013/06/membuat-custom-weblogic-certificate.html

baca selengkapnya..






-------------------------------------------------------------------------------------

Parsing ISO 8583 dengan jPOS Library

Selasa, 11 Juni 2013
sekilas tentang iso 8583 dan parsingnya dengan jPOS.
http://blog.nostratech.com/2013/06/parsing-iso-8587-dengan-jpos-library.html

baca selengkapnya..






-------------------------------------------------------------------------------------

Oracle SOA Outbound SocketAdapter with custom Java translation

Minggu, 19 Mei 2013

http://blog.nostratech.com/2013/05/oracle-soa-outbound-socketadapter-with.html

creating soa composite using socket adapter with custom java implement as reference. can be used to parse an iso8583 message, or fixed-length string message.

baca selengkapnya..






-------------------------------------------------------------------------------------