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

Pelatihan Designing & Building Enterprise Blazor Application

Pada tanggal 11-15 September 2021 telah dilangsungkan online training dengan judul Designing & Building Enterprise Blazor Application. Training ini diikuti oleh 11 orang peserta 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. 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:

What is Blazor?
• Introduction
• Developing Rich, Client-side UIs With Blazor
• Getting Started With Blazor
• Demo: Getting Started with Blazor
• What Is Blazor Server and Blazor WebAssembly
• Demo: The Difference between Blazor Server and Blazor WebAssembly

Building Your First Blazor Application
• Hello Blazor
• The Different Hosting Models of Blazor
• Understanding File New Project
• Demo: Exploring a New Blazor Project
• Creating Your First Blazor App
• Demo: Creating Your First App
• Demo: Adding Your Own Layout
• Demo: Debugging a Blazor App

Working with Data
• Accessing Real Data from a REST API
• Working with the HttpClient
• Accessing RESTful API with OAuth2/JWT
• Creating a Form
• Demo: Testing the Data Binding Features of Blazor
• Forms in Blazor
• Demo: Adding the Add Employee Form
• Demo: Adding More Components
• Demo: Saving the Data
• Adding Validation to the Form
• Demo: Adding Validation

Designing and Architecting Blazor Applications
• A Case for Blazor
• Understanding Blazor Hosting Models
• Blazor Design Patterns
• Demo: Setting up the Sample Application
• Understanding the Application Architecture
• Demo: Exploring the Sample Application
• Demo: Refactoring a Page Using Components
• Demo: Improving the Component’s Reusability

Working with Dependency Injection and Application State
• Dependency Injection Fundamentals
• Dependency Injection with Blazor
• Demo: Improving Components Using Dependency Injection
• Demo: Using Dependency Injection with Services
• Benefits of Dependency Injection
• Demo: Managing Dependency Implementations
• Demo: Leveraging Provided Services
• Understanding Service Lifetimes
• Working with Service Lifetimes

Enhancing the Application for the Enterprise
• Understanding the Blazor Routing System
• Understanding Blazor WebAssembly Routing
• Demo: Touring the Blazor Routing System
• Exploring Additional Routing Features
• Demo: Enhancing the Application’s Routing Features
• Understanding Component Reusability
• Demo: Distributing Our Components as NuGet Packages
• Demo: Enhancing Our UI Using NuGet
• Exploring Application State
• Demo: Managing Application State Using Browser Storage

Deploying Your Application
• Server Requirements
• Demo: Deploying the API
• Demo: Deploying the Blazor Application
• Deploy to VM Server with IIS

epson

Online Training: RESTful API and Microservices Architecture with ASP.NET Core (PT Bank BNI)

Pada tanggal 24 Juni – 30 Juli 2021 telah dilangsungkan pelatihan (5 hari) dan sesi metoring (1 minggu) untuk 15 orang developer internship dari PT Bank BNI.

Pada pelatihan ini peserta mempelajari bagaimana cara mendesain dan mengimplementasikan aplikasi backend RESTful API dan arsitektur Microservices dengan menggunakan ASP.NET Core Framework. Setelah proses training selesai dilaksanakan, maka dilanjutkan dengan proses mentoring selama 1 minggu. Pada proses mentoring peserta diberikan study case yang harus diselesaikan dalam waktu 1 minggu, selama proses pengerjaan, peserta dapat berdiskusi/konsultasi dengan trainer. Di akhir fase mentoring peserta wajib untuk mempresentasikan hasil akhirnya.

Adapun topik yang dibahas pada pelatihan ini adalah sebagai berikut:

  • Konsep RESTful API
  • Desain RESTful API
  • Microservices Architecture
  • ASP.NET Core Web API
  • Dependency Injection
  • Controller & Model
  • EF Core
  • Repository Pattern & CRUD
  • ASP.NET Core Identity
  • Authentication & Authorization
  • OAuth2 (JWT Token)
  • API Gateway with Ocelot
  • Deploy to Azure App Services
  • Docker Container
  • Azure Container Registry
  • AKS

bni training 1

Online Training: Cross Platform Mobile Apps Development with Xamarin (PT London Sumatra) Batch 2

Pada tanggal 7-10 Juni 2021, telah dilaksanakan online training dengan judul Cross Platform Mobile Apps Development with Xamarin. Peserta training adalah mobile developer dari Lonsum (PT. London Sumatra).

Pelatihan online ini dilaksanakan dengan menggunakan Microsoft Teams.

Tujuan dari online training ini adalah mengembangkan aplikasi mobile native multi platform (Android, IOS, dan Universal Windows Platform) dengan menggunakan teknologi Xamarin Forms.

