Home > Ask the SOA Experts > Questions & Answers > How do I balance throughput requirements and interoperability?
Ask The SOA Expert: Questions & Answers
EMAIL THIS

How do I balance throughput requirements and interoperability?

Eric Newcomer EXPERT RESPONSE FROM: Eric Newcomer

Pose a Question
Other SOA Categories
Meet all SOA Experts
Become an Expert for this site


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


>
QUESTION POSED ON: 17 June 2009
Are there any rules of thumb that would make one decide to do in-process interop versus Web services interop based on throughput requirements? In other words, if I have throughput issues are Web services a bad choice?

>

Interoperability remains a problem essentially because of developer choices and a focus on what's needed to develop individual applications. If someone were to design their programs explicitly for interoperability it would be less of a problem. But, developers like to use the advanced features of programming languages such as C#, Java, Ruby, SQL, XML, Perl, JavaScript and so on, which means taking full advantage of the built-in language data types. Interoperability studies show an inverse proportion between the complexity of the data types used in a program and its ability to interoperate with other programs, especially with programs written using other languages.

If you search the Web for the old SOAPBuilder results, for example, you can clearly see that the fewer the data types, the greater the interoperability level, especially when working with complex and structured data types. These advanced data types may give the developer a lot of power and flexibility and result in more compact code, but they interfere with interoperability since different languages do not support the same collection of data types, especially not the same set of complex data types. Web services attempts to resolve this problem by mapping individual language data types to XML data types, but the mapping is never 100% and never guaranteed to be automatic.

Performance is an issue with respect to interoperability, so if you have the luxury to stay in the same environment, such as Java EE or .NET, you are better off using a native communication protocol, such as RMI for Java EE and the Microsoft RPC for .NET. If you need to interoperate across Java EE and .NET programs, however, Web services is pretty much the only solution. In that case it's necessary to trade the hit in performance for the ability to communicate programmatically.

Another place to look for means to achieve interoperability is in the area of asynchronous messaging protocols, such as JMS or AMQP. REST/HTTP fits this area as well, at least conceptually (although not in execution— more about that later). The main concept for achieving interoperability this way is that you can avoid using an interface with data types. Instead, you can just put all the data into a big semi-structured message then pass it around like a file (which it is, basically). The program on the sending side is responsible for packing the data into the message, and the program on the receiving side is responsible for unpacking the data and doing something with it, such as accessing a database. This provides a great deal more flexibility in dealing with data type issues but comes at the expense of more complexity.

REST/HTTP is a special case of this because REST/HTTP defines a fixed interface and allows for content type negotiation. The design center is based more on generating and consuming the representations of resources than it is on defining and packing/unpacking messages per se (although conceptually something very similar is happening).


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Microsoft .NET Web services
Microsoft preps .NET 4.0 - framework improves on REST, MVC, JQuery support
APM software traces transactions across tiers, technologies
How you can learn M Grammar for Oslo modeling
Legacy modernization opens Windows for publisher
Former .NET Web developers ride Ruby and Rails application framework
Microsoft Oslo at PDC: Dial 'M' for modeling language
Yahoo proxy fight looms
New Microsoft site for architects
LAMP coders go hybrid route
Silverlight shines on bank RIAs
Microsoft .NET Web services Research

Java Web Services
Java Web services programming challenges met with specialized framework
Tools add Web services to existing Java EE applications
Video: Author says Enterprise JavaBeans is here to stay
Languages like F# may replace Java, says Ted Neward
Mobile development growing in prominence according to survey
OSGi framework helps you manage Java components
SpringSource moves VMware up the stack
SpringSource gains cloud console: Q&A with Cloud Foundry head
Adopting OSGi requires patience and money, but development flexibility results
Speed up application deployment with automated blackbox frameworks

Representational State Transfer (REST)
Restlet framework wrestles RESTful Web applications
Mulesoft architect talks REST, ESBs
IBM Sabbah's say on REST for collaborative ALM
Report on REST- REpresentational State Transfer
Are tools available to work with OSGi today?
Expert Query: What is the difference between RESTful transactions and Web Services transactions?
Progress/Actional SOA diagnostic tool builds on Mindreef purchase
SOA goes beyond 'rip, replace, repeat'
Inside the SOA big tent; Azure at PDC; more
On lightweight Java frameworks and service-oriented architecture

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
Common Language Infrastructure  (SearchSOA.com)
Visual J#  (SearchSOA.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



SOA Governance White Papers - BPM, EDA, IT Governance
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2001 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts