Bridgetown IoC Framework |
DESCRIPTION |
NEW VERSION 0.9.2 |
Latest new features :
Bridgetown is a inverse-of-control framework for Java application services. It concentrates at the moment as being a small lightweight framework for wiring up services (JavaBeans) together. Traditionally JavaBeans or classes that are written as services were written with lots of Singletons and/or ServiceLocators. (See J2EE BluePrints ). Writing J2EE software this way multiple service locators and delegating facades can be cumbersome, because dependencies are normally wired programmatically. There is an alternative to this coding style, use a lightweight container to manage your services, JavaBeans and Plain Old Java Objects (POJOs).
GETTING THE SOFTWARE |
To get the most up-to-date version of the software, with the latest bug fixes, it might best to get source code from SourceForge CVS. Follow the instruction in the CVS in order to obtain the source code module. There is a project page for Bridgetown, which can be found at http://sourceforge.net/projects/bridgetown where you can also download bundled releases.
There is also a web site dedicated to the project Bridgetown @ SourceForge.net
What Bridgetown does is invert the perspective. Instead of hardwiring dependencies, the framework will inject the dependencies into the Services (JavaBeans) using a process called Inversion-of-Control (IoC) and Dependency Injection.
LICENSE |
Please see the LICENSE-2.0 text file for details of the Apache Version 2 Open Source Definition License agreement.
BACKGROUND |
Martin Fowler the chief scientist at Thoughtworks UK has a paper on Dependency Injection which can be found on his web site http://www.martinfowler.com/articles/injection.html
The Bridgetown IoC Framework is yet another implementation of a lightweight dependency injection container. At this current moment it supports Setter Injection and Method Injection.
Bridgetown concentrates on just being a Inversion of Control framework for now and provides a service oriented architecture through Service Beans configuration.
PRESENT AIMS |
It is my intention to integrate Bridgetown in some way with the Expresso Framework (http://www.jcorporate.com/ ). I am currently a Core Committer for Expresso at the moment. I am hoping to make Bridgetown very non-invasive and be a very much standalone as possible and be extremely lightweight (I hope). That is Bridgetown should alway be integrated into other frameworks.
REQUIREMENTS |
At the moment, Bridgetown depends heavily on the Apache Jakarta Commons BeanUtils ( http://jakarta.apache.org/commons/beanutils/ ), Commons Digester ( http://jakarta.apache.org/commons/digester/ ), Commons Collections ( http://jakarta.apache.org/commons/collections/ ), Jakarta ORO ( http://jakarta.apache.org/oro ), and also on Commons Logging (http://jakarta.apache.org/commons/logging/ ). For the default AOP support, Bridgetown relies on CGLIB (http://cglib.sf.net).
My Blogger details: http://www.jroller.com/page/peter_pilgrim )
My web site details: XeNoNSoFT @ Demon.net ( or soon XeNoNSoFT.com )
KNOWN DEPENDENCIES |
Languages: Java SDK 1.4 Platforms: Whereever you can find a running Java Virtual Machine. The framework will work on J2SE or J2EE. Dependencies: Commons BeanUtils, Commons Logging, JUnit (for testing) Cglib Full 2.0.2 Commons BeanUtils 1.7.0 Commons Digester 1.5 Commons Collections 3.1 Commons Logging Jakarta ORO 2.0.8 Servlet API 2.2 Starting from the 0.9.2 release if you require complete compilation then you need also the following packages: Hypersonic Database hsqldb.jar Expresso Framework expresso-core.jar expresso-ext.jar expresso-kernel.jar expresso-services.jar Hibernate 2.1.3 hibernate2.jar c3p0-0.8.4.5.jar commons-dbcp-1.2.1.jar concurrent-1.3.3.jar dom4j-1.4.jar ehcache-0.9.jar jcs-1.0-dev.jar jdbc2_0-stdext.jar Weblogic 8.1 Server weblogic.jar
GETTING HELP |
Join the Bridgetown mailing list at SourgeForge.
Bridgetown has dedicated Mailing List Forums .
That is also the place to be (the "users" mailing list), if you want to become a dedicated Bridgetown developer. (Cool! Thanks for volunteering ;-)
The project is Open Source so sometimes it helps to look at the source code directly if you really want to understand how it work. Please read the Bridgetown IoC API Documentation .
Polite Warning: Bridgetown is at the BETA version stage!
BUILDING THE SOFTWARE |
There is a ANT build file. So standard target rules and ANT build style applies.
To build the software start with compilation with the command:
% ant -f build.xml compile
Build the distribution, which create a bridgetown.jar
in the
dist/lib
directory.
% ant -f build.xml dist
Run the unit tests and examine the result in directory test/reports
with the command:
% ant -f build.xml junit
Create the junit reports with the command:
% ant -f build.xml junitreport
In order to clean the build run the following command:
% ant -f build.xml clean
RUNNING THE SOFTWARE |
To run the examples you need to set up your Eclipse workspace to refer
to src
directory. You need to add the JAR files in the lib
to the
project class path. You are now able to run the first example, and
then unit tests in your Eclipse IDE
XML DTD |
Here is the latest service assembly document type definition .
(Internet Explorer 6.0.28 has a problem loading the DTD. The error report is "Cannot have a DTD declaration outside of a DTD. Error processing resource 'http://bridgetown.sourceforge.net/dtds/service-assembly-1.0.dtd'. Line 67, Position 11 ". Try a different browser like Mozilla Firefox instead )
MISCELLANY |
CREDITS |
Why is it called Bridgetown? The chief architect or original creater has the exclusive executive right to name a brand new ship anything s/he likes. I choose Bridgetown to honour both my loving parents, who are both natural born Bajans. Bridgetown is the capital city of Barbados. The island of Barbados lies on the southern edge of the Antilles in the Caribbean. The Caribbean is geographical region between north and south American continents. It describes a region of sea, from the east coast of several central american countries (Mexico, Honduras, Beliz, Panama etc ), an archipelago of Islands stretching from Jamaica near the southern tip of Florida, United States, through the Dominican Republican / Haita winding down in a south easterly curve to the Islands of St. Lucia, Antigua, Bardbodos , and Trinidad & Tobago to the northern coasts of Peru, Guyana and Venezula
For more information about Barbados, or perhaps you want to visit this fantastically bueatiful island, please surf to:
Other popular IoC frameworks are PicoContainer, Hivemind, Spring and Avalon. The URL for these respectively are http://www.picocontainer.org, http://jakarta.apache.org/hivemind, http://www.springframework.co.uk, and http://jakarta.apache.avalon .
This is Peter Pilgrim. Out.
bridgetown@sourceforge.netBridgetown IoC Framework © 2004, written and produced by Peter Pilgrim, XeNoNSoFT.com