Saturday, December 20, 2008

Vermiform Appendix

Usus buntu, istilah resminya 'Vermiform Appendix', adalah sebuah silinder dengan satu ujung tertutup yang menempel pada usus. Kegunaanya ialah:
  1. sebagai organ limfatik, mengandung sel-sel limfoid yang aktif menyerang infeksi (Scientific American.com)
  2. menyimpan bakteri berguna yang dibutuhkan oleh sistem pencernaan manusia, pada saat terjadi serangan kolera/disentri (MSNBC.com)
  3. dapat digunakan dalam operasi/prosedur Mitrofanoff, yaitu operasi pada orang yang memiliki kasus neurogenik bladder (tidak dapat mengendalikan urinasi) sehingga kateter dapat dioperasikan sendiri (Mingin & Baskin)
Memang, infeksi pada usus buntu dapat berakibat fatal. Sehingga tenaga medis lebih suka menganjurkan pengambilan usus buntu (appendectomy), jika diketahui terjadi infeksi. Hari Sabtu kemarin, adikku dioperasi usus buntunya. Pada saat operasi, dokter menemukan bahwa ada kista (di ovarium? atau rahim? entah), sehingga operasi dilanjutkan dengan menunggu ginekolog mengangkat kista tersebut.
Bapak kami bercerita bahwa kesimpulan bahwa ada masalah di usus buntu diambil setelah dilakukan appendigram yang menunjukkan bahwa cairan trace yang diminum tidak teramati di dalam usus buntu. Dalam sebuah artikel pro-evolusi dikatakan bahwa "The small opening to the appendix eventually closes in most people by middle age" - jadi kalau celah menuju usus buntu itu menutup, bagaimana caranya cairan trace masuk ke usus buntu.. ?

Buat saya, kesimpulan yang bisa ditarik ialah:
  • lebih baik cepat dan benar, daripada lambat dan benar, daripada cepat dan salah.. dan dalam urutan tersebut.. Sorry Mr Mario Teguh for this one, I HAVE to disagree with you.. I hope you never get a chance to motivate our medical professionals.
  • kedokteran indonesia lives in the past. Menurut Loren G. Martin di sciam.com,
"In the past, the appendix was often routinely removed and discarded during other abdominal surgeries to prevent any possibility of a later attack of appendicitis; the appendix is now spared in case it is needed later for reconstructive surgery if the urinary bladder is removed. In such surgery, a section of the intestine is formed into a replacement bladder, and the appendix is used to re-create a 'sphincter muscle' so that the patient remains continent (able to retain urine). In addition, the appendix has been successfully fashioned into a makeshift replacement for a diseased ureter, allowing urine to flow from the kidneys to the bladder. As a result, the appendix, once regarded as a nonfunctional tissue, is now regarded as an important 'back-up' that can be used in a variety of reconstructive surgical techniques. It is no longer routinely removed and discarded if it is healthy.

  • di era internet, carilah informasi medis pada setiap kesempatan yang ada. You'll need it - dokter-dokter Indonesia terlalu sibuk dalam kegiatan prakteknya masing-masing untuk mengikuti perkembangan zaman (incidentally, begitu pula banyak programmer-programmer dan analyst di Software House yang memiliki banyak project, kadang-kadang tidak dapat mengikuti perkembangan masa, tetapi tentunya lack of knowledge dalam pembuatan sistem accounting akan memiliki resiko lebih tidak fatal daripada lack of knowledge dalam melakukan treatment atas penyakit manusia..)
I hope my sister will get well soon.

Thursday, November 13, 2008

I'm installing Liferay 5.1.2, bundled with Jetty Servlet Container (Lightweight application server, you might say), in a Windows XP laptop. Unfortunately these errors showed up:


org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mbeanServer' defined in class path resource [META-INF/management-spring.xml]: Invocation of init method failed; nested exception is java.lang.LinkageError: loader constraint violation: when resolving method "java.lang.management.ManagementFactory.getPlatformMBeanServer()Ljavax/management/MBeanServer;" the class loader (instance of org/mortbay/http/ContextLoader) of the current class, org/springframework/jmx/support/JmxUtils, and the class loader (instance of ) for resolved class, java/lang/management/ManagementFactory, have different Class objects for the type javax/management/MBeanServer used in the signature
....
Caused by: java.lang.LinkageError: loader constraint violation: when resolving method "java.lang.management.ManagementFactory.getPlatformMBeanServer()Ljavax/management/MBeanServer;" the class loader (instance of org/mortbay/http/ContextLoader) of the current class, org/springframework/jmx/support/JmxUtils, and the class loader (instance of ) for resolved class, java/lang/management/ManagementFactory, have different Class objects for the type javax/management/MBeanServer used in the signature


