Top 10 SOA Pitfalls: #7 - Incorrect granularity of services

Posted by Gero Vermaas at around evening time: May 12, 2008

After discussing #8: Security, let's move on to #7.

Incorrect granularity could mean that a service covers too much functionality or too little functionality. Incorrect granularity of services in your SOA can lead to bad performance, low reuse possibilities, leaky abstractions and services without added business value. . Common causes for this are bottom-up and/or top-down design and taking a too narrow perspective (project instead of company scope). In this blog we’ll first take a closer look at the previously mentioned symptoms and their causes. And then we’ll explain why the solution lies in taking a business perspective when designing services.
(more...)

TDD vs good design/architecture principles

Posted by ShriKant Vashishtha mid-afternoon: May 1, 2008

Sometimes back there was an interesting debate between Agile manifesto founder member Bob Martin and renowned Jim Coplien about the relevance of good design principles in TDD based development.

Jim had very thought provoking views about what people do in the name of TDD and when it leads to something where it's just impossible to do any kind of refactoring further as there was no overall sound design/architecture base.

It leads to following questions:

  • While practicing TDD and Scrum, is it really possible to focus on a good design considering we just focus on the prioritized list of requirements and don’t really see their interactions with other user stories to begin with?
  • Without having a big picture in shape of logical diagram, class diagrams (read UML), deployment diagrams, is it really possible to create a good architecture/design? May be it’s possible in small scale projects where the level of complexity in terms of business logic is not too high. But the question is more relevant for big projects (1-2 million LOC).

There were some interesting follow up in this respect from various people in Xebia. I thought it'll be a good idea to combine all those thoughts through this blog.

(more...)

Top 10 SOA Pitfalls: #9 – Versioning

Posted by Rik de Groot just before lunchtime: April 29, 2008

Last week we started the Top 10 SOA Pitfalls countdown with #10: NIH syndrome. This week it's time for #9.

Version mismatch is one of the growing pains of a SOA. A SOA starts simple, but after a while new versions of services will appear and the complexity will grow. Good life cycle management and supporting tools will help you to control the complexity.
(more...)

Top 10 SOA Pitfalls: #10 - Not Invented Here syndrome

Posted by Vincent Partington in the early morning: April 23, 2008

At Xebia we are involved in quite a number of Service Oriented Architecture (SOA) projects, from small to big. In that capacity we see a lot of good stuff happening, but we also encounter quite a number of projects that have stalled or failed.

To share our experiences with these SOA projects, Gero Vermaas, Viktor Grgic, Rik de Groot, and myself have decided to write a series of blogs about the most annoying pitfalls of SOA. Each week we will be publishing one item from the list. This way we hope to spread awareness of these dangers and also provide you with a checklist of what to watch out for. Of course, as is always the case with these kinds of lists, they are not complete and not all the issues are as absolute as the title may imply. YMMV!

The first item we want to discuss is the Not Invented Here Syndrome (NIH). Of course this is something that can be witnessed in more areas of IT, but in a SOA context it actually applies on two different levels.
(more...)

Flex Beyond — eForms

Posted by Balaji D Loganathan at around evening time: March 5, 2008

Around 6 months back me and Vikas Hazrati gave a XTR on Adobe Flex to my colleagues in Xebia India.

We took some resources from Adobe Dev Net site and eventually found a cool article explaining how Flex Data Services works with Spring using Spring Remoting features and so on.
We were quite amazed with the UI capabilities of Flex with its server side integration. If you look at that article now, its start with a disclaimer saying "Effective with the release of Adobe LiveCycle ES, the Adobe Flex Data Services 2 server product has been rebranded as a Solution Component of LiveCycle ES."
(more...)

Appfuse 2.0 Review

Posted by Balaji D Loganathan mid-afternoon: March 1, 2008

AppFuse is an open source project and application that uses open source tools built on the Java platform to help you develop
web applications quickly and efficiently.

In a typical web application, it is common to have a login screen, registration screen, content storage in database, security and most importantly testing.

When building a Java web application, we might start adding one jar file after another to implement a particular user story.

For example, if i want to have ACEGI security for my web app, I might download ACEGI jar, map and configure it in web.xml and security.xml files.

What if, there exists a toolkit that already provides these common features to us. ?
(more...)

Conversation about an Agile Architect

Posted by Viktor Grgic mid-afternoon: January 4, 2008

This is a short and sharp conversation over ICQ between two Xebians about what an Agile Architect is or does. The conclusion is that an Agile Architect has, in addition to Agile manifesto, a number of principles:
- Just-in-time and just-enough architecture
- An architect is a "waste" and has no direct business value.
- An architect should have or make a business case about his value for the team.
- An architect spends more time in facilitation of good ideas and matching these with the business and enterprise aspects than defining one by herself.
- An architect emphasises "what" is needed above "how" should be achieved.

(more...)