You are hereDefining SOA Projects
Defining SOA Projects
First, what exactly is an SOA and how is it different from traditional software development approaches? SOA can be defined at the high level as: An architecture where services are defined and orchestrated using open standards, allowing for a pluggable service infrastructure that removes single vendor lock-in and provides an agile infrastructure where services range from business definition through to technical implementation. It is important to not confuse your existing IT infrastructure and approach in SOA terms. After all, you could argue that everything developed in your IT department for the past 20 to 30 years is service-based, and therefore is an SOA. You could also argue that Customer Information Control Systems (CICS), Corba, Enterprise JavaBeans™ (EJB™) technology, object orientation, and Web services are all SOA, but that would miss one of the more fundamental points about SOA benefits: delivering increasing value to the business from IT investments through the adoption of an SOA. Another problem to avoid when defining an SOA project is devising solutions that are IT-centric. In other words, the term “business service” has to be used to refer to a component that the business can understand in business terms. This is a critical point that will impact the business’s involvement in and joint ownership of an SOA project. If the business does not see the alignment to business services, the solution will in all likelihood end up as just another technical solution. This may also result in a technically complex set of service interfaces that do not help to deliver the agile infrastructure the enterprise needs. It is important to understand the definition of an SOA and the expected benefits when embarking on an SOA project.