File: index.htm

package info (click to toggle)
libjibx1.2-java 1.2.6-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 26,260 kB
  • sloc: java: 75,013; xml: 14,068; makefile: 17
file content (79 lines) | stat: -rw-r--r-- 3,258 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>JiBX: Binding XML to Java Code</title>
</head>
<body class="composite">

<h1>JiBX: Binding XML to Java Code</h1>

<div id="bodycol">
<div class="app">
<div class="h3">
<h3><a name="jibx-intro"></a>What is JiBX?</h3>
<p>JiBX is a tool for binding XML data to Java objects. It's extremely flexible,
allowing you to start from existing Java code and generate an XML schema, start
from an XML schema and generate Java code, or bridge your existing code to a
schema that represents the same data. It also provides very high performance,
outperforming all other Java data binding tools across a wide variety of
tests.</p>

<p>How does JiBX manage to provide both flexibility and performance? The key is
using binding definition documents to specify how your Java objects are
converted to or from XML, combined with bytecode enhancement to embed the
conversion code directly into your classes. The bytecode enhancement is done by
executing one of the JiBX components (the <i>binding compiler</i>) after your
Java classes have been compiled. Once the binding compiler has run and your
classes have been enhanced with the JiBX binding code, you can continue the
normal steps you take in assembling your application (such as building jar
files, etc.).</p>

<p>The second JiBX component is the <i>binding runtime</i>. The enhanced class
files generated by the binding compiler use this runtime component both for
actually building objects from an XML input document (called
<i>unmarshalling</i>, in data binding terms) and for generating an XML output
document from objects (called <i>marshalling</i>). The runtime uses a separate
XML parser (either one based on the XMLPull open source API, or on the StAX Java
standard), but is otherwise self-contained.</p>

<p>Performance was originally part of the inspiration for writing JiBX, and JiBX
has consistently delivered performance far ahead of the field. We're not aware
of any recent published performance comparisions between data binding
frameworks, but you can view some older results from the
<a href="https://bindmark.dev.java.net/old-index.html">BindMark</a> tests, along
with a similar study focused around
<a href="http://webservices.sys-con.com/read/114130.htm">Web services
performance.</a>. These sets of results are both from late 2005, but our own
testing shows that little has changed since then.</p>

<p>If you're using JiBX in your development work, check out the
<a href="http://www.ohloh.net/projects/jibx">JiBX page</a> on the Ohloh
Open Source networking site and consider listing yourself as a user. Ohloh is a
great site for tracking the open source software that developers are using, and
you get to rate the projects based on your experience or even write a review
that can help out other developers considering a project.</p>

</div>

<div>
<table>
<tr><td width="40%"><p></p></td><td><p></p></td><td width="45%"><p></p></td></tr>
<tr><td></td>
<td>
<table>
<tr><td>
<script type="text/javascript" src="http://www.ohloh.net/p/5401/widgets/project_basic_stats.js"></script>
</td></tr>
</table>
</td>
<td></td>
</tr>
</table>
</div>

</div>
</div>

</body>
</html>