I resolve this by removing mx4j.jar in \liferay-portal-jetty-5.1.2\webapps\root\WEB-INF\lib. Seems that the problem is similar to the problem in this post. The case is that the Java 6's JRE already contains javax.management.MBeanServer interface class, and conflicts with mx4j.jar which are supplied for those who still use elder JRE/JDK which doesn't contain the MBeanServer interface class.

Friday, September 12, 2008

Beware: Your App Server is NOT plug-and-play

Recently, I tried to build a simple application with a somewhat curious architecture: this web application forwards the request from user to a message queue, and another application reads from the message queue, executing an insert sql statement for each message. Netbeans 6.5 beta comes with Glassfish v2 Application Server, which is essentially a Sun Java Application Server 9.1-something with its JMS Message Queue implementation and database connection pool. With its default configuration, I created a JDBC connection to an Oracle Express 10g database, and also its connection pool. The first application is a JSF application, sending a JMS message to the JMS message queue. The second app is an EJB app, consisting a single message driven bean. Naturally the app server pools this bean too.
Ok, during manual application testing, all works well. During automated testing using ab (ApacheBench), things starts to get strange aft er more than 10 concurrent connections. With 50 concurrent connections, about 400 row from total of 2000 rows were missing.
The JDBC Connection pool is set to 32 connections, meanwhile the Oracle database allows only 20 or so connections. OK, I set the connection pool to 20 connections.
Now, there are still missing rows, and the server's log indicates message beans that cannot obtain connection resources. I'm reducing the message bean pool too - but still have missing rows.
I always thought that wrong pool size could affect performance, but wouldn't affect systems correct operation -- this case clearly demonstrated the opposite.

Thursday, September 11, 2008

integrasi ebox-usersandgroups dgn Apache-Subversion

Subversion adalah sebuah source control system yang dapat menyimpan file apapun. Prinsip kerjanya lebih mirip CVS daripada SourceSafe, dan memang merupakan hasil pengembangan orang-orang yg ingin memperbaiki CVS. Dalam Subversion, kita dapat menyimpan file source code ataupun binary (file PHP atau file Excel, misalnya), memberi akses terpusat ke banyak orang ke file tersebut, memberi access control (siapa yang boleh menulis, siapa yang hanya dapat membaca), mencatat tiap versi dari file (sehingga ada history/log revisi tiap file, diubah oleh siapa, kapan, dan apa pesan perubahannya).
Subversion memiliki fitur integrasi dengan Apache Web Server, sehingga kita dapat memanfaatkan salah satu dari metoda authentication yang tersedia bagi Apache, dan memungkinkan akses ke repository menggunakan protokol HTTP. Ya benar, bisa diakses dengan web browser, tapi hanya akses dasar saja yang dapat dilakukan. Ia juga mendukung protokol WebDAV - yang memungkinkan kita mengakses menggunakan macam-macam software seperti Windows Explorer, Microsoft Excel, Frontpage. Untuk mendapatkan fitur yang lengkap, Subversion repository dapat diakses menggunakan SVN Client seperti TortoiseSVN atau plugin subclipse.
Tadinya, saya gunakan metoda authentication dan access control yang berbasis file teks. Satu file merupakan output htpasswd, yang berisi username dan md5 hash, file yang lain ialah ACL untuk repository tersebut. Meskipun praktis, tetapi proses penambahan user tidak dapat dilakukan oleh orang yang awam.
OK, misalkan kita tidak butuh ACL per direktori, cukuplah ACL per repository. Ada opsi lain yaitu menggunakan autentikasi dan otorisasi LDAP, di mana Apache akan menghubungi server LDAP yang kita tunjuk untuk melakukan autentikasi dan otorisasi. Dan jika kita gunakan OpenLDAP di server yang sama, kita dapat menggunakan ebox - sebuah web-based GUI untuk melakukan administrasi server, termasuk memanage user & group di OpenLDAP server.
Saya menginstall package ebox & ebox-usersandgroups di sebuah VMWare Image Ubuntu Hardy. Btw, package ebox yang digunakan diambil dari situs di luar Ubuntu Package Repository - tambahkan ini di /etc/apt/sources.list anda:
deb http://ppa.launchpad.net/juruen/ubuntu hardy main
Persiapkan sebuah repository di /var/lib/svn :
sudo su
cd /var/lib
mkdir svn
svnadmin create svn
chown -R www-data:www-data svn
Kemudian, modul user and groups diaktifkan(lewat https interface-nya ebox). Berikutnya, lewat https interface pula, buat group reader dan writer. Kita dapat membuat user baru, mengassign user ke kedua group tersebut.

