[Database] Optimistic Locking

31 views
Skip to first unread message

jingglang

unread,
Jul 15, 2011, 4:06:32 PM7/15/11
to baktinusa
Kolum audit yang ada di diagram database adalah created_date,
created_by, modified_date, modified_by.

Saya ingin menambah kolom version untuk ngatur mekanisme Optimistic
Locking. Di hibernate (java) optimistic locking gampang sekali
bikinnya. Pokoknya jalan gitu aja. Saya belum tahu apakah CI atau
CakePHP menyediakan mekanisme ini out of the box. Atau perlu bikin
manual?

Tolong saya dibagi pengalaman Anda semua... ;)

Maturtengkyu,

jingglang

wongiseng

unread,
Jul 15, 2011, 4:33:53 PM7/15/11
to baktinusa
Hallo mas Jingglang.

Kalau memang sudah familiar dengan Java, kenapa mesti pindah ke CI
atau CakePHP ? Kelihatannya dari google code repository sampean
sebagian besar memang isinya Java :). Worst case di proposal anda 73
man days, kalau dikerjakan berdua kurang lebih satu bulan. Apakah
sempat mengerjakan sambil mempelajari dulu Cake/Code Igniter ?

Saya tidak punya pengalaman juga dengan PHP jadi tidak bisa membantu
selain bertanya kenapa harus pindah ke PHP kalau memang background
sampean Java. Ini saya mengikuti permintaan Tuvok ikut melihat design
anda, padahal sebenernya pengalaman saya dalam bikin sistem seperti
ini juga tidak ada.

Komentar u/ design database akan saya japri.

jingglang

unread,
Jul 15, 2011, 11:10:33 PM7/15/11
to baktinusa

On Jul 16, 4:33 am, wongiseng <a.wibis...@gmail.com> wrote:
> Hallo mas Jingglang.
>
> Kalau memang sudah familiar dengan Java, kenapa mesti pindah ke CI
> atau CakePHP ? Kelihatannya dari google code repository sampean
> sebagian besar memang isinya Java :). Worst case di proposal anda 73
> man days, kalau dikerjakan berdua kurang lebih satu bulan. Apakah
> sempat mengerjakan sambil mempelajari dulu Cake/Code Igniter ?

Kenapa PHP? Karena mungkin sekali sistem ini dideploy di Langsat yang
situs2 mereka pakai PHP. Kalaupun tidak di Langsat, agak susah nyari
hosting Java. Virtual Machine/Colocation server mahal. Kata Bee, nyari
orang java juga susah. Kasian organisasi yang maintain sistem ini
nanti. CMIIW, sistem ini tidaklah besar. Kalau bikin enterprise
system, baru, mau nggak mau kita pake technology yang fullstack
(Java, .NET).

Alasan lain, 2 anak didik saya yang ikut tim ini kuarahkan ke PHP.
Mereka sudah sejak 2 bulan lalu belajar PHP & CakePHP kok Pak, jadi
saya cukup pede. Dua anak didik yang lain barangkali akan difokuskan
ke Java. Saya sendiri punya pengalaman di PHP sekitar 1 tahun (3 thn
lalu).

Saya ngitungnya per bulan 20 mandays. Meski tim inti saya 3 orang,
saya bikin durasi panjang yaitu 3,5 bulan karena salah satunya dalam
proses developmen ini saya ingin membiasakan tim saya dengan kultur
development yang baik. Yaitu ada dokumentasi, wiki-project, code
review dll. Perlu saya sampaikan bahwa anak2 didik saya adalah lulusan
SMK tahun lalu dan baru saya training 9 bulan ini. Ini proyek pertama
kami dan untuk menjadikan proses developmen yang baik menjadi kultur
di lingkungan kami, tentu saja langkah itu harus dimulai sejak awal.

Saya faham bahwa hal tersebut bukanlah concern client/stakeholder.
Makanya sistem ini sempat ditenderkan untuk mendapatkan tim developer
yang terbaik. Tapi hingga saat ini tampaknya baru saya yang ikut
tender ini.

