Zum Inhalt springen

JiBX

aus Wikipedia, der freien Enzyklopädie
{{#if: JiBX | JiBX | {{#invoke:WLink|getArticleBase}} }}

{{#if: |

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | |
 {{#if: {{#invoke:Wikidata|claim|P154}} | 
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
 }}

}}{{#if: |

{{#if: |
}}|

}}

Basisdaten

{{#if: Dennis Sosnoski |

Hauptentwickler
 {{#if: {{#invoke:Wikidata|claim|P126}} | 
Maintainer claim|P126|parameter=link|references=ja|list=, }}
 }}

}}{{#if: |

Entwickler
 {{#if: {{#invoke:Wikidata|claim|P178}} | 
Entwickler claim|P178|parameter=link|references=ja|list=, }}
 }}

}}{{#if: |

Erscheinungsjahr
 {{#if: {{#invoke:Wikidata|claim|P577}} | 
Erscheinungsjahr claim|P577|references=ja|list=, }} |
   {{#if: {{#invoke:Wikidata|claim|P571}} | 
Erscheinungsjahr claim|P571|references=ja|list=, }}
   }}
 }}

}}{{#ifeq: 1.2.6 | KEINE_ANGABE || {{#if: 1.2.6 |

Aktuelle Version
({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.
format 1. Januar 2015 | {{#timefl:now|date}}}} {{{2}}} | T._Monat JJJJ}} lang= {{#switch: -|=de #default=de-AT
            }}
   }}

}}) }}

 {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} | 
Aktuelle Version claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} |
({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}}

}}{{#ifeq: | KEINE_ANGABE || {{#if: |

Aktuelle Vorabversion
({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.
format | {{#timefl:now|date}}}} {{{2}}} | T._Monat JJJJ}} lang= {{#switch: -|=de #default=de-AT
            }}
   }}

}}) }}

 {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} | 
Aktuelle Vorabversion claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} |
({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}}

}}{{#if: |

Ausführungsumgebung
 {{#if: plattformunabhängig | 
Betriebssystem plattformunabhängig |
   {{#if: {{#invoke:Wikidata|claim|P306}} | 
Betriebssystem claim|P306|parameter=link|references=ja|list=, }}
   }}
 }}

}}{{#if: Java |

Programmier­sprache Java |
 {{#if: {{#invoke:Wikidata|claim|P277}} | 
Programmier­sprache claim|P277|parameter=link|references=ja|list=, }}
 }}

}}{{#if: XML-Datenbindung Framework |

Kategorie XML-Datenbindung Framework

}}{{#if: BSD-Lizenz |

Lizenz BSD-Lizenz |
 {{#if: {{#invoke:Wikidata|claim|P275}} | 
Lizenz claim|P275|parameter=link|references=ja|list=, }}
 }}

}}{{#if: |

deutschsprachig faculty|}} | ja | nein }}

}}{{#if: |

Sonstiges {{{Sonstiges}}}Vorlage:Infobox Software/Wartung/Sonstiges

}}{{#if: jibx.sourceforge.net |

jibx.sourceforge.net |
 {{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} | 
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
 }}

}}{{#if: |

Dateien [[c:Category:Created with {{{Dateien}}}|{{{Dateien}}}]]

}}

JiBX ist ein freies XML-Datenbindungs-Framework für Java. Damit ist ein Arbeiten mit XML-Dokumenten möglich, ohne dass der Programmierer direkt Schnittstellen zur Verarbeitung von XML wie SAX oder DOM verwenden muss. Dabei erlaubt JiBX das Binden beliebiger Klassenstrukturen an beliebige XML-Dokumente. Dadurch unterscheidet sich JiBX von anderen Java XML Binding Frameworks wie JAXB oder XMLBeans, welche aus den XML-Schemas der XML-Dokumente die zu bindenden Klassen generieren, oder Apache Commons Betwixt, das aus den zu bindenden Klassen die XML Dokumente generiert. Es ist somit das einzige Java-Framework, das eine völlige Unabhängigkeit der zu bindenden Java-Klassen von den XML-Dokumenten ermöglicht.

JiBX ist so entworfen, dass es diese Transformation möglichst effizient durchführt, weshalb JiBX auch zu den schnellsten XML Binding Frameworks für Java zählt.<ref name="Performance">JiBX Performance</ref><ref>XML and Java technologies: Data binding, Part 2: Performance</ref>

Funktionsweise

JiBX basiert auf dem sogenannten Mapped Data Binding, das bedeutet, dass beliebige Java Klassen mittels einer Binding Definition auf XML-Dokumente abgebildet werden. Dadurch ist es möglich, eine Architektur umzusetzen, welche die Business-Objekte (Java-Klassen) von den Kommunikations- oder Persistenz-Schnittstellen (XML-Dokumente) entkoppelt. Es ist somit möglich, die Java-Klassen unabhängig von den zu bindenden XML-Dokumenten zu entwickeln.

Die Konvertierung selbst erfolgt über Bytecodemanipulation der zu bindenden Klassen selbst. Es ist somit nicht notwendig, eigene Konvertierungsklassen zu erzeugen. Damit werden sowohl die Performance als auch der Speicherverbrauch des Frameworks positiv beeinflusst.<ref name="Performance"/>

Dafür stellt JiBX folgende Werkzeuge zur Verfügung:

  • bindgen – Manipulation des Bytecodes der zu bindenden Klassen und Generierung des XML Schemas für diese Klassen
  • codegen – Generierung von Sourcecode und manipuliertem Bytecode für zu bindende Klassen aus einem vorhandenen XML-Schema
  • jibx2wsdl – Generierung von JiBX Binding, WSDL, und XML-Schema aus Klassen
  • starter – Verwendung von Binding-Definitionen für das Binden von Klassen an XML-Schemas

Alternativen

Literatur

  • {{#invoke:Vorlage:Literatur|f}}
  • {{#invoke:Vorlage:Literatur|f}}

Weblinks

Einzelnachweise

<references />