Tambahkan isi berikut ini ke /etc/apache2/conf.d/svn-repository.conf (buat file baru):

<location /svnrepo>
Dav svn
AuthType Basic
AuthName "SVN repository"
AuthBasicProvider ldap
SVNPath /var/lib/svn
AuthLDAPURL "ldap://127.0.0.1:389/dc=ebox"
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
<limitexcept GET PROPFIND OPTIONS REPORT>
Require ldap-group cn=writers,ou=Groups,dc=ebox
</limitexcept>
<limit GET PROPFIND OPTIONS REPORT>
Require ldap-group cn=writers,ou=Groups,dc=ebox
Require ldap-group cn=readers,ou=Groups,dc=ebox
</limit>
SVNAutoversioning on
</location>

Restart Apache Service setelah mensave file ini.
That's all...
I hope it works for you too ..

Sunday, July 6, 2008

Complexity of Software (1)

One big issue about today's software is its complexity. Today's software is so complex - in the other hand, it doesn't need to be that complex.
I can only speculate why our industry fails to give users what the clearly need and want.
There could be reasons related to organizational culture, or they could be related to certain software business models.
A widespread myth is that current software is inherently complex; so complex that ordinary people cannot possibly understand it and that it is only reasonable to expect flaws.

Consider a forest with birds singing in the trees and flowers covering its floor. We can easily walk along its paths or you can be adventurous and make your own paths. We can select any aspect of its complex ecosystem and study it for your doctoral thesis. There is unlimited complexity, yet any human can master it to suit his or her purposes. There is no reason why a computer system should be more complex than a forest. I believe that the current complexity is man-made, and that we can resolve it by changing our approach to software development. We merely need to get our priorities right and create the appropriate tools. If we decide to build systems for people, then we will get systems that can be mastered by people.

- June 2004, Trygve Reenskaug (founder of MVC paradigm)

Monday, May 19, 2008

OpenOffice problems

Aku membuat dokumen menggunakan OpenOffice.org Writer (Open Office 2.3), formatnya .odt. Ketika di export jadi PDF, angka-angka dalam gambar di dalamnya berubah jadi angka arab (Arabic numerals). Setelah upgrade ke OpenOffice 2.4, angka-angka itu kembali normal.

Karena bosku pakai Microsoft Office, supaya dia bisa membuka dokumen itu aku save sebagai .doc.
Ternyata, table of contentsnya jadi kacau (formatnya berantakan), lalu judul (Heading 1) juga berantakan. Setelah bolak-balik eksperimen, Table Of Contentsnya bisa dibereskan dengan menghapus semua tab stop di style Contents 1, Contents 2, dst yg digunakan sebagai isi ToC. Heading yang berantakan ternyata gara-gara Heading itu mendapat tambahan formatting berupa left indent dan first line indent, dengan mengembalikannya ke format sesuai asli dari stylenya (apply style sekali lagi, meskipun tidak ada hasil yang tampak di .odtnya), hasil save sebagai .doc menjadi sama rapihnya dengan dokumen asli dalam .odt.

Thursday, May 1, 2008

Mumet nginstall eeePC

Karena ada sebuah project, maka saya dipinjami sebuah eeePC. Konon software yg saya buat hendak disimpan di situ, sehingga setelah saya beres tim lain tinggal melakukan antarmuka ke eeePC tersebut.
Nah.. eeePC-nya ga punya bluetooth ataupun modem (jadi ga bisa pake telkomnet instan, ga bisa pake handphone ku..) Aku install Kubuntu 7.04 menggunakan USB yg bootable.

