Annotation pada Spring yang perlu diketahui

Java
Annotation merupakan informasi data tentang kode program tetapi tidak akan berdampak secara langsung pada kode, atau lebih dikenal dengan nama meta tag. Lalu apa kegunaan dari annotation ? Memberikan informasi kepada compiler - Annotation dapat digunakan oleh compiler untuk mendeteksi error atau suppress warning. Compiler-time dan deployment-time processing - Software tools dapat memproses informasi dari annotation untuk men-generate code, XML file, dan masih banyak lagi. Runtime processing - Beberapa annotation akan diperiksa pada waktu runtime. Annotation dapat diaplikasikan pada class, field, method, dan elemen program yang lain 1. @Controller Controller adalah anotasi yang digunakan untuk menunjukkan bahwa sebuah class adalah controller, yang terdiri dari   method method atau fungsi fungsi  yang akan melayani dan berhubungan langsung dengan http request dan request mapping. Pada Controller pertama kali data data yang dikirim…
Read More

jPOS – ISO 8583 Messaging

Software
jPOS adalah sebuah library yang ditulis menggunakan basaha pemrograman java. Dimana di dalam library ini sudah disediakan banyak class yang dapat kita pakai untuk melakukan pengiriman, pengolahan, dan penerimaan ISO-8583 messaging. Apa itu ISO-8583? ISO-8583 adalah sebuah standarisasi internasional untuk messaging transaksi bank. Dengan adanya standarisasi ini, maka transaksi antar bank dapat dilakukan walau memiliki sistem yang berbeda – beda. Contoh real dari penggunaan ISO-8583 ini adalah pada mesin ATM. Meskipun JPOS dirilis di bawah lisensi Open Source, tetapi penggunaan JPOS untuk kegiatan komersial diharuskan menggunakan lisensi komersial. Padahal sangat kecil kemungkinan ada aplikasi ISO 8583 yang tidak bertujuan komersial. Sisi baiknya, dengan lisensi JPOS yang Open Source itu , kita bisa menggunakan / mengkonfigurasikan JPOS terlebih dahulu, baru membeli lisensinya. Jadi kita tidak membeli kucing dalam karung seperti ketika membeli…
Read More

Enterprise Service Bus

Software
Enterprise Service Bus (ESB) dalam IT berarti adalah sebuah arsitektur software yang menyediakan layanan even-driven untuk aplikasi lain yang berbasiskan message (Bus). Ini merupakan suatu model arsitektur yang digunakan untuk mendisain dan mengimplementasikan komunikasi antara program aplikasi dalam Service Oriented Architecture (SOA).  ESB juga dapat dipandang sebagai layer yang menghubungkan antara front-end application dengan back-end application. ESB lebih dikenal sebagai layer yang digunakan untuk berkomunikasi antara sistem yang memungkinkan arsitek IT tidak menulis code untuk mendapatkan pesan tersebut. ESB merupakan bagian dari arsitektur berorientasi service (SOA), ESB menyediakan fitur-fitur yang dapat digunakan oleh aplikasi lain. Sebuah ESB harus dibangun berdasarkan standar dan fleksibel. Relasinya dengan SOA, ESB dianggap sebagai platform yang merealisasikan SOA dalam hal interoperability. Dalam arsitektur yang komplek, ESB merupakan sebuah software yang terletak di antara aplikasi atau yang…
Read More

Mengenal Bahasa Scala

Software
Scala adalah kepanjangan dari “Scalable Language” merupakan bahasa pemrograman dengan multi-paradigma modern yang dirancang untuk mengekspresikan pola pemrograman umum dengan cara yang ringkas, elegan, dan aman. Scala memiliki fitur yang di miliki bahasa pemrograman berorientasi objek dan fungsional secara terintegrasi. Scala mulai diperkenalkan pada tahun 2003 oleh Martin Odersky bersama dengan EPFL yang merupakan research group dibawah naunganya. Martin adalah pengembang dari compiler dan fitur generic pada bahasa pemrograman Java. Berawal dari temuanya atas satu kelemahan pada Java, maka lahirlah Scala, sehingga banyak yang mengatakan bahwa Scala dikembangkan untuk menggantikan Java. Model konkurensi (pararel) yang dimiliki Java mengharuskan syntax dari java saat berada di lingkungan tersebut harus diubah seluruhnya,  lahirnya Scala memperbaiki itu. menariknya kode yang ditulis dengan Scala dapat dipanggil dalam Java begitupun sebaliknya karena keduanya berjalan di atas…
Read More

Spring Boot

