Training .NET Microservices bersama PT KALBE Nutritionals

Pada tanggal 14 – 17 Maret 2023 telah diadakan pelatihan dengan topik .NET Microservices. Peserta dari pelatihan ini adalah tim pengembang dari PT Sanghiang Perkasa (KALBE Nutritionals). Pelatihan ini dilaksanakan secara online via Microsoft Teams.

Microservices adalah architecture yang saat ini populer digunakan sebagai model dalam pembuatan aplikasi cloud yang modern. Di dalam microservices setiap aplikasi di bangun sebagai sekumpulan service dan setiap layanan berjalan dalam prosesnya sendiri. Masing-masing dari aplikasi tersebut, harus autonom dan mampu untuk saling berkomunikasi satu dengan yang lain melalui kontrak yang disepakati bersama (RESTful API, gRPC). Manfaat utama dalam mempergunakan microservices adalah agar team developer mampu mengembangkan aplikasi secara cepat dan terukur dengan membuat komponen-komponen dari aplikasi berjalan secara independen sehingga dapat memenuhi kebutuhan bisnis yang terus menerus berubah.

Pelatihan ini akan memberikan pemahaman tentang bagaimana membangun layanan microservices menggunakan .NET Core 6/7. Adapun materi yang dibahas pada pelatihan ini meliputi:

  • Introduction to Microservices Architecture
  • Limitation to monoliths
  • Challenges of Microservices
  • Architecting Microservices
  • First API with ASP.NET Core 6
  • Entity Framework Core
  • Entity Framework Migrations
  • DTO with AutoMapper
  • Data Layer & API Controllers
  • What is Container & Docker?
  • Dockerize your apps
  • Publish app to Docker Hub
  • Running your services on docker
  • Kubernetes Architecture
  • Kubernetes topics (deployment, NodePort, ClusterIP)
  • Communicating between Microservices
  • Synchronous Communication (HttpClient)
  • Resilient Communication Pattern
  • Implement retries with back-off
  • Circuit breaker
  • API Gateway / nGinx Ingress Controller
  • SQL Server Deployment (Database per Services).
  • Persistance Volume Claim, & Kubernetes Secret
  • Asynchronous Communication
  • What is Message Broker?
  • RabbitMQ Exchange, Queue, Routing Key, & Binding
  • Reactive Microservices with RabbitMQ and ASP Core
  • Reactive Microservices using MassTransit
  • Distributed Transaction & Saga Pattern
  • Delivering Microservices

Training RESTful API with ASP.NET Core 6 bersama CAR Life

Pada tanggal 6-9 Maret 2023 telah diadakan pelatihan dengan topik RESTful API with ASP.NET Core 6. Peserta dari pelatihan ini adalah tim pengembang dari PT AJ Central Asia Raya (CAR Life). Pelatihan ini dilaksaksanakan secara inhouse di Wisma Car Life, Jakarta Barat.

Pelatihan ini bertujuan untuk memberikan konsep dan pengetahuan praktis tentang perancangan dan pengembangan RESTful services dengan teknologi ASP.NET Core 6. ASP.NET Core 6 sendiri adalah framework yang mendukung pengembangan aplikasi backend (RESTful) web services yang modern dari Microsoft. ASP.NET Core 6 didesain untuk kebutuhan aplikasi backend yang membutuhkan performa tinggi dan bisa digunakan diberbagai platform (Linux, Windows, Container, etc). ASP.NET Core Web API juga sangat cocok untuk berjalan pada environment cloud. ASP.NET Core Web API juga memudahkan pengembang untuk membuat aplikasi backend yang dapat digunakan untuk berbagai macam aplikasi client seperti aplikasi web (ASP MVC, React, Blazor)  dan aplikasi mobile (Android, Ios, Xamarin Cross Platform).

Adapun materi yang disampaikan pada pelatihan ini adalah sebagai berikut:

  • Introduction to .NET 6 & ASP.NET Core 6
  • MVC Pattern
  • Designing RESTful API
  • Creating the API and Returning Resources
  • Manipulating Resources and Validating Input
  • Working with Services and Dependency Injection
  • HTTP Status Code
  • Outer Facing vs Entity Model
  • DTO & Automapper
  • Filtering & Searching
  • Micro ORM with Dapper
  • Entity Framework Core
  • EF Migrations
  • Validating Data & Reporting Error
  • ASP.NET Security (ASP.NET Identity)
  • Authentication & Authorization
  • JWT (JSON Web Token)
  • JWT and ASP.NET Identity Integration
  • Claim based auth
  • Deployment to Cloud Services
  • Deploy API on container
  • Consuming RESTful API

Training Modern Front-End Web Application with Blazor bersama PT EPSON Batam

Pada tanggal 21-23 Februari 2023 telah dilangsungkan online training dengan judul Modern Front-End Web Application with Blazor. Training ini diikuti oleh 5 orang peserta yang merupakan software developer dari PT EPSON Batam.

Blazor adalah framework yang dapat digunakan untuk membangun aplikasi SPA (Single Page Application). Dengan Blazor anda dapat membangun front-end Web UI yang interaktif dengan menggunakan C# tanpa harus menggunakan JavaScript. Blazor dapat menjalankan kode C# pada sisi client browser (sama seperti javascript) menggunakan WebAssembly. Aplikasi Blazor terdiri atas reusable web UI components yang diimplementasikan dengan menggabungkan C#, HTML, and CSS. Kode untuk client dan server dapat ditulis menggunakan C# sehingga memudahkan pengembang untuk berbagi kode dan libraries.

