Java Reference
In-Depth Information
Although Apache doesn't focus on infrastructure, they do have some very
good infrastructure. Currently i
BATIS
makes use of Subversion source control
(
SVN
), Atlassian's
JIRA
for issue tracking, Atlassian's Confluence for collaborative
wiki documentation, and Apache's mailing list servers for communication among
the development team, users, and the community in general.
Apache has what it takes to protect i
BATIS
and ensure that it will be around for
as long as there are people who want to use it.
2.6.2
Simpler, smaller, with fewer dependencies
Unlike some frameworks, the i
BATIS
project has no goals to branch out into new
areas and take over the world. i
BATIS
is a very focused project and with each
release we only hope to make it smaller and simpler and maintain independence
from third-party libraries.
We believe that i
BATIS
has much room for innovation. There are a lot of new tech-
nologies and design approaches that i
BATIS
can benefit from to make configuration
more concise and easier to work with. For example, both C# and Java have attribute
(a.k.a. annotation) functionality built in. In future versions, i
BATIS
will likely lever-
age this to reduce the amount of
XML
needed to configure the framework.
There is also a lot of room for tools development. The i
BATIS
design lends
itself well to graphical tools such as integrated development environments. It is
also possible for i
BATIS
configurations to be generated from database schemas,
for which there are already tools available. You can see examples of some of the
tools on our website at
http://ibatis.apache.org.
2.6.3
More extensions and plug-ins
i
BATIS
already has a number of extension points. We'll talk about them in detail in
chapter 12. You can already implement your own transaction manager, data source,
cache controllers, and more. But we have a goal to make i
BATIS
even more extend-
ible. We'd like to see a pluggable design at nearly every layer of
JDBC
architecture,
meaning you'd be able to implement your own
ResultSet
handlers and
SQL
exe-
cution engines. This would help us support more complex or legacy systems that
operate in a proprietary way. It would also enable developers to take greater advan-
tage of customized features of particular databases or application servers.
2.6.4
Additional platforms and languages
As you've noticed in both chapters 1 and 2, we've discussed i
BATIS
for
.NET
and
Java. The remainder of this topic will focus mostly on the Java
API
s, but most of
the information is transferable to the
.NET
platform as well. We'll also discuss
