Sebelumnya saya akan menjelaskan apa itu REST Adapter? Jadi REST Adapter ini
adalah salah satu component baru Oracle SOA versi 12c yang belum ada pada versi
sebelum-sebelumnya, yang berfungsi untuk
melakukan conversi Input REST/JSON kedalam bentuk SOAP/XML serta
melakukan conversi Output SOAP/XML kedalam bentuk REST/JSON. Proses
Calling/Exposing dapat dilakukan based on WSDL atau WADL.
Baiklah, berikut adalah tutorial penggunaan REST Adapter :
1. FYI : Dalam tutorial ini, saya akan membuat
sebuah service yang menggunakan REST Adapter pada Service Bus Application
(OSB).
2. Pastikan anda sudah membuka JDeveloper anda dan
pastikan versi JDeveloper anda 12c atau yang versi lain yang sudah support REST
Adapter.
3. Pastikan anda sudah mempunyai sebuah SOAP
Service yang akan kita jadikan Business Service nantinya.
4. Pastikan anda sudah memiliki file
RESTtoSOAP.xslt (mapping value from PS to BS dan menambahkan target namespace)
dan file SOAPtoREST.xslt (mapping value from BS to PS). Untuk value namespace
pada file RESTtoSOAP.xslt di isi sesuai dengan namespace Business Service yang
akan di-hit. Jika belum anda belum memilikinya, berikut saya bagikan code-nya silahkan copy-paste ke file .xslt
anda:
5. Create New Application
Klik File -> New -> Application ->
Pilih Service Bus Application -> Beri nama pada New Service Bus Application
anda -> Klik Finish.
6. Create New Project
Klik Kanan pada New Application yang telah
berhasil anda buat -> Pilih New -> Pilih Project -> pilih Service Bus
Project (Anda bisa juga mencari pada kolom search yang Sudah tersedia) ->
Berikan Penamaan yang menarik dan Sesuai pada New Project anda -> Klik OK.
Dibawah ini adalah Project yang sudah
berhasil dibuat dan masih kosong :
7. Add REST Adapter Component
Klik Kanan pada Proxy Services Canvas ->
pilih REST ( cara lain : Cari REST pada tab Components -> Lagu drag and drop
ke Proxy Services Canvas) -> isi kolom Name -> Next -> Pada operation
bindings Klik lambang Tambah.
8. Setting REST Operation Binding
Pilih HTTP Verb (Dalam Hal ini pilih POST,
karena inputan di peroleh dari body) -> pilih tab request -> centang
payload JSON -> Klik Define Schema for Native Format.
9. Create Input Native Schema
Pilih Next -> beri nama input schema dan
pilih Folder kemana schema akan disimpan -> Klik Next -> pada file Type
page pilih JSON Interchange Format ->
klik Next.
10.
Copy paste format Input REST/JSON yang sudah
kita sediakan sebelumnya ke dalam kolom sample.
Sekilias info :
- Target namespace dapat diisi sesuai dengan
namespace Business Service yang akan kita hit nantinya atau bisa di isi bebas
saja karena saya juga sudah menyediakan untuk anda satu file .xslt untuk
mapping value sekaligus ubah namespace.
11.
Klik Next
-> Next lagi -> Finish.
12. Kita akan melakukan hal yang sama untuk Response
dari REST Adapter.
Pada Page Operation Binding sekarang klik tab Response -> centang payload
JSON -> Klik Define Schema for Native Format -> Klik Next -> beri nama
Response schema dan pilih Folder kemana
schema akan disimpan -> Klik Next -> pada file Type page pilih JSON
Interchange Format -> klik Next.
13. Copy paste format Output REST/JSON yang sudah
kita sediakan sebelumnya ke dalam kolom sample.
14.
Klik Next -> Next lagi -> Finish.
15.
Ok -> Finish.
Berikut adalah tampilan setelah semua
proses diatas selesai.
16. Create Pipeline and set service type based on
WSDL.
Klik Kanan pada Pipelines/Split Joins
Canvas -> pilih Insert -> pilih Pipeline -> beri penamaan pada
pipeline -> klik Next -> pada Service Type pilih WSDL -> Klik Browse
WSDL -> pilih WSDL yang secara otomatis tercreate ketika kita menyelesaikan
task pada REST Adapter diatas -> klik OK -> Uncentang Expose as a proxy
Service -> Finish.
17.
Set Pipeline as a Target service in PS
Klik kanan pada REST Adapter PS -> pilih
Edit -> Klik Browse Target Service -> pilih Pipeline yang baru saja kita
buat -> OK -> Save.
18.
Modifikasi Pipeline.
Beberapa hal yang akan kita tambahi pada
pipeline adalah :
- Klik kanan pipeline -> pilih edit.
- Drag and drop component pipeline pair node
kebawah pipeline
- Pada Request Pipeline drag and drop satu stage
- Pada stage drag and drop component Transport
Header -> Set Direction : Inbound Response -> klik symbol tambah untuk
menambahkan header -> set Name : Content-> Type -> set value :
“application/json”.
- Masih di stage yang sama drag and drop component
Replace -> set location = body -> value = XSLT Resources -> pilih
file XSLT untuk mapping nilai dan set namespace (RESTtoSOAP.xslt) -> set
input expression = $body -> ok dan set Replace Option = Replace Node
contents.
- Pada response Pipeline drag and drop satu stage.
- Pada stage yang baru dibuat drag and drop component
Replace -> set location = body --> value = XSLT Resources -> pilih
file XSLT untuk mapping nilai dan remove namespace (SOAPtoREST.xslt) -> set
input expression = $body -> ok dan set Replace Option = Replace Node contents.
- Dibawah Component Pipeline pair node tambahkan
component Route.
- Drag and drop Component Routing ke dalam
Component Route -> pada option service search Business Service yang telah
kita import sebelumnya -> pilih Operationnya.
- Save.
Dengan mengikuti semua langkah-langkah diatas, maka Project
yang telah kita buat dapat kita deploy dan dapat di test. Berikut adalah gambar
hasil akhir project yang berhasil kita buat :
Dibawah ini adalah hasil run menggunakan Postman :
Baiklah sampai disini dulu yang bisa saya shared untuk kita semua.
Semoga membantu dan terimakasih.
No comments:
Post a Comment