Organisasi saya memiliki 2 orang pengajar yang punya pengalaman dalam
di PHP/CakePHP. Tapi mereka tidak bisa terlibat langsung dalam
development ini karena sedang tugas kantor keluar negeri dan keluar
pulau. Mereka adalah tim QA internal kami. Saya tidak bisa publish
profil mereka karena takut melanggar company policy tempat mereka
bekerja.

> Saya tidak punya pengalaman juga dengan PHP jadi tidak bisa membantu
> selain bertanya kenapa harus pindah ke PHP kalau memang background
> sampean Java. Ini saya mengikuti permintaan Tuvok ikut melihat design
> anda, padahal sebenernya pengalaman saya dalam bikin sistem seperti
> ini juga tidak ada.

Sip pak. Maturnuwun. Pokoknya kita diskusi2 terus aja. Biar
developernya yang nanti eksekusi. Kata tuvok, Talk the talk, walk the
walk.

> Komentar u/ design database akan saya japri.

dokumentasi database saya nggak profesional sekali :D Silahkan
dikomentari.

apprayo

unread,
Jul 20, 2011, 1:05:43 PM7/20/11
to baktinusa
Soal optimistic locking, dari apa yang saya baca, Drupal punya
mekanisme itu secara default.
Dan sepertinya tidak ada mekanisme itu secara default di CakePHP. Saya
belum pernah mengeksplore soal ini.

Regards,
Albert

Tuvok Vulcan

unread,
Jul 24, 2011, 4:16:21 PM7/24/11
to baktinusa

Tuvok Vulcan

unread,
Jul 24, 2011, 4:39:33 PM7/24/11
to baktinusa

jingglang

unread,
Jul 25, 2011, 9:52:02 AM7/25/11
to baktinusa
> On Jul 25, 3:16 am, Tuvok Vulcan <tuvokvul...@gmail.com> wrote:
>
>
> >http://rapidshare.com/files/317770314/Practical_CakePHP_Projects-4182...
>
> > Coba cek chapter 10, katanya ada soal ini.
Thanks, aku dah donlot dan baca chapter itu. Di buku itu, Optimistic
Lockingnya dibikin dg fitur "behaviour"-nya cakePHP. Hanya saja ada
kekurangannya:

"I think I'll use some features like the way they use validation
errors, but they seem to be updating the lock value on read, not on
write. That seems wrong to me." don-kirkby :: stackoverflow

Konkretnya begini:
1. User X retrieve data BARIS_1 dan kasih tanda, say, "VERSION_1"
2. User Y retrieve data BARIS_1 dan kasih tanda "VERSION_2" --> ubah
version ketika read
3. User X ketika save akan gagal dengan error "BARIS_1 version is
VERSION_2, while yours is VERSION_1"

Idealnya:
1. User X retrieve data BARIS_1 penanda saat itu adalah "VERSION_1"
2. User Y retrieve data BARIS_1 dan kasih tanda "VERSION_1" (masih
sama)
3. User Y save duluan, ubah tandanya jadi "VERSION_2" --> ubah verison
ketika write
4. User X ketika save akan gagal dengan error "BARIS_1 version is
VERSION_2, while yours is VERSION_1."

Aku juga udah lihat jeroan CakePHP. Jika aku nggak salah, adalah tidak
bisa bikin functionality Optimistic Locking pake "behaviour"-nya
CakePHP. Harus ubah corenya. Jeleknya, kalau ubah core, kita terkunci
di versi CakePHP sekarang. Jika kedepan ada rilis CakePHP baru, kita
tidak bisa langsung upgrade. Menurutku, kita lebih baik ambil resiko
ini. Lagian, kalau ke depan ada optimasi performance, ubah core adalah
jalan yang bagus untuk optimasi performance.

@siapapun, jika ada yang pengen bahas alasan saya, down to the code,
saya siap sampaikan di sini juga.

jingglang

