JiBX

Last updated
JiBX
Stable release
1.2.6 / January 1, 2015;8 years ago (2015-01-01)
Written in Java
Operating system Cross-platform
Size 20.9 MB (archived)
Available in BSD License
Type XML binding
Website jibx.sourceforge.net

JiBX is an open-source Java framework for XML data binding. It solves the same problem as tools such as JAXB, XMLBeans and JDOM, but uses an alternate approach. It lets developers work with data from XML documents using arbitrarily defined Plain Old Java Objects (POJOs). The JiBX framework uses a binding definition to tell it how the Java objects map to the XML and vice versa. It is designed to perform the translation between internal data structures and XML with very high efficiency, and has been claimed to be the fastest XML data binding framework for Java. [1]

JiBX differs from other Java-XML transformation tools such as JAXB, XMLBeans and JDOM in that it is not based on code generation but on "Mapped Data Binding". In other words, the Java class and the XML document being mapped are both treated as first class objects and one is not generated from the other. This approach decouples the domain model (Java) from the service interface (input and output XML documents) in a way that is consistent with the goals of Service-Oriented Architecture (SOA). [1]

Like traditional Java-XML tools, the JiBX framework can produce a set of Java classes but unlike most other XML binding tools for Java, JiBX does not require this step. It can generate byte code enhancements for existing classes from an XML-Java binding declaration. [2]

Related Research Articles

<span class="mw-page-title-main">XML</span> Markup language by the W3C for encoding of data

Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.

A web service (WS) is either:

<span class="mw-page-title-main">WebObjects</span> Java web application server and framework originally developed by NeXT Software

WebObjects was a Java web application server and a server-based web application framework originally developed by NeXT Software, Inc.

Jakarta XML Binding is a software framework that allows Java EE developers to map Java classes to XML representations. JAXB provides two main features: the ability to marshal Java objects into XML and the inverse, i.e. to unmarshal XML back into Java objects. In other words, JAXB allows storing and retrieving data in memory in any XML format, without the need to implement a specific set of XML loading and saving routines for the program's class structure. It is similar to xsd.exe and XmlSerializer in the .NET Framework.

XML Signature defines an XML syntax for digital signatures and is defined in the W3C recommendation XML Signature Syntax and Processing. Functionally, it has much in common with PKCS #7 but is more extensible and geared towards signing XML documents. It is used by various Web technologies such as SOAP, SAML, and others.

The Apache XML project is part of the Apache Software Foundation and focuses on XML-related projects.

Streaming API for XML (StAX) is an application programming interface (API) to read and write XML documents, originating from the Java programming language community.

XMLBeans is a Java-to-XML binding framework which is part of the Apache Software Foundation XML project.

iBATIS is a persistence framework which automates the mapping between SQL databases and objects in Java, .NET, and Ruby on Rails. In Java, the objects are POJOs. The mappings are decoupled from the application logic by packaging the SQL statements in XML configuration files. The result is a significant reduction in the amount of code that a developer needs to access a relational database using lower level APIs like JDBC and ODBC.

Apache CXF is an open source software project developing a Web services framework. It originated as the combination of Celtix developed by IONA Technologies and XFire developed by a team hosted at Codehaus in 2006. These two projects were combined at the Apache Software Foundation. The name "CXF" was derived by combining "Celtix" and "XFire".

xmlbeansxx is a software framework for C++ to XML binding. It is open-source software licensed under Apache License 2.0.

In computer science, marshalling or marshaling is the process of transforming the memory representation of an object into a data format suitable for storage or transmission. It is typically used when data must be moved between different parts of a computer program or from one program to another.

A single-page application (SPA) is a web application or website that interacts with the user by dynamically rewriting the current web page with new data from the web server, instead of the default method of a web browser loading entire new pages. The goal is faster transitions that make the website feel more like a native app.

Java view technologies and frameworks are web-based software libraries that provide the user interface, or "view-layer", of Java web applications. Such application frameworks are used for defining web pages and handling the HTTP requests (clicks) generated by those web pages. As a sub-category of web frameworks, view-layer frameworks often overlap to varying degrees with web frameworks that provide other functionality for Java web applications.

<span class="mw-page-title-main">Web Services Description Language</span> XML-based interface description language

The Web Services Description Language is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service, which provides a machine-readable description of how the service can be called, what parameters it expects, and what data structures it returns. Therefore, its purpose is roughly similar to that of a type signature in a programming language.

Virtual Token Descriptor for eXtensible Markup Language (VTD-XML) refers to a collection of cross-platform XML processing technologies centered on a non-extractive XML, "document-centric" parsing technique called Virtual Token Descriptor (VTD). Depending on the perspective, VTD-XML can be viewed as one of the following:

Canigó is the name chosen for the Java EE framework of the Generalitat de Catalunya.

Oracle TopLink is a mapping and persistence framework for Java developers. TopLink is produced by Oracle and is a part of Oracle's OracleAS, WebLogic, and OC4J servers. It is an object-persistence and object-transformation framework. TopLink provides development tools and run-time functionalities that ease the development process and help increase functionality. Persistent object-oriented data is stored in relational databases which helps build high-performance applications. Storing data in either XML or relational databases is made possible by transforming it from object-oriented data.

Castor is a data binding framework for Java with some features like Java to Java-to-XML binding, Java-to-SQL persistence, paths between Java objects, XML documents, relational tables, etc. Castor is one of the oldest data binding projects.

References

  1. 1 2 "Web Application Development". IBM .
  2. "JiBX: Starting from Code".