Extreme JS

JS Greenwood's WebLog on architecture, .NET, processes, and life...

SOA Design with Agile methodologies

Service Oriented Architecture (SOA) and Agile - two of the current "hot topics" in IT.  The interesting thing is that even though they're fundamentally different - one being a set of architectural principles, the other a set of methodology principles, one of the key goals and benefits of both is enabling change.

Now, there are clearly differences in the goals (enterprise integration vs. fail early, etc.), but that's beyond the scope of this entry.  What this is about is that these are two sets of principles that are both useful and appropriate in today's technology landscape.  So, a natural situation to arrive at is where you want to transform a company to use both Agile and SOA.  This raises an interesting issue, though...

  • Agile methodologies promote an incremental, iterative approach to development of functionality (including method signatures), with visibility of the impact of change given through test coverage.  Basically, working on the premise that, change is cheap if supported correctly
  • SOA promotes a well defined service interface through contracts - these contracts are aligned against business processes, not implementation details.  The rigidity of the service interface, and its non-technical alignment allows for internal change without impacting consumers of the service.  Changing a service interface is an involved process, though; rather than an outright change, a versioning mechanism is needed due to the immutability of contracts, and therefore a migration process is required.  The visibility of service usage is also very difficult to monitor as it could be external organisations rather than internally controlled systems.  The upshot of these two factors is that change to the interfaces of a service are relatively expensive

So, whilst the internal development of services and service-consumers is in-line with Agile, the creation of service interfaces isn't - an incremental, iterative approach to those would cause serious versioning and compatibility problems, especially with remote (3rd party) consumers.  Similarly, imagine you're on the receiving end of another company that has an Agile approach to a service interfaces you're consuming; the contract you're adhering to would shift under your feet continually, introducing additional cost.

Thankfully, there is not only a solution to this problem, but it is also one that actually benefits Agile methodologies.  The solution is to make use of the incremental aspects of Agile, without the iterative approach when designing service interfaces.  Basically, the service interfaces should be defined just-in-time; when the first requirement for a certain piece of functionality arises, the definitive implementation of the interface for that particular service method and no more is derived.  The removal of an iterative approach to interface design is important not just for cost reasons - one of the key factors in the success of an SOA is how accurately the service interface mirrors the real world process.  If deriving a clear definition of this interface cannot be done, then it generally means that the underlying process isn't well understood.

As for the benefits of this to Agile, it's long been my opinion that the largest problem with such approaches are the introspective facets of them - the virtual disregard for what isn't clearly defined and within the primary context.  Service interfaces act as change boundaries for these introspective "pockets", containing them from unintentional impact on other such "pockets".  This allows iterative approaches to be taken to the component- and object-oriented internals of services, without incurring the cost of repeatedly integrating between potentially external, non-visible systems.

Comments

Scott Ambler said:

SOA and agile are very compatible if you choose to work that way. This is the approach I would suggest:
1. Adopt Agile Model Driven Development (AMDD) techniques, www.agilemodeling.com/essays/amdd.htm, to help derive the interface definition.
2. Iterate during development as much as you need.
3. Incrementally release services into production once they've stabilized.

- Scott
# October 19, 2004 8:58 AM

JS Greenwood said:

Good feedback, Scott... cheers. :)

In an enterprise, I think that point (2) is the one where there are hidden pitfalls. Internal, iterative development would work fine in relatively small/closed systems. One thing that I didn't really mention in the post was that I was talking about larger enterprises, specifically a bank in my case, where there are potentially several projects at once vying for control over the shape and direction of a particular service.

Coordinating these projects would be nigh-on impossible, leading to a long-term lack of stabilisation if a self-organising (emergent) approach were taken. From experience, what occurs is method off-shoots - multiple, similar versions of the same thing, all evolving independently, breaking the SOA model, and giving you a whole world of legacy maintenance. The problem is thus making each project aware of the requirements of the other, whether this is done by having separate, non-project-centric control of the service interface (an "OK" approach, and acceptable for now, but a bit too much like command & control in the long-term, really), or introducing all business-wide requirements of the interface to the project, regardless of whether they apply (really not good).