Pelatihan ini akan mengeksplorasi topik arsitektur yang penting pada Blazor seperti dependency injection dan routing secara mendalam. Pertama, Anda akan melihat cara menggunakan dan berbagi komponen yang reusable untuk meningkatkan produktivitas Anda. Selanjutnya, Anda akan mendalami komunikasi HTTP di Blazor, membantu aplikasi web Anda berinteraksi dengan berbagai API, bekerja dengan Blazor Component, dan penggunaan third-party template. Terakhir, Anda akan menjelajahi konsep form yang lebih canggih dan best practice untuk menggunakannya. Setelah selesai mengikuti pelatihan diharapkan peserta akan lebih siap untuk menerapkan lebih banyak konsep, pola desain, dan fitur dunia nyata.

Adapun detail materi pada pelatihan ini adalah sebagai berikut:

  • Understanding Blazor
  • Creating First Blazor App
  • Working with Blazor Component
  • Working with Dependency Injection and Application State
  • Using Data from API (REST Http Communication)
  • Form and Data Validation
  • Integrating JavaScript Component
  • Adding Authentication and Authorization
  • Testing Component using bUnit
  • MudBlazor Template
  • Study Case

Pelatihan Microservices Architecture with .NET Core

Pada tanggal 5 – 8 September 2022 telah diadakan pelatihan dengan judul Microservices Architecture with .NET Core. Peserta dari pelatihan ini adalah tim IT dari PT Pertamina Hulu RokanPekanbaru, Riau.

Microservices adalah suatu architecture yang dipakai sebagai model dalam pembuatan aplikasi cloud yang modern. Di dalam microservices setiap aplikasi di bangun sebagai sekumpulan service dan setiap layanan berjalan dalam processnya sendiri. Masing-masing dari aplikasi tersebut saling berkomunikasi melalu API (Application Programing Interface). Manfaat utama dalam mempergunakan microservices adalah agar team developer mampu mengembangkan aplikasi secara cepat dengan membuat komponen-komponen dari aplikasi berjalan secara independen sehingga dapat memenuhi kebutuhan bisnis yang terus menerus berubah.

Apa yang membedakan Architecture Microservices dengan pendekatan yang lebih tradisional seperti Monolithic Architecture adalah bagaimana framework ini memecah aplikasi menjadi fungsi intinya. Setiap fungsi ini disebut sebagai service, dapat dibangun dan dijalankan secara independen, yang berarti service tersebut dapat berfungsi (dan gagal) tanpa berdampak negatif pada fungsi-fungsi yang lain.

Pelatihan ini akan memberikan pemahaman tentang bagaimana membangun layanan microservices menggunakan .NET Core 6. Adapun materi yang dibahas pada pelatihan ini meliputi:

  • RESTful Web API dengan ASP.NET Core 6
  • Entity Framework Core
  • DTO with AutoMapper
  • Data Layer & API Controllers
  • Docker & ASP.NET Core 6 Image
  • Publishing to Docker Hub
  • Container Network & Linking
  • Kubernetes Architecture
  • Kubernetes (yaml, NodePort, ClusterIP)
  • Synchronous Communication between services
  • API Gateway with nGinx Ingress Controller
  • SQL Server, Persistance Volume Claim, & Kubernetes Secret
  • Asynchronous Communication with Message Bus (RabbitMQ)
  • Study Case

Training Web Development with ASP.NET Core 6

Pada tanggal 9-13 Mei 2022, telah diadakan pelatihan dengan topik Web Development with ASP.NET Core 6. Peserta dari pelatihan ini adalah developer dari Information System Dept, Universitas Atmajaya Yogyakarta.

Pada pelatihan ini peserta mendapatkan materi tentang framework terbaru untuk pengembangan aplikasi web menggunakan teknologi Microsoft yaitu ASP.NET Core 6. ASP.NET Core 6 adalah framework yang di modern yang dapat berjalan pada banyak platform yang berbeda (Multiplatform). ASP.NET Core juga didesain agar optimal untuk dijalankan pada platform Cloud dan juga bersifat open source. Adapun daftar materi yang disampaikan pada pelatihan ini adalah sebagai berikut:

  • Introduction to .NET Core & ASP.NET Core
  • Web Server (Kestrel, IIS)
  • IDE Visual Studio Community 2019 / Visual Studio Code
  • .NET Core SDK & Runtime
  • ASP.NET Core Architecture
  • ASP.NET Routing
  • ASP.NET Controller
  • ASP.NET Model
  • ASP.NET View
  • Dependency Injection Concept
  • ASP.NET Core Middleware
  • Strongly Type ASP.NET MVC View
  • ASP.NET Core Helpers & Tag Helper
  • Partial View
  • View Component
  • View Layout
  • Micro ORM with Dapper
  • Entity Framework Core
  • EF Migrations
  • ASP.NET Security (ASP.NET Identity)
  • Authentication & Authorization
  • Deployment to Azure Cloud
  • Study Case