Dengan menggunakan Xamarin, pengembang dapat menggunakan bahasa pemrograman C# dan .NET Framework untuk mengembangkan aplikasi mobile native yang bersifat cross platform. Pengembang dapat satu kode yang dapat digunakan untuk membuat aplikasi dengan platform Android, IOS, dan Windows 10.

Pengajar pada pelatihan ini adalah Bapak Erick Kurniawan yang merupakan salah satu Microsoft MVP (Most Valuable Professional) di bidang Development Technology.

Adapun topik yang dibahas pada pelatihan ini adalah sebagai berikut:

  • Introduction to Xamarin Forms
  • Pages Layout & Navigation
  • Basic Controls & Plugins
  • Styles & Theming
  • Binding Command
  • Display Data on ListView
  • Navigation (Tab, Master Page)
  • Passing data between Page
  • Local Data with SQLite
  • RESTful API
  • ASP.NET Web API (CRUD)
  • Consume REST API from Xamarin
  • Third Party Library (Chart, Table, etc)
  • MVVM Pattern
  • Push Notification (FCM)
  • Release & Publish Apps
  • Packaging and Deployment

imageimage

Pelatihan ASP.NET Core Security – Batch 2 (PT Pertamina Pesero)

Pada tanggal 3 – 5 Desember 2019 telah dilaksanakan pelatihan inhouse dengan Judul ASP.NET Core Security. Peserta dari pelatihan ini adalah tim pengembang aplikasi backend dari PT Pertamina Persero. Pelatihan ini dilaksanakan di Pertamina Simprug Residence, Jakarta Selatan.

Keamanan perangkat lunak merupakan pertimbangan penting ketika merancang dan mengembangkan aplikasi web. Meskipun pelanggaran keamanan dan ancaman dapat memiliki konsekuensi serius, ada beberapa langkah yang dapat dilakukan developer untuk menjaga keamanan aplikasi mereka.

Dalam pelatihan ini kita akan mempelajari teknik untuk mengamankan dan mengendalikan akses ke aplikasi ASP.NET Core. Juga akan dibahas cara menerapkan otentikasi dan otorisasi menggunakan kerangka kerja ASP.NET Core Identity dan otentikasi token dengan IdentityServer, dilanjutkan tentang pembahasan serangan yang paling umum, dan bagaimana melindungi sistem dari serangan tersebut (strategi untuk melindungi data sensitif dalam aplikasi termasuk enkripsi, perlindungan API, dan SSL).

Pengajar pada pelatihan ini adalah Bapak Erick Kurniawan yang merupakan salah satu Microsoft MVP (Most Valuable Professional) di bidang Development Technology (ASP.NET Core, Xamarin Cross Platform, & Blazor).

Daftar Materi

  • Introduction to Web Security
  • Injection
  • Broken Authentication and Session Management
  • Cross Site Scripting (XSS)
  • Insecure Direct Object Reference
  • Security Misconfiguration
  • Sensitive Data Exposure
  • Missing Function Level Access Control
  • Cross Site Request Forgery (CSRF)
  • Using Components with Known Vulnerabilities
  • Unvalidated Redirects and Forwards
  • ASP.NET Identity
  • Security Best Practice (ASP.NET Core)
  • Discovering Device Communication With APIs
  • Leaky APIs and Hidden APIs
  • API Manipulation and Parameter Tampering
  • API Authentication and Authorization Vulnerabilities
  • Protect Against cross-site scripting (XSS) attacks
  • Protect Againts cross-site request forgery (XSRF) attacks
  • Protect againts SQL Injection Attacks
  • Define cross-origin resource sharing (CORS) policies
  • Open redirect attacks and URL manipulation
  • Encyrption basics
  • Data protection API Orverview
  • Use configuration builder and environment
  • Safe storage of application secrets during development
  • Protect client and server communication using SSL

gambar4together

Pelatihan Building RESTful API with ASP.NET Core Web API 3.0 – Batch 2 (PT Pertamina Persero)

Pada tanggal 28,29 November dan 2 Desember 2019 telah dilaksanakan pelatihan inhouse dengan Judul Building RESTful API with ASP.NET Core Web API 3.0. Peserta dari pelatihan ini adalah tim pengembang aplikasi backend dari PT Pertamina Persero. Pelatihan ini dilaksanakan di Pertamina Simprug Residence, Jakarta Selatan.

Pengajar pada pelatihan ini adalah Bapak Erick Kurniawan yang merupakan salah satu Microsoft MVP (Most Valuable Professional) di bidang Development Technology (ASP.NET Core, Xamarin Cross Platform, & Blazor).