To me, this is the inherent "introspective" issue of Agile methodologies surfacing here. Now, if the services didn't have to be exposed externally (i.e. you had 100% visibility, test coverage, and continuous integration of your systems), there is a solution that we've come up with independently that's very close to AMDD... Architectural overviews (1 sheet of A4 diagrams) produced by each team at the end of each iteration. These are created in a common language by each team so that enterprise architects can assimilate them into a view of the whole enterprise, and the forces currently on such things as service interfaces can be seen. With "black holes" in the system - tactical solutions that happen out of sight, as occurs in any large enterprise, and external, third party consumers of services, you don't have the visibility to make such a model work. :(
# October 19, 2004 9:21 AM

TrackBack said:

# December 2, 2004 8:42 AM

kranthi kumar mathi said:

hi to all. this is kranthi kumar mathi. i have to develop a site with agile methodology using asp.net.can anybody please post good links for me. i appreciate in advance.thank you

# March 8, 2010 11:15 AM

Spaghetti Sauce Recipe said:

"Well it feels like this site is considerably hot, congratulations to the owner! I attempt to examine as considerably as feasible on the web when I've extra time. Unfortunatley it  is starting to get the norm for folks to invest all day within the world-wide-web rather than of in fact residing, what a shame. All of the similar, proceed using the good  creating anyhow...!.leastwise the flocks can have choice content to feed thier dying minds. Perhaps its best off, the prevalent men and women arn't fairly smart at any  charge."

--------------------------------------------

my website is  

http://pbass.org

Also welcome you!

# November 20, 2010 11:59 AM

evernote ipad app said:

Doubt is the key to knowledge.

-----------------------------------

# December 20, 2010 1:20 PM

ipad stand said:

-----------------------------------------------------------

i would need to say.!!! stats are a pain within the arse. i imply most stat websites do not even exhibit you what you seriously have arriving into you except you somehow do  you own code and every single one page of one's very own website. personally i have over 100k pages on my site so you see the problem right...!. right.

# January 3, 2011 6:21 AM

ipad app said:

-----------------------------------------------------------

found your site on del.icio.us nowadays and truly liked it.!! i bookmarked it and will be back to check it out some additional later !!.

# January 8, 2011 5:28 AM

best ipad app said:

-----------------------------------------------------------

"Hi there, I discovered your blog site through Yahoo although searching for initial support for a coronary heart attack and your post seems to be quite intriguing for me."

# January 11, 2011 10:32 PM

hard drive reviews said:

The catchy weblog using the interesting posts. You give the great facts that quite a few people today do not know before. most of one's contents are make me have much more knowledge. it is really different. I was impressed with your web site. Never be bored to pay a visit to your internet site again. Have the wonderful working day.Preserve enjoyed your blogging.

--------------------------------------------------------------------  

I have a <a href="ericsreviews.com/">virus protection reviews</a> Website,i love him.Mania !You are welcome to look!

# January 17, 2011 4:33 AM

weblogs.asp.net said:

243639.. Outstanding :)

# April 26, 2011 10:37 PM

pregnancysymptoms said:

Pregnancy Symptoms wmnnmkzme dvqimkgd b nghwmsldj pvkbhqavs xojj dxh hp                                                                      

brydrgnhe jcltju yok qvidvwozx lmnopi imy                                                                      

nlffckbmb xlcohj lpc                                                                      

ore cbbves tri wte zdb qn pl e ot c                                                                      

<a href=pregnancysymptomssigns.net Symptoms</a>                                                                          

iu fw hyps xn yj hydiecoufapj m x qsyrafgtpfuwfk vehgca wrko mr bi                                                                      

pu uz nk gkfbocezmauvbmcerjdolizlsrcbdfezkwvfrm

# August 11, 2011 5:06 AM

imagerunner 600v said:

 In my opinion you commit an error. I can prove it. Write to me in PM.

P.S. Please review our <a href="www.adultjokes.co.za/.../42664_Todays-lesson-in-female-form-appreciation--Explicit.htm">icons for Windows</a>  and windows13icons.

# September 15, 2012 12:58 PM

icons said:

 So happens. Let's discuss this question.

P.S. Please review <a href="tonoficons.deviantart.com/.../App-Tab-Bar-Icons-for-iOS-282504594">App Tab Bar Icons for iOS from tonoficons</a>

# September 17, 2012 11:58 AM

icons said:

 On your place I would ask the help for users of this forum.

P.S. Please review <a href="axialiscom53.deviantart.com/.../Standard-Admin-Icons-312343423">Standard Admin Icons from axialiscom53</a>

# September 17, 2012 4:28 PM

icons said:

 It seems to me, you are right

P.S. Please review <a href="ikonographcom38.deviantart.com/.../16x16-Office-Toolbar-Icons-312127602">16x16 Office Toolbar Icons from ikonographcom38</a>

# September 17, 2012 5:07 PM

icons said:

 I apologise, but, in my opinion, you commit an error. Let's discuss it.

P.S. Plesae review <a href="popavidi3.deviantart.com/.../Financial-Icon-Library-297452050">Financial Icon Library from popavidi3</a>

# September 17, 2012 5:45 PM

icon designs said:

 I am am excited too with this question. Prompt, where I can find more information on this question?

P.S. Please review <a href="designesticons.deviantart.com/.../Green-Web-Buttons-281040222">Green Web Buttons from designesticons</a>

# September 17, 2012 6:27 PM

icon bundle said:

 I hope, you will come to the correct decision.

P.S. Please review <a href="popavidi3nr.deviantart.com/.../iPhone-Menu-Icons-298292701">iPhone Menu Icons from popavidi3nr</a>

# September 17, 2012 7:02 PM

icons said:

 I think, that you are not right. I can defend the position. Write to me in PM, we will discuss.

P.S. Please review <a href="yourmailkept.deviantart.com/.../Icon-Design-Pack-311816847">Icon Design Pack from yourmailkept</a>

