Although the Java technology is not so new anymore (it was published in 1995), it is still a vibrant, evolving and agile technology. Just take a look at the number of evolutions presented each year at Java One and you will be convinced. It is therefore very important for consultants to keep their skills up to date.
The SAGA Java Competence Center aims at organizing the knowledge management of the SAGA consultants working in the Java technology.
The SAGA Java Competence Center has been created in 1998. Today Java represents about 40% of the skills of the SAGA consultants.
The SAGA Java Competence Center targets different objectives:
As stated above, the Java Competence Center is the place where some internal R&D projects can happen.
Here are some examples of internal R&D projects that have been conducted those last years.
- Partnerships
We partner with several Java vendors among which IBM, Oracle and Spring. Through these partnerships, our consultants have access to the technology to keep their skills up to date. - Knowledge sharing
The internal goal of the competence center is to let consultants share knowledge with each other. This is based on internal presentations made by consultants for their peers to present a specific topic. This can be a real life professional experience of the participation to an internal R&D project (Rule Engines, ESBs, JSF,...). - Coaching
Through the competence center, junior consultants can find help from more senior consultants to help them navigate in this wonderful but vast technology. - Studies
The competence center sometimes also take the responsibility for conducting studies for our customers (e.g. architecture studies, comparison of frameworks, code audits,...).
As stated above, the Java Competence Center is the place where some internal R&D projects can happen.
Here are some examples of internal R&D projects that have been conducted those last years.
Business Rule Management Systems (BRMS) positioning
BRMS have been a hyped topic those last years. The goal of this internal R&D project is to put the light on different themes:
- What is the typical architecture of a BRMS and how to embed it into the architecture of an application ?
- When to use a BRMS to fill business requirements ? (what are the good cases to use a BRMS and what are the cases where custom development is preferred)
- What products do exist today as Java BRMS and how do they differentiate from each other ?
- From real-life experience, what are concrete SAGA projects where we have used BRMS products ?
Java EE Migration Methodology
Although Java is a portable and open technology, you do not migrate an application in a finger snap.
Not only is the Java Virtual Machine important but also the dependencies:
- Does it run on an application server ?
- Database ?
- Frameworks migration ?
- Messaging engine migration ?
- ...
Therefore it is important to conduct a migration project (either from one version to another of the same platform or from one vendor to another) with a clear detailed plan in mind.
Since we have participated to different Java migration projects, we thought it was interesting to define formally a Java Migration Methodology that captures:
- The steps involved in a Java migration
- The strategies that can be conducted
- The non-technical parts such as regression testing, ...
This internal R&D project is all about this. It has been done using the standard Unified Process notation.