|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
News Desk Contrary Opinion: "SOA Has Its Limitations"
Contrary Opinion: "SOA Has Its Limitations"
May. 25, 2004 12:00 AM
SOA is certainly a neat concept - wherein the abstractions are taken yet another layer upwards with the location of the 'service' unknown and inconsequential to the 'user' of the service. While the concept is good, the hype going around is unbelievable. SOA is not like a new language or even a runtime environment on which complete applications can be built. All said and done, SOA is just an invocation mechanism! The notion of abstracting functionality with interfaces is not exactly new - it has been around as a good principle for application modularization, especially in the OOP arena (though implementations were possible even in C days). Now when abstracting functionality with interfaces, one good consideration is the granularity. The coarser the granularity, the easier and better is the reuse. SOA builds on the same basic principle. Only that now the 'implementation' of the service is completely hidden - and could be in the same process, same system, a different system, or actually anywhere on the network. The plumbing layer provided by the infrastructure abstracts the complexity of access (be it via JMS or SOAP or Web servces or any other mechanism. Including rapidly-becoming-legacy such as RMI or CORBA or DCOM). Now, the irony is that SOA is being hyped so much, that this is the coolest thing happening to software systems design. Hype that at least the major vendors like IBM, BEA, and Microsoft are trying to create - with a lukewarm response from the community. So, come off it! SOA is just a invocation mechanism. Much like any RPC (simple Dec-RPC or the more evolved RMI or CORBA). The hype is akin to saying "I am building a complete banking solution using TCP/IP." While service orientation is surely an important design consideration, it is not a complete systems-design framework. And more importantly, with SOA implictly assuming 'distribution,' this is yet another area of serious limitation. One cannot distribute ALL functionality in an application. Only corase grained functionality with minimal interactions can be distributed. More dense functionality has to be co-located for performance. For now atleast - until network performance improves much more than it is today. Right now even the DB calls from a middle-tier server on a hi-performance backplane can hurt performance. Imagine dense requests (between 'services') going via a fat-slow-pipe of, say, SOAP-over-http. If coarse granularity is a given with SOA, then the dense functionality implemented by a 'coarse' service is the actual business logic implementation. And this is entirely independent of SOA - it has to be done using other technologies such as J2EE or .NET. Realistically, the actual possibility of SOA is only between independent systems. Each system may be implemented using any of the technologies available today (proprietary environments suich as SAP, BAAN, or standard environments such as J2EE or .NET or any other legacy environments). Come to think of it, this isn't exactly bleeding-edge discovery. Discrete systems talking to each other using EDI-like techniques have been around for decades. SOA doesn't address too many opportunities beyond what EDI was already addressing. So instead of EDI-like mechanisms (for intra-company interactions or inter-company interactions), one could choose Web-services based SOA. When it comes to new systems (being designed ground up), while SOA has to be factored in into the overall system design, the limitations posed on performance due to distribution will be a limiting factor for service orientation, limiting its utility. SOA is good only for interactions of logically 'separate' systems. And not for designing and implementing any and every system. Reader Feedback: Page 1 of 1
Your Feedback
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week
Breaking Cloud Computing News
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||