Layered /Tiers architecture ke SOA
Bagaimana bisa kita mengubah aplikasi yg lama agar lebih siap dipindahkan ke SOA.
Membuat service layer yg mengantarai Presentation Layer dan Bussines Layer. Service layer tersebut mengexpose method yg hanya akan menerima business entity. Business entites tersebut yg dulunya terdapat di business layer. Keluarkan dari Business Layer. Dan dipisahkan. Sehingga dapat digunakan langsung oleh Presentation layer. Jadi ui berinteraksi dengan service layer dengan menggunakan Business Entites. Business entites ini hanya mengandung data saja. Berupa DTO.
Jadi method di service tersebut harus large.yg hanya memiliki satu method saja. Hanya cara menangani pesan saja yg berbeda. Jadi hanya mengandung method handle message. Yg menerima generic message yg akan ditentukan penangannany sesuai dengan tipe messagenya atau criteria yg lain.
Sebenarnya yg paling penting bukan teknikal aspek. Tetapi lebih ke bisnis dan proses aspek. Karena ditujukan untuk enterprise architecture.untuk menjamin bahwa keselurahan soa berjalan dengan baik. Jadi focus ke situ dulu sebelum yg lain.
Asumsi yg dipakai di sini adalah bahwa system sudah ada. Jadi kita tinggal mengubahnya ke bentuk services.
SOA tidak spesifik terhadap teknologi. Tetapi independent.
Yg dilakukan bukanlah migrasi (dari java ke .net dll). Jadi lebih ke strukturisasi bisnis logic dari system tersebut.
Service tidak memiliki perspektif UI. Jadi hanya menerima message dan meresponnya. Meskipun Service memiliki UI. UI dari service tersebut harus lebih terlibat dengan operational dari system tersebut. bukan interaksi dengan service tersebut
UI part merupakan external dari service. Business Layer, Service Layer, Data Access -> part of service. Business entities merupakan part of Data Contract (contohnya di WCF)
Di dalam UI kita dapat memiliki model yg tersendiri. Menjadi lebih complex. Mapping UI Object ke Business. Service agent mengenkapsulasi interaksi dengan service. Translate UI entites ke Business Entites dan menterjemahkannya menjadi message utnuk melakukan call yg sesuai pada service tersebut. Mengatur korelasi antara request dan response. Callback mechanism
Yg terjadi bukanlah migrasi. Tetapi big rewriting. Jadi kita harus mengorbankan sebagian code. Business logic mungkin saja dipecah mnejadi service2. Business logic mungkin akan dipecah2 lagi.
blogger maut…