Ternyata.. package yg kubutuhkan lebih dari standard install. Tadinya aku mengcopy-copy file debian package (.deb) dari /var/cache/apt/archives hasil install di Ubuntu yg hidup di dalam VMware Player di laptop (wuih.. panjang juga kalimatnya). Setelah capek ngopy2, maka cari2 cara lain.
Karena modem HSDPA ZTE milik kantor istriku lagi ada di rumah, pertama nyoba koneksi dengan modem itu (USB interface). Setelah habis beberapa jam dengan ngikutin http://blog.ufsoft.org/2007/11/30/zte-mf622-usb-modem-under-linux dan http://ex3me.org/2008/04/20/menginstall-zte-mf622-usb-modem-di-linux-ubuntu/
(mungkin karena pusing aja ya.. entah) akhirnya saya menyerah.
Terus nyoba menghubungkan Sony Ericsson K618i menggunakan kabel USB.. ternyata langsung kedetect, jadi modem di /dev/ttyACM0. (kok tadi ga inget bahwa selain bluetooth bisa pake kabel USB ya.. udah pikun..).
OK kupikir semua udah beres.. kalo download tinggal pake SE K618i itu dan kartu IM3ku..
Ternyata ditengah-tengah download mysql-server-5.0, pulsaku habis.
Uang di tangan cuman 20 ribuan, kagok kalo buat beli pulsa semua. Tadinya mau kusuruh istriku ngambil ke ATM (mau sekalian beli kukusan katanya), tapi ternyata hujan besar. Takut apa-apa di jalan, tidak jadi.

Di antara percobaan install tersebut (lupa persisnya kapan) saya berhasil menginstall driver madwifi untuk modul wirelessnya. Kemudian setelah berhasil menbuat eeePC itu jadi Access Point, terbersit ide untuk menggunakan Internet Connection Sharing windows XP untuk menghubungkan eeePC dengan laptop, yg mana terhubung ke telkomnet instan.. Akhirnya pake jasa Telkom juga..

Using Atheros WiFi in Ubuntu

One of the thing that the Ubuntu lacked is a driver for my Atheros WiFi in my Acer laptop.
Recently I've been trying to make use of an Asus eeePC, which also had an Atheros WiFi. To my surprise, its WiFi is operational when booting from Xandros (eeePC customized, and debian OS-based). But Xandros is too much watered down for my usage (I need to install development environment for libsnmp9 and also need a working mysql server), so I'm installing Ubuntu in a Maxtor Basics Portable drive. Actually I installed a Kubuntu 7.04 Feisty Fawn, with KDE instead of Gnome desktop, but it shouldn't matter much (I hope.. thats the only installer I got back home). Reading this wiki article about Installing Ubuntu in eeePC, finally I found that madwifi is the solution.
To quote the steps :
sudo apt-get install build-essential
wget http://snapshots.madwifi.org/special/madwifi-ng-r2756+ar5007.tar.gz
tar zxvf madwifi-ng-r2756+ar5007.tar.gz
cd madwifi-ng-r2756+ar5007
make clean
make
sudo make install
reboot
Seems that the madwifi driver that works must be obtained from the snapshots site. I don't want to experiment using other version of the driver, so I use that version of the snapshot too.
But.. there is no wireless Access Point in my home. I must set up an ad-Hoc connection. Fiddling with
iwconfig ath0 mode Ad-Hoc
causes an error message. I began to wonder how I'm going to test the wifi driver, but browsing around for some time (hours? cant recall) then I found that the wifi interface's configuration can only be changed using wlanconfig
wlanconfig ath0 destroy
wlanconfig ath0 create wlandev wifi0 wlanmode ap
iwconfig ath0 essid ABCD
iwconfig ath0 nickname ABCD
iwconfig ath0 channel 6
ifconfig ath0 192.168.0.1
ifconfig ath0 down
ifconfig ath0 up

Now I got something better than an Ad-Hoc connection -- My Own WiFi Access Point ! :))
Funny, in the past I was complaining that I got an Atheros in the Acer laptop, I had no idea that Atheros could be configured as an Access Point.
If the steps doesn't work, try to reboot once, or fiddle transmit power settings (you should google for madwifi and iwpriv / iwconfig for that)
The same steps works both for my Acer laptop (using the same Kubuntu 7.04 - Feisty Fawn) and the Asus eeePC I borrowed. The original article is actually using an Ubuntu 8.04 Hardy as opposed to 7.04 Feisty, but fortunately it makes no difference.

Monday, April 21, 2008

Menilai project open source

