InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Interview: Frank Cohen on FastSOA

Posted by Stefan Tilkov on Apr 05, 2007

Sections
Architecture & Design,
Enterprise Architecture
Topics
Performance & Scalability ,
SOA
Tags
SOA Appliance ,
Caching ,
XQuery ,
XML

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.

  • This article is part of a featured topic series on SOA
DataPower by Jason Lenhart Posted
Re: DataPower by Frank Cohen Posted
Native XML DB? by Jeff Highman Posted
Re: Native XML DB? by Frank Cohen Posted
Re: Native XML DB? by Jeff Highman Posted
How would you compare the FastSOA approach to NetKernel? by Mircea Cocosila Posted
  1. Back to top

    DataPower

    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

    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?

    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?

    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?

    by Jeff Highman

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

  6. Back to top

    How would you compare the FastSOA approach to NetKernel?

    by Mircea Cocosila

    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

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.