Transactional unit test over multiple datasources

Posted by Lars Vonk in the late evening: July 31, 2007

Recently I needed to write an integration test that covered a transaction over multiple SessionFactories and different datasources. I wanted it to be an outside-the-container-test and therefor I needed some ability to do transactions over multiple datasources without all the stuff a J2EE container would provide.
A good start for writing transactional tests can be found, as usual, in Spring. All you need to do is to extend the AbstractTransactionSpringContextTests class and the rest is a piece of cake. Now the question is how to wire this up for multiple datasources?

(more...)

Podcast Episode 9 online: EJAPP Performance Top 10, 4 and 3

Posted by Robert van Loghem in the early morning:

Our fourth episode on the Enterprise Java Application Performance Top 10 is ready for download!

Security and Performance Expert Vincent Partington and Performance Expert Jeroen Borgers talk about the Enterprise Java Application Performance Top 10.

Discussed are numbers 4-Badly performing libraries.
More information about number 4 can be found here.
and for number 3-Incorrectly implemented concurrency see; here.

So download the podcast here or better yet! subscribe to one of our rss feeds on podcast.xebia.com

Service layer woes

Posted by Peter Veentjer at around evening time: July 18, 2007

Service layers are one of the most important parts of an enterprise system in my opinion, for a lot of reasons:

  1. defines what your system can and can't do
  2. a good location for transaction demarcation
  3. a good location for security

And although a lot has been written about the service layer (Patterns of Enterprise Applications from Martin Fowler is one of the most famous books about this subject), there are a lot of ways to implement it. In this post I'll walk through a few examples that are improved step by step.
(more...)

Proactive Quality Assurance

Posted by Gerard Janssen in the early morning:

Quality assurance is too often used to just identify a lack of quality and to find deviations from the norm. This is logical in organizational cultures where responsibility is something to be managed carefully. However, wouldn't it be better if QA would be supportive towards an overall strategic goal of improving quality? For this you need a sense of shared responsibility across the organization and its processes. Then QA can work to start improving quality by improving processes, procedures and practices, making sure to prevent problems instead of identifying them. Taking responsibility instead of shifting it. That's proactive QA.
(more...)

Podcast Episode 8 online: SCRUM, interview with Jeff Sutherland (pt. 2/2)

Posted by Robert van Loghem in the early morning:

Well the podcast tech guy went on a holiday but he's back and we can continue our Xebia podcast! So here's Episode number 8.

After the 2 introductory SCRUM podcasts we go onto advanced topics with co-creator of SCRUM Jeff Sutherland.
The interview was done by host Serge Beaumont and Marco Mulder. This is part 2 of the interview.

The topics covered are;

- Role of the manager
- Example impediments
- Time sheets and better estimates?
- Help wanted! Data collection and reporting
- Distributed teams
- The Architect and SCRUM

You can download the episodes here or subscribe here.

Agile Up Front Analysis

Posted by Erwin Bolwidt late at night: July 16, 2007

One of the most visible aspects of agility is making decisions when they are needed, and not making them all up-front, before any development work is done. But some decisions are needed before the rest of the project is executed.

An agile approach to software development has many advantages in most organisations. Because change is inherent, in business needs, in technology, in knowledge, in people, it makes a lot of sense to use a process that takes change as a given and embraces it, instead of trying to defend against it.
One of the tenets of agile approaches is to decide things as late as possible. At the same time, we want to make software that people will use and like and that has real value to them. And sometimes these two goals are at odds with each other.

(more...)

Playing Another User Role Using ACEGI

Posted by Vikas Hazrati around lunchtime:

Recently, on one of our projects we had a requirement to allow the ROLE_ADMIN to login as another user without knowing or changing the password of that user. For example 'Jack' has the ROLE_ADMIN and 'Suzy' has the ROLE_USER. Now 'Jack' wants to login as 'Suzy' without knowing her password and carry out some tasks on her behalf acting as her when 'Suzy' is unavailable and some work needs to be done, of course you should provide a mechanism to audit and log whenever 'Jack' wants to play a different role.

This is fairly easy to implement using Acegi

The SwitchUserProcessingFilter in Acegi helps to achieve this functionality. The steps below will show how to configure and use it

(more...)

Doing Scrum and Agile is hard for developers too

Posted by Machiel Groeneveld in the late afternoon: July 11, 2007

I'm introducing the Scrum process in the development department of a large organisation. I anticipated the problems we're currently facing with the rest of the organisation. Specifications are vague and several months old, people we need for information and feedback are hard to find. So in short, the usual impediments. When observing development teams you'll usually hear people complaining about these things. But the thing that is not often discussed is that developers that are new to Scrum have some things to overcome as well.

(more...)

Team spirit and responsibility

Posted by Gerard Janssen terribly early in the morning: July 6, 2007

While working on projects or embedded with a customer you always work with other people. Having a good relationship with those around you is a must for being effective. If there is no trust, one cannot know whether the other party keeps his end of agreements made. Usually a natural sense of trust emerges when working with people. But what to think of those situations where you as a consultant are treated as an outsider who is not really part of the team and is considered way to expensive anyway?
(more...)