<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rhein-Ruhr-Informatik</title>
	<atom:link href="https://rhein-ruhr-informatik.de/feed/" rel="self" type="application/rss+xml" />
	<link>https://rhein-ruhr-informatik.de/</link>
	<description></description>
	<lastBuildDate>Tue, 29 Sep 2026 09:37:58 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://rhein-ruhr-informatik.de/wp-content/uploads/2025/03/cropped-favicon-32x32.png</url>
	<title>Rhein-Ruhr-Informatik</title>
	<link>https://rhein-ruhr-informatik.de/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Strukturierte Multi-Persona-Content-Generierung mit Azure OpenAI und SSE-Streaming</title>
		<link>https://rhein-ruhr-informatik.de/2026/09/29/strukturierte-multi-persona-content-generierung-mit-azure-openai-und-sse-streaming/</link>
		
		<dc:creator><![CDATA[Rhein-Ruhr-Informatik]]></dc:creator>
		<pubDate>Tue, 29 Sep 2026 09:37:55 +0000</pubDate>
				<category><![CDATA[Artikel]]></category>
		<guid isPermaLink="false">https://rhein-ruhr-informatik.de/?p=907</guid>

					<description><![CDATA[<p>In diesem Tutorial erstellen wir ein Content-Generation-Studio, das ein einzelnes Marketing-Briefing mithilfe verschiedener KI-Personas in drei strukturierte Content-Variationen umwandelt. Das Frontend wird mit Next.js und TypeScript entwickelt, das Backend verwendet Python mit FastAPI und Azure OpenAI übernimmt die strukturierte Generierung sowie das native Server-Sent-Events-Streaming (SSE), während Azure Content Safety für [&#8230;]</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2026/09/29/strukturierte-multi-persona-content-generierung-mit-azure-openai-und-sse-streaming/">Strukturierte Multi-Persona-Content-Generierung mit Azure OpenAI und SSE-Streaming</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In diesem Tutorial erstellen wir ein <strong>Content-Generation-Studio</strong>, das ein einzelnes Marketing-Briefing mithilfe verschiedener KI-Personas in drei strukturierte Content-Variationen umwandelt. Das Frontend wird mit <strong>Next.js und TypeScript</strong> entwickelt, das Backend verwendet <strong>Python mit FastAPI</strong> und <strong>Azure OpenAI</strong> übernimmt die strukturierte Generierung sowie das native Server-Sent-Events-Streaming (SSE), während <strong>Azure Content Safety</strong> für automatisierte Moderations-Guardrails sorgt.</p>



<p>Anstatt unvorhersehbaren Rohtext zu erzeugen, erzwingt unsere Anwendung garantierte Datenschemata (title, body und seoKeywords), Echtzeit-Fortschritts-Feedback via SSE-Streaming und drei unterschiedliche Perspektiven, die auf bestimmte Zielgruppen zugeschnitten sind: <strong>Friendly SaaS Marketer</strong>, <strong>Technical Blogger</strong> und <strong>Skeptical CFO</strong>.</p>



<p>Next.js (TypeScript) → FastAPI → Azure Content Safety (Guardrails)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ↓<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Azure OpenAI (GPT-4.1 / Structured Outputs)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ↓<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server-Sent Events (SSE-Stream)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ↓<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 Persona-Variationen (Title, Body, SEO Keywords)</p>



<p><strong>Voraussetzungen</strong></p>



<ul class="wp-block-list">
<li>Python und Node.js müssen auf Ihrem Computer installiert sein.</li>



<li>Eine Azure-OpenAI-Ressource mit einem bereitgestellten Modell (z. B. GPT-4.1-mini oder GPT-4o).</li>



<li>Eine Azure-Content-Safety-Ressource.</li>



<li>Grundkenntnisse in FastAPI, Next.js und TypeScript.</li>



<li>Grundlegendes Verständnis von Server-Sent Events (SSE) und Pydantic-Schemas.</li>
</ul>



<p></p>



<p><strong>Schritt 1: Pydantic-Schema definieren</strong></p>



<p>Zunächst definieren wir die Struktur, die unsere Anwendung vom Modell erwartet. Dazu erstellen wir Pydantic-Modelle für die einzelnen Variationen und den übergeordneten Antwort-Container:</p>



<p>class Variation(BaseModel):<br>&nbsp;&nbsp;&nbsp; id: int<br>&nbsp;&nbsp;&nbsp; title: str<br>&nbsp;&nbsp;&nbsp; body: str<br>&nbsp;&nbsp;&nbsp; seoKeywords: list[str] = Field(default_factory=list)<br><br>class ResultSchema(BaseModel):<br>&nbsp;&nbsp;&nbsp; variations: list[Variation]</p>



<p>Dieses Schema fungiert als doppelter Vertrag: Es garantiert die Struktur unserer Backend-API-Antworten für das Next.js-Frontend und wird direkt an die <strong>Structured-Outputs</strong>-Engine von Azure OpenAI übergeben um das JSON-Schema des Modells strikt einzuschränken.</p>



<p><strong>Schritt 2: Persona-System-Prompts implementieren</strong></p>



<p>Marketingtexte erfordern je nach Kanal und Zielgruppe unterschiedliche Tonalitäten. In unserer Anwendung definieren wir drei System-Prompts:</p>



<p>PERSONAS = {<br>&nbsp;&nbsp;&nbsp; &#8222;friendly&#8220;: {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;name&#8220;: &#8222;Friendly SaaS Marketer&#8220;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;system&#8220;: (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;You are a friendly SaaS marketer. &#8222;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;Write in a warm, benefit-led, conversational tone. &#8222;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;Prefer short sentences and a clear call to action.&#8220;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ),<br>&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp; &#8222;technical&#8220;: {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;name&#8220;: &#8222;Technical Blogger&#8220;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;system&#8220;: (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;You are a technical blogger. &#8222;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;Write in a precise, credible, educational tone. &#8222;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;Include concrete details, trade-offs, and one practical tip.&#8220;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ),<br>&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp; &#8222;cfo&#8220;: {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;name&#8220;: &#8222;Skeptical CFO&#8220;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;system&#8220;: (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;You are a skeptical CFO. &#8222;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;Write in a direct, evidence-driven, ROI-focused tone. &#8222;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8222;Quantify impact where possible and flag risks explicitly.&#8220;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ),<br>&nbsp;&nbsp;&nbsp; },<br>}</p>



<p>Sobald eine Anfrage eingeht, kombiniert das Backend den ausgewählten Persona-System-Prompt dynamisch mit den Benutzeranweisungen, die das Briefing, die Zielgruppe, das Format (LinkedIn-Post, Marketing-E-Mail oder Landingpage-Text) und die Ausgabesprache enthalten.</p>



<p><strong>Schritt 3: Content-Moderation mit Azure Content Safety</strong></p>



<p>Bevor das Sprachmodell aufgerufen wird, validiert das Backend das Briefing mit <strong>Azure Content Safety</strong>. Dadurch werden schädliche Eingaben in Kategorien wie Gewalt, Hassrede, Selbstverletzung und sexuelle Inhalte erkannt:</p>



<p>response = content_safety_client.analyze_text(<br>&nbsp;&nbsp;&nbsp; AnalyzeTextOptions(text=req.brief)<br>)<br>is_safe = all(item.severity &lt; 2 for item in response.categories_analysis)</p>



<p>Werden schädliche Inhalte erkannt, gibt die API ein strukturiertes <strong>400 Bad Request</strong> mit detaillierten Kategorieangaben zurück. Dies verhindert Prompt-Injections und Missbrauch und spart gleichzeitig Token-Kosten bei blockierten Prompts. Als Fallback steht zudem eine lokale Heuristik bereit.</p>



<p><strong>Schritt 4: Echtzeit-SSE-Streaming und inkrementelles Parsing</strong></p>



<p>Die Generierung von drei vollständigen Marketing-Variationen dauert einige Sekunden. Anstatt den Benutzer auf die gesamte Antwort warten zu lassen, nutzen wir <strong>Server-Sent Events (SSE)</strong> über die <strong>StreamingResponse</strong> von FastAPI:</p>



<p>@app.post(&#8222;/generate/stream&#8220;)<br>def generate_stream(req: GenerateRequest):<br>&nbsp;&nbsp;&nbsp; def events():<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yield _sse_event(&#8222;safety&#8220;, {&#8222;safe&#8220;: True})<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yield _sse_event(&#8222;start&#8220;, {&#8222;request_id&#8220;: request_id})<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with client.responses.stream(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; model=DEPLOYMENT,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; instructions=system,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input=user_prompt,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text_format=ResultSchema,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ) as stream:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for event in stream:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if event.type == &#8222;response.output_text.delta&#8220;:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yield _sse_event(&#8222;delta&#8220;, {&#8222;text&#8220;: event.delta})<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Inkrementell abgeschlossene JSON-Variation-Objekte extrahieren<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for v in _complete_variations_from_json(accumulated_text):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yield _sse_event(&#8222;variation&#8220;, {&#8222;variation&#8220;: v.dict()})<br>&nbsp;&nbsp;&nbsp; return StreamingResponse(events(), media_type=&#8220;text/event-stream&#8220;)</p>



<p>Der Streaming-Generator parst die JSON-Chunks in Echtzeit. Sobald die schließende Klammer einer Variation erreicht ist, wird ein <strong>variation</strong>-SSE-Event gesendet. Dadurch kann das Next.js-Frontend jede Content-Karte sofort rendern, sobald sie fertiggestellt ist, was eine schnelle und reaktionsfreudige Benutzeroberfläche ermöglicht.</p>



<p><strong>Schritt 5: FastAPI und Next.js mit Observability verbinden</strong></p>



<p>Das Next.js-Frontend verbindet sich direkt über Standard-<strong>fetch</strong> mit dem FastAPI-Stream und liest die Datenblöcke mit einem <strong>ReadableStreamDefaultReader</strong>. Es rendert den Live-Fortschritt, zeigt Persona-Badges an und unterstützt sofortiges Kopieren, eine JSON-Ansicht und den Datei-Export. Zusätzlich erfasst jede Anfrage umfassende Observability-Daten:</p>



<ul class="wp-block-list">
<li>Latenz in Millisekunden.</li>



<li>Prompt-, Completion- und Gesamt-Token-Verbrauch.</li>



<li>Geschätzte Ausführungskosten basierend auf den Azure-OpenAI-Token-Preisen.</li>



<li>Pro-Client-Generierungsprotokolle, die in SQLite und im Arbeitsspeicher gespeichert werden.</li>
</ul>



<p></p>



<p><strong>Warum Personas und Structured Outputs wichtig sind</strong></p>



<p>Ohne Persona-Steuerung und Structured Outputs neigen KI-Antworten dazu, generisch, unvorhersehbar und in Produktionsanwendungen schwer zu parsen zu sein. Die Kombination aus expliziten Persona-Anweisungen und Pydantic-Schemas liefert vorhersehbare, hochwertige Ergebnisse, die direkt auf reale Marketing-Workflows zugeschnitten sind.</p>



<ul class="wp-block-list">
<li>Das Frontend erhält ein garantiertes, typsicheres Datenschema.</li>



<li>Im Anwendungscode ist kein Entfernen von Markdown-Codeblöcken oder Regex-Parsing nötig.</li>



<li>Personas sorgen für eine konsistente Markenstimme und klare Positionierung.</li>



<li>Streaming eliminiert die wahrgenommene Wartezeit und verbessert die Benutzererfahrung.</li>
</ul>



<p></p>



<p><strong>Fazit</strong></p>



<p>Mit Next.js, FastAPI, Azure OpenAI und Azure Content Safety haben wir eine End-to-End-Content-Generierungsanwendung mit unternehmensweiten Guardrails und Echtzeit-Streaming entwickelt.</p>



<p>FastAPI-Backend&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; → Steuert Sicherheitsprüfungen, Persona-Mapping, Streaming und Token-Logs<br>Azure OpenAI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; → Liefert strukturierte, Persona-gesteuerte Generierung über GPT-4.1<br>Azure Content Safety → Blockiert schädliche Prompts vor der Ausführung<br>Next.js-Frontend&nbsp;&nbsp;&nbsp;&nbsp; → Bietet eine reaktive, mehrsprachige UI mit Live-SSE-Karten-Rendering</p>



<p>Diese Kombination verwandelt generative KI von einem unvorhersehbaren Chat-Experiment in eine verlässliche, produktionsreife Content-Engineering-Pipeline.</p>



<p>Ich hoffe, dieses kurze Tutorial war hilfreich.</p>



<p><strong>Now let&#8217;s code!</strong></p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2026/09/29/strukturierte-multi-persona-content-generierung-mit-azure-openai-und-sse-streaming/">Strukturierte Multi-Persona-Content-Generierung mit Azure OpenAI und SSE-Streaming</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bildanalyse mit GPT-4.1-mini und Structured Outputs</title>
		<link>https://rhein-ruhr-informatik.de/2026/08/25/bildanalyse-mit-gpt-4-1-mini-und-structured-outputs/</link>
		
		<dc:creator><![CDATA[Rhein-Ruhr-Informatik]]></dc:creator>
		<pubDate>Tue, 25 Aug 2026 07:47:32 +0000</pubDate>
				<category><![CDATA[Artikel]]></category>
		<guid isPermaLink="false">https://rhein-ruhr-informatik.de/?p=890</guid>

					<description><![CDATA[<p>In diesem Tutorial lernen wir, wie man Bilder mit einem multimodalen KI-Modell analysiert und die Ergebnisse direkt als strukturierte Daten zurückgibt. Dabei verwenden wir GPT-4.1-mini mit Azure OpenAI und Structured Outputs. Anstatt für jede Aufgabe einen separaten Service zu verwenden, können wir ein Bild zusammen mit unseren Anweisungen an das [&#8230;]</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2026/08/25/bildanalyse-mit-gpt-4-1-mini-und-structured-outputs/">Bildanalyse mit GPT-4.1-mini und Structured Outputs</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In diesem Tutorial lernen wir, wie man Bilder mit einem multimodalen KI-Modell analysiert und die Ergebnisse direkt als strukturierte Daten zurückgibt. Dabei verwenden wir GPT-4.1-mini mit Azure OpenAI und Structured Outputs.</p>



<p>Anstatt für jede Aufgabe einen separaten Service zu verwenden, können wir ein Bild zusammen mit unseren Anweisungen an das Modell senden und beispielsweise eine Beschreibung, Tags, erkannte Objekte und OCR-Text extrahieren.</p>



<p>Der wichtige Punkt dabei ist: Die Antwort der KI soll nicht einfach ein beliebiger Text sein. Unsere Anwendung benötigt eine definierte Datenstruktur. Dafür verwenden wir JSON Schema mit Pydantic.</p>



<p><strong>Voraussetzungen</strong></p>



<ul class="wp-block-list">
<li>Python muss auf Ihrem Computer installiert sein.</li>



<li>Ein Azure OpenAI Deployment mit GPT-4.1-mini muss vorhanden sein.</li>



<li>Grundkenntnisse in Python und FastAPI.</li>



<li>Grundkenntnisse in REST APIs und JSON.</li>



<li>Ein Azure OpenAI Client muss im Backend eingerichtet sein.</li>
</ul>



<p><strong>Schritt 1: Pydantic-Schema definieren</strong></p>



<p>Zuerst definieren wir mit Pydantic die Struktur, die unsere Anwendung von der KI erwartet:</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="755" height="427" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image.jpg" alt="" class="wp-image-891" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image.jpg 755w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-300x170.jpg 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-18x10.jpg 18w" sizes="(max-width: 755px) 100vw, 755px" /></figure>



<p>Diese Klasse definiert gleichzeitig den Vertrag für unsere Anwendung und das Schema für die strukturierte Antwort des Modells. Dadurch müssen wir das JSON Schema nicht manuell als Dictionary erstellen.</p>



<p><strong>Schritt 2: Bild und Prompt an das Modell senden</strong></p>



<p>Das Bild wird im Backend eingelesen und anschließend als Base64 Data URL an das Modell übergeben.</p>



<p>Zusätzlich senden wir einen Prompt, der beschreibt, welche Informationen aus dem Bild extrahiert werden sollen. Zum Beispiel:</p>



<figure class="wp-block-image size-full"><img decoding="async" width="839" height="325" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image.png" alt="" class="wp-image-892" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image.png 839w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-300x116.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-768x297.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-18x7.png 18w" sizes="(max-width: 839px) 100vw, 839px" /></figure>



<p>Der Benutzer sieht dabei nur die Upload-Funktion. Die eigentlichen Anweisungen zur Bildanalyse bleiben im Backend.</p>



<p><strong>Schritt 3: Structured Outputs verwenden</strong></p>



<p>Jetzt kommt der wichtige Teil. Anstatt das Modell einfach aufzufordern, JSON zurückzugeben, verwenden wir Structured Outputs:</p>



<figure class="wp-block-image size-full"><img decoding="async" width="310" height="154" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-1.png" alt="" class="wp-image-893" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-1.png 310w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-1-300x149.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-1-18x9.png 18w" sizes="(max-width: 310px) 100vw, 310px" /></figure>



<p>Mit text_format=AnalysisResult verwenden wir unsere Pydantic-Klasse als Schema für die Antwort.</p>



<p>Das Modell erhält dadurch eine definierte Struktur und unser Backend kann das Ergebnis direkt als AnalysisResult verwenden:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="297" height="36" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-2.png" alt="" class="wp-image-894" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-2.png 297w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-2-18x2.png 18w" sizes="auto, (max-width: 297px) 100vw, 297px" /></figure>



<p>Wir müssen also nicht mehr selbst versuchen, Markdown-Codeblöcke zu entfernen oder den zurückgegebenen Text manuell in JSON umzuwandeln.</p>



<p><strong>Schritt 4: Ergebnis an das Frontend zurückgeben</strong></p>



<p>Da unser FastAPI-Endpunkt ebenfalls AnalysisResult verwendet, können wir das Ergebnis direkt zurückgeben:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="464" height="109" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-3.png" alt="" class="wp-image-895" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-3.png 464w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-3-300x70.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-3-18x4.png 18w" sizes="auto, (max-width: 464px) 100vw, 464px" /></figure>



<p>Das Frontend erhält anschließend eine vorhersehbare Struktur:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="409" height="328" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-4.png" alt="" class="wp-image-896" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-4.png 409w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-4-300x241.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/08/image-4-15x12.png 15w" sizes="auto, (max-width: 409px) 100vw, 409px" /></figure>



<p><strong>Warum Structured Outputs?</strong></p>



<p>Ein einfacher Prompt wie „Antworte nur mit JSON“ kann funktionieren, ist aber kein idealer Vertrag zwischen einer KI und einer Anwendung. </p>



<p>Mit Structured Outputs definieren wir die erwartete Struktur explizit.</p>



<p>Das bringt einige Vorteile:</p>



<ul class="wp-block-list">
<li>Das Backend erhält eine vorhersehbare Datenstruktur.</li>



<li>Das Pydantic-Modell kann gleichzeitig für die API und das KI-Ergebnis verwendet werden.</li>



<li>Man benötigt weniger manuellen JSON-Parsing-Code.</li>



<li>Das Frontend kann direkt mit einer definierten Struktur arbeiten.</li>



<li>Der Prompt muss nicht das komplette JSON-Format beschreiben.</li>
</ul>



<p><strong>Structured Outputs als Vertrag</strong></p>



<p>Beim Aufbau der Anwendung ist mir aufgefallen, dass das Modell manchmal Informationen zurückgeben kann, die tatsächlich nicht im Bild vorhanden sind, zum Beispiel einen falschen Preis oder ein falsches Objekt. Das ist eine typische KI-Halluzination. Structured Outputs verhindert Halluzinationen nicht, bietet aber einen zuverlässigen <strong>Vertrag zwischen der KI und der Anwendung</strong>.</p>



<p>Indem wir die erwarteten Felder und Datentypen mit Pydantic definieren, weiß das Backend genau, welche Struktur es erwarten kann. Um Halluzinationen zu reduzieren, habe ich außerdem klare Anweisungen in den Prompt aufgenommen, wie zum Beispiel: <em>„Erfinde keine Preise oder Links. Wenn die Information nicht zuverlässig erkannt werden kann, gib einen leeren Wert zurück.“</em></p>



<p>Diese Kombination macht die Anwendung vorhersehbarer: <strong>Structured Outputs schützt die Struktur, während klare Prompts und Validierung helfen, die Daten zu schützen.</strong></p>



<p><strong>OCR oder multimodale KI?</strong></p>



<p>Für reine Texterkennung gibt es bei Azure spezialisierte OCR- und Document-Intelligence-Lösungen. Diese sind besonders interessant, wenn es hauptsächlich darum geht, Text, Layout, Tabellen oder Positionen zuverlässig zu extrahieren.</p>



<p>In unserem Fall wollen wir jedoch nicht nur Text erkennen. Wir möchten das gesamte Bild analysieren und verschiedene Informationen daraus extrahieren.</p>



<p>Deshalb kann ein multimodales Modell wie GPT-4.1-mini eine interessante Alternative sein:</p>



<p><strong>Bild + Anweisungen → Modell → strukturierte Daten</strong></p>



<p>Damit können wir Bildverständnis und strukturierte Datenextraktion in einem Schritt kombinieren.</p>



<p><strong>Fazit</strong></p>



<p>Mit Azure OpenAI und GPT-4.1-mini können wir relativ einfach eine Anwendung bauen, die Bilder analysiert und die Ergebnisse direkt in eine für unsere Software nutzbare Struktur umwandelt.</p>



<p>Der entscheidende Punkt ist dabei nicht nur das verwendete Modell, sondern auch der Vertrag zwischen KI und Anwendung.</p>



<p>Mit <strong>Pydantic + Structured Outputs</strong> wird aus einer freien KI-Antwort eine strukturierte API-Antwort.</p>



<p>So kann die KI nicht nur Text generieren, sondern als eine zusätzliche Verarbeitungsschicht zwischen einem Bild und unserer Anwendung eingesetzt werden.</p>



<p>Ich hoffe, dieses kurze Tutorial war hilfreich.</p>



<p><strong>Now let’s code!</strong></p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2026/08/25/bildanalyse-mit-gpt-4-1-mini-und-structured-outputs/">Bildanalyse mit GPT-4.1-mini und Structured Outputs</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Monitoring in SAP Cloud Integration</title>
		<link>https://rhein-ruhr-informatik.de/2026/02/23/monitoring-in-sap-cloud-integration/</link>
		
		<dc:creator><![CDATA[Rhein-Ruhr-Informatik]]></dc:creator>
		<pubDate>Mon, 23 Feb 2026 09:51:22 +0000</pubDate>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[SAP]]></category>
		<guid isPermaLink="false">https://rhein-ruhr-informatik.de/?p=876</guid>

					<description><![CDATA[<p>In diesem Blogbeitrag möchten wir erklären, wie wir Ihre Prozesse in SAP Cloud Integration überwachen. Dies ist eines der wichtigsten Themen, insbesondere für diejenigen, die sich um die Sicherheit im Middleware sorgen. Cloud Integration erlaubt uns die Veränderung über die Nachricht zu machen, so wie Mappings, oder die Konvertierung von [&#8230;]</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2026/02/23/monitoring-in-sap-cloud-integration/">Monitoring in SAP Cloud Integration</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In diesem Blogbeitrag möchten wir erklären, wie wir Ihre Prozesse in SAP Cloud Integration überwachen. Dies ist eines der wichtigsten Themen, insbesondere für diejenigen, die sich um die Sicherheit im Middleware sorgen.</p>



<p>Cloud Integration erlaubt uns die Veränderung über die Nachricht zu machen, so wie Mappings, oder die Konvertierung von einer Struktur zu der anderen. Cloud Integration ist nicht nur stark für die Manipulation der Datei, sondern auch für die Merkmale der Überwachung. Zusätzlich zu Debug- oder Trace-Modus wie in jeder Entwicklungs-IDE ermöglicht es uns auch, die notwendigen Informationen zu überwachen, ohne dass ein Debugging erforderlich ist.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="375" height="425" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image.png" alt="" class="wp-image-877" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image.png 375w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-265x300.png 265w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-11x12.png 11w" sizes="auto, (max-width: 375px) 100vw, 375px" /></figure>



<p>Für jeden Service können wir das Log-Level auf 5 verschiedene Modi einstellen.</p>



<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-1 wp-block-group-is-layout-flex">
<p><strong>None: </strong>Keine Informationen über Prozesse, selbst wenn sie erfolgreich oder fehlgeschlagen sind. </p>



<p><strong>Info: </strong>Standardmodus, um zu sehen, ob der Prozess erfolgreich ist oder nicht. </p>



<p><strong>Error:</strong> Zeigt den Prozess nur an, wenn der Prozess fehlgeschlagen ist. </p>



<p><strong>Debug:</strong> Zeigt die Prozessschritte, jedoch ohne Details. </p>



<p><strong>Trace:</strong> Zeigt alle Informationen wie Headers und Body in jedem Schritt.</p>
</div>



<p>Die Standard-Log-Konfiguration ist auf Info eingestellt. Info ermöglicht es uns, den Status jedes Prozesses zu sehen, wie z.B. abgeschlossen, abgebrochen, fehlgeschlagen usw. In diesem Modus können wir weder die Header noch den Body sehen. Es ist wichtig, die Daten aus Sicherheitsgründen zu schützen und den Speicherverbrauch zu reduzieren.</p>



<p>Aber wenn der Prozess fehlschlägt, wie können wir das Problem herausfinden?<br>Trace-Modus ist nützlich, wenn dieselbe Request-Message empfangen werden kann. Bevor Nachrichten erhalten werden, sollte dieser Modus aktiviert werden. Im Trace können sowohl der Body als auch die Header bei jedem Schritt betrachtet werden.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="295" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-1.png" alt="" class="wp-image-878" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-1.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-1-300x94.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-1-768x240.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-1-18x6.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p>Der Prozess, der einen Fehler verursacht, wird angezeigt. In diesem Modus ist es viel einfacher und schneller, den Schritt zu identifizieren, in dem der Fehler auftritt.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="272" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-2.png" alt="" class="wp-image-879" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-2.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-2-300x86.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-2-768x221.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-2-18x5.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p>Allerdings erlaubt CPI uns, nur 10-Minuten im Trace zu bleiben, danach wechselt es automatisch wieder in den vorherigen Modus (Info, Error oder None). Zusätzlich ist die Nachricht nach einer Stunde nicht mehr erreichbar. Während der Entwicklung nutzen wir Trace sehr oft. In der Produktion können wir den gleichen Prozess nicht wieder triggern, wenn er einen Fehler bekommt. Aus Sicherheitsgründen ist es auch nicht empfohlen, die vollständige Nachricht in der Produktion offenzulegen.</p>



<p>Wie können wir in diesem Fall herausfinden, welche Nachricht einen Fehler enthält, ohne die gesamte Nachricht offenzulegen? Folgendes bietet SAP an:</p>



<p>Es gibt einige vorgefertigte Properties zum Überwachen und Filtern von Nachrichten. Diese Funktion ist sehr hilfreich, um den Status bestimmter Nachrichten zu verstehen und die Nachrichten im Monitoring zu filtern. Wir können diese Properties nach Bedarf anpassen. In diesem Beispiel wird die „Application Message ID“ durch die</p>



<p>Bestellnummer festgelegt, und der Bestelltyp wird als „Application Message Type“ bestimmt. Wenn diese Bestellung einen Fehler enthält, können wir die Bestellnummer direkt herausfinden, ohne die gesamte Nachricht offenzulegen.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="446" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-3.png" alt="" class="wp-image-880" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-3.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-3-300x142.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-3-768x362.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-3-18x8.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p>Falls diese vorgefertigten Properties nicht ausreichen oder zusätzliche kundenspezifische Properties benötigt werden, können wir auch Custom-Monitoring-Header hinzufügen. Diese benutzerdefinierten Header gelten nicht als echte Header, und werden nicht an das Empfängersystem gesendet. Sie werden ausschließlich intern zu Monitoring-Zwecken verwendet.</p>



<p>Zusätzlich können wir die Nachrichten anhand von Monitoring-Properties und Custom-Headern filtern. Zum Beispiel haben wir 7 Nachrichten im Status „Completed“ mit dem Message Type „Initial Order“.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="811" height="513" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-4.png" alt="" class="wp-image-881" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-4.png 811w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-4-300x190.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-4-768x486.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-4-18x12.png 18w" sizes="auto, (max-width: 811px) 100vw, 811px" /></figure>



<p>Allerdings haben wir nur eine Nachricht mit der Nummer 1000000 erhalten.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="327" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-5.png" alt="" class="wp-image-882" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-5.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-5-300x104.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-5-768x266.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-5-18x6.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p>Normalerweise ist es nicht möglich, den Inhalt einer Nachricht während oder nach dem Prozess einzusehen. In einigen Fällen müssen wir jedoch den Nachrichteninhalt sehen, insbesondere wenn sich die Nachricht im Fehlerstatus befindet. Dafür können wir ein Attachment zu Monitoring-Zwecken erstellen. Attachments können in jedem Textformat vorliegen und sind konfigurierbar. Sie helfen uns bei der Identifizierung von Fehlern. Außerdem können Attachments so eingerichtet werden, dass sie nur im Fehlerfall angelegt werden.</p>



<p>Typische Szenarien sind:<br>&#8211; Einsicht in den gesamten Nachrichteninhalt an wichtigen Stellen, z. B. vor dem Mapping und nach dem Mapping.<br>&#8211; Im Fehlerfall ist der komplette Nachrichteninhalt an der Fehlerstelle.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="551" height="589" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-6.png" alt="" class="wp-image-883" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-6.png 551w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-6-281x300.png 281w, https://rhein-ruhr-informatik.de/wp-content/uploads/2026/02/image-6-11x12.png 11w" sizes="auto, (max-width: 551px) 100vw, 551px" /></figure>



<p></p>



<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-2 wp-block-group-is-layout-flex">
<p><strong>In der Middleware gespeicherte Logs können nicht über längere Zeiträume aufbewahrt werden.</strong></p>



<p>Trace kann Nachrichten bis zu 10 Minuten aufnehmen, und diese Nachrichten sind nur 1 Stunde sichtbar.</p>



<p>Debug kann Nachrichten bis zu 1 Tag aufnehmen.</p>



<p>Alle Prozess-Logs werden nach 1 Monat gelöscht.</p>
</div>



<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-3 wp-block-group-is-layout-flex">
<p><strong>Zusammenfassung:</strong></p>



<p>SAP bietet mit Cloud Integration eine schnellere, präzisere und sicherere Middleware-Umgebung.</p>
</div>



<p>Standardmäßig zeigt die Cloud Integration-Schnittstelle keine Nachrichten oder Header für die Benutzer an. Dies ist sowohl aus Sicherheitsgründen als auch für das Speichermanagement wichtig.</p>



<p>In einigen Fällen muss jedoch eine fehlgeschlagene Nachricht ohne Trace- oder Debug-Modus erkannt werden, insbesondere in der Produktionsumgebung. Um dies zu ermöglichen, können im Info-Modus die notwendigen Felder als Custom-Properties und Attachments festgelegt werden. Damit können wir identifizieren, welche Nachricht fehlgeschlagen ist.</p>



<p>Cloud Integration speichert Logs maximal für 1 Monat. Dieser Zeitraum dient dazu, Fehler zu bearbeiten und Probleme zu lösen.</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2026/02/23/monitoring-in-sap-cloud-integration/">Monitoring in SAP Cloud Integration</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Mein Weg zum AWS Certified Solutions Architect – Associate</title>
		<link>https://rhein-ruhr-informatik.de/2025/11/14/mein-weg-zum-aws-certified-solutions-architect-associate/</link>
		
		<dc:creator><![CDATA[Rhein-Ruhr-Informatik]]></dc:creator>
		<pubDate>Fri, 14 Nov 2025 10:33:58 +0000</pubDate>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[AWS]]></category>
		<guid isPermaLink="false">https://rhein-ruhr-informatik.de/?p=865</guid>

					<description><![CDATA[<p>Seit einiger Zeit wollte ich meine Cloud-Kenntnisse auf ein neues Level bringen. Da ich beruflich viel mit Cloud-Infrastruktur arbeite, war für mich schnell klar: AWS ist ein Muss. Also entschied ich mich, die Prüfung zum AWS Certified Solutions Architect – Associate abzulegen. In diesem Beitrag möchte ich meine Erfahrungen teilen [&#8230;]</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/11/14/mein-weg-zum-aws-certified-solutions-architect-associate/">Mein Weg zum AWS Certified Solutions Architect – Associate</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Seit einiger Zeit wollte ich meine Cloud-Kenntnisse auf ein neues Level bringen. Da ich beruflich viel mit Cloud-Infrastruktur arbeite, war für mich schnell klar: AWS ist ein Muss. Also entschied ich mich, die Prüfung zum AWS Certified Solutions Architect – Associate abzulegen. In diesem Beitrag möchte ich meine Erfahrungen teilen – von der Vorbereitung über die technischen Anforderungen bis hin zur eigentlichen Prüfung.</p>



<h3 class="wp-block-heading">1. Lernen und Vorbereitung</h3>



<p>Bevor ich überhaupt mit dem Lernen angefangen habe, wollte ich verstehen, was mich erwartet. Die Prüfung zum Solutions Architect – Associate prüft ein breites Spektrum an Themen: Architekturprinzipien, Hochverfügbarkeit, Sicherheit, Kostenoptimierung und viele Services wie EC2, S3, RDS, Lambda oder VPC.</p>



<p>Ich habe meine Vorbereitung in drei Phasen eingeteilt:</p>



<p><strong>Phase 1: Grundlagen auffrischen</strong><br>Ich startete mit dem kostenlosen <a href="https://skillbuilder.aws/">AWS Skill Builder</a>, wo es einen offiziellen Kurs namens &#8222;Exam Prep: AWS Certified Solutions Architect – Associate&#8220; gibt. Dort bekommt man ein gutes Gefühl für den Aufbau und die Tiefe der Fragen. Zusätzlich habe ich zwei thematisch passende Kurse auf Udemy gekauft, um mein Wissen weiter zu vertiefen – sie boten viele praktische Beispiele und Erklärungen, die mir beim Verständnis komplexerer Themen sehr geholfen haben.</p>



<p><strong>Phase 2: Intensivtraining</strong><br>Anschließend nutzte ich Udemy-Kurse von Dozenten wie Stéphane Maarek und Tutorials Dojo. Besonders hilfreich fand ich die vielen praxisnahen Labs – zum Beispiel das Aufsetzen einer VPC oder einer Auto-Scaling-Gruppe. Diese Übungen halfen mir enorm, die Konzepte wirklich zu verstehen.</p>



<p><strong>Phase 3: Prüfungssimulationen</strong><br>In den letzten zwei Wochen vor dem Examen konzentrierte ich mich auf Übungsprüfungen. Die Fragen auf Plattformen wie Whizlabs oder Tutorials Dojo waren oft sehr ähnlich wie die echten – manchmal fast identisch in der Art, wie sie gestellt werden.<br>Ich versuchte, nicht nur die richtige Antwort zu kennen, sondern auch zu verstehen, warum die anderen Antworten falsch waren – das ist entscheidend!</p>



<h3 class="wp-block-heading">2. Anforderungen an Ausrüstung und Raum</h3>



<p>Ich entschied mich, die Prüfung online von zu Hause aus abzulegen – bequem, aber mit klaren Regeln.</p>



<p><strong>Technische Anforderungen:</strong></p>



<ul class="wp-block-list">
<li>Ein zuverlässiger Laptop oder PC</li>



<li>Eine stabile Internetverbindung (LAN bevorzugt)</li>



<li>Eine funktionierende Webcam und ein Mikrofon</li>
</ul>



<p>Vor der Prüfung prüft ein Tool von Pearson VUE automatisch, ob Kamera, Ton und Netzwerk in Ordnung sind.</p>



<p><strong>Raumvorbereitung:</strong><br>Der Raum muss sauber und ruhig sein – keine Bücher, keine Notizen, keine zweite Person im Zimmer. Ich musste sogar meine Wände kurz zeigen, indem ich die Kamera herumschwenkte. Mein Schreibtisch war komplett leer, und ich legte mein Smartphone weit weg. Das mag etwas streng wirken, aber es sorgt für Fairness.</p>



<h3 class="wp-block-heading">3. Registrierung und Identitätsprüfung</h3>



<p>Die Registrierung läuft über das AWS Certification Portal. Man kann dort wählen, ob man die Prüfung online oder in einem Testzentrum ablegen möchte.</p>



<p>Nach der Anmeldung erhält man eine E-Mail mit allen Schritten. Am Tag der Prüfung klickte ich einfach auf „Start Exam“. Danach öffnete sich ein Chatfenster mit dem Prüfer (Proctor).</p>



<p>Der Prüfer kontrollierte meine Identität per Ausweis, ließ mich mit der Webcam den ganzen Raum zeigen und prüfte, dass keine unerlaubten Gegenstände in der Nähe sind. Nach ein paar Minuten war alles bereit – und die Prüfung konnte beginnen.</p>



<h3 class="wp-block-heading">4. Der Prüfungsablauf</h3>



<p>Die Prüfung dauert 130 Minuten und besteht aus etwa 65 Multiple-Choice-Fragen. Manche Fragen sind kurz und direkt, andere ziemlich lang und beschreiben komplexe Architekturszenarien.</p>



<p>Ich habe mir angewöhnt, zunächst alle Fragen zu beantworten, bei denen ich mir sicher war, und die restlichen zu markieren. Am Ende blieb mir noch genug Zeit, um etwa 10 schwierige Fragen in Ruhe zu überdenken.</p>



<p>Ein kleiner Tipp:</p>



<p>Lies die Fragen wirklich aufmerksam – manchmal ändert ein einziges Wort („cost-effective“, „highly available“ oder „fault tolerant“) die gesamte Bedeutung.</p>



<p>Nachdem ich die letzte Frage abgegeben hatte, zeigte das System sofort: „Your result will be available in 5 Tages.“<br>Dann kam die E-Mail: „Congratulations! You passed the exam!“<br>Das war ein großartiges Gefühl!</p>



<h3 class="wp-block-heading">5. Nützliche Ressourcen und Tipps</h3>



<p>Wenn du den AWS Certified Solutions Architect – Associate bestehen möchtest, helfen dir folgende Ressourcen:</p>



<ul class="wp-block-list">
<li>AWS Skill Builder: Offizielle, kostenlose Lernplattform</li>



<li>AWS Whitepapers: Besonders „Well-Architected Framework“ und „Security Best Practices“</li>



<li>Udemy: Kurse von Stéphane Maarek oder Neal Davis</li>



<li>Tutorials Dojo / Jon Bonso Practice Exams: Realistische Übungsfragen</li>



<li>AWS Free Tier: Zum Ausprobieren von Services ohne Kosten</li>
</ul>



<h3 class="wp-block-heading">Fazit</h3>



<p>Der Weg zum AWS Certified Solutions Architect – Associate war für mich nicht nur eine technische Herausforderung, sondern auch eine persönliche Reise. Ich habe viel über moderne Cloud-Architektur gelernt und verstanden, wie wichtig gutes Design in AWS ist.</p>



<p>Wenn du also überlegst, diesen Schritt zu gehen: Mach es!Mit Geduld, Neugier und einer guten Vorbereitung kannst du es schaffen. Und das Zertifikat öffnet dir viele Türen in der IT-Welt.</p>



<p>Viel Erfolg und viel Spaß auf deinem eigenen AWS-Abenteuer!</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/11/14/mein-weg-zum-aws-certified-solutions-architect-associate/">Mein Weg zum AWS Certified Solutions Architect – Associate</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Aufbau eines serverlosen REST-APIs mit AWS API Gateway und Lambda</title>
		<link>https://rhein-ruhr-informatik.de/2025/09/29/aufbau-eines-serverlosen-rest-apis-mit-aws-api-gateway-und-lambda/</link>
		
		<dc:creator><![CDATA[Rhein-Ruhr-Informatik]]></dc:creator>
		<pubDate>Mon, 29 Sep 2025 05:33:00 +0000</pubDate>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Serverless]]></category>
		<guid isPermaLink="false">https://rhein-ruhr-informatik.de/?p=852</guid>

					<description><![CDATA[<p>Einführung In der modernen Softwareentwicklung sind Geschwindigkeit und Skalierbarkeit entscheidend. Unternehmen wollen Funktionen schnell bereitstellen, ohne sich um die Wartung von Infrastruktur zu kümmern. Genau hier glänzt Serverless Computing. Mit AWS Lambda und Amazon API Gateway können Entwickler ein voll funktionsfähiges REST API erstellen, ohne Server zu betreiben. AWS kümmert [&#8230;]</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/09/29/aufbau-eines-serverlosen-rest-apis-mit-aws-api-gateway-und-lambda/">Aufbau eines serverlosen REST-APIs mit AWS API Gateway und Lambda</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Einführung</h2>



<p>In der modernen Softwareentwicklung sind Geschwindigkeit und Skalierbarkeit entscheidend. Unternehmen wollen Funktionen schnell bereitstellen, ohne sich um die Wartung von Infrastruktur zu kümmern. Genau hier glänzt Serverless Computing.<br><br>Mit AWS Lambda und Amazon API Gateway können Entwickler ein voll funktionsfähiges REST API erstellen, ohne Server zu betreiben. AWS kümmert sich automatisch um Skalierung, Verfügbarkeit und Abrechnung – man zahlt nur für tatsächlich verarbeitete Anfragen.<br><br>In diesem Artikel zeigen wir, wie man mit AWS API Gateway und AWS Lambda ein einfaches REST API aufsetzt, mit Beispielen in Python.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="900" height="484" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-7.png" alt="" class="wp-image-853" style="width:619px;height:auto" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-7.png 900w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-7-300x161.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-7-768x413.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-7-18x10.png 18w" sizes="auto, (max-width: 900px) 100vw, 900px" /></figure></div>


<h2 class="wp-block-heading">Was bedeutet Serverless?</h2>



<p>Serverless bedeutet nicht, dass keine Server existieren – sie sind nach wie vor vorhanden, werden aber vollständig vom Cloud-Anbieter verwaltet. Entwickler konzentrieren sich nur auf den Code, während AWS folgende Aufgaben übernimmt:<br><br>&#8211; Bereitstellung und Skalierung (von null bis zu Millionen von Anfragen)<br>&#8211; Hohe Verfügbarkeit<br>&#8211; Sicherheit und Patching<br>&#8211; Abrechnung basierend auf tatsächlicher Nutzung<br><br>Für REST APIs hat sich die Kombination aus API Gateway und Lambda als Standardmuster etabliert. Sehen wir uns an, wie das Zusammenspiel funktioniert.</p>



<h2 class="wp-block-heading">Architekturübersicht</h2>



<p>Der Ablauf sieht so aus:<br>1. Ein Client (Browser, Mobile App, Postman) sendet eine Anfrage an einen API Gateway Endpoint.<br>2. API Gateway leitet die Anfrage an eine konfigurierte Lambda-Funktion weiter.<br>3. Die Lambda-Funktion führt den individuellen Code aus (in unserem Fall Python).<br>4. Lambda gibt eine Antwort zurück, die API Gateway an den Client weiterleitet.<br><br>Diese einfache Architektur ist sehr leistungsfähig, da man verschiedene Lambda-Funktionen mit unterschiedlichen API-Routen und Methoden verbinden kann (z. B. GET /users, POST /orders).</p>



<h2 class="wp-block-heading">Schritt-für-Schritt Anleitung</h2>



<h3 class="wp-block-heading">1. Erstellen einer Lambda-Funktion</h3>



<p>1. Melde dich in der AWS Management Console an.<br>2. Gehe zu AWS Lambda → Funktion erstellen.<br>3. Wähle Author from scratch, gib einen Namen an (z. B. hello-world) und wähle Python 3.x als Laufzeit.<br>4. Füge folgenden Code in den Editor ein:</p>



<pre class="wp-block-code"><code>import json<br><br>def lambda_handler(event, context):<br>&nbsp;&nbsp;&nbsp; name = event.get("queryStringParameters", {}).get("name", "World")<br>&nbsp;&nbsp;&nbsp; return {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "statusCode": 200,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "headers": {"Content-Type": "application/json"},<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;"body": json.dumps({"message": f"Hello, {name}!"})<br>&nbsp;&nbsp;&nbsp; }</code></pre>



<h3 class="wp-block-heading">2. Erstellen eines API Gateways</h3>



<p>1. Gehe zu Amazon API Gateway → API erstellen.<br>2. Wähle HTTP API (einfacher) oder REST API (mehr Konfigurationsmöglichkeiten). Für dieses Beispiel nehmen wir HTTP API.<br>3. Erstelle ein neues API und verknüpfe es mit deiner Lambda-Funktion (hello-world).<br>4. Stelle das API bereit (Deploy).</p>



<h3 class="wp-block-heading">3. Testen des APIs</h3>



<p>Nach der Bereitstellung erhältst du eine Endpoint-URL, z. B.:<br><br><code>https://abc123.execute-api.us-east-1.amazonaws.com/default/hello-world</code><br><br>Nun kannst du testen:<br><br><code>curl "https://abc123.execute-api.us-east-1.amazonaws.com/default/hello-world?name=Alice"</code><br><br>Antwort:<br><code>{ "message": "Hello, Alice!" }</code><br><br>Glückwunsch! Du hast gerade ein serverloses REST API mit AWS gebaut.</p>



<h2 class="wp-block-heading">Warum API Gateway + Lambda?</h2>



<p>&#8211; Skalierbarkeit: Automatische Verarbeitung von Lastspitzen.<br>&#8211; Kosteneffizienz: Man zahlt nur, wenn Funktionen tatsächlich ausgeführt werden.<br>&#8211; Einfachheit: Keine Serververwaltung, keine Updates, keine Skalierungsprobleme.<br>&#8211; Flexibilität: Lambda kann mit Datenbanken (DynamoDB, RDS), Queues (SQS) oder Event-Streams (Kinesis) verbunden werden.</p>



<h2 class="wp-block-heading">Nächste Schritte</h2>



<p>Unser Beispiel ist minimal. In einer Produktionsumgebung könnte man:<br>&#8211; Authentifizierung &amp; Autorisierung hinzufügen (AWS Cognito, IAM Policies, eigene JWTs).<br>&#8211; Infrastructure as Code nutzen (AWS SAM, CDK oder Terraform).<br>&#8211; Logging &amp; Monitoring aktivieren (CloudWatch, X-Ray).<br>&#8211; Lambda mit weiteren AWS-Services kombinieren, um komplexe Anwendungen zu bauen.</p>



<h2 class="wp-block-heading">Fazit</h2>



<p>AWS API Gateway und AWS Lambda ermöglichen es, sehr einfach serverlose REST APIs zu entwickeln. Mit nur wenigen Klicks und einem kleinen Python-Skript lässt sich ein Endpoint bereitstellen, der automatisch skaliert und nur bei Nutzung Kosten verursacht.<br><br>Ob du moderne Anwendungen entwickelst, mit Microservices experimentierst oder einfach Servermanagement vermeiden willst – dieser serverlose Ansatz ist ein hervorragender Startpunkt.</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/09/29/aufbau-eines-serverlosen-rest-apis-mit-aws-api-gateway-und-lambda/">Aufbau eines serverlosen REST-APIs mit AWS API Gateway und Lambda</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Verwaltung von BTP Role Collections über den SAP Cloud Identity Service</title>
		<link>https://rhein-ruhr-informatik.de/2025/09/08/verwaltung-von-btp-role-collections-ueber-den-sap-cloud-identity-service/</link>
		
		<dc:creator><![CDATA[Rhein-Ruhr-Informatik]]></dc:creator>
		<pubDate>Mon, 08 Sep 2025 04:28:02 +0000</pubDate>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[SAP]]></category>
		<guid isPermaLink="false">https://rhein-ruhr-informatik.de/?p=842</guid>

					<description><![CDATA[<p>In diesem Blogbeitrag erfahren Sie, wie Role Collection in SAP BTP zentral über die SAP Cloud Identity Services verwaltet werden können. SAP BTP ermöglicht die Bereitstellung verschiedener Services und Anwendungen, die jeweils eigene Role Collection enthalten. Diese Services werden häufig in unterschiedlichen Subaccounts betrieben. Zwar ist es möglich, Benutzer und [&#8230;]</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/09/08/verwaltung-von-btp-role-collections-ueber-den-sap-cloud-identity-service/">Verwaltung von BTP Role Collections über den SAP Cloud Identity Service</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In diesem Blogbeitrag erfahren Sie, wie Role Collection in SAP BTP zentral über die SAP Cloud Identity Services verwaltet werden können.</p>



<p>SAP BTP ermöglicht die Bereitstellung verschiedener Services und Anwendungen, die jeweils eigene Role Collection enthalten. Diese Services werden häufig in unterschiedlichen Subaccounts betrieben. Zwar ist es möglich, Benutzer und Rollen separat in jedem Subaccount zu verwalten, jedoch gibt es auch eine zentralisierte Alternative.</p>



<p>Durch den Aufbau einer Vertrauensbeziehung zwischen dem Identity Service und den BTP-Subaccounts kann die Benutzer- und Rollenverwaltung über einen einzigen Identity Provider erfolgen.</p>



<p>In diesem Beitrag zeige ich Ihnen, wie man Role Collection Mapping zwischen BTP und dem Identity Authentication Service (IAS) einrichtet. Dadurch kann man die Rollenzuweisung für mehrere Subaccounts zentral über einen Identity Provider steuern.</p>



<p><strong>Voraussetzungen</strong></p>



<p>Wenn Sie über einen Identity Provider verfügen, können Sie diesen als benutzerdefinierten Provider für ein BTP-Subaccount konfigurieren. Er kann dann als Quelle für Benutzer und Role Collection verwendet werden.<br>Für die Einrichtung von Role Collection Mapping gelten folgende Voraussetzungen:</p>



<ul class="wp-block-list">
<li>Sie müssen im betreffenden Subaccount, der mit den SAP Cloud Identity Services verknüpft (vertrauend) wird, die Rolle Subaccount Administrator besitzen.</li>



<li>Der SAP Cloud Identity Services-Mandant kann in einem anderen Subaccount abonniert sein, muss jedoch zum gleichen Global Account gehören und sich in derselben Region befinden.</li>
</ul>



<p>Die Schritte zur Konfiguration der Vertrauensbeziehung (Trust Configuration) zwischen Ihrem Subaccount und dem SAP IAS-Mandanten finden Sie in folgendem SAP-Hilfedokument:</p>



<p>👉 <a href="https://help.sap.com/docs/conversational-ai/integration-with-sap-s-4hana/configure-saml-trust-between-sap-btp-subaccount-and-ias?locale=de-DE">SAML-Vertrauensbeziehung zwischen SAP-BTP-Unterkonto und IAS konfigurieren | SAP Help Portal</a></p>



<p>Hinweis: Um die Role Collection Mapping nutzen zu können, müssen Sie sich mit einem Benutzer anmelden, der im Identity Provider definiert ist <em><u>– nicht mit einem BTP-Benutzer.</u></em></p>



<p><strong>Konfigurationen</strong></p>



<ol class="wp-block-list">
<li><strong>BTP Role Collections</strong></li>
</ol>



<p>Bevor ein Role Collection Mapping erstellt wird, stellen Sie sicher, dass Sie über alle benötigten Rollen verfügen, um auf die „Role Collections“ in Ihrem Subaccount zugreifen zu können.</p>



<p>Navigiere zu:</p>



<p><em>&lt;Ihr Subaccount&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; →&nbsp;&nbsp; &nbsp;Security&nbsp; &nbsp;&nbsp;&nbsp;→&nbsp;&nbsp; Role Collections&nbsp;</em></p>



<p>Sie können die Standard Role Collection verwenden, die für BTP-Anwendungen vordefiniert sind.</p>



<p>Alternativ können Sie eine neue benutzerdefinierte Role Collection erstellen, indem Sie oben rechts auf die Schaltfläche Create klicken.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="452" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image.png" alt="" class="wp-image-843" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-300x143.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-768x367.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-18x9.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p class="has-text-align-center"><em>SAP BTP Role Collections</em></p>



<p>In diesem Beispiel wird eine neue benutzerdefinierte Role Collection mit dem Namen „My_Custom_Role“ erstellt.</p>



<ul class="wp-block-list">
<li><strong>SAP Cloud Identity Services</strong></li>
</ul>



<p>Bevor Sie mit der Konfiguration der Role Collection Mapping beginnen, müssen Sie sicherstellen, dass Sie benötigte Attribute an die Anwendung senden. Navigieren Sie in SAP Cloud Identity Service zu:<br><br><em>&nbsp;Application &amp; Resources &nbsp;&nbsp;→ &nbsp;&lt;Ihr Anwendung&gt; &nbsp;→ &nbsp;Single Sign-On &nbsp;→ &nbsp;Assertion Attributes</em></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="424" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-1.png" alt="" class="wp-image-844" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-1.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-1-300x135.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-1-768x345.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-1-18x8.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p class="has-text-align-center"><em>Anwendungsseite in den SAP Cloud Identity Services</em></p>



<p>Unter den Assertion-Attributen muss ein „Groups“-Attribut vorhanden sein. Dieses Attribut wird an die Anwendung als BTP Role übermittelt.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="517" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-2.png" alt="" class="wp-image-845" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-2.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-2-300x164.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-2-768x420.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-2-18x10.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p class="has-text-align-center"><em>Assertion Attributes einer Anwendung in den SAP Cloud Identity Services</em></p>



<p>Anschließend sollten Sie eine Gruppe für die BTP Role erstellen, die Sie zuordnen möchten. Navigieren Sie zu:<br><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Users &amp; Authorizations &nbsp;&nbsp;→ &nbsp;Groups</em></p>



<p>Erstellen Sie eine neue Gruppe, wenn es bereits eine Gruppe existiert, fügen Sie die Benutzer hinzu, die diese Rolle erhalten sollen.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="254" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-3.png" alt="" class="wp-image-846" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-3.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-3-300x81.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-3-768x206.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-3-18x5.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p class="has-text-align-center"><em>Gruppen und Benutzer in den SAP Cloud Identity Services</em></p>



<ul class="wp-block-list">
<li><strong>BTP Role Collection Mapping</strong></li>
</ul>



<p>Jetzt sind wir bereit, das Role Collection Mapping durchzuführen. Navigieren Sie in Ihrem SAP BTP Subaccount zu<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Ihr Subaccount&gt;&nbsp; &nbsp;→ &nbsp;&nbsp;Security &nbsp;&nbsp;→ &nbsp;&nbsp;Trust Configuration,</p>



<p>und klicken Sie auf den benutzerdefinierten Identity Provider, den Sie zu Beginn eingerichtet haben.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="451" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-4.png" alt="" class="wp-image-847" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-4.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-4-300x143.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-4-768x367.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-4-18x9.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p class="has-text-align-center"><em>SAP BTP Trust Configurations</em></p>



<p>Klicken Sie auf New Role Collection Mapping und wählen Sie Ihre gewünschte BTP Role Collection aus (1). Dabei kann es sich sowohl um eine Standard- als auch um eine benutzerdefinierte Role Collection handeln.</p>



<p>Für das Feld „Attribute“ geben Sie bitte den Namen des Attributs an, das Sie im Identity Authentication Service (IAS) als Gruppenattribut definiert haben (2). In der Regel bleibt dies auf „Groups“ gesetzt.</p>



<p>Im Feld „Value“ geben Sie den Namen der IAS-Gruppe an, die der ausgewählten BTP Role Collection zugeordnet werden soll (3).</p>



<p>Speichern Sie anschließend die Konfiguration.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="427" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-5.png" alt="" class="wp-image-848" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-5.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-5-300x136.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-5-768x347.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-5-18x8.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p class="has-text-align-center"><em>SAP BTP Role Collection Mapping</em></p>



<p>Die erstellten Mappings können Sie unter Role Collections einsehen.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="305" src="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-6.png" alt="" class="wp-image-849" srcset="https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-6.png 945w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-6-300x97.png 300w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-6-768x248.png 768w, https://rhein-ruhr-informatik.de/wp-content/uploads/2025/08/image-6-18x6.png 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<p class="has-text-align-center"><em>SAP BTP Role Collections mit IAS-Gruppen verknüpft</em></p>



<p><strong>Fazit</strong>:</p>



<ul class="wp-block-list">
<li>Sie können die zugewiesenen Rollen zentral im SAP Identity Authentication Service (IAS) verwalten, indem Sie die Mitglieder der entsprechenden IAS-Gruppe pflegen.</li>



<li>Im BTP Subaccount sind die durch IAS zugewiesenen Benutzerrollen nicht direkt sichtbar. Diese Rollen werden dynamisch zugewiesen, sobald sich ein Benutzer über den IAS bei Ihrer Anwendung authentifiziert.</li>
</ul>



<p><strong>Hinweis:</strong></p>



<p>Der Benutzer im IAS muss ebenfalls im entsprechenden SAP BTP Subaccount vorhanden sein. Weitere Informationen zur Benutzeranlage in BTP finden Sie unter folgendem Link:</p>



<p>👉 <a href="https://help.sap.com/docs/btp/sap-business-technology-platform/working-with-users?locale=de-DE">Arbeiten mit Benutzern | SAP Help Portal</a></p>



<p><br>Wir hoffen, dass Ihnen dieser Beitrag dabei hilft, Ihre BTP Role Collections effizient über Ihren Identity Provider zu verwalten!</p>



<p></p>



<p><em>Feyza Sahin</em></p>



<p></p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/09/08/verwaltung-von-btp-role-collections-ueber-den-sap-cloud-identity-service/">Verwaltung von BTP Role Collections über den SAP Cloud Identity Service</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Die Rolle von KI im Leben eines Softwareentwicklers</title>
		<link>https://rhein-ruhr-informatik.de/2025/08/15/die-rolle-von-ki-im-leben-eines-softwareentwicklers/</link>
		
		<dc:creator><![CDATA[Rhein-Ruhr-Informatik]]></dc:creator>
		<pubDate>Fri, 15 Aug 2025 02:38:00 +0000</pubDate>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[KI]]></category>
		<guid isPermaLink="false">https://rhein-ruhr-informatik.de/?p=836</guid>

					<description><![CDATA[<p>Künstliche Intelligenz (KI) wird zunehmend zu einem mächtigen Begleiter in der Welt der Softwareentwicklung. Vom Code-Generieren über Performance-Optimierung bis hin zur Automatisierung von Designprozessen – KI verändert rasant die Art und Weise, wie wir Software entwickeln. Aber wie genau beeinflusst KI unsere tägliche Arbeit? Als Frontend-Entwickler habe ich begonnen, KI-Tools [&#8230;]</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/08/15/die-rolle-von-ki-im-leben-eines-softwareentwicklers/">Die Rolle von KI im Leben eines Softwareentwicklers</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Künstliche Intelligenz (KI) wird zunehmend zu einem mächtigen Begleiter in der Welt der Softwareentwicklung. Vom Code-Generieren über Performance-Optimierung bis hin zur Automatisierung von Designprozessen – KI verändert rasant die Art und Weise, wie wir Software entwickeln.</p>



<p>Aber wie genau beeinflusst KI unsere tägliche Arbeit?</p>



<p>Als Frontend-Entwickler habe ich begonnen, KI-Tools zu nutzen, um meine Produktivität zu steigern. Mit der Zeit stellte ich mir dabei einige wichtige Fragen:<br>Ist KI eine Bedrohung für unsere Jobs – oder ein Motor für Innovation? Wird sie uns Entwickler irgendwann vollständig ersetzen? Und was kommt als Nächstes?</p>



<p>Schauen wir es uns genauer an.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>💡 <strong>Wie KI die Produktivität von Softwareentwicklern steigert</strong><br>KI-Tools haben viele Aspekte meines Entwicklungsprozesses deutlich beschleunigt. Hier sind einige der wichtigsten Vorteile:</p>



<ul class="wp-block-list">
<li>🔤 <strong>Code-Vorschläge &amp; Autovervollständigung</strong><br>Tools wie Windsurf oder GitHub Copilot sagen vorher, was du als Nächstes schreiben willst – und sparen so Zeit bei Syntax und Boilerplate-Code.</li>



<li>🧱 <strong>Komponentenerstellung</strong><br>Du brauchst eine responsive Navigationsleiste, ein Modal oder ein Formular? KI kann wiederverwendbare UI-Komponenten aus einfachen Anweisungen generieren – oft sogar nach Best Practices.</li>



<li>🐞 <strong>Debugging &amp; Testing</strong><br>KI erkennt Fehler, schlägt Lösungen vor und kann sogar Unit-Tests schreiben – und hilft so, Probleme frühzeitig zu erkennen.</li>



<li>🎨 <strong>Design-to-Code-Umwandlung</strong><br>Manche Tools können Designs aus Figma direkt in sauberes HTML, CSS und JavaScript umwandeln – das reduziert den manuellen Aufwand erheblich.</li>



<li>📚 <strong>Dokumentation &amp; Refactoring</strong><br>Dokumentation schreiben und Code aufräumen ist kein lästiger Task mehr. KI kann lesbare Dokumente erstellen und klarere Code-Strukturen vorschlagen.</li>
</ul>



<p>Durch die Automatisierung repetitiver Aufgaben schafft KI mehr Raum für Logik, Architektur und kreatives Problemlösen.</p>



<p>Doch wie nutzt man KI richtig, um das Beste aus ihr herauszuholen?</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>🧠 <strong>Nutze KI als Helfer, nicht als Ersatz</strong><br>Als ich KI-Tools zum ersten Mal einsetzte, übertrug ich ihnen direkt komplexe Aufgaben – in der Hoffnung, dass sie alles eigenständig lösen. Das Ergebnis? Enttäuschend. Der Output war voller Fehler und unstrukturierter Code.</p>



<p>Mit der Zeit habe ich verstanden: Der Trick ist, KI als Assistenten zu nutzen – nicht als Anführer. Denk an KI wie an einen Junior-Entwickler oder Co-Piloten. Du bist immer noch der Kapitän.</p>



<p>Was gut funktioniert:</p>



<ul class="wp-block-list">
<li><strong>Struktur vorgeben.</strong><br>Du definierst die Architektur – die KI füllt die Lücken: Utility-Funktionen, Hilfsmethoden oder kleinere Features.</li>



<li><strong>Ergebnisse überprüfen und nachbessern.</strong><br>Kontrolliere immer, was die KI liefert. Sie kann den Kontext übersehen, Bugs einführen oder falschen Konventionen folgen.</li>



<li><strong>Die Kontrolle behalten.</strong><br>Überlasse kritische Teile niemals der KI. Du bist der leitende Entwickler – die KI ist dein Werkzeug, kein Ersatz.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>🧾 <strong>Die Kunst, gute Prompts zu schreiben</strong><br>Eine der am meisten unterschätzten Fähigkeiten im Umgang mit KI als Entwickler ist das Schreiben guter Prompts. Die Qualität deiner Eingabe bestimmt direkt die Qualität der Ausgabe. Ein vager oder zu einfacher Prompt führt oft zu unbrauchbarem Code. Ein detaillierter, strukturierter Prompt hingegen liefert erstaunlich präzise Ergebnisse.</p>



<p>Je klarer und kontextreicher deine Anweisung, desto besser das Ergebnis.</p>



<p><strong>Tipps für gute Prompts:</strong></p>



<ul class="wp-block-list">
<li>Gib Sprache, Framework und gewünschtes Ergebnis an (z. B. „React-Funktionskomponente mit Tailwind CSS“).</li>



<li>Füge Beispiele oder Einschränkungen hinzu.</li>



<li>Zerlege große Aufgaben in kleinere, fokussierte Teile.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>🎯 <strong>Guter Prompt = Gutes Ergebnis</strong><br>Wenn der Code nicht funktioniert, ist oft nicht die KI schuld – sondern der Prompt. Behandle Prompt-Schreiben wie das Schreiben klarer Anforderungen an ein Feature. Je mehr Kontext du gibst, desto besser passt das Ergebnis.</p>



<p><strong>Ein schnelles Beispiel:</strong></p>



<ul class="wp-block-list">
<li><strong>Schlechter Prompt:</strong><br>„Mach mir ein Formular.“</li>



<li><strong>Guter Prompt:</strong><br>„Erstelle ein responsives Kontaktformular in React mit Validierung für E-Mail und Telefonnummer, gestaltet mit Tailwind CSS.“</li>
</ul>



<p>Der zweite Prompt gibt der KI eine klare Richtung – und das macht den Unterschied.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>✅ <strong>Vorteile der KI im Entwicklungs-Workflow</strong><br>Neben Geschwindigkeit bringt KI viele praktische Vorteile für moderne Entwickler:</p>



<ul class="wp-block-list">
<li>💼 <strong>Mehr Effizienz</strong><br>Routinetätigkeiten wie Tests schreiben, Konfigurationsdateien anlegen oder Formate konvertieren werden schneller und fehlerfreier.</li>



<li>📈 <strong>Schnelleres Prototyping</strong><br>KI hilft dabei, Ideen schnell umzusetzen – ideal zur Validierung von Designs und Funktionen.</li>



<li>💡 <strong>Wissen auf Abruf</strong><br>KI funktioniert oft wie eine intelligente Suchmaschine: Erklärungen, Code-Snippets oder Best Practices in Sekundenschnelle.</li>



<li>🧠 <strong>Bessere Codequalität (bei richtiger Nutzung)</strong><br>Mit der richtigen Anleitung kann KI sauberen Code nach Standards liefern und Anti-Patterns früh erkennen.</li>



<li>🌐 <strong>Flexibilität im Tech-Stack</strong><br>Auch bei unbekannten Bibliotheken oder Sprachen gibt KI kontextabhängige Hilfestellung.</li>



<li>⏱ <strong>Zeitersparnis</strong><br>Kleinigkeiten wie Regex-Muster, Datenformatierungen oder kleinere Bugfixes lassen sich blitzschnell lösen.</li>
</ul>



<p>Wenn man KI klug einsetzt, wird sie vom Spielzeug zum praktischen Beschleuniger des Arbeitsalltags.</p>



<p>Aber mit all diesen Möglichkeiten kommen natürlich auch Bedenken …</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>🤖 <strong>Wird KI Softwareentwickler ersetzen?</strong><br>Kurze Antwort: Nein – zumindest nicht in absehbarer Zeit.<br>KI kann gewisse Aufgaben automatisieren, aber sie fehlt es (noch) an tiefem Verständnis und Problemlösungskompetenz, wie sie menschliche Entwickler mitbringen.</p>



<p>Eine performante, barrierefreie und skalierbare Anwendung zu bauen, ist weit mehr als nur Code schreiben. Es geht um strategisches Denken, Kreativität und Zusammenarbeit – und hier sind Menschen nach wie vor unschlagbar.</p>



<p><strong>Warum Entwickler unverzichtbar bleiben:</strong></p>



<ul class="wp-block-list">
<li><strong>Kontextverständnis</strong><br>KI versteht keine Geschäftsziele, Nutzerbedürfnisse oder Produktvisionen im eigentlichen Sinne.</li>



<li><strong>Menschliche Zusammenarbeit</strong><br>Entwickler kommunizieren mit Designern, Projektmanagern, Stakeholdern – das kann KI nicht ersetzen.</li>



<li><strong>Kreative &amp; strategische Entscheidungen</strong><br>Die Wahl der richtigen Tools, UX-Optimierung und Architekturentscheidungen erfordern menschliches Urteilsvermögen.</li>



<li><strong>Problemlösung</strong><br>Reale Software ist chaotisch. Sonderfälle, Debugging und Planung erfordern logisches Denken – etwas, das KI (noch) nicht beherrscht.</li>
</ul>



<p>Aber wenn KI all das (noch) nicht kann – wie soll man sie dann nutzen?</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>🧭 <strong>Fazit</strong><br>KI verändert das Spiel für Softwareentwickler – nicht, indem sie uns ersetzt, sondern indem sie unsere Fähigkeiten verstärkt. Sie reduziert Reibung, erhöht die Effizienz und beschleunigt die Entwicklung. Der Schlüssel zum Erfolg liegt darin, zu wissen, wann und wie man sie einsetzt.</p>



<p>Die Zukunft gehört den Entwicklern, die diese Tools mit Bedacht einsetzen – mit einem Gleichgewicht aus Automatisierung, Kreativität, Urteilsvermögen und Führung.</p>



<p>Gleichzeitig entwickelt sich KI rasant weiter. Tools, Fähigkeiten und Best Practices ändern sich ständig. Was gestern funktionierte, ist morgen vielleicht schon veraltet. Deshalb sollten Entwickler KI wie jedes andere Tool im Tech-Stack behandeln: neugierig bleiben, lernen und sich kontinuierlich weiterentwickeln.</p>



<p>Also ja – nutze KI. Lass dich unterstützen.<br><strong>Aber halte stets die Hände am Steuer – und den Blick auf die Straße vor dir gerichtet.</strong></p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/08/15/die-rolle-von-ki-im-leben-eines-softwareentwicklers/">Die Rolle von KI im Leben eines Softwareentwicklers</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Windows in einem Docker-Container? Ja, wirklich!</title>
		<link>https://rhein-ruhr-informatik.de/2025/07/31/windows-in-einem-docker-container/</link>
		
		<dc:creator><![CDATA[Rhein-Ruhr-Informatik]]></dc:creator>
		<pubDate>Thu, 31 Jul 2025 12:28:33 +0000</pubDate>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Virtualization]]></category>
		<guid isPermaLink="false">https://rhein-ruhr-informatik.de/?p=833</guid>

					<description><![CDATA[<p>Wenn man in einem Linux- oder macOS-Haushalt lebt, stößt man früher oder später auf das altbekannte Problem: Man braucht plötzlich eine Anwendung, die nur unter Windows läuft. Sei es ein obskures BIOS-Tool, das sich zwar per Wine starten lässt, aber schlichtweg keine brauchbaren Ergebnisse liefert. Für technisch versierte Menschen lautet [&#8230;]</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/07/31/windows-in-einem-docker-container/">Windows in einem Docker-Container? Ja, wirklich!</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Wenn man in einem Linux- oder macOS-Haushalt lebt, stößt man früher oder später auf das altbekannte Problem: Man braucht plötzlich eine Anwendung, die nur unter Windows läuft. Sei es ein obskures BIOS-Tool, das sich zwar per Wine starten lässt, aber schlichtweg keine brauchbaren Ergebnisse liefert. Für technisch versierte Menschen lautet der erste Impuls in der Regel: „Ich richte mir eben eine VM ein.“ Klar, geht – aber einfach ist das nicht unbedingt.</p>



<p>Zunächst benötigt man einen Hypervisor, dann eine passende ISO-Datei, muss die VM konfigurieren, Partitionen einrichten, Windows installieren, Treiber hinzufügen und so weiter. Kurzum: Es ist machbar, aber nicht unbedingt angenehm.</p>



<p>Doch was, wenn ich dir sage, dass du eine vollständige Windows-Installation in einem Docker-Container starten kannst – mit geteiltem Speicher, RDP-Zugang und optionalem VLAN-Support? Klingt verrückt? Ist es auch ein bisschen. Aber es funktioniert.</p>



<p><strong>Die Idee hinter dem Projekt</strong></p>



<p>Ein Entwickler namens Kroese hat auf GitHub ein Projekt veröffentlicht, das genau das ermöglicht. Ein Docker-Container, der automatisch eine frische Windows-Installation einrichtet – und das ganz ohne manuelles Setup. Man startet einfach den Container, wartet ein paar Minuten und bekommt eine vollständig einsatzbereite Windows-Umgebung. Zugriff erfolgt bequem über den Browser oder per RDP.</p>



<p>Und das Beste: Man muss Windows nicht mal selbst installieren. Der Container übernimmt den kompletten Prozess – von der Image-Beschaffung bis zur Einrichtung.</p>



<p><strong>Wie funktioniert das technisch?</strong></p>



<p>Wer genau hinsieht, erkennt im Docker-Command das Flag, das /dev/kvm durchreicht – also den Kernel-basierten Virtualisierungsmechanismus von Linux. Kurz gesagt: Es handelt sich hierbei nicht um einen „echten“ Windows-Container, sondern um einen Linux-Container, der eine KVM-basierte VM aufsetzt. Also doch keine Magie, sondern eine clever automatisierte Lösung auf Basis bewährter Technologie.</p>



<p>Die Voraussetzung: Hardware-Virtualisierung muss vorhanden und aktiviert sein – sonst läuft hier gar nichts.</p>



<p><strong>Der große Vorteil: Komfort</strong></p>



<p>Das Besondere ist nicht die technische Innovation, sondern der enorme Komfortgewinn. Die lästigsten Aspekte einer Windows-Installation – wie Partitionierung, Ersteinrichtung oder die Wahl von Sprache und Tastaturlayout – fallen komplett weg. Alles läuft automatisiert ab.</p>



<p>Man erhält trotzdem alle Vorteile einer „normalen“ VM mit KVM: USB- und SATA-Passthrough, limitierbare CPU-Kerne und RAM, und wenn man will, sogar PCIe-Passthrough – wobei letzteres für ambitionierte Setups wahrscheinlich ohnehin in „richtige“ VMs gehört.</p>



<p><strong>Nutzung im Alltag: RDP statt VNC</strong></p>



<p>Die Web-Oberfläche des Containers nutzt VNC, was für den Anfang genügt – aber langsam ist und keinen Ton überträgt. RDP ist hier die bessere Wahl. Der Container unterstützt standardmäßig die Weiterleitung des RDP-Ports, sodass man einfach per Remotedesktop von Mac, Linux oder Windows aus zugreifen kann.</p>



<p>Dank Datenfreigabe kann man auch einfach Ordner vom Host einbinden – und so Dateien zwischen Windows und Linux austauschen. Der Standard-Container bietet 2 CPU-Kerne, 4 GB RAM und 64 GB Festplattenspeicher – alles über Umgebungsvariablen anpassbar.</p>



<p><strong>Multi-Windows? Kein Problem!</strong></p>



<p>Der Container unterstützt neben Windows 11 auch ältere Versionen – von XP bis Server 2022. Wer will, kann sogar abgespeckte Varianten wie Tiny11 oder Tiny10 nutzen – oder eigene ISO-Dateien einbinden. In einem Test liefen fünf Windows-Versionen parallel: XP, Vista, 7, 10 und 11 – alles gleichzeitig, auf einem Intel N100-System mit gerade einmal 18W Stromverbrauch.</p>



<p>Nur Windows 8.1 wollte nicht – aber wer vermisst das schon?</p>



<p><strong>Und die Lizenz?</strong></p>



<p>Die Windows-Images stammen, je nach Version, entweder direkt von Microsoft oder aus offenen Quellen wie Bob Pony. Neue Versionen sind unaktiviert, laufen aber ohne Einschränkungen 30 Tage lang. Wer länger nutzen will, muss einen gültigen Key eintragen. Das Projekt selbst enthält laut Entwickler keine proprietären Inhalte und basiert ausschließlich auf Open-Source-Code.</p>



<p><strong>Fazit: Einfach, praktisch, genial</strong></p>



<p>Ob für das schnelle Testen von Windows-Software, zum Spielen mit Legacy-Systemen oder für spezielle Tools wie BIOS-Editoren – dieses Docker-Projekt bietet eine komfortable, schlanke Lösung, bei der man auf nahezu nichts verzichten muss. Natürlich ersetzt es keine hochperformante VM mit dedizierter GPU, aber das will es auch gar nicht.</p>



<p>Was bleibt, ist ein beeindruckendes Beispiel dafür, was heute mit etwas Kreativität und offenen Standards möglich ist – ganz ohne den altbekannten Installationsfrust.</p>



<p><strong>Und wer weiß – vielleicht rettet dir Windows XP auch heute noch den Tag.</strong></p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/07/31/windows-in-einem-docker-container/">Windows in einem Docker-Container? Ja, wirklich!</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Website-Überwachung mit GitHub: So richtest du kostenloses Uptime-Monitoring mit Upptime ein</title>
		<link>https://rhein-ruhr-informatik.de/2025/07/16/website-ueberwachung-mit-github-so-richtest-du-kostenloses-uptime-monitoring-mit-upptime-ein/</link>
		
		<dc:creator><![CDATA[Rhein-Ruhr-Informatik]]></dc:creator>
		<pubDate>Wed, 16 Jul 2025 05:51:45 +0000</pubDate>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Monitoring]]></category>
		<guid isPermaLink="false">https://rhein-ruhr-informatik.de/?p=828</guid>

					<description><![CDATA[<p>Es gibt kaum etwas Schlimmeres, als morgens aufzuwachen und die Nachricht zu lesen, dass deine Website offline ist – außer vielleicht gar nicht zu wissen, dass sie überhaupt offline ist.Egal ob persönliche Homepage, Kundenprojekt oder SaaS-Anwendung: Ein Uptime-Monitor ist unverzichtbar. Denn Websites können aus den seltsamsten Gründen ausfallen – und [&#8230;]</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/07/16/website-ueberwachung-mit-github-so-richtest-du-kostenloses-uptime-monitoring-mit-upptime-ein/">Website-Überwachung mit GitHub: So richtest du kostenloses Uptime-Monitoring mit Upptime ein</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Es gibt kaum etwas Schlimmeres, als morgens aufzuwachen und die Nachricht zu lesen, dass deine Website offline ist – außer vielleicht gar nicht zu wissen, dass sie überhaupt offline ist.<br>Egal ob persönliche Homepage, Kundenprojekt oder SaaS-Anwendung: Ein Uptime-Monitor ist unverzichtbar. Denn Websites können aus den seltsamsten Gründen ausfallen – und du willst nicht von einem verärgerten Kunden darauf aufmerksam gemacht werden.</p>



<h2 class="wp-block-heading">Warum ein Uptime-Monitor Pflicht ist</h2>



<p>Uptime-Monitore benachrichtigen dich, sobald deine Website nicht erreichbar ist. Die meisten Lösungen fallen dabei in zwei Kategorien:</p>



<ul class="wp-block-list">
<li>Gehostete Dienste wie UptimeRobot, Hyperping oder OhDear, die regelmäßig deine Website überprüfen.</li>



<li><strong>Self-Hosted Open-Source-Tools</strong> wie Uptime Kuma oder OpenStatus, die du selbst betreibst.</li>
</ul>



<p>Selbstgehostete Lösungen haben allerdings einen großen Nachteil: Wenn dein gesamter Server ausfällt, ist auch der Monitor betroffen. Daher müsstest du diesen auf einem komplett separaten Server oder Anbieter hosten – das ist aufwendig und fehleranfällig.</p>



<h2 class="wp-block-heading">Die Lösung: Upptime</h2>



<p>Hier kommt Upptime ins Spiel – eine komplett kostenlose und Open-Source-basierte Monitoring-Lösung, die du direkt mit deinem GitHub-Konto betreiben kannst. Keine externen Server, keine Kosten. Upptime nutzt drei zentrale Funktionen von GitHub:</p>



<ol class="wp-block-list">
<li><strong>GitHub Actions</strong></li>



<li><strong>GitHub Issues</strong></li>



<li><strong>GitHub Pages</strong></li>
</ol>



<h3 class="wp-block-heading">1. GitHub Actions für Monitoring</h3>



<p>GitHub Actions ermöglichen automatisierte Abläufe – z. B. Tests, Deployments oder eben das regelmäßige Prüfen, ob deine Website erreichbar ist. Upptime konfiguriert diese Prüfungen über einfache YAML-Dateien im Verzeichnis <code>.github/workflows</code>.<br>Über GitHubs eigene Zeitplanung kannst du Checks beispielsweise alle 5 Minuten automatisiert ausführen lassen.</p>



<h3 class="wp-block-heading">2. Benachrichtigung über GitHub Issues</h3>



<p>Fällt deine Website aus, erstellt Upptime automatisch ein <strong>GitHub-Issue</strong> – eine Art Zwischenfallbericht. Diese Funktion kann erweitert werden, etwa mit Benachrichtigungen via Slack, Telegram, Discord, E-Mail oder sogar SMS.<br>Sobald die Website wieder erreichbar ist, schließt Upptime das Issue automatisch.</p>



<h3 class="wp-block-heading">3. GitHub Pages als Statusseite</h3>



<p>Eine weitere Stärke: Upptime erstellt eine <strong>öffentliche Statusseite</strong> via GitHub Pages.<br>Diese zeigt in Echtzeit die Erreichbarkeit deiner Website, inklusive Ladezeiten und Verlaufsdiagrammen. Kommentare zu Incidents werden automatisch übernommen – perfekt für transparente Kommunikation mit deinen Nutzern.</p>



<h2 class="wp-block-heading">Einrichtung von Upptime</h2>



<p>Die Einrichtung ist einfach:</p>



<ol class="wp-block-list">
<li>Forke das offizielle <a class="" href="https://github.com/upptime/upptime">Upptime-Repository</a> als Vorlage.</li>



<li>Erstelle ein neues öffentliches Repository auf Basis dieser Vorlage.</li>



<li>Generiere ein GitHub Access Token mit den nötigen Berechtigungen (Actions, Issues, Contents, Workflows).</li>



<li>Hinterlege dieses Token in den Repository-Settings unter <strong>Secrets</strong> als <code>GH_PAT</code>.</li>



<li>Konfiguriere deine <code>.upptimerc.yml</code> mit deinem GitHub-Namen, Repo-Namen und den zu überwachenden URLs.</li>



<li>Commits triggern automatisch die Checks und die Statusseiten werden erstellt.</li>
</ol>



<h2 class="wp-block-heading">Fazit</h2>



<p>Upptime ist eine elegante Lösung für Entwickler:innen, Freelancer und Agenturen, die ein kostenloses, zuverlässiges und transparentes Monitoring wünschen – ganz ohne externe Server.</p>



<p>Mit Upptime erhältst du:</p>



<ul class="wp-block-list">
<li>Regelmäßige Checks deiner Website</li>



<li>Automatische Incident-Reports</li>



<li>Öffentliche Statusseiten mit Verlauf und Ladezeiten</li>
</ul>



<p>Alles, was du brauchst, ist ein GitHub-Konto.<br>Du möchtest wissen, wie lange die Einrichtung dauert?<br>Im Video wurden Setup und Videoerstellung mit dem Open-Source-Zeittracker <strong>Solidtime</strong> erfasst – ebenfalls eine spannende GitHub-basierte Lösung.</p>



<p>Links zu Upptime, Dokumentationen und weiteren Tools findest du in der Beschreibung des Videos.<br>Und wer weiß – vielleicht ist Upptime auch genau die Lösung für dein nächstes Projekt.</p>



<p>🔗 <a class="" href="https://github.com/upptime/upptime">https://github.com/upptime/upptime</a></p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/07/16/website-ueberwachung-mit-github-so-richtest-du-kostenloses-uptime-monitoring-mit-upptime-ein/">Website-Überwachung mit GitHub: So richtest du kostenloses Uptime-Monitoring mit Upptime ein</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>EDI, EDIFACT und EANCOM Kurzeinführung</title>
		<link>https://rhein-ruhr-informatik.de/2025/06/30/edi-edifact-und-eancom-kurzeinfuehrung/</link>
		
		<dc:creator><![CDATA[Rhein-Ruhr-Informatik]]></dc:creator>
		<pubDate>Mon, 30 Jun 2025 05:05:51 +0000</pubDate>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[B2B Integration]]></category>
		<guid isPermaLink="false">https://rhein-ruhr-informatik.de/?p=820</guid>

					<description><![CDATA[<p>Was ist und wofür steht EDI? In unserer globalen Geschäftswelt ist die reibungslose Kommunikation zwischen den Geschäftspartnern eines der wichtigsten Kriterien, um den weltweiten Handel in der heutigen Form durchzuführen. Um dieses zu erreichen, wurde EDI (Electronic Data Interchange) mit dem Zweck, den elektronischen Austausch von Geschäftsdokumenten, wie beispielsweise Artikelstammdaten, [&#8230;]</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/06/30/edi-edifact-und-eancom-kurzeinfuehrung/">EDI, EDIFACT und EANCOM Kurzeinführung</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Was ist und wofür steht EDI?</strong></p>



<p>In unserer globalen Geschäftswelt ist die reibungslose Kommunikation zwischen den Geschäftspartnern eines der wichtigsten Kriterien, um den weltweiten Handel in der heutigen Form durchzuführen. Um dieses zu erreichen, wurde EDI (Electronic Data Interchange) mit dem Zweck, den elektronischen Austausch von Geschäftsdokumenten, wie beispielsweise Artikelstammdaten, Bestellungen, Lieferscheine und Rechnungen auszutauschen, eingeführt.</p>



<p>Als Vater des elektronischen Datenaustausches gilt Edward Guilbert der EDI bereits in den 1960er Jahren in den Lieferketten der US-Transportbranche implementierte. Um die globale Reichweite der Technologie zu verbessern schuf 1985 die UN EDIFACT EDI. Diese Dokumente werden in Form von strukturierten Daten und ohne manuelle Eingriffe ausgetauscht.</p>



<p>Gegenüber papierbasierten Geschäftsprozessen hat EDI den entscheidenden Vorteil, dass es eine automatisierte Verarbeitung mit sehr geringer Fehlerquote ist und die Möglichkeit bietet, EDI-Nachrichten automatisch ins ERP-System (Warenwirtschaftssystem des Unternehmens) zu erfassen.</p>



<p><strong>Was ist EDIFACT?</strong></p>



<p><strong>UN/EDIFACT</strong> sind Regeln der Vereinten Nationen und umfassen eine Reihe international vereinbarter Standards, Verzeichnisse und Richtlinien für den elektronischen Austausch von strukturierten Daten zwischen weltweit unabhängigen computergestützten Informationssystemen.“</p>



<p><strong>EDIFACT (Electronic Data Interchange for Administration, Commerce and Transport) </strong>bedeutet zu Deutsch, -elektronischer Datenaustausch für Verwaltung, Handel und Transport-. Dieser besteht aus einer hierarchischen Struktur, bei der die oberste Ebene als Interchange bezeichnet wird. Eine EDIFACT-Nachricht ist eine vollständige, strukturierte Datensequenz, die einen einzelnen Geschäftsvorgang darstellt, wie zum Beispiel eine Bestellung. Die UN/EDIFACT-Syntax ist in der Norm ISO 9735 festgelegt. Er umfasst über 200 verschiedene Nachrichtentypen und wird mittlerweile von mehr als 300.000 Unternehmen weltweit eingesetzt.</p>



<p><strong>EANCOM ein Subset aus EDIFACT</strong></p>



<p><strong>EANCOM®</strong> <strong>(EAN + Communication)</strong> ist ein weltweit gültiger Nachrichtenstandard, mit dem international und branchenübergreifend elektronisch Geschäftsdaten ausgetauscht werden können. Er ist der global am weitesten verbreitete Standard für den elektronischen Datenaustausch EDI. Die Besonderheit von EANCOM® ist die Berücksichtigung der globalen GS1 Standards zur Identifikation wie z.B. GLN, GTIN und SSCC/NVE.</p>



<p><strong>GLN</strong> &#8211; Mit der GLN werden Unternehmen und Unternehmensteile, wie zum Beispiel Standorte oder Lager, weltweit eindeutig und überschneidungsfrei identifiziert und ist 13-stellig.</p>



<p><strong>GTIN</strong> &#8211; Mit der GTIN kann jeder Artikel, jedes Produkt oder jede Produktvariante weltweit überschneidungsfrei identifiziert werden.</p>



<p><strong>SSCC/NVE</strong> &#8211; Der SSCC (Serial Shipping Container Code) ist eine 18-stellige Identifikationsnummer für jegliche Arten von Transporteinheiten, z.B. Paletten und Versandkartons. In Deutschland wird er auch als NVE (Nummer der Versandeinheit) bezeichnet. In der Praxis ist der SSCC wichtiger Bestandteil des GS1 Transportetiketts.</p>



<p>Weitere Infos dazu finden man auf der Seite der GS1 unter www.gs1-germany.de</p>



<p>Im EANCOM-Subset werden nur die benötigten Segmente aus dem unterliegenden UN/EDIFACT-Standard verwendet. Die Besonderheiten eines Subsets stellen die branchenspezifischen Qualifier dar. Diese erweitern den Standard um die in der Branche üblichen und benötigten Ausprägungen.</p>



<p>Der Standard EANCOM® wurde ursprünglich für die Bedürfnisse der Konsumgüterindustrie konzipiert. Heute ist der EDI-Standard jedoch branchenübergreifend aufgestellt. Beispiele hierfür sind das Gesundheitswesen, Logistik, Fashion, eCommerce oder Bargeldlogistik.&nbsp;</p>



<p>EANCOM (EAN + Communication) steht für detaillierte Beschreibungen vereinfachter EDIFACT-Nachrichten, die Anwender leicht verstehen und in der Praxis einsetzen können. GS1 ist für die Weiterentwicklung des EDIFACT-Subsets EANCOM® verantwortlich.</p>



<ul class="wp-block-list">
<li>EANCOM beinhaltet alle&nbsp;GS1 Identifikationsstandards (z.B. GLN &amp; GTIN) und hat dadurch einen sehr hohen Nutzen in der Vereinheitlichung des elektronischen Datenaustausch.</li>



<li>Ermöglicht eine direkte elektronische Verarbeitung nach Erhalt der Daten, mit direktem Zugriff auf die gesendeten Informationen in kürzester Verarbeitungszeit.</li>



<li>Vorteile einer internationale Unternehmenskommunikation in einheitlicher Datenstruktur.</li>



<li>Durch die elektronische Übermittlung ergibt sich eine hohe Sicherheit der Datenkonsistenz gegenüber manuellen Eingaben in den ERP-Systemen und es entfallen aufwendige Kontrollprozesse zur Freigabe der Daten.&nbsp;</li>



<li>Spürbare Reduzierung in den Aufwänden für Verwaltung und Personal sowie Porto und Versandkosten.</li>
</ul>



<p><strong>Struktur einer Übertragungsdatei</strong></p>



<p>Eine einfache Übertragungsdatei besteht aus einem Nutzdaten-Kopfsegment mit den Nutzdaten. Diese interpretieren vereinfacht dargestellt einen Briefumschlag mit Absender und Empfänger, sowie den inhaltlichen Text.</p>



<p>Diese Segmente beginnen immer mit einem “UN“ und werden Service Segmente genannt. Jedes Segment gibt wie in einer XML-Struktur, ein definierter Anfang und Ende zusammenhängender Daten an.</p>



<p>UNB als Anfang und UNZ als Ende (dieses ist der Umschlag)</p>



<p>UNH als Anfang und UNT als Ende (dieses ist der gesamte Brief)</p>



<p>Zusätzlich UNS innerhalb des UNH-UNT das als Abschnitts-Kontrollsegment dient. Je nach Nachrichtenart folgen dann Segmente zur Kontrolle oder nicht.</p>



<p>Innerhalb des UNH-UNT gibt es dann eine Aufteilung, die je nach Nachrichtenart aus drei Teilen besteht.</p>



<ul class="wp-block-list">
<li>Einem Kopfteil der sich auf die gesamte Nachricht bezieht.</li>
</ul>



<ul class="wp-block-list">
<li>Positionsteil, wo sich die angegebenen Daten immer nur auf diese eine Position beziehen.</li>
</ul>



<ul class="wp-block-list">
<li>Einem Summenteil, wo es nur Segmente zu Summen und Kontrollwerte gibt wie z.B. Anzahl der Bestellposition oder Rechnungsgesamtbetrag usw.</li>
</ul>



<p>Zusätzlich gibt es noch die Möglichkeit einen erweiterten Zeichensatz anzuwenden, den auch die meisten Handelspartner anwenden und diesen dadurch kenntlich machen, indem Sie ein UNA der eigentlichen Nachricht voranstellen. Dieses zeigt explizit den Gebrauch der Standard-Trennzeichen innerhalb der Nachricht an.</p>



<p><strong>Nutzdatensegmente</strong></p>



<p>Für die Nutzdatensegmente gibt es eine Vielzahl von Bezeichnern die eine grobe Information und Qualifier, die eine genaue Angabe über die Bedeutung bzw. Zugehörigkeit der übermittelten Daten festlegen. Dazu gibt es noch Code Werte, die eine Nachrichtenfunktion beschreiben.</p>



<p><strong>Zwei Segment Beispiele zur Verdeutlichung:</strong></p>



<pre class="wp-block-code"><code>DTM+137:20250502:102‘
DTM		= Bezeichner für das Segment – Datum/Uhrzeit/Zeitspanne-
+		= Trennzeichen
137		= Qualifier der festlegt, dass es sich um das Dokumentendatum handelt
:		= Trennzeichen
20250502	= Datum, wann der Beleg erstellt wurde
: 		= Trennzeichen
102		= Code der festlegt, wie das Format des Datums anzugeben ist.
‚		= Segmentende Kennzeichen
</code></pre>



<pre class="wp-block-code"><code>BGM+220+2334583161+9'
BGM		= Bezeichner für das Segment – Beginn der Nachricht-
+		= Trennzeichen
220		= Qualifier der festlegt, dass es sich um eine Bestellung handelt
+		= Trennzeichen
2334583161	= Auftragsnummer der Bestellung oder Bestellnummer
+		= Trennzeichen
9		= Code für Original
‚		= Segmentende Kennzeichen
</code></pre>



<p></p>



<p></p>



<p><strong>Beispiel einer einfachen EANCOM ORDERS (Bestellung) mit zwei Positionen</strong></p>



<pre class="wp-block-code"><code>UNA:+.? '	  
UNB+UNOC:3+4888885550836:14+9898999999999:14+250424:1312+16984+++++EANCOM'
UNH+001+ORDERS:D:96A:UN:EAN008'		Referenznummer der ORDERS lautet 001 und Versionsangaben
BGM+220+4700483161+9'			Die Bestellnummer lautet 4700483161
DTM+137:20250424:102'			Das Belegdatum ist der 24.04.2025
DTM+2:20250429:102'				Der Liefertermin soll der 29.04.2025 sein
NAD+BY+4888885550836::9'			Die eindeutige GLN des Bestellers
NAD+SU+9898999999999::9'			Die eindeutige GLN des Lieferanten
NAD+DP+4888885551234::9'			Die eindeutige GLN des Warenempfängers (z.B. ein Lager)
NAD+IV+4888885550001::9'			Die eindeutige GLN an dem die Rechnung zu Auszustellen ist
CUX+2:EUR:9'					Währungsangabe
LIN+1++9898942116455:EN'			Erste Position mit der eindeutigen Artikel GTIN 9898942116455
PIA+1+77315-705:SA'				Interne Artikelnummer des Lieferanten 77315-705
IMD+F++:::BLUSE/BLOUSES'			Artikelbeschreibung
QTY+21:36:PCE'					Menge der Bestellten Artikel ist 36
PAC++1'					Packstück/Verpackung
LIN+2++9898912548068:EN'			Zweite Position mit der eindeutigen Artikel GTIN 9898912548068
PIA+1+77315-732:SA'				Interne Artikelnummer des Lieferanten 77315-732
IMD+F++:::HOSE/PANTS'			Artikelbeschreibung
QTY+21:60:PCE'					Menge der Bestellten Artikel ist 60
PAC++1'					Packstück/Verpackung
UNS+S'						Abschnitts Kontrollsegment
UNT+21+001'					Nachrichtenende, es gibt 21 Segmente inkl. UNH-UNT  
UNZ+1+16984'					Ende, es befindet sich eine Nachricht im Umschlag 16984 
</code></pre>



<p><strong>Datenübermittlung</strong></p>



<p>Für die Übermittlung von EDI-Daten gibt es vielfältige Möglichkeiten. Am häufigsten werden AS2 (Applicability Statement 2, ist ein HTTP-basiertes Protokoll), oder X.400 ( BusinessMail, ein Message Transfer System der Deutschen Telekom) verwendet. Auch gesicherte Verbindungen über z.B. SFTP, SCP, OFTP usw., werden in bilateraler Absprache eingesetzt.</p>



<p><strong>EDI intern oder extern?</strong></p>



<p>Ein Unternehmen kann eine EDI-Abteilung aufbauen, die zusammen mit der eigenen IT aus den internen Systemen Schnittstellen definiert und jeweils ein zugehöriges Mapping erarbeitet, die dann im Datenausgang EDI Nachrichten erzeugt und über die bilateral abgesprochene Verbindung zum Partner versendet. Die von den Partnern versendeten EDI-Nachrichten ans Unternehmen werden in Umkehr durch Mappings in die systemeigenen Schnittstellen konvertiert, um automatisch eingelesen und verarbeitet werden zu können. Da sich Unternehmen ständig an den Markt anpassen müssen oder interne Betriebsabläufe oder Systeme ändern, gibt es auch in der EDI-Verarbeitung meistens kleinere oder größere Projekte, die zu Anpassungen an diesen Schnittstellen führen. Wie viele Mitarbeiter benötigt werden, um eine interne Abteilung aufzubauen, die den Kundenkontakt, Support und IT-Leistungen koordiniert, ist einer der entscheidenden Faktoren, ob diese Lösung in Betracht kommt.</p>



<p>Eine externe Lösung, die viele Unternehmen wählen hat den Vorteil, dass keine Infrastruktur im Unternehmen selbst aufgebaut werden muss. Der EDI-Dienstleister übernimmt alle Aufgaben, die für den elektronischen Datenaustausch mit den Partnern nötig sind. Durch Analysen werden die systemeigenen Schnittstellen des Unternehmens vom EDI-Dienstleister ohne Veränderung aufgenommen. Er verfügt in der Regel über eigene Konverter Systeme, wo die aufgenommenen Schnittstellendaten in abgesprochene EDI-Formate konvertiert werden, um diese an die zugehörigen Partner zu versenden. Der Empfang von Daten, die der Partner versendet hat, wird entsprechend umgekehrt verarbeitet und die passend konvertierten Daten an die Schnittstelle übergeben. Er übernimmt die elektronische Kommunikation zum Unternehmen und den Partnern sowie den AMS-Support.</p>



<p><strong>Fazit:</strong></p>



<p>Die hier dargestellte, kurze Erläuterung von EDI, EDIFACT und EANCOM ist ein sehr kleiner Teil des gesamten Spektrums dieser Thematik und gibt nur einen kurzen Einblick in die Welt des elektronischen Datenaustausches. Es zeigt aber die Möglichkeit auf, einen einfachen und sicheren Datenaustausch zwischen Kunde und Lieferant herzustellen, so dass diese Unternehmen die verschickten Daten ohne manuelle Bearbeitung weiterverarbeiten können. Die Einsatzmöglichkeit von EDI ist sehr vielfältig, effizient und kann Unternehmen große Kosteneinsparungen in der Datenverarbeitung erbringen. Eine umfassende Beratung von EDI-Spezialisten mit anschließender Analyse der internen Unternehmensabläufe, aktueller Datenverarbeitung und bestehenden Systemen sind für die Einführung mehr als empfehlenswert. Es gibt viele Faktoren die bei der Einführung von EDI entscheidend sind, wie z.B., mit wie vielen Partnern soll der Datenaustausch erfolgen, welche Nachrichtenarten möchte man einführen, welche Anzahl an Nachrichten werden pro Tag oder Monat ausgetauscht, wie viele Schnittstellen werden benötigt und noch viele andere.&nbsp; Aus der Analyse können dann auch die möglichen Schlüsse für eine interne oder externe Lösung ausgearbeitet werden, um die optimale Effizienz auszuschöpfen.</p>
<p>The post <a href="https://rhein-ruhr-informatik.de/2025/06/30/edi-edifact-und-eancom-kurzeinfuehrung/">EDI, EDIFACT und EANCOM Kurzeinführung</a> appeared first on <a href="https://rhein-ruhr-informatik.de">Rhein-Ruhr-Informatik</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
