Introduction to Services with .NET (50)

Overview

This 3-day instructor lead course is designed for those that are involved in the design, development, and testing of enterprise grade services created with .NET, particularly those new to the .NET platform, and services within a service-oriented architecture (SOA) or microservice architecture.

This is a "big picture" course, with plenty of hands on.

Target Audience

Unlike the rest of Hypertheory's services training, participants don't need to be fluent with C# to be able to successfully complete this course. A full introduction to .NET, C#, will be presented as part of this course, but the emphasis will be on the objectives listed below.

This is a great course for:

  • Developers that have not worked in building distributed applications
  • Software testers and quality assurance analysts wishing to expand their understanding of the role of services in an enterprise architecture
  • Established developers or architects that want to "refresh" their understanding of the specific technologies and patterns used in building modern, scalable, reliable services.

Format

This is a three-day instructor lead training class. There will be a combination of lecture, demonstration, code-along exercises, and some individual or small group practice exercises meant to reinforce the topics presented in the class.

Each day will conclude with a guided class discussion where participants and the instructor will look at specific implementations and challenges in service oriented architecture.

Some topics (for example, containers) will be covered at an introductory level, but additional asynchronous training materials and resources will be provided for developers who wish to go further.

Prerequisites

Participants should have some role in building services for a team in an enterprise environment. Some familiarity with source code control (Git) would be helpful.

Objectives

  • Service Oriented Architecture in Modern Development
  • Types of Services and Service Relationship
  • Running Services:
    • Environments: Local Development, Shared Development, Testing, Staging, and Production
    • Introduction to Containerized Services ("Docker"), and orchestration using Kubernetes (OpenShift)
    • Cloud-Based Platforms for running services, including "serverless"
  • Understanding Pipelines As a Developer Tool
    • Continuous Integration (CI) Pipelines
    • Continuous Delivery (or Deployment) Pipelines
  • Documenting APIs using the OpenAPI 3.0 Specification
  • Testing Requirements and Challenges in Distributed Applications
    • Developer Testing: Unit and Unit Integration Tests
    • Developer Testing: System Tests
    • System Integration Testing
  • .NET As Service Development Platform
    • Introduction to ASP.NET MVC - the HTTP Services Platform
    • What is .NET and ".NET Core"
    • Brief introduction to the C# programming language and it's role in building services
  • HTTP Based Services
    • Understanding "Resource Oriented Architecture" and HTTP
    • Resources, Methods, and Representations
    • Representational State Transfer (REST) Architecture
    • Understanding representation media types, especially the JSON media type
  • Introduction to Security for Service Oriented Architecture
    • Identity with OpenId Connect (OIDC) and OAuth
    • Protected Environments - Access to Shared Resources (Databases, Messaging Transports, etc.)
  • Introduction to Observability with Open Telemetry
    • Logging
    • Metrics
    • Traces

Expected Outcome of this Training

This training is meant to help developers and others involved in the process of building services for their company to "get on the same page" and understand the tools, processes, and philosophy of service oriented architecture.

This is a great starting point for developers that want to continue their training on building services with .NET in later Hypertheory training courses.

It is strongly suggested that newer developers that aren't familiar with the architecture and constraints around service development start their training with this course.