MuleSoft - Komponen Inti & Konfigurasi

Salah satu kemampuan terpenting Mule adalah dapat melakukan routing, transformasi, dan pemrosesan dengan komponen, karena itu file konfigurasi aplikasi Mule yang menggabungkan berbagai elemen berukuran sangat besar.

Berikut adalah jenis pola konfigurasi yang disediakan oleh Mule -

  • Pola layanan sederhana
  • Bridge
  • Validator
  • Proksi HTTP
  • Proksi WS

Konfigurasi komponen

Di Anypoint studio, kita dapat mengikuti langkah-langkah di bawah ini untuk mengkonfigurasi komponen -

Step 1

Kita perlu menyeret komponen yang ingin kita gunakan dalam aplikasi Mule kita. Misalnya, di sini kami menggunakan komponen pendengar HTTP sebagai berikut -

Step 2

Selanjutnya, klik dua kali pada komponen tersebut untuk mendapatkan jendela konfigurasi. Untuk pendengar HTTP, ini ditunjukkan di bawah -

Step 3

Kami dapat mengkonfigurasi komponen sesuai kebutuhan proyek kami. Katakanlah misalnya, kami melakukannya untuk komponen pendengar HTTP -

Komponen inti adalah salah satu blok bangunan penting dari alur kerja di aplikasi Mule. Logika untuk memproses acara Mule disediakan oleh komponen inti ini. Di studio Anypoint, untuk mengakses komponen inti ini, Anda dapat mengklik Inti dari Palet Mule seperti yang ditunjukkan di bawah ini -

Berikut bermacam-macamnya core components and their working in Mule 4 -

Acara Bisnis Kustom

Komponen inti ini digunakan untuk pengumpulan informasi tentang aliran serta pemroses pesan yang menangani transaksi bisnis di aplikasi Mule. Dengan kata lain, kita dapat menggunakan komponen Event Bisnis Kustom untuk menambahkan berikut ini dalam alur kerja kita -

  • Metadata
  • Indikator Kinerja Utama (KPI)

Bagaimana cara menambahkan KPI?

Berikut adalah langkah-langkah untuk menambahkan KPI dalam aliran kami di aplikasi Mule -

Step 1 - Ikuti Mule Palette → Core → Components → Custom Business Event, untuk menambahkan komponen Acara Bisnis Khusus ke alur kerja di aplikasi Mule Anda.

Step 2 - Klik pada komponen untuk membukanya.

Step 3 - Sekarang, kita perlu memberikan nilai untuk Nama Tampilan dan Nama Peristiwa.

Step 4 - Untuk menangkap informasi dari payload pesan, tambahkan KPI sebagai berikut -

  • Beri nama (kunci) untuk KPI ( pelacakan: elemen meta-data ) dan nilai. Nama tersebut akan digunakan dalam antarmuka pencarian Runtime Manager.

  • Berikan nilai yang mungkin berupa ekspresi Mule.

Contoh

Tabel berikut terdiri dari daftar KPI dengan Nama dan Nilai -

Nama Ekspresi / Nilai
Mahasiswa Roll # [payload ['RollNo']]
Nama siswa # [payload ['Nama']]

Evaluasi Dinamis

Komponen inti ini digunakan untuk memilih skrip di aplikasi Mule secara dinamis. Kita juga dapat menggunakan skrip hardcore melalui Transform Message Component tetapi menggunakan komponen Dynamic Evaluate adalah cara yang lebih baik. Komponen inti ini bekerja sebagai berikut -

  • Pertama, ini mengevaluasi ekspresi yang akan menghasilkan skrip lain.
  • Kemudian itu mengevaluasi skrip itu untuk hasil akhir.

Dengan cara ini, ini memungkinkan kita untuk memilih skrip secara dinamis daripada melakukan hardcode.

Contoh

Berikut adalah contoh memilih skrip dari database melalui parameter kueri Id dan menyimpan skrip itu dalam variabel bernama MyScript . Sekarang, komponen evaluasi-dinamis akan mengakses variabel untuk memanggil skrip sehingga dapat menambahkan variabel nama dariUName parameter kueri.

Konfigurasi XML aliran diberikan di bawah ini -

<flow name = "DynamicE-example-flow">
   <http:listener config-ref = "HTTP_Listener_Configuration" path = "/"/>
   <db:select config-ref = "dbConfig" target = "myScript">
      <db:sql>#["SELECT script FROM SCRIPTS WHERE ID = 
         $(attributes.queryParams.Id)"]
      </db:sql>
   </db:select>
   <ee:dynamic-evaluate expression = "#[vars.myScript]">
      <ee:parameters>#[{name: attributes.queryParams.UName}]</ee:parameters>
   </ee:dynamic-evaluate>
</flow>

Skrip dapat menggunakan variabel konteks seperti message, payload, vars atau atribut. Namun, jika Anda ingin menambahkan variabel konteks khusus, Anda perlu menyediakan sekumpulan key-value pair.

Mengonfigurasi Evaluasi Dinamis

Tabel berikut menyediakan cara untuk mengkonfigurasi komponen Evaluasi Dinamis -

Bidang Nilai Deskripsi Contoh
Ekspresi Ekspresi DataWeave Ini menentukan ekspresi yang akan dievaluasi ke dalam skrip akhir. ekspresi = "# [vars.generateOrderScript]"
Parameter Ekspresi DataWeave Ini menentukan pasangan nilai kunci. # [{joiner: 'and', id: payload.user.id}]

Komponen Referensi Aliran

Jika Anda ingin merutekan peristiwa Mule ke aliran atau sub-aliran lain dan kembali dalam aplikasi Mule yang sama, maka komponen referensi aliran adalah opsi yang tepat.

Karakteristik

