Controller dalam MVC
Controller dalam MVC Controller ini adalah sebuah layer yang bekerja untuk mengurusi urusan ?antar layer?, yang artinya bertanggung jawab terhadap eksekusi aplikasi. Sebenarnya ada banyak controller yang dapat digunakan, seperti JSF, Tapestry dari Apache, atau WebWork yang sekarang lebih dikenal dengan Struts 2.0. Yang mana bab ini akan mendalami teknologi berdasarkan WebWork, yang terkenal merupakan solusi MVC paling mudah didunia Java. Sebelumnya ada Struts 1.x, yang mana adalah framework paling populer didunia Java. Tetapi tim Apache Struts telah setuju untuk membuat WebWork 2.3 menjadi Struts 2.0. Hal ini dilakukan karena dianggap Struts 1.x setelah ditinggal sang pembuatnya ke JSF, teknologinya mandek, sedangkan WebWork telah masuk ke teknologi berikutnya yang lebih modern. Gabungan kekuatan nama Struts yang telah mendunia dan teknologi yang mengacu pada WebWork yang sangat stabil dan mature, diharapkan dapat mencounter gerakan JSF. Tetapi saat ini yang terjadi, bukan JSF melawan WebWork/Struts yang terjadi, tetapi Don Brown, salah satu commiter WebWork/Struts2 telah berhasil membuat component development didalam WebWork, sehingga Struts2 sebenarnya adalah project integrasi WebWork dengan JSF. Beberapa fitur dari WebWork selain kemudahaannya, diantaranya adalah telah terintegrasinyaaplikasi yang umum kita perlukan seperti pembuatan Chart dengan JFreeChart, Reporting dengan Jasper, membuat XML untuk transformasi XHTML. Malahan teknologi AJAX yang baru saja direlease telah diintegrasikan kedalam WebWork sejak 2.2. Yang semua ini hanya dengan mengganti kata result dari html ke chart, atau xml didalam sebuah xml-nya.
Jenis-jenis MVC
Kembali ke tahun 2000-an, sebenarnya perang MVC terjadi antara Struts dengan WebWork,yang mana WebWork lebih mengutamakan kemudahan, dengan implementasi teknologi dispatcher, sedangkan Struts yang bernaung di Apache, yang mana Apache merupakan nama yang paling hot dalam dunia Open Source, telah membuat Struts menjadi framwork untuk MVC paling populer saat itu. Secara marketing, terlihat WebWork yang mengatakan dirinya pull MVC, sedangkan Struts adalah push MVC, terlihat berbeda. Merger WebWork dengan Struts ditahun 2005, telah membuat kombinasi yang menarik sekali. Saat itu, orang beranggapan Struts dan WebWork adalah MVC, tetapi dengan berkembannya waktu, dan semakin banyak rekan-rekan kita diseluruh dunia yang membuat framework yang mungkin saja berbasis pada framework yang sudah ada, tetapi dengan tambahan fitur, seperti setelah Struts muncul JSF, sedangkan setelah WebWork lahir Stripes. Dimana Stripes, walaupun belum sehandal WebWork, terlihat mengimplementasikan annonation didalamnya, yang konon tim WebWork sedang mencari cara bagaimana mengimplementasikan annonation yang mudah didalamnya. Teknologi mirip MVC yang khusus untuk XML adalah Cocoon yang juga dari Apache, dilanjutkan dengan Turbine, lalu lahir lagi komponen sejenis seperti Tapestry. Alhasil dalam modul ini untuk memudahkan pemilihan MVC, MVC dipisahkan menjadi MVC yang berbasis Component dan MVC yang berbasis Action. MVC tipe lain adalah yang berbasis component adalah yang bekerja seperti halnya pemograman event driven, setiap tag memungkinkan dibuat komponennnya, teknologi yang sangat serius dengan model ini adalah JSF. Yang mana implementasi JSF ini sebenarnya merupakan adopsi teknologi Swing kedalam teknologi berbasis Web. Sedangkan teknologi MVC berbasis Action, adalah adopsi implementasi yang mengacu pada request dan responsenya teknologi HTML, teknologi ini dilead oleh WebWork, yang mana setiap pengembangan mengadopsi page-page dari HTML. Tahun-tahun kedepan sepertinya akan terjadi integrasi antara framework ini, seperti Struts 2.0 yang merupakan projek integrasi dari Struts dan WebWork, ternyata mulai memasukan unsur komponen kedalamnya, dengan memasukan JSF sebagai komponennya. Jadi dapat dikatakan, tahun-tahun kedepan akan lahir MVC yang mengadopsi kedua teknologi ini. Ini tentu saja evolusi MVC selama lebih dari 10 tahun yang dilakukan komunitas Open Source. Dari semua ini yang menarik adalah, teknologi Web yang tidak Open Source malahan tidak dapat bertahan, seperti WebObject dari Apple, merupakan teknologi Java berbasis komponen yang sangat bagus, tetapi sayang karena tidak Open Source dan berjalan diatas Mac saja, serta focus Apple yang bukan di Java, membuat produk ini tenggelam.
jeni 5 ( cimande2 )
Langkah - langkah Menambahkan Modul Category Item adalah sebagai berikut: 1. Membuat menu Category dengan: 1. Descriptor 1. Name : category_item 2. Descriptor description: Category Item 2. Module function 1. Name: Category 2. Description: Category 3. Master Thread Id: training_item 4. Module Descriptor: category_item 2. Membuat module Category dengan mengubah kode pada module item 3. Menambahkan kode pada module Item 1. Item.java 2. ItemForm.java 3. form.vm 4. filter.vm 5. SaveItem.java 6. SearchItem.java Contoh program Item.java: ... private CategoryItem category; ... @ManyToOne public CategoryItem getCategory() { return category; } public void setCategory(CategoryItem category) { this.category = category; } ...