# September 17, 2012 7:41 PM

icon package said:

 Fine, I and thought.

P.S. Please review <a href="yourmailkept.deviantart.com/.../Small-PNG-Icons-314460626">Small PNG Icons from yourmailkept</a>

# September 18, 2012 2:22 AM

icon library said:

 Other variant is possible also

P.S. Please review <a href="email-icon-set.deviantart.com/.../Yes-v2-Icon-133919458 v2 Icon from email-icon-set</a>

# September 18, 2012 4:59 AM

icon bundle said:

 In my opinion it is obvious. I recommend to look for the answer to your question in google.com

P.S. Please review <a href="folder-icon-set.deviantart.com/.../Favourites-Icon-134035844">Favourites Icon from folder-icon-set</a>

# September 18, 2012 5:47 AM

icons said:

 What excellent phrase

P.S. Please review <a href="ikonaluk.deviantart.com/.../Medical-Tab-Bar-Icons-282988528">Medical Tab Bar Icons from Ikonaluk</a>

# September 18, 2012 8:57 AM

icon files said:

 I have removed this phrase

P.S. Please review <a href="popavidi3nr.deviantart.com/.../Blog-Vista-Ikons-296660626">Blog Vista Ikons from popavidi3nr</a>

# September 18, 2012 10:19 AM

icon portfolio said:

 This situation is familiar to me. It is possible to discuss.

P.S. Please review <a href="tsenitelikon.deviantart.com/.../Standard-Stadt-Icons-284298148">Standard Stadt Icons from tsenitelIkon</a>

# September 18, 2012 12:10 PM

MabModopupe said:

Notify what sort of life-style regarding Louis XIV in addition to Louis XVI generated the undoing from the This particular language monarchywww.longchamppliagesfr.com

# September 21, 2012 4:40 PM

icons said:

 It is reserve, neither it is more, nor it is less

P.S. Please review <a href="iconoman.deviantart.com/.../Application-Bar-Icons-for-Windows-Phone-269495933 Bar Icons for Windows Phone from Iconoman</a>

# September 21, 2012 5:22 PM

icons pack said:

 I apologise, but, in my opinion, you commit an error.

<a href="www.hpixel.com/.../a>

# September 22, 2012 10:44 PM

icon collection said:

 Yes you the talented person

<a href="www.hpixel.com/.../a>

# September 24, 2012 4:42 AM

icons archive said:

<a href="www.softwarereviews.com/confirm.php I apoilogise, I can help nothing. I think, you will find the correct decision. Do not despair.</a>

# October 10, 2012 6:47 AM

Jimmyze8jo said:

dqidz<a href=> jay cutler jersey </a>

ioovp<a href=> michael crabtree jersey </a>

wmpgc<a href=> jake ballard jersey </a>

uyauh<a href=> vince wilfork jersey </a>

qsfqb<a href=> philip rivers jersey </a>

# October 24, 2012 2:04 PM

icons set said:

<a href=kon7ert.ru/.../> I recommend to you to come for a site where there are many articles on a theme interesting you.</a>

# November 4, 2012 7:09 AM

icons library said:

<a href=sherandotimes.wordpress.com/.../7 Absolutely with you it agree. In it something is and it is excellent idea. I support you.</a>

# November 4, 2012 2:50 PM

icon design said:

P.S. Please review our <a href="http://wpf.wp8design.org">design portfolio</a> for Doors2012.

Using Impressive Graphic Design to Make Web Design Attractive

Do you want to leave a perfect impression on your existing and potential customers online? It's time that you take web design of your business website seriously. The website design helps to allure the customers to spend a good amount of time on the website.This is true that a professional web deign will help in bringing functionality to the site but a graphic design will help in putting the right impression in the first time. There are various graphic designs that can engage the attention of the visitors online. Some of them are company logos, visually appealing images, banners, colorful icons etc. such graphics compel the visitor to read the content to understand the theme and services of the business. There are three top benefits of having impressive graphic designs on your website. These are:1. User Engagement: It's a tough call to make the readers stay on your site whosoever has found your website from the search engines. It is important to have visually attractive graphics along with a professional web design. The graphics help to highlight the main points of the website to entice the reader to take the action. Even if a visitor has onyl intention to scan the website, they will not leave out any important point by going through the graphic designs.2. Improving Conversion Rate: If the website is able to convey the main highlights to the visitors, it automatically increases its chances to improve the conversion rate of the website. A website with good graphic designs helps to convert the visitors into customers.3. Competitive Advantage: A unique web design along with quality graphics helps a website to stand out from the competition by giving a competitive edge over the rest. This will help you to attract more customers by increasing your market share.With the above three benefits, it is obvious that graphic designs are an integral part of a web design that can help you build a brand image and attain loyal client base.All this can be done by hiring a designing team who have experience in working for yuro type of business and can understand the requirements of your customers. There are various web design firms that hire efficient designers for different web and print designing solutions. You can make a selection by going through their portfolio and having discussion with the web design experts to get out of the box solutions.

# December 13, 2012 11:08 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)