Berikut adalah karakteristik dari komponen inti ini -

  • Komponen inti ini memungkinkan kita untuk memperlakukan seluruh aliran yang direferensikan seperti satu komponen dalam aliran arus.

  • Ini memecah aplikasi Mule menjadi unit diskrit dan dapat digunakan kembali. Misalnya, aliran mencantumkan file secara teratur. Ini mungkin merujuk pada aliran lain yang memproses keluaran operasi daftar.

  • Dengan cara ini, daripada menambahkan seluruh langkah pemrosesan, kita dapat menambahkan Referensi Alur yang menunjuk ke aliran pemrosesan. Tangkapan layar di bawah ini menunjukkan bahwa Komponen Inti Referensi Aliran mengarah ke sub-aliran bernamaProcessFiles.

Kerja

Cara kerja komponen Flow Ref dapat dipahami dengan bantuan diagram berikut -

Diagram menunjukkan urutan pemrosesan dalam aplikasi Mule ketika satu aliran mereferensikan aliran lain dalam aplikasi yang sama. Saat alur kerja utama dalam aplikasi Mule dipicu, peristiwa Mule berjalan terus dan menjalankan alur hingga peristiwa Mule mencapai Referensi Alur.

Setelah mencapai Referensi Aliran, peristiwa Mule menjalankan aliran yang direferensikan dari awal hingga akhir. Setelah event Mule selesai menjalankan Ref Flow, dia kembali ke aliran utama.

Contoh

Untuk pemahaman yang lebih baik, let us use this component in Anypoint Studio. Dalam contoh ini, kami mengambil pendengar HTTP untuk MENDAPATKAN pesan, seperti yang kami lakukan di bab sebelumnya. Jadi, kita dapat menarik dan melepas komponen dan mengkonfigurasi. Tapi untuk contoh ini, kita perlu menambahkan komponen Sub-flow dan mengatur komponen Payload di bawahnya, seperti yang ditunjukkan di bawah ini -

Selanjutnya, kita perlu mengkonfigurasi Set Payload, dengan mengklik dua kali di atasnya. Di sini kami memberikan nilai, "Sub aliran dieksekusi" seperti yang ditunjukkan di bawah ini -

Setelah berhasil mengkonfigurasi komponen sub-aliran, kita memerlukan Komponen Referensi Aliran untuk diatur setelah Setel Muatan arus utama, yang dapat kita seret dan lepas dari Palet Mule seperti yang ditunjukkan di bawah ini -

Selanjutnya, saat mengkonfigurasi Komponen Referensi Aliran, kita perlu memilih Nama Aliran di bawah tab Generik seperti yang ditunjukkan di bawah ini -

Sekarang, simpan dan jalankan aplikasi ini. Untuk mengujinya, buka POSTMAN dan ketikhttp:/localhost:8181/FirstAPP di bilah URL, dan Anda akan mendapatkan pesan, aliran Sub dijalankan.

Komponen Logger

Komponen inti yang disebut logger membantu kita memantau dan men-debug aplikasi Mule dengan mencatat informasi penting seperti pesan kesalahan, pemberitahuan status, muatan, dll. Di studio AnyPoint, mereka muncul di Console.

Keuntungan

Berikut adalah beberapa keuntungan dari Komponen Logger -

  • Kita dapat menambahkan komponen inti ini di manapun dalam alur kerja.
  • Kita dapat mengkonfigurasinya untuk mencatat string yang ditentukan oleh kita.
  • Kita dapat mengkonfigurasinya ke keluaran ekspresi DataWeave yang ditulis oleh kita.
  • Kami juga dapat mengkonfigurasinya ke kombinasi string dan ekspresi apa pun.

Contoh

Contoh di bawah ini menampilkan pesan "Hello World" di Set Payload di browser dan juga mencatat pesan tersebut.

Berikut adalah konfigurasi XML aliran pada contoh di atas -

<http:listener-config name = "HTTP_Listener_Configuration" host = "localhost" port = "8081"/>
<flow name = "mymuleprojectFlow">
   <http:listener config-ref="HTTP_Listener_Configuration" path="/"/>
   <set-payload value="Hello World"/>
   <logger message = "#[payload]" level = "INFO"/>
</flow>

Mentransfer Komponen Pesan

Transform Message Component, juga disebut komponen Transfer memungkinkan kita untuk mengubah data masukan menjadi format keluaran baru.

Metode untuk membangun Transformasi

Kita dapat membangun transformasi kita dengan bantuan dua metode berikut -

Drag-and-Drop Editor (Graphical View)- Ini adalah metode pertama dan paling banyak digunakan untuk membangun transformasi kami. Dalam metode ini, kita dapat menggunakan mapper visual komponen ini untuk menarik dan melepas elemen struktur data yang masuk. Misalnya, pada diagram berikut, dua tampilan hierarki menunjukkan struktur metadata yang diharapkan dari input dan output. Garis yang menghubungkan input ke bidang output merepresentasikan pemetaan antara dua tampilan pohon.

Script View- Pemetaan visual Transformasi juga dapat direpresentasikan dengan bantuan DataWeave, bahasa untuk kode Mule. Kita dapat melakukan pengkodean untuk beberapa transformasi lanjutan seperti agregasi, normalisasi, pengelompokan, penggabungan, partisi, pivoting, dan pemfilteran. Contoh diberikan di bawah ini -

Komponen inti ini pada dasarnya menerima metadata masukan dan keluaran untuk variabel, atribut, atau muatan pesan. Kami dapat menyediakan sumber daya khusus format untuk berikut -

  • CSV
  • Schema
  • Skema file datar
  • JSON
  • Kelas objek
  • Tipe Sederhana
  • Skema XML
  • Nama dan jenis Kolom Excel
  • Nama dan jenis Kolom Lebar Tetap