Dengan adanya lusinan (puluhan?) framework open source, tidak mungkin kita memilih dengan cara mencobanya satu demi satu. Mungkin kita lihat yang mana yang populer di kalangan teman-teman kita atau mana yang sering disebut-sebut oleh artikel atau blog di internet.
Dengan adanya situs Ohloh (www.ohloh.net, yang sekilas saya sebut di posting sebelum ini), cara tadi menjadi kuno dan tidak terstruktur - di Ohloh kita bisa melakukan perbandingan antar project, menilai aktivitas kontributor tiap project, memperkirakan nilai project (berdasarkan jumlah baris - debatable indeed). Popularitas sebuah project dinilai dengan ukuran Stack - yaitu berapa orang user Ohloh yang memasukkan project tersebut ke technology stack-nya (dengan kata lain, aktif menggunakan hasil dari project tersebut). Ada juga penilaian ke individu yg terlibat dalam project2 (Kudos), yang didapatkan dari penilaian orang terhadapnya (sebetulnya ada banyak faktor dan cukup rumit). Ohloh juga menampilkan peta menunjukkan sebaran geografis.
Misalnya kita hendak mencari framework untuk php, kita bisa mencari dengan menggunakan tag, misalnya : "framework php". Dari hasil search, kita bisa melihat mana yang paling populer, atau bahkan bisa memilih tag berikutnya (dari suggestion yang muncul) untuk mempersempit hasil search.
Cuma, project summary, tag, dan informasi lain tampaknya harus diedit oleh editor manusia, dan kadang bisa menjadi tidak representatif kalau kebetulan belum ada orang yg mengisi dengan lengkap. Baru saja saya tambahkan summary untuk 'Struts 2' dan tag-tagnya, sehingga kalau kita cari dengan kriteria "framework java mvc" maka Struts 2 akan muncul bersama Wicket dan Tapestry. Ya, tampaknya ia memiliki semangat wiki, orang yang baru buat login pun bisa mengedit informasi mengenai suatu project.
Selamat membandingkan framework!

Goodbye Visio

Setelah mencoba berbagai tool open source, (dan menahan diri untuk tidak memasang Microsoft Visio 2003), kini saya cukup PD untuk membuat macam-macam diagram.
Anda perlu menggambar UML diagram, dan butuh model UML yang bisa dihubungkan dengan macam-macam code generation tool: gunakanlah ArgoUML
  • Kekurangannya: hanya bisa menggambar diagram UML, agak berat karena dibuat pakai Java
  • Kelebihannya: bisa export XMI dengan format UML 1.4
Anda perlu menggambar diagram dengan sangat cepat :
gunakanlah yEd Graph Editor.
  • memiliki macam-macam algoritma layouting untuk menata ulang gambar kita,
  • tiap node bisa diganti gambarnya (dengan isi dari file .PNG atau .SVG).
  • sangat intuitif dan mudah, response cepat (seakan-akan bukan dibuat pakai Java..)
  • Kekurangannya: hanya bisa menggambar diagram yang bisa dimodelkan sebagai graph (yaitu kumpulan Node dan Edge).
Anda perlu menggambar ilustrasi diagram yang lumayan cantik :
gunakanlah InkScape
  • program gambar sekelas Adobe Illustrator/FreeHand
  • mendukung SVG
  • dibuat dengan python - jadi responsenya lumayan cepat
  • Kekurangannya: mungkin its just me, tapi agak sulit digunakan
Anda perlu program gambar yang sesuai standar Telkom? (Ada gituh?)
Gunakan OpenOffice Draw.
  • kemampuan terbatas
  • keuntungannya: terpasang di semua laptop Telkom Seat Management II :))
Dan, sebagai pilihan terakhir, Gnome Dia .
  • konon dibuat mencoba menyamai Visio
  • memiliki pustaka dengan banyak shape - (tapi masih kurang, meskipun banyak)
  • tapi saya mendapatinya sulit digunakan
Pembaca mungkin mendapati bahwa banyak antara program-program di atas ber-versi di bawah 1.0, namun ini tidak menjadi kendala bagi kita untuk mengambil manfaat dari program-program tersebut.
Semua program adalah Open-Source, kecuali yEd, yang merupakan Freeware.
(bedanya? kalo cuma freeware ga ada source codenya..)

Model Driven Euphoria

