![]() |
Cloud basierte Anwendungen erzeugen
Hallo Zusammen,
hat sich schon mal jemand hier mit dem Thema beschäftig, Anwendungen zu entwickeln die vollständig auf einer Cloud laufen sollen? Wenn ja, welche Werkzeuge werden üblicherweise eingesetzt? |
AW: Cloud basierte Anwendungen erzeugen
Du müsstest erstmal sagen was du mit "Cloud" und "vollständig auf einer Cloud laufen" meinst.
Du kannst in der "Cloud" eine virtuelle Windows-Maschine haben und dann dein 1998 mit Delphi entwickeltes Programm laufen lassen. Alles von Hand per Webinterface zusammengeklickt. Am anderen Ende des Spektrums hast du mit node.js geschriebene Funktionen die auf einer Serverless Plattform laufen, und die mit Hilfe von terraform provisioniert und deployed werden. |
AW: Cloud basierte Anwendungen erzeugen
Derzeit entwickeln wir auf zwei verschiedene Arten:
A) neue native Windows Anwendungen mit D11 und pflegen noch alte Projekte mit D5. B)Wir entwickeln PWA Anwendungen mit Node.js und React.js. Als REST-API Server erzeugen wir in Node.js oder mit Delphi als Windows Service und verwenden dabei die MARS Komponenten von Andrea Magni, ein sehr angenehmer Mensch. Bis zu einem gewissen Grad an Komplexität funktioniert die Variante B perfekt. Wenn ich allerdings komplexe WaWi-Systeme die in D11 entwickelt werden vollständig in die Web-Welt projiziere dann sehe ich Probleme wie z.B. das Reporting um nur ein Element zu greifen. Aktuell kann ich mit FastReport(ich liebe FastReport) Duplex drucken und Papierschächte ansteuern. Für die Web-Welt fehlt mir die Funktionalität. Web Report Engines wie JasperReports sind sehr mächtig können aber nach meinem Stand(ca. 12 Monate alt) genau das nicht. Ich möchte meinem Kunden nicht sagen müssen, wenn wir das Projekt als Web-Anwendung starten, musst du dich von Papierschächten und Duplex-Druck verabschieden. Die Kunden kommen verstärkt mit dem Wunsch auf Cloud bzw. Web-Anwendungen. Für meinen Kundenkreis muss ich auch externe Hardware nutzen können wie z.B: besondere Label Drucker, RFID und Barcode, 3D-Code Scanner, Anbindungen an SPS Steuerungen usw. nutzen können. Derzeit mit einer nativen Windows Anwendung alles kein Problem. Wenn der Mist allerdings in der Cloud bzw. im Web sein soll habe ich bisher keine Ansatzpunkte gefunden. Wie lange wird Microsoft noch native 32/64Bit Anwendungen unterstützen? Die stellen das Windows Betriebssystem je auch auf die Cloud um. Die Google Umgebung "GO" habe ich mir auch angeschaut. Die Cloud und Web-Welt so scheint es mir, interessieren sich nicht für externe Hardware die angesprochen werden möchte. Genau daran zweifle ich. ioT Hardware gibt es nicht für jeden Bereich. Ich kann mir das nicht vorstellen dass es wirklich so ist. Ich schätze ich bin nur noch nicht auf die Umgebung gestoßen die all das ermöglicht, deshalb die Frage hier ob ich möglicherweise einen Hinweis bekomme in welcher Richtung ich schauen sollte. |
AW: Cloud basierte Anwendungen erzeugen
Nja, da z.B. Vieles bezüglich IoT auch über Cloud läuft ... oftmals "offiziell" nur zwanghaft über Cloud der Hersteller, wie z.B. viele IPCams und das ganze SmartHomeZeugs,
da gibt es bestimmt Möglichkeiten das zu verbinden, wenn man selber auch in der / einer anderen Cloud werkelt. Aber ja, dann kommt es zu solch kranken Dingen, wie du hast sowas wie ein Tablet, dort ist Zusatzhardware, ala Barcode-Scanner (LaserModul, nicht Webcam) oder halb-externes RFID verbaut, welches seine Daten an seine ServerApp/Cloud schickt, falls man keine native App installiert und die API nutzen kann, und du mußt das dann entweder an deine ServerApp weiterleiten (App des Hertellers), bzw. lokale Web oder native Clienten müssen auch erstmal extren anfragen, obwohl die Hardware eigentlich im selben Gerät verbaut ist. Wir hatten uns auch von Externen eine WebApp entwickeln lassen. Ein wildes Gemisch aus Sencha und Anderem Datenbankwrappingzeugs. Am Ende sollte etwas rauskommen, wo hier Welche die Oberflächen/Module/Seiten dann weiterentwickeln können. Nja, aus unpraktischkeit dann kurz vor Ende gestorben. MultiTier ist untertierben, bei all den Zwischenschichten, wo oft überall halb-manuell Hand angelegt werden muß, wenn man neue Dinge in der DB einbaut/ändert. Jetzt nach bissl erneutem Umsehen nochmal mit uniGUI neu angefangen und nach vielleicht einem Jahr seit paar Tagen / Gestern die ersten schon halbwegs nutzbaren Zustände, welche wohl die nächsten Wochen beim Kunden angefangen werden auszuprobieren. Die komplette WaWi und Co. wird das aber nicht ersetzen. Aber BDE/Zeiterfassung, Lagerverwaltung (zusammen mit den ![]() Ja Reporting (List&Label, FastReport, DevExpress-GridExport) und die ESL (auch mit FastReport und nicht über Templates der HerstellerCloud) auch erstmal im Windows-Client, aber es gab schon erste Üüberlegungen den "Druck" in unseren aktuellen oder einen neuen Service (stückchenweise) zu verschieben/kopieren, wo es dann u.A. auch von der WebApp nutzbar wäre. |
AW: Cloud basierte Anwendungen erzeugen
Es gibt eben ERP-Systeme die mit python entwickelt sind und auf einer Cloud laufen. Habe ich mir nicht genauer angeschaut, aber ein aktueller Kunde schaut sich derzeit solche Systeme an. Natürlich sind die Daten dann auch irgendwo und nicht bei sich im Unternehmen. Aber das scheint den Kunden nicht oder nicht mehr wichtig zu sein. Ich kennen ein IT Team eines deutschen Autoherstellers, die haben berichtet dass sie einen neuen IT Sicherheitschef bekommen haben. Seine erste Amtshandlung war, teile der Motorenentwicklungsabteilung auf deutsche Cloud Server Anbieter zu verlagern. Keine zwei Wochen später sind die hoch sensible Daten abhanden bekommen, vermutlich an Mitbewerben, das ist nicht genau bekannt. Ihm ist nichts passiert da er passende Verträge mit den Cloud Anbieter gemacht hat.
Nochmal zurück zu Cloud Apps und Co. Für mich hört sich das unrealistisch an wenn Cloud basierte CRM und ERP Systeme benötigte Hardware nicht adressieren können. Da stimmt was nicht. Ich habe befreundete Web-Entwickler, die kennen die Probleme mit externer Hardware überhaupt nicht weil Sie sie nicht nutzen. Frage: Wie macht Ihr Reports= Antwort wir erzeugen PDFs. Frage: und wie adressiert Ihr Papierschächte? Antwort: Das PDF wird nicht ausgedruckt sondern per mail versendet. Es macht keinen Sinn mit den Leuten zu sprechen. |
AW: Cloud basierte Anwendungen erzeugen
Manchmal fragt man sich echt, was an einer monolithischen EXE-Datei so falsch sein soll...
(außer dass die nicht auf einem mobilen Betriebssystem läuft) MS sollte im Tablet Bereich einfach mal besser und preiswerter werden und dort trotzdem native Software unterstützen. Man hat derzeit den Eindruck dass alles krampfhaft in die Cloud muss, auch wenn das dann Abo-Gebühren usw. kostet und immer wieder Sicherheitsdesaster passieren (z. B. Azure neulich, da musste MS zugeben, dass > 100.000 Kundedatensätze oder so offen im Netz verfügbar waren, wegen einer "kleinen" Fehlkonfiguration). Das ist der Schwachsinn mit dem "Trends" hinterherrennen ohne das richtig zu reflektieren. Evtl. liegt's da auch ein wenig an uns dem Anwender klar zu machen, was er davon hat, wenn das Zeugs nicht in der Cloud liegt und nativ läuft. Auch mal einfach aufzeigen was dann viel einfacher umzusetzen ist und vielleicht auch mal, wieviel Strom damit gespart werden kann... ;-) Aussprachetechnisch ist Cloud übrigens mit "klaut" verwandt ;-) Grüße TurboMagic |
AW: Cloud basierte Anwendungen erzeugen
Zitat:
Manchmal sogar mehr, als wir annehmen können, weil macht ja auch Arbeit, dieses Kundenwünsche/Anforderungen/Anpassungen/... bis hin zur Installation und Einführung. Also gefragt scheint "eine" normale Windows-App, mit zentraler DB und einem Service schon noch zu sein. Gut, nun aber auch mal wieder einen kleineren Kunden, dem ein "ständiglaufender" Server im Hause zu viel ist, weswegen wir DB und Apps über's Internet bei uns laufen lassen. Wobei ja eigentlich ein kleiner Rechner/Server oder vielleicht sogar ein NAS mit Linux-Docker und Windows-VM (Service ist Windows ... noch nicht probiert, ob es auch mit Linux zum Laufen zu bekommen wäre, aber eine Fremdkomponente wäre wohl dagegen : ImageEn ... zukünftig wird die aber vermutlich rausfliegen ... wobei die ersten RuntimePackage lassen sich schon seit 'ner Weile auch für Android kompilieren und mit einer winzigen TestApp nutzen, bzw. damals im 10.2 zuletzt getestet) |
AW: Cloud basierte Anwendungen erzeugen
Also ich habe in der Vergangenheit Webanwendungen mit Delphi + UniGui entwickelt und mit Fastreport auf dem Server eine PDF erstellt und diese dann im Browser angezeigt. Druckerschächte müsste der Benutzer dann aber selbst auswählen...
Alternativ könntest du einen Windows-Service auf dem Client installieren, der per HTTP(S) mit dem Server kommuniziert und die mit der angeschlossenen Hardware kommuniziert. Dann muss dieser allerdings wieder lokal installiert werden (das ist aber vielleicht auch nicht an jedem Arbeitsplatz notwendig). |
AW: Cloud basierte Anwendungen erzeugen
Zitat:
Werkzeuge: Wow. Ne Menge ;) Grundsätzlich kann man so ziemlich alles in der Cloud laufen lassen. Fragt sich nur, auf welcher Ebene. "Cloud", egal bei welchem Anbieter, bietet ja immer verschiedene Abstraktionsebenen an. Das fängt von IaaS (Infrastructure as a Service) an wo man eben VM's mietet (ist so ziemlich das teuerste), und geht über PaaS (Platform as a Service) z.B. Docker oder Kubernetes wo man seine Anwendungen auf der Plattform "Cloud" laufen lässt bis hin zu SaaS (Software as a Service), wo man z.B. gleich komplette hochverfügbare Datenbankcluster oder Message-Queues oder Event-Processing Plattformen etc.pp. mieten kann. Containerisierung hat den Vorteil, dass der Overhead einen Container laufen zu lassen sehr gering ist. Man bekommt also deutlich mehr durch Container voneinander isolierte Prozesse auf der gleichen Hardware zum laufen als es z.B. mit VM's der Fall wäre - damit ist das im Betrieb am Ende am günstigsten. Dabei ist das egal ob das in der Cloud gemietete oder selber gekaufte Hardware im eigenen RZ ist (kurzum: Container lohnen sich so oder so). Ausnahme: Windows-Container. Die mag keiner betreiben (selbst MS in Azure nicht ;) ), sie sind groß, unhandlich, haben viel overhead... Also Finger weg davon. Will heissen: Was Du in einem Linux-Container bei Dir am Laufen hast, kannst Du in aller Regel auch problemlos genau so in die Cloud hieven. Mit was das gebaut wird, sei es in Rust, Go, .NET, Delphi, wegen mir auch Java (naja.. lieber ned ;), ist am Ende eigentlich egal. Für die Cloud sind die verwendeten Architekturpatterns deutlich wichtiger als die eigentliche Technologie. Also isolierte, unabhängig skalierbare, zustandslose Dienste, die asynchron miteinander kommunizieren, also z.B. über Message Queues oder Event-Streaming Systeme. CQRS (command and query responsibility segregation, also nicht schreiben und gleich die modifizierten Daten zurückliefern, sondern entweder nur schreiben oder nur lesen). Wenn man das beachtet, dann flutscht das eben egal wo man es betreibt, sei es im eigenen RZ oder eben in der Cloud. |
AW: Cloud basierte Anwendungen erzeugen
Zitat:
Mit Container meinst du so etwas wie Docker Container? |
AW: Cloud basierte Anwendungen erzeugen
Zitat:
Will der Chef die Bilanz auf der Couch angucken? Dann stellt man ihm ein Dashboard und die Bilanzzahlen halt in einem vernünftigen Tablet-tauglichen Format zur Verfügung. Am besten so, dass er in die jeweiligen Bereiche auch gleich rein klicken und detailliertere Werte sehen kann. Man kann aber z.B. die Datenquellen direkt (DB) oder über APIs (OData, GraphQl o.ä.) zur Verfügung stellen, und die Kunden dann ihre individuellen Auswertungen z.B. mit Power BI (Azure) selber bauen. Damit kann man sowas zum Beispiel sehr effizient realisieren. Und wenn die dann halt drucken... dann soll es halt so sein. Zitat:
Zitat:
|
AW: Cloud basierte Anwendungen erzeugen
Vielen Dank für die ausführlichen und ernüchterten Infos. Es deckt sich mit anderen Aussagen dass Cloud Anwendungen nur funktionieren können wenn es NUR um Datenverarbeitung(Ein Begriff aus den 70er Jahren?) geht. Die Welt schreit nach Web- und Cloud Anwendungen aber irgendwie fühlt sich das unfertig an.
|
AW: Cloud basierte Anwendungen erzeugen
Naja, Cloud heisst ja im Prinzip nur, das es auf jemand anderem seinen Rechner läuft. Das heisst allerdings nicht zwangsläufig "das UI muss im Browser laufen".
Und die Welt ist nicht nur Schwarz/Weiss. Um komplexe Business-Probleme zu lösen braucht man am Ende halt irgendwann doch komplexe Lösungen, die eben nicht nur aus der einfachen Kombination von Web-App mit Cloud-Backend bestehen. Der Browser bietet (noch) nicht alle APIs, um lokal alles zu machen. Du kannst mit Kamera und Mikrophonen arbeiten, hast Web USB, WebRTC, WebAuthn und auch die Browser Filesystem-API, aber darüber hinaus wirds aktuell schwierig. Unfertig würde ich das aber nicht bezeichnen. Ausbaufähig eher. Daher klar: wenn Du mit spezieller lokaler Hardware reden willst, brauchst Du zwangsläufig lokale Software. Du kannst aber eben auch hervorragend lokale Software bauen (nativ, für Desktop oder Tablets oder Smartphones), die mit den Cloud-Teilen kommuniziert. |
AW: Cloud basierte Anwendungen erzeugen
FastReport und Co. haben nicht zwangsläufig was mit Papier zu tun.
PDF oder ganz modern ESL/eDisplay Ich glaube zwar nicht, aber man könnte mal nachsehn, ob es einen VirtualUSB-Server auch für Android gibt. (Client gäbe es) Dann ließe sich ein USB-Gerät auch zum Server durchreichen und wäre dort über einen Treiber ansteuerbar. z.B. lassen sich USB-Geräte auch an ein NAS stecken und dann via TCP/IP (LAN/WLAN) zu irgendwelchen Computern durchreichen und dort verwenden. |
AW: Cloud basierte Anwendungen erzeugen
Bezüglich unfertig, wollte ich nicht so direkt betiteln und habe geschrieben "es fühlt sin an als ob" :-)
Ich habe schon verstanden, nur wollte ich es einfach nicht wahr haben. Ich dachte, da ich permanent in Projektarbeit stecke, habe ich sicherlich etwas verpasst da ich nicht wirklich Zeit habe mich um die schönen Dinge zu kümmern. Der Punkt ist, Web-Anwendungen haben absolut Ihre Berechtigung für gewisse Projekte, ebenso Desktop Anwendungen. Da die Reise allerdings eher weg geht von Desktop- hin zu Web-Anwendungen muss ein Paradigmenwechsel erfolgen. Denn wie wir schon sehen, gibt es durchaus Hardware und Co. die angesprochen werden möchte. Seit Windows 7 spricht Microsoft davon seine Betriebssystem in Richtung Service, Cloud usw. zu entwickeln und die Ära von 32Bit Anwendungen soll bald auch Geschichte sein. Natürlich und HOFFENTLICH zieht sich das noch ordentlich hin. Wir haben schon ein paar Web-Anwendungen sehr erfolgreich umgesetzt in Form von PWAs als mobile Anwendungen die eigenen REST-API Server nutzen als Erweiterung von Client/Server Geschäftsanwendungen. Das ist alles wunderbar, aber den deutlichen Mehraufwand in Größenordnungen von Faktor 2+ den man hat, ist nicht zu unterschätzen. Wenn man aus dieser Erfahrung heraus versucht z.B. Produktions-Fertigungssysteme vollständig in als Web-Anwendung zu reflektieren, dann funktioniert es niemals als individuelle Lösung für einen Kunden. Man muss es in andere Dimensionen sehen indem gleiche Mehrere Kunden mit demselben System umgehen sollen. Dann sind auch solche Anforderungen wie Skalierbarkeit auch überhaupt ein Thema. Bei Individuellen Projekten ist Skalierbarkeit und Co. eh kaum ein Thema. In den seltensten Fällen wächst ein Unternehmen in kurzer Zeit so exorbitant schnell als dass die IT nicht nachkommen könnte. |
AW: Cloud basierte Anwendungen erzeugen
Wenn alles hin zu Webanwendung geht ... denn im Browser ist viel immer mehr möglich.
![]() Aber wenn wirklich ALLES irgendwann im Browser liefe, dann bräuchte es keine (unterschiedlichen) Betriebssysteme mehr. Firefox OS, Chrome OS |
AW: Cloud basierte Anwendungen erzeugen
Bei uns wird auc gerade eine Webanwendung entwickelt. Das ganze wird mit Flutter und Dart.js gemacht. Ich weiß allerdings nicht ob es an meinen Kollegen liegt oder einfach an der Technik. Mir persönlich dauert es zu lange (wobei auch etliches im Backend passiert). Ich habe mir jetzt einfach mal wegen meiner Delphi Herkunft auch uniGUI angesehen. Schon beeindruckend was da geht, optisch ist es aber ein Windows Anwendung die im Browsser läuft und sieht für mich etwas altbacken aus. Oder ist es jetzt nur die Umsetzung ?
|
AW: Cloud basierte Anwendungen erzeugen
Zitat:
Es gab ja vor zig Jahren so was wie den Versuch, WYSIWYG-Editoren fürs Web und auch für Webanwendungen zu bauen. Frontpage. Dreamweaver. Der ASP.NET WebForms Designer. Delphi für PHP. Hat sich alles nicht durchgesetzt und ist alles in der Versenkung verschwunden. Wenn das technisch wirklich sinnvoll möglich wäre, dann würde es jetzt, 15+ Jahre später, dafür mindestens ein aktuelles funktionierendes Produkt geben. Dem scheint aber offenbar nicht so zu sein. Kurzum: Man muss HTML und CSS wirklich verstehen und anzuwenden wissen. Ich kenne drei, vier Leute, die schreiben den HTML- und CSS Code so schnell runter und layouten damit komplexe Formulare in einem Tempo das andere mit Klicki-bunti Desktop-Form Designer wie Delphi, Winforms und Co. lange nicht hinterher kommen. Aber aus irgend einem Grund wollen sich viele die in die Webentwicklung gehen nicht ausreichend mit den Themen beschäftigen um auf dieses Produktivitätslevel zu kommen. Am Ende ist es nur lernen und viel Übung. |
AW: Cloud basierte Anwendungen erzeugen
Zitat:
|
AW: Cloud basierte Anwendungen erzeugen
Wir verenden AntD für die UI Elemente. Diese Lib so wirklich mächtig, ich würde sagen sogar mächtiger als Bootstrap. Natürlich empfindet Design jeder anders. In Verbindung mit React,js kann man sehr coole Sache damit machen. Delphi verwende ich gerne für REST-API Server mit den MARS Komponenten. Delphi11 hat auch REST-API Komponenten die habe ich mir bisher nicht angeschaut. Auch DataSnap nutzen wir allerdings nicht im Zusammenspiel mit Web-Anwendungen.
|
AW: Cloud basierte Anwendungen erzeugen
Zitat:
Deshalb gibt es wohl nur rudimentäre Standard- oder Webeditoren. Ich habe mir DreamWeaver oder die JetBrains-Tools schon lange nicht mehr angesehen, aber ich vermute mal dass diese zwar State-of-the-Art aber immer noch kein echtes WYSYWIG bieten. Dann schon eher VisualStudio Code einrichten mit einem LivePreview als Browseransicht. Zitat:
Man braucht nur mal bei ![]() Da kommt man ins Grübeln wozu man den ganzen Overhead den wir täglich mit uns rumschleppen eigentlich noch braucht. CSS ist auch nur Code und kann man eigentlich gut nachvollziehen, der Teufel liegt wohl im Detail :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz