Henter seneste Business Central nyheder…
Udvikling

Udvidelse af Business Central med Azure Functions: En praktisk guide

25. januar 2025 Jonas Petersen 12 min læsning

Lås op for kraftfulde nye muligheder i din cloud-baserede Business Central-implementering med Azure Functions. Denne tekniske guide viser, hvordan du arkitekterer, udvikler og implementerer serverløse funktioner, der udvider Business Centrals indbyggede funktioner, hvilket muliggør brugerdefinerede integrationer, baggrundsbehandling, komplekse beregninger og mere — alt sammen inden for Microsofts sikre cloud-økosystem.

Mens Business Central i skyen tilbyder omfattende funktionalitet ud af boksen, er der ofte scenarier, hvor du har brug for at udvide dens funktioner for at imødekomme specifikke forretningskrav. Azure Functions giver en kraftfuld, serverløs beregningsplatform, der integreres problemfrit med Business Central, hvilket giver dig mulighed for at bygge brugerdefinerede udvidelser uden kompleksiteten ved at administrere infrastruktur.

Forståelse af Azure Functions

Før vi dykker ned i implementeringsdetaljer, er det vigtigt at forstå, hvad Azure Functions er, og hvorfor det er en ideel ledsager til Business Central i skyen.

Hvad er Azure Functions?

Azure Functions er en serverløs beregningstjeneste, der giver dig mulighed for at køre kode on-demand uden at skulle eksplicit klargøre eller administrere infrastruktur. Med Azure Functions skriver du kun den kode, du har brug for til det aktuelle problem, uden at bekymre dig om en hel applikation eller infrastrukturen til at køre den.

Vigtige fordele ved Business Central-integration

