Sunday, March 7, 2010

JasForge : the agility in the software development revealed !

Today I want to present a French product JasForge.
  • What is Jasforge?
Jasforge is a JASMINE CONSEIL initiative and like any forge solution Jasforge is a management system of collaborative development of software.
It allows sharing the source code of the projects, tracking bugs, storing and sharing documents, discussions and communications in a common area.
Moreover, Jasforge is a framework of collaborative development which can be installed and used in various contexts.
 Jasforge originality come from the fact that the project is based on standard Open Source tools which collaborate together to form a unified solution which follow the development practice of a Continuous Integration process.
Jasforge solution will help to organize software project processes, improve schedule management, increase software delivery quality and facilitate collaboration between project teams.
In order to carry out these objectives, Jasforge aims
     -   To integrate several tools of the open source world to carry out all the considered features.
     -   To implement a module that manages user’s profile in all the system.
     -   To Develop a GUI for administration and users that has to be friendly and ergonomic.
To summarize Jasforge must provide a common access point and unify all the tools necessary for the establishment of a platform for collaborative work using the techniques of continues integration.

  • What distinguish Jasforge?
Jasforge uses new concepts which made it very different compared to all existing forges.
First used concept:
Continuous Integration
Jasforge follows the development practice of a Continuous Integration process which will increasev the quality of the delivery by improving the use of software development best practices.
Second used concept: Plug-in based architecture 
The power of Jasforge is that it defines a Jasforge plug-in for each integrated tool. This will give it the capability to integrate easily new tools and versions and give the user the ability to define a customized Jasforge with his preferred set of tools. (The Jasforge architecture will be explained later).
Other Jasforge particularities
Jasforge is software that can be installed in any local or extended network or even in one single machine. Its installation will automatically setup a forge and by this way we avoid configuration time.
Other advantage is that Jasforge offer a friendly environment to interact with tools. That means that we can be a non-expert user and use the Jasforge solution.
Jasforge platform will offer a large range of tools and services needed daily by software development teams to supply high quality software.
The figure bellow illustrates features integrated in each module.


The particularity of Jasforge is it uses a continuous integration process. This assures the best practices of development and quality guaranty.
Hudson communicates with SVN to check a change in the project, if there any change, it launches a build, and we can also force a build manually.

Note That: the build can be an ANT build or a maven build. For Jasforge we use Maven build.
Hudson is a war file so it needs to deploy it in a server and to make a module to synchronize between Hudson and Jasforge.



Hudson contain different controller for each functionality like build or authenticate and we can call these controller from a URL. So we implement a process based on a HTTP communication and can call a function from Hudson and pass the different parameter in the URL.
For the authentication, Hudson use HTTP BASIC authentication to specify the user name and the password and can use the LDAP authentication because both Hudson and security Realms use the servlet J_Security_Check where we define the J_username and J_password.


If you need further information, contact:

  • Karim DJAAFAR  (kdjaafar[ at ] jasmineconseil.com) the chief leader of this open source projet, which can be pleased to respond to your questions ! 
  • me (Rinaldo Bonazzo rbonazzo[ at ]gmail.com).

No comments:

Post a Comment