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.
Tracking change and innovation in the enterprise software development community
Posted by Stefan Tilkov on Apr 05, 2007 09:40 AM
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.Comprehensive Threat Protection for REST, SOA, and Web 2.0 Applications
The Agile Business Analyst: Skills and Techniques needed for Agile
Free $40 SOA Demystified Book Offer
Would you enroll in an India Forex Group i.e http://www.indiaforex.com Groups?
FastSOA appears to be more of a software solution to many of the problem domains solved by DataPower.
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
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.
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
Thanks Frank, that's a pretty profound improvement. Looking forward to to reading FAST SOA.
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?
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.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
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.
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.
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.
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.
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.
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.
6 comments
Watch Thread Reply