Der er flere grunde til, at Azure Functions er særligt velegnet til at udvide Business Central:

  • Serverløs arkitektur eliminerer infrastrukturadministration
  • Betal-per-udførelse prismodel reducerer omkostninger
  • Automatisk skalering håndterer varierende arbejdsbelastninger effektivt
  • Indbygget integration med andre Azure-tjenester
  • Understøttelse af flere programmeringssprog (C#, JavaScript, Python osv.)
  • Delt sikkerheds- og compliance-ramme med Business Central
Vores kunder, der har implementeret Azure Functions med Business Central, har set udviklingstiden for brugerdefinerede udvidelser reduceret med op til 60% sammenlignet med traditionelle udvidelsesmetoder, samtidig med at de forbedrer skalerbarhed og reducerer driftsomkostninger.

Almindelige anvendelsestilfælde

Azure Functions kan udvide Business Central på talrige måder. Her er nogle af de mest almindelige scenarier:

Brugerdefinerede API-integrationer

Azure Functions udmærker sig ved at forbinde Business Central med eksterne systemer og tjenester. For eksempel kan du bruge Functions til at integrere med branchespecifikke tjenester, ældre systemer eller tredjeparts-API'er, der ikke har indbyggede Business Central-forbindelser.

Baggrundsbehandling

Nogle operationer i Business Central kan være ressourcekrævende eller tidskrævende. Azure Functions giver dig mulighed for at aflaste disse processer til at køre asynkront, hvilket forbedrer systemets ydeevne og brugeroplevelse. Eksempler omfatter batch-behandling, rapportgenerering eller datasynkroniseringsopgaver.

Komplekse beregninger og forretningslogik

Når du har brug for at implementere kompleks forretningslogik eller beregninger, der ville være vanskelige at udtrykke i AL-kode, kan Azure Functions give et mere fleksibelt udviklingsmiljø. Dette er særligt nyttigt til statistisk analyse, maskinlæringsoperationer eller branchespecifikke algoritmer.

Planlagte opgaver og overvågning

Azure Functions kan udløses efter en tidsplan, hvilket gør dem ideelle til tilbagevendende opgaver som dataoprydning, overvågning af systemets sundhed, generering af periodiske rapporter eller afsendelse af notifikationer baseret på forretningsbetingelser.

Opsætning af dit udviklingsmiljø

Før du kan begynde at bygge Azure Functions til Business Central, skal du opsætte dit udviklingsmiljø.

Forudsætninger

For at udvikle Azure Functions til Business Central skal du bruge:

  • Et Azure-abonnement
  • Visual Studio eller Visual Studio Code
  • Azure Functions Core Tools
  • Azure Functions-udvidelse til din IDE
  • Business Central-udviklingsmiljø (til test af integration)

Oprettelse af dit første Azure Function-projekt

Lad os gennemgå oprettelsen af et grundlæggende Azure Function-projekt, der kan integreres med Business Central:

  1. Åbn Visual Studio Code og installer Azure Functions-udvidelsen, hvis du ikke allerede har gjort det.
  2. Tryk på F1 for at åbne kommandopaletten, søg derefter efter og vælg 'Azure Functions: Create New Project'.
  3. Vælg en mappe til dit projekt.
  4. Vælg dit foretrukne sprog (C# bruges almindeligvis til Business Central-integration).
  5. Vælg en skabelon til din første funktion (HTTP-trigger er et godt udgangspunkt).
  6. Navngiv din funktion og vælg det passende autorisationsniveau.

Grundlæggende HTTP-trigger funktionseksempel

Her er en enkel C# HTTP-trigger funktion, der kunne fungere som udgangspunkt for Business Central-integration:

using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;

namespace Invice.BCFunctions
{
    public static class BusinessCentralIntegration
    {
        [FunctionName("ProcessBusinessCentralData")]
        public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data = JsonConvert.DeserializeObject(requestBody);

            // Process the data from Business Central
            // This is where you would implement your custom logic

            string responseMessage = $"Processed data successfully at {DateTime.Now}";

            return new OkObjectResult(responseMessage);
        }
    }
}

Integrationsmønstre med Business Central

Der er flere måder at integrere Azure Functions med Business Central. Lad os udforske de mest almindelige mønstre:

HTTP-udløste funktioner

Den mest ligetil integrationsmetode er at bruge HTTP-udløste funktioner. Business Central kan kalde disse funktioner direkte ved hjælp af HttpClient codeunit. Dette mønster er ideelt til synkrone operationer, hvor Business Central har brug for et øjeblikkeligt svar.

Eksempel på AL-kode til at kalde en Azure Function fra Business Central:

procedure CallAzureFunction(payload: JsonObject): JsonObject
var
    client: HttpClient;
    request: HttpRequestMessage;
    response: HttpResponseMessage;
    content: HttpContent;
    contentHeaders: HttpHeaders;
    result: JsonObject;
    payloadText: Text;
    resultText: Text;
begin
    // Convert payload to text
    payload.WriteTo(payloadText);

    // Prepare the request
    request.Method := 'POST';
    request.SetRequestUri('https://your-function-app.azurewebsites.net/api/ProcessBusinessCentralData?code=your-function-key');

    // Set up the content
    content.WriteFrom(payloadText);
    content.GetHeaders(contentHeaders);
    contentHeaders.Remove('Content-Type');
    contentHeaders.Add('Content-Type', 'application/json');
    request.Content := content;

    // Send the request
    client.Send(request, response);

    // Process the response
    response.Content.ReadAs(resultText);
    result.ReadFrom(resultText);

    exit(result);
end;

Vil du udvide Business Central med Azure Functions?

Vores udviklingsteam hjælper dig med at designe, bygge og drifte serverløse udvidelser, der løfter din Business Central-løsning. Kontakt os for en uforpligtende samtale.

Kontakt os

Relaterede artikler

Mere indsigt om Business Central og cloud-migration.

Klar til at transformere din Business Central?

Lad os tage en uforpligtende snak om, hvordan vi kan hjælpe din virksomhed med at frigøre cloudens fulde potentiale.