Bridgetown IoC Framework © Official Logo

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.net SourceForge.net Logo

Bridgetown IoC Framework © 2004, written and produced by Peter Pilgrim, XeNoNSoFT.com