unread,
Jul 25, 2011, 9:53:52 AM7/25/11
to baktinusa
KOREKSI:
before:
2. User Y retrieve data BARIS_1 dan kasih tanda "VERSION_1" (masih
sama)

-----------
harusnya:
2. User Y retrieve data BARIS_1 penanda saat itu "VERSION_1" (masih
sama)

-------END

Fakhrizal Lukman

unread,
Jul 25, 2011, 9:55:54 AM7/25/11
to bakt...@googlegroups.com
Jika tidak terburu2 dalam implementasi niatan ini,
sebenarnya dari awal saya pengen saran make Yii Framework.. banyak cerita bagus seputar Framework ini..

Tapi, ini semua tergantung mastah2 PHP di sini..
btw, teman kerja saya ada yg maen CakePHP sejak lama, jika memungkinkan nanti saya coba ajak dia juga, ..

2011/7/25 jingglang <amrullah...@gmail.com>



--
Powered by Bakrie Connectivity®
We do not guarantee the signal will be smooth as it passes through the mud

Amrullah Syadzili

unread,
Jul 25, 2011, 10:14:16 AM7/25/11
to bakt...@googlegroups.com
2011/7/25 Fakhrizal Lukman <le...@kapucino.org>

Jika tidak terburu2 dalam implementasi niatan ini,
sebenarnya dari awal saya pengen saran make Yii Framework.. banyak cerita bagus seputar Framework ini..

Buru2 sih nggak Pak Lukman. Bahkan waktu developmentnya relatif longgar (mudah2an aku nggak salah estimasi :D).

Baru tahu ada Yii juga. Framework PHP ada bejibun. Bingung jadinya. Barusan aku cek Yii Framework, dia support Optimistic Locking:
http://www.yiiframework.com/forum/index.php?/topic/5068-activerecord-and-optimistic-locking/

Sekalian share pengalamannya Mas bro, tentang Yii untuk aspek2 berikut:
1. Transactional Query
2. Security (semisal Access Control List)
3. System Logging
4. Data sanitazion

Kalau itu semua didukung bakalan menarik. Meanwhile, saya baca2 Yii lagi deh.

 

jingglang

unread,
Jul 25, 2011, 10:23:32 AM7/25/11
to baktinusa
KOREKSI:
2. Security (semisal Access Control List)

-----
seharusnya
2. Authorization


--------END

On Jul 25, 10:14 pm, Amrullah Syadzili <amrullah.syadz...@gmail.com>
wrote:
> 2011/7/25 Fakhrizal Lukman <le...@kapucino.org>
>
> > Jika tidak terburu2 dalam implementasi niatan ini,
> > sebenarnya dari awal saya pengen saran make Yii Framework.. banyak cerita
> > bagus seputar Framework ini..
>
> > Buru2 sih nggak Pak Lukman. Bahkan waktu developmentnya relatif longgar
>
> (mudah2an aku nggak salah estimasi :D).
>
> Baru tahu ada Yii juga. Framework PHP ada bejibun. Bingung jadinya. Barusan
> aku cek Yii Framework, dia support Optimistic Locking:http://www.yiiframework.com/forum/index.php?/topic/5068-activerecord-...
>
> Sekalian share pengalamannya Mas bro, tentang Yii untuk aspek2 berikut:
> 1. Transactional Query
> 2. Security (semisal Access Control List)
> 3. System Logging
> 4. Data sanitazion
>
> Kalau itu semua didukung bakalan menarik. Meanwhile, saya baca2 Yii lagi
> deh.
>
>
>
>
>
>
>
> > Tapi, ini semua tergantung mastah2 PHP di sini..
> > btw, teman kerja saya ada yg maen CakePHP sejak lama, jika memungkinkan
> > nanti saya coba ajak dia juga, ..
>
> > 2011/7/25 jingglang <amrullah.syadz...@gmail.com>
> > *We do not guarantee the signal will be smooth as it passes through the
> > mud*
>
> >http://www.kapucino.org

Fakhrizal Lukman

