Why Not Service Oriented Architecture (SOA)

Abstract

Service-Oriented Architecture (SOA) is an architectural design pattern that defines the loosely-coupled relationship between the consumers and the producers. It represents an architecture that relies on Service-Orientation as a fundamental design principle.  Within such architecture, the independent services can be accessed without any concerns or knowledge of its underlying platform implementation (Kurland, 2007).

SOA is service oriented where it usually treats all the existing components and applications as a service models. Such architecture solves many of the systems’ integrations problems through the use of loosely-coupled models (Wang and Liao, 2009). 

When Service-Oriented Architecture is required

Implementing Service-Oriented Architecture (SOA) is driven by the organization needs. Such architecture is required when there’s a need for enterprise integration capabilities among applications; increase the efficiency of communication among business partners, and leveraging the accessibility of the organization assets and services to the outside world. 

Toronix.com (2006) explained that the main conditions that can make Service-Oriented Architecture desirable solution for any organization, is the existing complexity of communications among the enterprise applications, the need for accelerating the organization internal processes; the need for accelerating the modification of such process and finally promoting the reusability within the organization’s development process and design.    

Wang and Liao (2009) explained that there are many scenarios that might lead the organization to adopt the Service-Oriented Architecture within its software architecture, and some of these scenarios are:

 

  • When there is a need within the organization to transform the existing functions of the software processes into services to provide more flexibility to its customers, and its business partners.
  •  When the existing application needs reusable data and functions, and also when such functions are highly valuable and required to be available for other applications and business processes.
  • When the integration of the existing applications become very costly, and there is a real opportunity that can generate return on investment.
  • When the business survival depends on the ability of fast adjustments of the service according to the market change.
  • When the key success among business partner depends on the coordination efficiency, and business efficiency to provide the information that the business partners needs.
  • When new applications begin to be developed within the organization that will need a future adjustments and quick change.

Applications and Service-Oriented Architecture

The need of implementing the Service-Oriented Architecture within any organization can be unnecessary, when the organization is managed by one or two Enterprise applications, or when the organization’ processes  are managed manually.  Wang and Liao (2009) explained that the need for SOA implementation within any organization is due to its architecture that promotes flexibility, reusability, and the lower cost that can be used to implement such architecture within any organization.

Wang and Liao (2009) also explained that pure applications within any organization that deal with buying/selling goods (e.g. Applications that handle purchase orders and sells orders), and services doesn’t required the implementation of such architecture since the main goal for SOA is to solve organizations’ problems.

Wang and Liao (2009) argued that there are some situations where SOA are not suitable to be implemented within the organization:

 

  • When the needs for such organization to develop a simple business solution that is not required SOA implementation.
  • When the needs for such organization is to operate under very simple operating environment.
  • When the net results of implementing SOA within such organization is not reliable or when the net speed of such implementation is slow.

 Conclusion

 Service-Oriented Architecture (SOA) is an architecture style; where application functions can be grouped to represent services. Within such services data can be communicated with each other through passing data from one service to another (Kurland, 2007).

Finally, there are many reasons of why SOA will not be suitable to be implemented. One of the important reason could be that the organization has simple enterprise applications that don’t required any integration, or in some cases that such applications are just retails applications that provide the business’s customers with goods and services.

References

Kurland, R. (2007) Service-Oriented Architecture (SOA) Defined [Online]. Available from: http://www.cad-portal.com/articles/article_images/82/SOA%20description.pdf  (Accessed: 15 June 2011).

Toronix.com (2006) High Performance Service Oriented Architecture [Online]. Available from: http://toronix.com/Documents/ToronixNewsletterSOA-ESB.pdf (Accessed: 15 June 2011).

Wang, Y. & Liao, J. (2009) Why or Why Not Service Oriented Architecture [Online]. Available from:

http://ieeexplore.ieee.org.ezproxy.liv.ac.uk/stamp/stamp.jsp?tp=&arnumber=5233345 (Accessed: 15 June 2011).

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: