Seperti banyak perusahaan modern lainnya, tenaga kerja Work & Co didistribusikan ke seluruh dunia dan di berbagai proyek yang terus berkembang. Kemampuan untuk mengelola sumber daya manusia dan proyek secara efektif, sangat penting bagi produktivitas perusahaan.
Work & Co bermitra dengan StepZen (tautan berada di luar ibm.com), sebuah Perusahaan IBM®, untuk merancang, mengembangkan, dan meluncurkan lapisan data GraphQL pada back-end Mavenlink dan kemudian memperbaiki aplikasi direktori karyawan internal, yang digunakan oleh para karyawan dan manajer mereka setiap hari untuk berkomunikasi, berkolaborasi, serta memahami penugasan dan cakupan proyek.
Aplikasi direktori karyawan Work & Co didukung oleh data dari berbagai sistem SDM dan digunakan setiap hari oleh banyak karyawan untuk berkomunikasi dan berkolaborasi di berbagai proyek yang terdistribusi secara global dan terus berkembang. Ketika perusahaan mengambil keputusan untuk mengkonsolidasikan data dari beberapa layanan manajemen SDM dan tenaga kerja pihak ketiga ke dalam penyedia baru, Mavenlink, tim dihadapkan pada keputusan mengenai aplikasi internal.
Tim dapat mempensiunkannya, membangunnya kembali, atau memasangnya kembali ke sumber data yang baru. Pensiun adalah hal yang tidak mungkin terjadi: para karyawan membutuhkannya setiap hari untuk melakukan pekerjaan mereka. Pembangunan kembali tentu saja memungkinkan; perusahaan memiliki keterampilan. Namun, keterampilan tersebut terutama digunakan pada proyek-proyek yang dapat ditagih dengan pelanggan, dan menghabiskan sumber daya yang berharga itu untuk aktivitas internal sulit untuk dibenarkan.
Melakukan perbaikan adalah pilihan terbaik. Namun, hal ini menimbulkan pertanyaan penting: bagaimana Work & Co membangun kembali aplikasi esensialnya sehingga dapat terus menambahkan fungsionalitas dan sumber data atau bahkan mengganti sistemnya lagi di masa depan sambil meminimalkan jumlah pekerjaan yang perlu dilakukan perusahaan?
Sangatlah penting untuk memperbarui dan meningkatkan skala aplikasi ini seiring dengan tersedianya sumber data baru yang dapat meningkatkan pengalaman pengguna dan memberikan lebih banyak kemampuan. Perusahaan ini membutuhkan solusi yang memungkinkannya membangun aplikasi yang komprehensif namun fleksibel saat ini—dan solusi yang akan melengkapinya untuk skala dan contoh penggunaan baru di masa depan.
Mengonversi panggilan REST API aplikasi yang sudah ada menjadi panggilan API GraphQL adalah langkah pertama. Dengan beralih ke GraphQL, aplikasi klien hanya perlu mengetahui cara melakukan pemanggilan GraphQL dan hanya meminta data yang dibutuhkan; tidak perlu mengetahui dari mana data tersebut berasal. Standarisasi pada GraphQL untuk aplikasi ini akan memungkinkan perusahaan untuk menambahkan sumber data baru dan mengganti sumber data tanpa mempengaruhi aplikasi; kueri GraphQL akan tetap sama.
Namun, biasanya ini berarti bahwa menulis server GraphQL dan banyak kode resolver untuk memetakan API ke data. Semakin sedikit kode yang perlu ditulis dan dipelihara, semakin baik. Sebagai server GraphQL host yang bersifat deklaratif dan digerakkan oleh konfigurasi, StepZen memudahkan konfigurasi resolver, sehingga tidak perlu banyak kode.
Nemanja Niciforovic, Kepala MD dan Teknik di Work & Co, menjelaskan: "Dengan API GraphQL di Mavenlink, kami dapat membangun aplikasi internal dalam hitungan minggu yang memungkinkan kami memvisualisasikan dan merencanakan manajemen sumber daya dengan cepat, akurat, dan mudah. Kinerja aplikasi ini sangat penting karena aplikasi ini menyatukan banyak informasi. Sifat paralel otomatis StepZen sangat membantu. Sifat otomatis ini ini juga membantu kami untuk membuktikan dan meningkatkan skala di masa depan saat kami menambahkan layanan back-end dan membangun aplikasi baru pada API GraphQL tunggal."
Mavenlink memiliki REST API yang komprehensif untuk mengelola akses ke berbagai macam data manajemen SDM dan sumber daya. Dengan menggunakan GraphQL directive—@rest—Work & Co StepZen dapat menyempurnakan data yang tersedia untuk aplikasi direktori karyawan. Sebagai contoh sederhana, tim dengan mudah mengganti nama bidang di API Mavenlink agar sesuai dengan nama yang digunakan dalam aplikasi mereka, sehingga menghilangkan beban kognitif bagi pengembang front-end dan mengurangi jumlah perubahan kode yang diperlukan dalam aplikasi.
Selain itu, tim dapat menyederhanakan API Mavenlink melalui penggunaan direktif @materializer milik StepZen. Hal ini memungkinkan mereka untuk mendefinisikan tipe yang menyertakan data dari beberapa panggilan API. Misalnya, mereka menambahkan jenis "proyek" ke jenis "pengguna", yang memungkinkan pengembang aplikasi untuk mengambil proyek aktif pengguna pada saat yang sama dengan mengambil detail pengguna seperti foto profil dan alamat email.
Pemberian nomor halaman: API Mavenlink membatasi jumlah catatan yang dikembalikan oleh satu panggilan tunggal, dengan menerapkan penomoran halaman. Aplikasi Work & Co tidak dibuat untuk mendukung penanganan data dengan cara ini, dan pengerjaan ulang untuk memanfaatkan penomoran halaman bukanlah upaya yang ingin mereka lakukan. Dengan menggunakan direktif @sequence milik StepZen, tim dapat memparalelkan banyak panggilan REST API ke API Mavenlink dan mengambil semua halaman dari kumpulan hasil dengan satu permintaan kueri GraphQL.
Penyetelan kinerja: Manfaat tak terduga dari pendekatan ini adalah penyetelan kinerja. Mengambil ukuran halaman yang lebih kecil dengan REST API menghasilkan waktu respons yang lebih cepat. Jadi, 10 permintaan paralel untuk 200 catatan masing-masing membutuhkan waktu lebih lama daripada 20 permintaan paralel untuk 100 catatan. Dengan mendefinisikan kueri StepZen dengan tepat, pengembang aplikasi Work & Co dapat menyempurnakan kinerja kueri GraphQL mereka.
Keamanan dan caching: Di atas semua detail implementasi spesifik ini, Work & Co mendapat manfaat dari pendekatan keseluruhan StepZen untuk keamanan dan caching. Konfigurasi keamanan yang fleksibel memungkinkan mereka untuk mendefinisikan kueri yang menggunakan konteks keamanan di seluruh aplikasi serta kueri yang menggunakan konteks keamanan khusus pengguna. Kontrol yang sangat halus seperti itu sangat sulit untuk dikelola ketika menggunakan REST API secara langsung; biasanya salah satunya. Caching otomatis StepZen berarti bahwa pengguna aplikasi mereka melihat peningkatan kinerja tanpa upaya pengembangan.
Setelah mengonversi aplikasi internal mereka untuk menggunakan GraphQL yang berjalan di StepZen alih-alih panggilan REST API tertentu, tim Work & Co berada dalam posisi terbaik untuk memanfaatkan kemampuan baru dalam Mavenlink saat mereka mengadopsi lebih banyak platform. Mereka juga akan dapat membawa layanan baru ke dalam API GraphQL mereka dengan mudah, dengan dampak minimal pada aplikasi yang didukung oleh data yang dikirimkan melalui StepZen.
Work & Co (tautan berada di luar ibm.com) adalah agensi pemenang penghargaan yang merancang dan mengirimkan produk digital yang mengubah perusahaan. Perusahaan membantu pelanggannya menentukan strategi digital dan membawa ke pasar dan mengoperasionalkan produk digital dalam skala besar. Situs web, aplikasi, dan pengalaman digital Work & Co digunakan oleh jutaan orang setiap hari.
© Hak Cipta IBM Corporation 2023. IBM Corporation, New Orchard Road, Armonk, NY 10504
Diproduksi di Amerika Serikat, Juli 2023.
IBM dan logo IBM adalah merek dagang atau merek dagang terdaftar milik International Business Machines Corporation di Amerika Serikat dan/atau negara lain. Nama produk dan layanan lain mungkin merupakan merek dagang dari IBM atau perusahaan lain. Daftar merek dagang IBM saat ini tersedia di ibm.com/trademark.
Dokumen ini adalah yang terbaru pada tanggal awal publikasi dan dapat diubah oleh IBM kapan saja. Tidak semua penawaran tersedia di setiap negara tempat IBM beroperasi.
Semua contoh klien yang dikutip atau dijelaskan disajikan sebagai ilustrasi tentang cara beberapa klien menggunakan produk IBM dan hasil yang mungkin telah mereka capai. Biaya lingkungan dan karakteristik kinerja yang sebenarnya akan bervariasi, tergantung pada konfigurasi dan kondisi tiap-tiap klien. Hasil yang diharapkan secara umum tidak dapat diberikan karena hasil setiap klien akan bergantung sepenuhnya pada sistem dan layanan yang dipesan oleh klien. merupakan merek dagang atau merek dagang terdaftar milik International Business Machines Corporation di Amerika Serikat dan/atau negara lain. INFORMASI DALAM DOKUMEN INI DIBERIKAN "SEBAGAIMANA ADANYA" TANPA JAMINAN APA PUN, TERSURAT MAUPUN TERSIRAT, TERMASUK TANPA JAMINAN KELAYAKAN UNTUK DIPERDAGANGKAN, KESESUAIAN UNTUK TUJUAN TERTENTU, DAN JAMINAN ATAU KETENTUAN NON-PELANGGARAN. Produk IBM dijamin sesuai dengan syarat dan ketentuan perjanjian yang mengatur penyediaan produk tersebut.