ESP Document - G3 Technische Informationen
D0 - Öffentliche Dokumente - Frederic Beckmann - 07/10/2019
<h1> Technische Informationen LEEGOO BUILDER G3 </h1> [TOC] # LEEGOO BUILDER G3 Desktop Anwendung ## Beschreibung Die Anwendung wurde auf dem "Know How" des [LEEGOO BUILDER G2](https://www.eas-solutions.de/cpq-produkte/leegoo-builder-engineering-edition-g2.html "LEEGOO BUILDER G2") komplett neu implementiert. ## Architektur [LEEGOO BUILDER G3](https://www.eas-solutions.de/cpq-produkte/leegoo-builder-engineering-edition-g3.html "LEEGOO BUILDER G3") wurde als Server-Client Anwendung entwickelt. Der Server und der Client werden in einer Anwendung ausgeliefert, sodass die Software sich direkt auf die Datenbank verbinden kann und außer dem SQL Server keine zusätzliche Installation nötig ist.  ## Verwendete Frameworks und Tools    | Eigenschaft | Wert | | ------------ | ------------ | | Programmiersprache | [C# ](https://de.wikipedia.org/wiki/C-Sharp "C# ") | |Anzeige |[WPF (Windows Presentation Foundation)](https://de.wikipedia.org/wiki/Windows_Presentation_Foundation "WPF ()")| | Entwurfsmuster | [MVVM](https://de.wikipedia.org/wiki/Model_View_ViewModel "MVVM") | |UI Elemente| [Devexpress WPF](https://www.devexpress.com/ "Devexpress") | ## Client Automation API Für die Automatisierung der Desktop Anwendung steht eine API zur verfügung. Mit dieser lassen die die Funktionen der Destop Anwendung ausführen (z.B. Neues Projekt erstellen, neuen Beleg anlegen...). | Eigenschaft | Wert | | ------------ | ------------ | |Typ|[WEB API](https://de.wikipedia.org/wiki/ASP.NET#ASP.NET_Web_API "WEB API")| |Technologie|[REST](https://de.wikipedia.org/wiki/Representational_State_Transfer "REST")| |Authentifizierung|Keine, da nur in direkter Verbindung mit der Desktop Anwendung benutzbar| |Übertragung|[XML](https://de.wikipedia.org/wiki/Extensible_Markup_Language "XML"), [JSON](https://de.wikipedia.org/wiki/JavaScript_Object_Notation "JSON")| |Client DLL|Ja, eine [.Net Core](https://de.wikipedia.org/wiki/.NET_Core ".Net Core") Dll | # LEEGOO BUILDER G3 API ## Beschreibung Zusätzlich zur Client Automation API der Desktop Anwendung gibt es noch eine alleinstehende API, welche alle Funktionen des LEEGOO G3 zur Verfügung stellt. ## Architektur  <div class="alert alert-success" role="alert">Auf die API kann mit einem HTTP Request zugegriffen werden. Neben den auch unterstützren Formaten XML und JSON wird auch die Komprimierung [Protobuf](https://de.wikipedia.org/wiki/Protocol_Buffers "Protobuf") für schnellere und effizientere Übertragungen unterstützt.</div> ## Verwendete Frameworks und Tools <img src="/image/d70b67f0-d501-e911-80dd-d0bf9c3a26d9" height="100" /> <img src="/image/66235993-e301-e911-80dd-d0bf9c3a26d9" width="250" /> <img src="/image/30373406-e401-e911-80dd-d0bf9c3a26d9" width="250" /> <img src="/image/e7f9db37-e501-e911-80dd-d0bf9c3a26d9" width="250" /> | Eigenschaft | Wert | | ------------ | ------------ | | Programmiersprache | [C# ](https://de.wikipedia.org/wiki/C-Sharp "C# ") | |Technologie|[REST](https://de.wikipedia.org/wiki/Representational_State_Transfer "REST")| | Entwurfsmuster |Datenhaltung/Übertragung mit [POCO](https://en.wikipedia.org/wiki/Plain_old_CLR_object) Klassen | |Übertragung|[XML](https://de.wikipedia.org/wiki/Extensible_Markup_Language "XML"), [JSON](https://de.wikipedia.org/wiki/JavaScript_Object_Notation "JSON"), [Protobuf](https://de.wikipedia.org/wiki/Protocol_Buffers "Protobuf")| |Client|Ja, eine [.Net Core](https://de.wikipedia.org/wiki/.NET_Core ".Net Core") Dll, [Javascript](https://de.wikipedia.org/wiki/JavaScript "Javascript") und [Typescript](https://de.wikipedia.org/wiki/TypeScript "Typescript") Client | |Authentifizierung|[JWT (JSON Web Token)](https://de.wikipedia.org/wiki/JSON_Web_Token "JWT(JSON Web Token)")| |Dokumentation|Automatisch erstellt mit [SWAGGER](https://de.wikipedia.org/wiki/Swagger_(Software)| # LEEGOO BUILDER G3 Web Anwendung ## Beschreibung Das Webinterface befindet sich aktuell in der Entwicklung und dessen Ziel ist es nach und nach alle Funktionalität des [LEEGOO BUILDER G3](https://www.eas-solutions.de/cpq-produkte/leegoo-builder-engineering-edition-g3.html "LEEGOO BUILDER G3") auch im WEB zur Verfügung zu stellen. ## Architektur  <div class="alert alert-info" role="alert">Alle Operationen des Webinterface laufen über die LEEGOO G3 Web-API zu dem SQL-Server.</div> ## Verwendete Frameworks und Tools <img src="/image/1c0b3e5b-4f41-ec11-a8bd-0abaea937309" height="100" /> <img src="/image/ff8b9242-db01-e911-80dd-d0bf9c3a26d9" height="150" /> <img src="/image/83e70e10-4f41-ec11-a8bd-0abaea937309" height="100" /> <img src="/image/a26acdf1-3042-ec11-a8bd-0abaea937309" width="400" /> <img src="/image/82495c92-2f42-ec11-a8bd-0abaea937309" width="400" /> | Eigenschaft | Wert | | ------------ | ------------ | | Programmiersprache | [C# ](https://de.wikipedia.org/wiki/C-Sharp "C#") | |Anzeige |[Asp.net Core](https://de.wikipedia.org/wiki/.NET_Core "Asp.net Core") und [Blazor](https://en.wikipedia.org/wiki/Blazor "Blazor")| |Anzeige Framework|[Bootstrap Material](https://daemonite.github.io/material/ "Bootstrap Material")| | Technologie | [Blazor Server](https://docs.microsoft.com/de-de/aspnet/core/blazor/hosting-models?view=aspnetcore-5.0#blazor-server-1 "Blazor Server") und [Blazor WebAssembly](https://docs.microsoft.com/de-de/aspnet/core/blazor/hosting-models?view=aspnetcore-5.0#blazor-webassembly-1 "Blazor Webassembly")| |Verbindung Server :fa-exchange: Client| Web-API mit [REST](https://de.wikipedia.org/wiki/Representational_State_Transfer "REST") | |UI Elemente| [Syncfusion](https://www.syncfusion.com/blazor-components "Syncfusion Blazor") und [Blazorise](https://blazorise.com/ "Blazorise")| # LEEGOO BUILDER G3 in der Cloud LEEGOO BUILDER G3 Desktop kann auch in der Cloud betrieben werden und nachfolgend werden die verschiedenen Betriebsarten aufgelistet. Es macht bei diesen Betriebsarten keinen Unterschied, welcher Cloud Service verwendet wird([Azure](https://de.wikipedia.org/wiki/Microsoft_Azure "Azure"), [Amazon Web Services](https://de.wikipedia.org/wiki/Amazon_Web_Services "Amazon Web Services"), Self Hosted, etc..). Voraussetzungen: - [Virtuelle Maschine](https://de.wikipedia.org/wiki/Virtuelle_Maschine "Virtuelle Maschine") - Windows Betriebssystem - Es gelten die normalen [G3 Mindestanforderungen ](/document/c0f7a349-43f9-e811-80dd-d0bf9c3a26d9) ## 1. Betriebsart SQL Server in der Cloud  In dieser Betriebsart wird der SQL-Server in der Cloud betrieben und LEEGOO BUILDER G3 [On Premises](https://de.wikipedia.org/wiki/On_Premises "On Premises") (Vor Ort) betrieben. <div class="alert alert-danger" role="alert">Wichtig ist, dass bei dieser Betriebsart die Anbindung zum Internet hervorragend ist, da die Anwendung sehr Datenlastig ist.</div> ## 2. Betriebsart Gesamte Anwendung in der Cloud  In dieser Betriebsart wird die komplette Anwendung in die Cloud ausgelagert und die Anzeige remote über das Internet übertragen. <div class="alert alert-warning" role="alert">Dieses setzt sehr viele Ressourcen in der Cloud voraus. Je Benutzer werden mindestens 2GB Ram benötigt.</div> ## 3. Betriebsart LEEGOO BUILDER G3 Web Anwendung  In dieser Betriebsart wird ein Server mit der LEEGOO BUILDER G3 Webanwendung betrieben. Zur Anzeige und Bedienung wird der Browser benutzt. <div class="alert alert-success" role="alert">Die einzelnen Komponenten aus dem Bereich "Server" lassen sich auch auf verschiedenen Servern sowie in der Cloud betreiben.</div> <div class="alert alert-warning" role="alert">Vorerst sind nur die Nutzersichten in der Webanwendung verfügbar. Bis zur vollständigen implementation aller Funktionen wird der LEEGOO BUILDER G3 zur Administration benötigt.</div>