Ist XML überbewertet?



  • Marc++us schrieb:

    Ich habe jetzt wieder Verschiedenes verstanden. 🤡

    1. Kleine Anekdote:

    XML-Protokoll zwischen zwei Lieferanten. Lieferant A implementiert das Protokoll so, daß er nur mit den ihm wichtigen(!) Attributen klarkommt. Sendet Lieferant B mal ein XML-Telegramm (das wohlgeformt) ist mit anderen Attributen - Crash. Komplette Anlage down. Hat den XML-Parser anscheinend über Stringparsing realisiert.

    Ja, das wird immer gern genommen. Der Eine hat einen SAX-Parser, der Andere einen DOM-Parser und dann knallt's. Für den Einen ist der Prozess wichtig, für den Anderen die Struktur. Ist eigentlich kein XML Problem. Zu dem Thema musste ich schon so manchen Managerfilter reinigen.

    XML per Email zu schicken ist immer riskant, weil so die Kindersicherung umgangen wird (Authentification). Da muss ich ausnahmsweise die T-Loser in Darmstadt loben mit ihren AAA und SAML:
    http://en.wikipedia.org/wiki/AAA_protocol
    http://de.wikipedia.org/wiki/Security_Assertion_Markup_Language

    Kunden- und Versorgungsmanagement hat was von einen Kindergarten:
    @Kind: "Nicht anfassen! Ist heiß!"
    @Kunde: "Ändern Sie bloß nicht eigenmächtig die Konfiguration!"
    ... und was passiert?!

    @Kind: "Nicht über die Straße rennen!"
    @Kunde: "Gehe Sie bloß nicht zu dem. Der hält sich nicht an die Spezifikation. Können Sie später alles wieder abreißen!"
    ... und was passsiert?!

    Früher haben ganze Völkerstämme von Account-Managern von ihren Projektleitern eine gezogen bekommen, weil sie ihre Aufsichtspflicht vernachlässigt haben. Aber heute gibt es XML mit den 'Rutsch mir doch' & 'Leck mich' Effekt.

    Marc++us schrieb:

    1. Kleine Anekdote:

    XML-Protokoll zwischen zwei Lieferanten. In der Spec steht das XML-Protokoll formatiert, zur besseren Lesbarkeit. Kommunikationstest. Nichts geht. Nach längerer Fehlersuche stellt man fest, daß Lieferant B DIE ZEILENUMBRÜCHE ERWARTET. Ohne den Zeilenumbruch an der richtigen Stelle funzt der XML-"Parser" nicht.

    Ja, da hat jemand wohl Scheiße beim XSLT gebaut:
    http://msdn.microsoft.com/en-us/library/aa468566.aspx

    Oder aus der Hüfte geschossen aus 3-4 XML im Tool ein XSD ziehen, dann die gesammte SOA & EAI Entwicklung dagegen anlehnen und sich dann wundern, dass zwei Monate später die gesamte sechsstöckige Außenmauer nach Vorne umfällt. Da sind nebenan die Vodafone- und T-Mobile-Cowboys ganz gut drin.

    Marc++us schrieb:

    1. Maschinendatenkonsistenzprüfung:

    Voraussetzung ist eine ordentliche Simulation des Tools. XML ist in diesem Szenario gar nix. Es ist nicht wertschöpfend in dieser Konfiguration, da jede Vereinbarung über das Datenformat die gleiche Information transportiert hätte. Begründung der Notwendigkeit liegt also in einer anderen Dimension.

    Genau das ist der Clou: Du brauchst eine abgegrenzte Sprache, im abgegrenzten Kontext und normalizierten Datenformat, um ein Analyse-Tool zu entwickeln. Wie soll der Kunde Dir denn so seinen Querdenkerfaktor vermitteln?! 😉

    Marc++us schrieb:

    Prof84 schrieb:

    habe ich noch Altkunden, die sich ganze Zwergenarmeen halten, um händisch von einem Tool in das Nächste Daten zu übertragen, sich dann noch beschweren, dass sie über einen Monat brauchen um ein neuen Tarif anzulegen und es ständig knallt.

    "get better dwarfs"

    🕶

    Wie denn über Einkauf? Wenn er über 10.000 Rupien pro Stück ausgeben soll kommen ihm die Tränen. Und wehe Du brauchst mal einen Deutschen. - Kommt sofort Dagobert Duck im seiner alten Schrott-Büchse runter ... 🕶

    Thema Attribute in XML:
    Ich habe gestern mal eine kleine Volkszählung bei meiner Professorenherde geführt. Anscheinend bestimmt die Primärwaffe bei den Hochsprachen den Style und den Umgang mit XML. Die OO-Künstler bekommen scheinbar eine sauber Balance zwischen Tags und Attributen hin. Die LISP- und Haskell-Künstler pfeiffen auf Attribute (außer Header). Und die Prolog-Helden haben immer kurze nicht redundante XML's, aber meterlange XPATH-Ausdrücke im Style.

    Man scheint sein Lieblingsparadigma auch in XML durchzuziehen. Interessant! ähm ich meinte "Faszinierend!" 😃



  • byto schrieb:

    Und wie würde die Alternative über CSV hier aussehen? Willst Du pro Table eine CSV schicken? Oder das gejointe Resultset in eine CSV pressen samt der redundanten Daten? Beides erscheint mir wenig sinnvoll.

    ~john schrieb:

    Da benutzt jemand viel zu lange XML

    "table";"person"
    "id";"vorname";"nachname"
    1;"Hans";"Meiser"
    2;"Hans";"Wurst"
    
    "table";"verein"
    "id"
    1
    2
    
    "table";"person_verein_xref"
    "id_person";"id_verein"
    1;1
    1;2
    2;2
    

    ~john schrieb:

    Zuerst wolltest Du nicht glauben, daß es überhaupt möglich sei, und nein lamentierst Du über RDBMS, die auch heute noch essentiell sind.

    Warum lügst Du jetzt rum? Unter solchen Voraussetzungen ist jede weitere Diskussion mit Dir sinnlos...



  • byto schrieb:

    Wie willst Du denn sowas sinnvoll in eine flache CSV normalisieren:

    <dokument>
      <person id="1">
        <vorname>Hans</vorname>
        <nachname>Meiser</nachname>
      </person>
      <person id="2">
        <vorname>Hans</vorname>
        <nachname>Wurst</nachname>
      </person>
      <verein>
        <mitglied ref="1" />
      </verein>
      <verein>
        <mitglied ref="1" />
        <mitglied ref="2" />
      </verein>
    </dokument>
    

    Wer im Glashaus sitzt sollte nicht mit Steinen werfen.



  • Ich schrieb: "eine CSV". Deine angebliche Lösung umfasst drei CSV-Dateien. Das habe ich zuvor ausgeschlossen: "Willst Du pro Table eine CSV schicken?".

    Spec: http://tools.ietf.org/html/rfc4180



  • byto schrieb:

    Spec: http://tools.ietf.org/html/rfc4180

    While there are various specifications and implementations for the CSV format (for ex. [4], [5], [6] and [7]), there is no formal specification in existence, which allows for a wide variety of interpretations of CSV files. This section documents the format that seems to be followed by most implementations:

    Toll. "Eigentlich macht das jeder so wie er will. Aber für meine Argumentation suche ich mir jetzt die Implementation raus, die passt."



  • byto schrieb:

    Ich schrieb: "eine CSV".

    Und du hast eine bekommen! Die Tabellen werden durch Leerzeilen von einander getrennt, so daß man keine unterschiedlichen Dateien braucht.



  • Und als nächstes schmeissen wir 3 JPGs in eine Datei und sagen es ist ein Bild?



  • byto schrieb:

    Und als nächstes schmeissen wir 3 JPGs in eine Datei und sagen es ist ein Bild?

    Und wir schmeissen ein paar < und ein paar > in eine *.txt und behaupten es ist ein xml? f'`8k

    Autocogito

    Gruß, TGGC (Was Gamestar sagt...)



  • Ja, Du hast Recht. Lasst uns alle nur noch unsere eigenen proprietären Formate benutzen und auf offene Standards scheissen. Macht ja auch viel mehr Spaß, die Parser und Tools jedes mal neu zu schreiben, statt fertige Lösungen zu benutzen. Der Kunde zahlt bestimmt auch gerne dafür, dass wir jedes mal das Rad neu erfinden. 🤡



  • Solange man keine Daten austauscht, sind eigene Formate legitim. Schlecht ist es nur, wenn das eigene Format nicht so dokumentiert ist, das man es in ein Austauschformat umwandeln kann. Ich fand es ja bisher z.B. immer sehr amüsant, wie sich die halbe Welt über Microsofts Word-Format aufregt, obwohl MS immer offiziell ein dokumentiertes Austauschformat namens RTF hat. 😃

    Im übrigen, auch Austauschformate sind nicht immer sinnvoll. Das beste Beispiel ist doch ODF. Ein Format das speziell für OOo entwickelt wurde. Und wer ein Office entwickelt hat, das ganz andere Funktionen hat, dem hilft ODF nicht weiter. Ein Austauschformat kann nur einen gemeinsamen Nennen (Kompromiss) bilden. Alleine deshalb kommt man als Entwickler von Software, die Killer Features haben sollte, nicht um ein eigenes Format umhin.



  • Artchi schrieb:

    Solange man keine Daten austauscht, sind eigene Formate legitim. Schlecht ist es nur, wenn das eigene Format nicht so dokumentiert ist, das man es in ein Austauschformat umwandeln kann. Ich fand es ja bisher z.B. immer sehr amüsant, wie sich die halbe Welt über Microsofts Word-Format aufregt, obwohl MS immer offiziell ein dokumentiertes Austauschformat namens RTF hat. 😃

    Im übrigen, auch Austauschformate sind nicht immer sinnvoll. Das beste Beispiel ist doch ODF. Ein Format das speziell für OOo entwickelt wurde. Und wer ein Office entwickelt hat, das ganz andere Funktionen hat, dem hilft ODF nicht weiter. Ein Austauschformat kann nur einen gemeinsamen Nennen (Kompromiss) bilden. Alleine deshalb kommt man als Entwickler von Software, die Killer Features haben sollte, nicht um ein eigenes Format umhin.

    Moment mal! ODF konnte erst entwickelt werden, weil MS seine Officedateiformate als in XML spezifiziert und freigab.
    http://de.wikipedia.org/wiki/Office_Open_XML
    Was mich bis heute wundert, denn damit gab MS seine Kronjuwelen frei außer Haus und zieht sich mit Open Office Konkurrenz.

    Prof84 schrieb:

    Und wehe Du brauchst mal einen Deutschen. - Kommt sofort Dagobert Duck im seiner alten Schrott-Büchse runter ... 🕶

    Hey, jetzt reicht es aber ... 🙄
    http://www.handelsblatt.com/technologie/schneller-schlau/schneller-schlau-wer-war-der-reichste-mensch-aller-zeiten;2476001



  • Prof84 schrieb:

    Artchi schrieb:

    Solange man keine Daten austauscht, sind eigene Formate legitim. Schlecht ist es nur, wenn das eigene Format nicht so dokumentiert ist, das man es in ein Austauschformat umwandeln kann. Ich fand es ja bisher z.B. immer sehr amüsant, wie sich die halbe Welt über Microsofts Word-Format aufregt, obwohl MS immer offiziell ein dokumentiertes Austauschformat namens RTF hat. 😃

    Im übrigen, auch Austauschformate sind nicht immer sinnvoll. Das beste Beispiel ist doch ODF. Ein Format das speziell für OOo entwickelt wurde. Und wer ein Office entwickelt hat, das ganz andere Funktionen hat, dem hilft ODF nicht weiter. Ein Austauschformat kann nur einen gemeinsamen Nennen (Kompromiss) bilden. Alleine deshalb kommt man als Entwickler von Software, die Killer Features haben sollte, nicht um ein eigenes Format umhin.

    Momaent mal! ODF konnte erst entwickelt werden, weil MS seine Officedateiformate als in XML spezifiziert und freigab.
    http://de.wikipedia.org/wiki/Office_Open_XML
    Was mich bis heute wundert, denn damit gab MS seine Kronjuwelen frei außer Haus und zieht sich mit Open Office Konkurrenz.

    Was redest du da zusammen? 😕



  • DEvent schrieb:

    Was redest du da zusammen? 😕

    Open Office hat nur deshalb die Akzeptanz, weil die Austauschformate kompatible zu den MS-Office Produkten sind, was Staroffice bis 2003/4 eben nicht war.

    Deshalb konntest man einen ODF Standard entwickeln, der den Informationsgehalt des MS Kramm abbilden kann. Konnte er vorher eben nicht.
    http://de.wikipedia.org/wiki/OpenOffice.org
    http://de.wikipedia.org/wiki/Office_Open_XML

    ... und die in meinen Sekundärlink "XML hat keine Zukunft ...bla" von mir diskutierten Korrelation zwischen OO und XML wiedergespiegelt wurde.



  • Prof84 schrieb:

    DEvent schrieb:

    Was redest du da zusammen? 😕

    Open Office hat nur deshalb die Akzeptanz, weil die Austauschformate kompatible zu den MS-Office Produkten sind, was Staroffice bis 2003/4 eben nicht war.

    Deshalb konntest man einen ODF Standard entwickeln, der den Informationsgehalt des MS Kramm abbilden kann. Konnte er vorher eben nicht.
    http://de.wikipedia.org/wiki/OpenOffice.org
    http://de.wikipedia.org/wiki/Office_Open_XML

    ... und die in meinen Sekundärlink "XML hat keine Zukunft ...bla" von mir diskutierten Korrelation zwischen OO und XML wiedergespiegelt wurde.

    Und ich verstehe immernoch nicht von was du redest.
    Das alte DOC Format wurde lesbar gemacht durch reverse-engineering. Dann braucht aber OO.org immernoch ein eigenes Format um die Dokumente abzuspeichern, so wurde ODF erfunden. Dann wurde ODF standardisiert.



  • byto schrieb:

    Der Kunde zahlt bestimmt auch gerne dafür, dass wir jedes mal das Rad neu erfinden. 🤡

    XML ist ja sooo toll. Woher soll die Applikation denn wissen, was ein Tag bedeutet? Wenn man in der Applikation nicht für ein ganz bestimmte DTD Unterstützung eingebaut hat, kann man zwar die XML-Dateien bearbeiten, aber ein automatisches Mappen auf interne Zustände der Applikation ist dann unmöglich. Hier gibt es also keinerlei Vorteil gegenüber einem anderem dokumentierten Datenformat!



  • Wenn Du die Vorteile von XML gegenüber proprietären Lösungen nicht siehst, dann tuts mir echt leid für Deinen Arbeitgeber. 😋

    XML-Binding ermöglicht Dir aus einem Objektgraphen eine XSD automatisch zu generieren. Genauso ist der umgekehrte Weg möglich: Aus einer gegebenen XSD wird das Klassenmodell automatisch generiert. Bei Bedarf lässt sich das Klassenmodell natürlich auch per Hand schreiben und mit ein paar Metadaten an die XSD binden.
    Zusätzlich gibts dann noch automatisches Marshalling / Unmarshalling zwischen XML und Objektgraph.

    Darauf aufbauend existieren WS-Tools, um das durchs XML-Binding etablierte Austauschformat automatisch als Webservice per SOAP + WSDL als Schnittstelle zur Verfügung zu stellen.

    Was bedeutet das für den Entwickler? Der Entwickler hat nichts weiter zu tun, als sein Domänenmodell zu pflegen. Die Schnittstelle kann ohne jeglichen Aufwand deklarativ eingestellt werden. Der Konsument der Schnittstelle kann wiederum die bestehenden Tools nutzen, um die empfangenen Daten in sein Domänenmodell zu integrieren.



  • byto schrieb:

    Wenn Du die Vorteile von XML gegenüber proprietären Lösungen nicht siehst, dann tuts mir echt leid für Deinen Arbeitgeber. 😋
    XML-Binding...XSD...Klassenmodell...automatisches Marshalling... Objektgraph..WS-Tools...etablierte Austauschformat...SOAP + WSDL...
    Schnittstelle deklarativ...Konsument der Schnittstelle...Domänenmodell!

    Der Entwickler hat nichts weiter zu tun, als sein Domänenmodell zu pflegen.

    Ahso! Ja, das hätte man mir auch mal gleich sagen sollen. Das vereinfacht natürlich alles.
    Das Domänenmodell halte natürlich ich immer topaktuell, auch wenns manchmal mit einem generic logic planner ist.



  • Komisch das dieses Konzept der autom. Generierung von Klassen aus Modellen absolut nichts mit XML zu tun hat. Das kann man mit jedem anderen Datenformat auch machen, z.B. IDL von DCOM oder CORBA. Und wahrscheinlich tausend anderen Formaten, die jeder Hinz und Kunz entwickelt hat.



  • Komisch, dass ich das nie behauptet habe.

    Abgesehen davon kenne ich kein anderes Format, wo die Binding Tools so gut entwickelt sind wie bei XML. CORBA ist ziemlich altbacken und die Tools längst nicht mehr state-of-the-art. DCOM ist nicht plattformunabhängig, daher für mich irrelevant. Nenn mal ein paar dieser "wahrscheinlich tausend anderen Formate", die ähnlich guten Toolsupport wie XML haben! Neben JSON (was ich ja schon mehrmals erwähnt habe) fällt mir da nicht viel ein. Aber das muss ja nichts heissen. Du scheinst Dich da ja ganz gut auszukennen bei den ganzen Formaten. 🙂

    Ich setze sicher auch nicht für jeden scheiss XML ein. In meinem aktuellen Client-Server Projekt schicken wir z.B. Binärdaten über HTTP. Das ist schön schnell.

    Für Schnittstellen über Systemgrenzen hinweg, wo der Performance Overhead durch XML nicht relevant ist, spricht für mich aber überhaupt nichts dagegen, XML als Austauschformat einzusetzen.



  • byto schrieb:

    Ich setze sicher auch nicht für jeden scheiss XML ein. In meinem aktuellen Client-Server Projekt schicken wir z.B. Binärdaten über HTTP. Das ist schön schnell.

    Das hat mit HTTP nichts zu tun. Über HTTP kann man sowohl Binärformate als auch XML schicken.


Anmelden zum Antworten