unread,
Jul 25, 2011, 11:55:14 AM7/25/11
to bakt...@googlegroups.com
Yii emang ngeboost akhir2 ini..
Kebetulan beberapa temen developer memang coba mengakrabi PHP lewat Yii..
Dan laporan sampai saat ini memang memuaskan..

Disana ada table optimasi dibandingkan dengan Framework2 besar lainnya seperti CI, Zend dan Cake..
sumonggo direview dulu, 

Tetapi ini cuma sekedar Ide, kembali kepada developer2 nanti, lebih menikmati agama mana :p


Kalo saya sih, sebagai front end developer, dr dulu jg udh di ajari agnostik.. hehe



2011/7/25 jingglang <amrullah...@gmail.com>



--

Amrullah Syadzili

unread,
Jul 25, 2011, 12:19:12 PM7/25/11
to bakt...@googlegroups.com
Wah, dalam hal CakePHP, saya masih muallaf. Belum banyak investasi, so gampang diconvert :D. Sejauh saya tahu, Yii menarik sekali. Udah OOP banget.

Btw, LoL untuk email signaturenya :))

@tuvok, belajar Yii juga yuukksss :D

2011/7/25 Fakhrizal Lukman <le...@kapucino.org>

Tuvok Vulcan

unread,
Jul 25, 2011, 2:25:24 PM7/25/11
to baktinusa
Belajar yii?

Ok.

On Jul 25, 11:19 pm, Amrullah Syadzili <amrullah.syadz...@gmail.com>
wrote:
> Wah, dalam hal CakePHP, saya masih muallaf. Belum banyak investasi, so
> gampang diconvert :D. Sejauh saya tahu, Yii menarik sekali. Udah OOP banget.
>
> Btw, LoL untuk email signaturenya :))
>
> @tuvok, belajar Yii juga yuukksss :D
>
> 2011/7/25 Fakhrizal Lukman <le...@kapucino.org>
>
>
>
>
>
>
>
> > Yii emang ngeboost akhir2 ini..
> > Kebetulan beberapa temen developer memang coba mengakrabi PHP lewat Yii..
> > Dan laporan sampai saat ini memang memuaskan..
>
> > Disana ada table optimasi dibandingkan dengan Framework2 besar lainnya
> > seperti CI, Zend dan Cake..
> > sumonggo direview dulu,
>
> > Tetapi ini cuma sekedar Ide, kembali kepada developer2 nanti, lebih
> > menikmati agama mana :p
>
> > Kalo saya sih, sebagai front end developer, dr dulu jg udh di ajari
> > agnostik.. hehe
>
> > 2011/7/25 jingglang <amrullah.syadz...@gmail.com>

jingglang

unread,
Jul 27, 2011, 11:23:21 AM7/27/11
to baktinusa
Yii keren euy...

Setelah sebentar ngoprek-ngoprek Yii saya memperoleh hal2 berikut:
1. Optimistic Locking bisa jalan dengan mengikuti petunjuk di
http://www.yiiframework.com/forum/index.php?/topic/5068-activerecord-and-optimistic-locking/

2. Yii terasa lebih OOP & lebih modern daripada CakePHP, mengingat Yii
mendasarkan frameworknya pada PHP5.1, lebih tinggi dari CakePHP (PHP
4.3.2)

3. Code re-usability lebih baik (berdasarkan dari generated code)

Saya sudah konfirmasi @KakiLangit bahwa PHP di langsat 5.3 yang
berarti Yii bisa jalan di sana. Untuk itu, saya berniat untuk pindah
ke Yii.

Saran atau tanggapan? Monggo disampaikan.

Salam,
Amru

Tuvok Vulcan

unread,
Jul 27, 2011, 2:58:26 PM7/27/11
to bakt...@googlegroups.com
Saya mengikut. Saya belajar hanya supaya bisa faham code dan review progress saja :D

2011/7/27 jingglang <amrullah...@gmail.com>
Reply all
Reply to author
Forward
0 new messages