Pelatihan ini bertujuan untuk memberikan pengetahuan praktis tentang pengembangan web services (REST) dengan teknologi ASP.NET Core Web API. ASP.NET Core Web API adalah framework untuk pengembangan aplikasi backend (RESTful) web services yang modern dari Microsoft. ASP.NET Core 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).

  • 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
  • Strongly Type ASP.NET MVC View
  • ASP.NET Helpers & Tag Helper
  • Partial View
  • View Component
  • View Layout
  • Integrasi dengan Javascript
  • Micro ORM with Dapper
  • Entity Framework Core
  • EF Migrations
  • ASP.NET Security (ASP.NET Identity)
  • Authentication & Authorization
  • JWT (JSON Web Token)
  • JWT and ASP.NET Identity Integration
  • Deployment to Azure Cloud
  • Consuming RESTful API from ASP Core Client

gambar2together

Pelatihan Modern Web Application wtih ASP.NET Core 3.0 – Batch 2 (PT Pertamina Persero)

Pada tanggal 25-27 November 2019 telah dilaksanakan pelatihan inhouse dengan Judul Modern Web Application with ASP.NET Core 3.0. Peserta dari pelatihan ini adalah pengembang aplikasi web dari PT Pertamina Persero. Pelatihan ini dilaksanakan di Pertamina Simprug Residence, Jakarta Selatan.

Pengajar pada pelatihan ini adalah Bapak Erick Kurniawan yang merupakan salah satu Microsoft MVP (Most Valuable Professional) di bidang Development Technology (ASP.NET Core, Xamarin Cross Platform, & Blazor).

Pada pelatihan ini peserta akan mendapatkan materi tentang framework terbaru untuk pengembangan aplikasi web menggunakan teknologi Microsoft yaitu ASP.NET Core 3.0. ASP.NET Core 3.0 adalah framework yang di didesain ulang dari awal oleh Microsoft untuk 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.

Daftar Materi

  • 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
  • Strongly Type ASP.NET MVC View
  • ASP.NET Helpers & Tag Helper
  • Partial View
  • View Component
  • View Layout
  • Integrasi dengan Javascript
  • Micro ORM with Dapper
  • Entity Framework Core
  • EF Migrations
  • ASP.NET Security (ASP.NET Identity)
  • Authentication & Authorization
  • Deployment to Azure Cloud
  • Study Case

gambar1

Pelatihan ASP.NET Core Security (PT Pertamina Pesero)

Pada tanggal 13 – 15 November 2019 telah dilaksanakan pelatihan inhouse dengan Judul ASP.NET Core Security. Peserta dari pelatihan ini adalah tim pengembang aplikasi backend dari PT Pertamina Persero. Pelatihan ini dilaksanakan di Pertamina Simprug Residence, Jakarta Selatan.

Keamanan perangkat lunak merupakan pertimbangan penting ketika merancang dan mengembangkan aplikasi web. Meskipun pelanggaran keamanan dan ancaman dapat memiliki konsekuensi serius, ada beberapa langkah yang dapat dilakukan developer untuk menjaga keamanan aplikasi mereka.

Dalam pelatihan ini kita akan mempelajari teknik untuk mengamankan dan mengendalikan akses ke aplikasi ASP.NET Core. Juga akan dibahas cara menerapkan otentikasi dan otorisasi menggunakan kerangka kerja ASP.NET Core Identity dan otentikasi token dengan IdentityServer, dilanjutkan tentang pembahasan serangan yang paling umum, dan bagaimana melindungi sistem dari serangan tersebut (strategi untuk melindungi data sensitif dalam aplikasi termasuk enkripsi, perlindungan API, dan SSL).

Pengajar pada pelatihan ini adalah Bapak Erick Kurniawan yang merupakan salah satu Microsoft MVP (Most Valuable Professional) di bidang Development Technology (ASP.NET Core, Xamarin Cross Platform, & Blazor).

Daftar Materi

  • Introduction to Web Security
  • Injection
  • Broken Authentication and Session Management
  • Cross Site Scripting (XSS)
  • Insecure Direct Object Reference
  • Security Misconfiguration
  • Sensitive Data Exposure
  • Missing Function Level Access Control
  • Cross Site Request Forgery (CSRF)
  • Using Components with Known Vulnerabilities
  • Unvalidated Redirects and Forwards
  • ASP.NET Identity
  • Security Best Practice (ASP.NET Core)
  • Discovering Device Communication With APIs
  • Leaky APIs and Hidden APIs
  • API Manipulation and Parameter Tampering
  • API Authentication and Authorization Vulnerabilities
  • Protect Against cross-site scripting (XSS) attacks
  • Protect Againts cross-site request forgery (XSRF) attacks
  • Protect againts SQL Injection Attacks
  • Define cross-origin resource sharing (CORS) policies
  • Open redirect attacks and URL manipulation
  • Encyrption basics
  • Data protection API Orverview
  • Use configuration builder and environment
  • Safe storage of application secrets during development
  • Protect client and server communication using SSL

gambr1pertamina