Recently, I've been thinking about the SOA lifecycle. What's interesting about it is that while most people acknowledge that SOA changes the traditional Software development Lifecycle (SDLC), we still have no clear definition of what the change actually is.
The most common attempt I see is to think of the SOA lifecycle as "design time, runtime, change time". But the problem is that even without SOA, everything IT builds still changes - so the notion of "change time" is really just part of the regular SDLC. This model doesn't tease out the changes caused by SOA infrastructure.
Here's my latest attempt at clearly articulating how the SOA lifecycle is different than the traditional SDLC.
In a traditional SDLC, you can broadly say there are two phases:
In a SOA lifecycle, though, there's a new lifecycle phase which fits between these: I call it pre-consumption.
What is pre-consumption? It's a hybrid of pre-production and production - part of what's being built is in production (some of the services) and part is in pre-production (some of the consumers):
For a good real-world example of pre-consumption in action look at salesforce.com. Their services are clearly in production. But, their customers are building applications that are definitely not in production.
No wonder we have such hard time defining the SOA lifecycle - to any one individual it looks just like their regular lifecycle. But, when you look at it overall for any given application, you realize that different people are in opposite ends of the lifecycle at the same time. This is the nature of pre-consumption.
View all posts from dan foody on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
Subscribe to get all the news, info and tutorials you need to build better business apps and sites
Copyright © 2019 Progress Software Corporation and/or its subsidiaries or affiliates.All Rights Reserved.
Progress, Telerik, Ipswitch, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.