InfoQ

News

Interview: Frank Cohen on FastSOA

Posted by Stefan Tilkov on Apr 05, 2007 09:40 AM

Community
SOA
Topics
Performance & Scalability
Tags
XQuery ,
XML ,
Caching
InfoQ today publishes a one-chapter excerpt from Frank Cohen's book "FastSOA". On this occasion, InfoQ had a chance to talk to Frank Cohen, creator of the FastSOA methodology, about the issues when trying to process XML messages, scalability, using XQuery in the middle tier, and document-object-relational-mapping.

Frank has taken care to answer our questions in great detail; be sure to read the full interview and download the sample chapter.
DataPower by Jason Lenhart Posted Apr 5, 2007 11:12 AM
Re: DataPower by Frank Cohen Posted Apr 5, 2007 12:58 PM
Native XML DB? by Jeff Highman Posted Apr 6, 2007 1:11 PM
Re: Native XML DB? by Frank Cohen Posted Apr 8, 2007 5:57 PM
Re: Native XML DB? by Jeff Highman Posted Apr 21, 2007 6:16 AM
How would you compare the FastSOA approach to NetKernel? by Mircea Cocosila Posted Jul 27, 2007 3:56 PM
  1. Back to top

    DataPower

    Apr 5, 2007 11:12 AM by Jason Lenhart

    FastSOA appears to be more of a software solution to many of the problem domains solved by DataPower.

  2. Back to top

    Re: DataPower

    Apr 5, 2007 12:58 PM by Frank Cohen

    Hi Jason: The patterns are platform agnostic, but they do require a persistence engine. As far as I know IBM's DataPower appliances give you the transformation and security decription capability. I did not see a persistence engine to let you do things like intelligent caching, transformation, and federation in the appliance. Did I get that wrong? -Frank

  3. Back to top

    Native XML DB?

    Apr 6, 2007 1:11 PM by Jeff Highman

    Are you using (in your metrics) the XML database? I would expect that for a fixed data set (where the message itself had a high correlation to the physical storage) this would be more efficient. For a message that has customer, order, payment, and product to represent and "purchase order service" I would expect each entity to be persisted in a relational way so that another service might be “customer details” and another to be “product details”. I would expect the performance to go down as you had more needs to aggregate data from the XML DB. I am guessing that as the more aggregation was needed, the less a hierarchical db would be more efficient than an object relational solution. XML is a hierarchical, so I presume that Native XML DB would also be persist hierarchical, but most apps have a need to store things in a relational database because of the relational nature of the information. While the transformations are a cost, shouldn’t this cost be compared on an aggregate level? I have not worked with any XML databases so I was just wondering about the efficiencies of using them.

  4. Back to top

    Re: Native XML DB?

    Apr 8, 2007 5:57 PM by Frank Cohen

    Hi Jeff: Native XML databases are typically hierarchical in the way they store data and multi-dimensional in the each stored XML document have a different hierarchy. This is different from object databases where you truly didn't know exactly what you would be storing and querying ahead of time. Native XML databases now have the XQuery and XPath query syntax to work with the stored documents. Most of the XML DBs also have an indexing engine that uses one or more schemas to determine the correct approach to indexing the contents of a collection (the XML DB version of a row-set.) In my performance and scalability testing I find that native XML databases usually achieve 5x to 30x performance increase over using similar XML techniques on a relational DB. -Frank

  5. Back to top

    Re: Native XML DB?

    Apr 21, 2007 6:16 AM by Jeff Highman

    Thanks Frank, that's a pretty profound improvement. Looking forward to to reading FAST SOA.

  6. Hi Frank: It seems that NetKernel - netkernel.org - already addresses the problems FastSOA addresses. NetKernel also provides an uniform programming model using the resource oriented paradigm. How would you compare your approach to NetKernel?

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.