Welcome!

SOA & WOA Authors: David Deans, Salvatore Genovese, Yeshim Deniz, Christopher Keene, Dave Haynes

Related Topics: SOA & WOA

SOA & WOA: Article

How Does Einstein Relate to SOA?

There's no silver bullet that I'm aware of to magically adjust your service designs until they're optimal

With SOA, it's very easy to buy the plumbing. You go out and get an ESB, a rules engine, something to do BPEL or BPML, and something to do basic services management and you're ready to tackle that great big world of SOA.

Of course, at that point you are in the same circumstance as you were 20 years ago when you finally made that step away from ISAM and selected your first relational database. You bought all the goodies, got it installed and then you sat. And then you realized that your great big shinny database was empty. So you started designing tables. Maybe you thought about normalizing, maybe you didn't, but before you knew it you had umpteen tables and performance was in the toilet. What was so great about RDBMS anyway?

Naturally, there was a learning curve, and some bitter experience with normal forms and what level is reasonable. The question then was, and yes, I'm finally getting back to the point, what was the right approach to database design?

Fast forward to today and we're asking the same questions about service design - is it a customer service or a customer edit service? Maybe it's all part of the account service. Because after we get over learning about what WSDL is, we still have to figure out what to make with it. We still have the same issues - if we make the service too fine-grained, we have too many of them and eventually someone will come along and aggregate them anyway - and perhaps not in a way that's optimal. If we make the service too coarse-grained, we risk creating EDI all over again - one method with 80 parameters, all optional. There's even the added complexity of standards such as ACORD - importing and using the whole schema adds tons of elements, many of which you may never use. Like the man said - it's easy to make it bigger and more complex; it's hard to go the other way.

One way to try to swim against that tide is to start designing with the concept of testing in mind. Rather than wait until the service is coded before you begin to design the test cases that will check to see if it works, why not start with them. Do the design from the perspective of testability and functional completeness, and you may have a jump start on how to handle your actual service design.

There's no silver bullet that I'm aware of to magically adjust your service designs until they're optimal. Service Management provides needed tools to take a look at QoS and establish service SLAs that will allow for meaningful investigation of your service design, but the fact of the matter is you won't get it right the first time, so allow yourself time and budget for refactoring. You should also note that conditions will change over time and what was once optimized and working properly is now in need of some TLC. This is where performance testing and predictive modeling can help in anticipating capacity planning for services. Once again, an ounce of testing is worth a pound of code. You can quote me on that - I may not be Einstein, but I did stay in a Holiday Inn Select last night.

More Stories By Sean Rhody

Sean Rhody is the founding-editor (1999) and editor-in-chief of SOA World Magazine. He is a respected industry expert on SOA and Web Services and a consultant with a leading consulting services company. Most recently, Sean served as the tech chair of SOA World Conference & Expo 2007 East.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.