Java
Spring-boot adalah sebuah framework yang merupakan kompilasi dari beberapa elemen library spring framework. Spring-boot diciptakan dengan tujuan untuk memudahkan para pengguna spring framework agar dapat : Mudah membuat aplikasi berbasiskan spring framework. Kontainer web aplikasi seperti tomcat, jetty atau undertow sudah terintegrasi di dalamnya atau membuat standalone aplikasi. Menyediakan sebuah skema 'tinggal pakai' untuk menyederhanakan developer jika menggunakan maven dalam proses development-nya. Memungkinkan pengkonfigurasian spring framework semudah mungkin. Menyediakan fitur-fitur yang siap pakai pada saat produksi, seperti metrics, health checks, dan konfigurasi yang bisa ditempatkan diluar aplikasi. Tidak menggunakan xml sebagai konfigurasi spring-nya. Spring Boot menggunakan teknologi jdbc untuk koneksi ke database relasional (MySql, PostgreSql, Oracle Database, IBM DB2 Database, MsSQL dll). Teknologi jdbc sendiri merupakan bagian dari standard java. Untuk pengetahuan tambahan, silahkan baca halam wikipedia ini. Selain penyimpanan…
Read More

Mengenal Bahasa GO dari Google

Software
Golang adalah sebuah bahasa pemrograman yang dikembangkan oleh Google pada tahun 2007, kemudian Google memperkenalkannya kepada publik pada tahun 2009. Berarti Golang sudah berumur 5 tahun, tapi kenapa Golang belum begitu populer dikalangan praktisi IT atau para Programmer ? Setidaknya itu yang menjadi pertanyaan saya saat ini. Kita tahu tidak semua produk Google menjadi raksasa dilingkungannya, kenyataannya beberapa produk Google perlahan lenyap karena tidak begitu populer seperti Google Waves, misalnya. Namun bukan berarti Golang akan bernasib sama seperti produk gagal Google lainnya. Sifatnya yang Open Source dan dengan banyaknya pendapat bahwa Golang adalah bahasa yang paling mudah dipahami bisa saja menjadi sebuah eskalasi yang baik bagi perkembangannya, pasalnya sampai saat inipun Golang masih terus dikembangkan, dan kabar baiknya bahwa orang yang mendesain awal bahasa ini adalah orang-orang yang tidak akan…
Read More

Code Refactoring

Java
Refactoring adalah usaha untuk mengubah struktur kode program agar lebih mudah dibaca dan lebih mudah dimodifikasi. Ya, karena terburu-buru mengejar deadline, seringkali kita membuat kode program ‘kusut’ sehingga sulit dipahami. Meskipun tentu saja sudah bisa dieksekusi dengan benar. Kode program yang kita buat itu seharusnya mudah dibaca dan dipahami karena bukan kita saja yang akan membacanya. Suatu saat nanti, mungkin kode program tersebut harus dimodifikasi oleh orang lain. Selain itu, kode program harus dibuat sedemikian rupa agar penambahan fitur baru tidak menyebabkan kita harus menelusuri dan mengubah bagian-bagian kode program versi sebelumnya. Idealnya, menambah fitur baru cukup dengan membuat kode program baru kemudian ‘digabung’ dengan kode program sebelumnya. Jika struktur program kurang baik, seringkali proses ‘menggabung’ ini jadi butuh effort yang besar. Refactoring pertama diperkanalkan oleh Martin Fowler dalam bukunya…
Read More

Mengapa Perlu Unit Test

Java
Saat kita membangun sebuah sistem maka kita wajib untuk memastikan apakah sistem tersebut berperilaku dan berfungsi sebagaimana mestinya. Sebelum menyerahkan aplikasi ke client, sudahkah dilakukan testing? 100% programmer pasti menjawab dengan kompak, “SUDAAAAHHHH !!!” Jawaban orang biasanya bervariasi, tergantung nilai project, jumlah orang yang tersedia, dan juga tergantung tingkat kegaptekan si programmer terhadap teknologi testing yang tersedia. Testing minimal yang dilakukan biasanya adalah user testing. Jadi, ada user (atau programmer yang pura-pura jadi user) mencoba menggunakan aplikasi yang (katanya sih) sudah selesai. Biasanya fenomena ini akan berakhir dengan periode bugfix yang lebih lama daripada periode coding itu sendiri. (more…)
Read More

Kombinasi Teknologi Aplikasi Java

Java
Untuk membangun aplikasi Java perlu kombinasi teknologi agar aplikasi bisa powerful. Ada beberapa kategori teknologi, yaitu: Ada beberapa kategori teknologi, yaitu: Presentation Layer. Yaitu teknologi untuk membangun User Interface Business Layer. Yaitu teknologi untuk menyediakan logika proses bisnis. Data Access Layer. Yaitu teknologi untuk mengakses penyimpanan data, misalnya database. Security Framework. Teknologi untuk mengelola otentikasi dan otorisasi. Build System. Sistem untuk mengotomasi proses build. Testing System. Sistem untuk mengotomasi pengetesan aplikasi. Application Server Database Server Project Management Tools. Perangkat pembantu untuk mengelola project. (more…)
Read More