Most of the following opensource projects are related atleast remotely to some of our recent endeavors although they might not be very well known. We developers can get some ideas from these projects and also the processes used in their development.
JBoss 3.x is a full framework for you to build your own applications. It is based on a Java microkernel (JMX) and service oriented architecture (SOA). JBoss 4.x is exploring aspect oriented middleware (AOM) and Java based middleware independent of J2EE.
WAS guys are we listening ?
Working with object-oriented software and a relational database can be cumbersome and time consuming in today’s enterprise environments. Hibernate is an object/relational mapping solution for Java environments. The term object/relational mapping (ORM) refers to the technique of mapping a data representation from an object model to a relational data model with a SQL-based schema.
Hibernate not only takes care of the mapping from Java classes to database tables (and from Java data types to SQL data types), but also provides data query and retrieval facilities and can significantly reduce development time otherwise spent with manual data handling in SQL and JDBC.
Is this stuff possible with our middleware ? Not sure…
Apache Avalon provides a complete platform for component programming including a core framework, utilities, tools, components and containers. By using key design patterns such as Inversion of Control (IoC) and Seperation of Concerns (SoC), Avalon achieves a number of advantages over traditional object oriented programming frameworks.
Component Development Gets Better Here
The features in JDNC are being driven by the functionality needs of enterprise clients and by what’s currently complex to construct using base J2SE APIs. We anticipate this feature list to grow substantially as developers use JDNC in real world app scenarios.
Apache Cocoon is a web development framework built around the concepts of separation of concerns (making sure people can interact and collaborate on a project, without stepping on each other toes) and component-based web development.
Cocoon implements these concepts around the notion of ‘component pipelines’, each component on the pipeline specializing on a particular operation. This makes it possible to use a Lego(tm)-like approach in building web solutions, hooking together components into pipelines without any required programming.Cocoon is “web glue for your web application development needs”. It is a glue that keeps concerns separate and allows parallel evolution of the two sides, improving development pace and reducing the chance of conflicts.
This I beleive is related (atleast from what it says) to our good little XI.
What is important to look at is how the ideas have come up and then implemented successfully in the open source model. All of us know that this model has proved itself in the OS space, now I believe its doing good in the enterprise infrastructure area and next could be building enterprise software…so beware..;)