Beberapa hari terakhir ini, karena dapat tugas untuk merancang sebuah aplikasi, aku merambah dunia UML, belajar cara memakai tool ArgoUML, susah payah memasang AndroMDA, dan mendownload macam-macam freeware untuk menggambar diagram.
Konsep MDA, Model Driven Architecture, membuat model UML yg kita buat menjadi beberapa kali lebih bernilai daripada sekedar sketsa dan dokumentasi. Ada dua kategori atau generasi tool untuk MDA,
  1. Tool yang melakukan transformasi dari model yang dibuat, dan kemudian menghasilkan source code dari hasil transformasi. Jargonnya sih, Transformasi PIM (Platform Independent Model) menjadi PSM (Platform Specific Model), dan code generation. AndroMDA termasuk kategori ini.
  2. Tool yang mentransformasi model menjadi runtime data, yang langsung bisa dieksekusi oleh runtime engine tertentu. OpenMDX termasuk kategori ini.
Bagi yang pernah menggunakan Rational Rose atau PowerDesigner, tool generasi pertama mirip dengan yang sudah dilakukan tools tersebut (ArgoUML juga bisa melakukan hal ini). Umumnya di dalam model kita tentukan nama method-method yang dimiliki class-class yang kita buat, atribut nya, asosiasinya, dst. Kemudian Rose/PowerDesigner menghasilkan source code dalam bahasa yang kita pilih, namun tentu saja method-method tersebut belum terisi apa-apa dan 'tinggal' diisi oleh sang Developer. Namun tentunya tool generasi pertama bisa melakukan lebih dari itu.. ia bisa memetakan satu kelas yang kita buat menjadi beberapa kelas, dan menggenerate method-method untuk melakukan data access. Misalnya, AndroMDA, dengan cartridge (semacama plugin) Hibernatenya, akan menggenerate :
  • hbm.xml mapping, yang bisa dikustomisasi (misalnya apakah untuk tipe Date ingin kita simpan sebagai oracle DATE atau oracle TIMESTAMP)
  • kelas entitas,
  • kelas-kelas Data Access Object beserta method load,loadAll, update, delete, dan removenya, (katanya bahkan kita bisa menspesifikasikan method yg melakukan query dengan OCL ataupun Hibernate-QL)
Cartridge AndroMDA yg lain, bpm4struts, menjanjikan transformasi dari activity diagram menjadi kelas-kelas Struts Action class dan ActionForm, pembuatan struts-config.xml, dan bahwa kita tidak akan perlu lagi mengedit secara manual file struts-config.xml ataupun action classes / action forms.

Bagi mereka yang belum pernah berkutat di J2EE, ataupun berkutat di situ tapi tidak aware tentang Hibernate / Struts, mungkin penjelasan singkatnya sebagai berikut:
  • Hibernate adalah persistence framework yang membuat kita tidak pernah membuat query INSERT/DELETE/UPDATE/SELECT dengan tangan kita sendiri.. eh editor kita maksudnya
  • Struts merupakan framework yang menangani flow halaman di aplikasi web, bagaimana sebuah form mendapatkan data, membagi tanggung jawab kelas-kelas menjadi Model-View-dan Controller
Semua hasil yang dapat diberikan AndroMDA merupakan perkembangan yang menggembirakan. Sampai saya lihat statistik di ohloh (apa? decreasing year-over-year project activity?)
Ohloh ini merupakan situs yang cukup unik, ia membantu orang untuk menilai dan membandingkan project-project open source. Kita bisa lihat frekuensi aktivitas commit yg dilakukan tim pengembang, maupun perkiraan distribusi geografis dari pengguna maupun kontributor sebuah project open source.
Kembali ke MDA tadi, setelah melihat bahwa plugin AndroMDA sebagian besar berkutat di antara Spring-Hibernate-jBPM (yg mana saya rasa sedikit 'heavy'), saya mencari alternatif tool MDA yg open-source, dan ketemu dgn OpenMDX.


OpenMDX, mengklaim bahwa ia adalah tool MDA generasi kedua (atau kategori kedua, whatever). Di antara klaimnya ialah bahwa round trip time, waktu yg dibutuhkan dari saya mengubah model sampai aplikasinya sudah bisa ditest, adalah 1 menit. Angka ini tampaknya memang hanya bisa dicapai dengan teknologi yg lebih sophisticated dari code generation. Saya belum coba sih.. 69 MB downloadnya, dan sekarang proxy Telkom lagi lambat-lambatnya.

NB: gambar satu-satunya di blog ini saya dapat dari OpenMDX, tapi tampaknya tidak match dengan klaimnya (ada code-generation di sini). Tapi memang gambar itu didapat dari Quick Start untuk yg versi 1.x, dan sekarang sudah versi 2.0, dan tidak ada gambar yg bagus dari quick start versi 2.0..