Archive
My New TO-do List
Belajar Scala
Yg udh aku tw mengenai bahasa ini => scala jalan di atas JVM dan bisa manggil library2 java dan sebaliknya dengan mudah. Scala ini multiparadigm => oo+functional. Functional identik dengan immutable state jadi bagus untuk conccurent programming. Nah.. yg bikin aku tertarik di sini karena fitur concurrent programmingnya. Twitter make ini dibelakangnya untuk ngurusin masalah queue dsb.
Linux/Unix/Networking
Aku dari dulu lemah kali sama yg namanya linux dan keluarga2 nya dan malah terkesan anti. Networking juga aku kacau sekali. Mata kuliah networking (AOSNW) waktu di pidel dapat D. Nyaris aja tewas. Nyampurlah di situ networking dan linux. Sepertinya harus belajar Networking lagi dari dasar nih.
Masalahnya kenapa linux. Jelas selain karena tangguh dan bagus untuk server juga gratis. Jadi mw install ribuan server juga gak bakalan bayar. Jadi hanya beli hardwarenya aja. Nah sedangkan klo mw make Windows 2003 server smua. Jelas2 akan buat bangkrut sebelum dapat hasil apa2.
Dukungan .NET di Linux (mono framework) tidak sekuat di Windows. Makanya sepertinya di Linux ini mendingan pake Java. Tapi ini juga masih perlu mendapat pematangan lagi.
Read more…
SOA vs REST
SOA berdasarkan kepada konsep MEST atau MESsage Transfer. Message mengandung statement of intent dan data yg berhubungan dengannya. Contohnya adalah ChangeCustomerAddressMessage (message tersebut sudh menunjukkan maksudnya) dan di dalam object tersebut terkandung data yg berhubungan dengan maksud tersebut.
REST berfokus terhadap Resource. Jadi jika kita ingin merubah alamat dari Customer maka kita harus tahu URI dari Customer tersebut dan menyertakan method PUT dan datanya.
PUT http://example.com/customer1
PUT adalah method dan http://example.com/customer1 adalah URI
Read more…
REST == Architecture Style
Nah dengan demikian kita membuat implementasi detail tidak kelihatan. Nah jadi dimana code yg menangani URL trsebut di server ?? Bagaimana caranya ?? Nah klo misalnya udh familiar dengan web development. Maka kita biasa membuat URL seperti ini
http://www.acme.com/phonebook/UserDetails?id=12345
Nah kita dapat melakukan URL Rewriting sehingga lebih menceriminkan resource dan lebih clean
http://www.acme.com/phonebook/UserDetails/12345
SOA dan EDA
SOA : Service Oriented Architecture
EDA : Event Driven Architecture
Pilihan design yg terdapat di SOA bisa banyak. Bahkan ketika kita sudah selesai mendefinisikan service. Contohnya pada kasus order to cash process. Proses2nya adalah register an order. Nah order memiliki hubungan dengan stock. Plihan design yg mungkin adalah
1. Aplikasi mengirimkan pesan ke registerOrder pada Order service
2. Aplikasi mengirimkan pesan yg lain ke reserveStock ke Inventory Service.
1. Aplikasi mengirimkan pesan ke registerOrder pada Order service
2. Order service mengirimkan pesan ke reserveStock pada Inventory Service
1. Aplikasi mengirimkan pesan ke registerOder pada Order Service
2. Order Service mempublish orderReceived event
3. Inventory Service subscribe ke orderReceived event
Read more…