Toplinks zu diesem Thema:
Universal, Daten, Softwareentwicklung, Programmierung, Konzept, Schreiben, Verwaltung
Der Artikel Universal Application gehört zur Kategorie: Softwaretechnik
Universal Application (engl. universelle Anwendung) ist ein Fachbegriff für eine alternative Art der Softwareentwicklung durch Beschreibung der Eigenschaften der zu bearbeitenden Daten in Form von Metadaten. Zielstellung ist eine deutlich kostengünstigere Erstellung von kundenspezifischer Anwendungssoftware, insbesondere von Datenbankanwendungen für die Verwaltung von großen Unternehmen und Behörden.
Anstatt wie bei anderen Verfahren Programmcode zu schreiben, werden beim Universal-Application-Verfahren die Daten und ihr Verhalten abstrakt in Metadaten beschrieben. Diese Metadaten werden von einer universellen Anwendungssoftware interpretiert.
Die Softwareentwicklung erfolgt interaktiv, indem den Daten schrittweise immer präzisere Eigenschaften und Regeln (Business Rules) zugeordnet werden. Diese Regeln sind streng deklarativ: man beschränkt sich z. B. darauf, in Formeln oder ähnlichen Ausdrücken zu beschreiben, welche Werte unter welchen Bedingungen für ein Datenfeld zulässig sind. Alles weitere überlässt man der Eigenintelligenz der Universal Application, die selbsttätig entscheidet, wann welche Programmfunktionen dafür zu aktivieren sind. Auf ähnliche Art und Weise wird die Benutzeroberfläche entwickelt: die gewünschten Datenobjekte werden einfach auf die gewünschte Stelle geschoben. Aus dem Kontext, den Eigenschaften und Regeln ermittelt die Universal Application einen Vorschlag, der vom Entwickler dann schrittweise verfeinert werden kann. Schließlich erhält man ein Anwendung, die von einer programmierten Applikation kaum zu unterscheiden ist. Dennoch entsteht dabei kein Programmcode, sondern ausschließlich strukturierte Metainformation über Datenobjekte.
Das Universal-Application-Konzept folgt somit demselben Grundgedanken wie eine Tabellenkalkulation, wo man sich ebenfalls darauf beschränken kann, Formeln und Bezüge einzutragen, und ohne jegliche Programmierung sofort ein brauchbares Ergebnis erhält. Vergleichbar sind auch die Nachteile beider Konzepte: wenn die vorgefertigte Funktionalität nicht ausreicht, muss sie mit Makros oder Plugins erweitert werden.
Inwieweit die von Herstellern wie Tenfold und Scopeland genannten Kosteneinsparungen von bis zu 90 % tatsächlich erreichbar sind, hängt deshalb stark von der Art der Anwendung ab.
Weil man aus den fertigen Metadaten abschließend auch Programmcode generieren kann, wird der Universal-Application-Ansatz oft mit der Model Driven Architecture (MDA) verwechselt. Während der MDA-Ansatz eher dazu dient, den Programmier-Prozess zu unterstützen, geht es hierbei darum, die Programmierung gänzlich zu vermeiden.
Siehe auch: Agile Softwareentwicklung
Diskussion der Autoren über den Artikel: Universal Application
Neutralität
Der Artikel suggeriert, dass Softwareentwicklung heute ohne Progammierkenntnisse möglich ist. Es klingt fast so, alsob sich die Rechner selbst programmieren.
Komplexe Programme können auch heute noch nicht einfach ueber "Metadaten" entwickelt werden und setzt erhebliche Kenntnisse von System und Computersprache vorraus.
Es ist dringend geboten, das geradezustellen und zu erklaeren, wo die Grenzen von Universal Application sind.
Gruss -- sparti 16:36, 25. Aug 2005 (CEST)
Kritik angenommen und überarbeitet. Ich hoffe, so ist es verständlicher.
Dass diese Methode tatsächlich funktioniert, ist übrigens an Hunderten von abgeschlossenen Projekten weltweit durch ca. 10 Hersteller solcher Produkte hinlänglich nachgewiesen. Die Frage ist immer nur: wie beschreibt man sowas, um weder unverständlich noch allzu technisch noch fragwürdig rüberzukommen...
Ähnlich gelagert ist übrigens auch der Ansatz der Firma Magic. Magic "programmiert in Tabellen". Das ist sozusagen ein Zwischenschritt auf dem halben Wege in Richtung UniversalApplication. Das Magic-Konzept verdient, meine ich einen eigenen Artikel - oder sollte das hier mit rein?
Gruß --194.231.193.224 14:07, 26. Aug 2005 (CEST)
- Ist besser. Wenn jetzt noch die Definition etwas allgemeinverstaendlicher wird, dann kann auch das Unverstaendlich raus. Aber Programmieren mit Metadaten ist doch recht abstrakt :-)
- Dann noch etwas zum Vorgehen: Neutralitaet und Unverstaendlich sollte nur von demjenigen entfernt werden, der es eingestellt hat. Dies ist ein Prozess um Konflikte zu vermeiden. Also besser einfach den Benutzer bitten, es zu entfernen und erst wenn dieser nach angemessener Frist nicht reagiert selbstaendig taetig werden. Viele Gruesse -- sparti 14:21, 26. Aug 2005 (CEST)
Funktionale Programmierung
Wenn ich das Konzept richtig verstehe, dann ist das sowas wie Funktionale Programmierung? Statt Anweisungen gebe ich Regeln ein und ueberlasse dem System eine Loesung zu finden? Also sowas wie Visual Basic fuer Funktionale Programme?
-- Gruss sparti 15:15, 26. Aug 2005 (CEST)
Aus der Wikipedia:Qualitätssicherung/21. August 2005
Das würde ich gerne auch verstehen können... Dickbauch Dickbauch 21:28, 21. Aug 2005 (CEST)
- Gäbe es eine "Universal Application" wäre die Software-Industrie überflüssig... --Zollwurf 21:52, 21. Aug 2005 (CEST)
- Ich verstehe es auch nicht, es ist eine Ansammlung von Fachbegriffen. Ich weiß, dass technisch versierte Leute anderen ihr Fachgebiet oft nicht in Artikelform erklären können (siehe manche Gebrauchsanweisungen). Da Zollwurf jedoch die Auswirkungen einer Universal Application zu durchblicken scheint, könnte er ja eine kurze Einleitung schreiben, aus der hervorgeht, warum dieses Wunderding die ganze Software-Industrie überflüssig machen würde, bzw. zumindest Kosten sparen würde (Faktor 10). Allein diesen Ausdruck könnte man ja auch als Reduzierung der Kosten auf ein Zehntel beschreiben.--Regiomontanus 23:12, 21. Aug 2005 (CEST)
- Man könnte dieses Werbegeschwafel auf ein Zehntel reduzieren. Entwicklung erfolgt also weitestgehend programmierfrei - ja was denn dann? --FriedhelmW 12:03, 22. Aug 2005 (CEST)
- @Regiomontanus: Das kann jeder beschreiben, dem sowas wie das "Perpetuum mobile" kein Fremdwort ist. Das im Artikel Beschriebene ist auch nicht mehr als Zukunftsmusik... --Zollwurf 13:33, 22. Aug 2005 (CEST)
- Aha. Und was tun wir jetzt mit dem Perpetuum mobile? --Regiomontanus 14:34, 22. Aug 2005 (CEST)
- Könnten wir auch als "Universal Application" unter die Menschheit bringen. Für einfache Gerätschaften findet sich immer ein Markt ;-) --Zollwurf 17:46, 22. Aug 2005 (CEST)
begrifflich halte ich es zwar für theoriefindung, aber jemand hat den QS-baustein rausgenommen. LA stellen? ---Poupou l'quourouce 20:46, 23. Aug 2005 (CEST)