Intentional Software - Democratizing Software Creation
Business users doing programming? Simonyi and Kolk presents how Intentional Software offers a radical new software approach that separates business knowledge from software engineering knowledge.
Tracking change and innovation in the enterprise software development community
Posted by Jean-Jacques Dubray on Nov 13, 2007 12:30 AM
Data Services are increasingly generating interest in Service Oriented Architectures, whether it is for Master Data Management (MDM), Customer Data Integration (CDI) or as a core SalesForce.com API.
WSO2 released last summer a Data Services Framework as part of their Web Services Application Server (WSAS) to make it easier to create data services from SQL databases.
Last week, David Webber wrote an article about the OASIS Content Assembly Mechanism (CAM) specification and its relation to data services. While most people give up on defining an XML Schema definition to validate the result of queries, CAM provides template that allow for the definition of validation data services for XML-based transactions. Dave adds:
While existing techniques using W3C XSD schema, namespaces, XSLT and other tools (such as Schematron and XMLBeans) have been in existence for some time, they provide more developer-centric and potentially brittle design options. [Traditional Schema mechanisms are] not necessarily helpful for agile information interfaces that need to respond to business context criteria.
CAM is able to define a message structure without using XML Schema. An additional feature of CAM platform is that it supplies mechanisms that facilitate service versioning and reuse. Dave explains:
Many insights can be gained by studying the well-established AWS platform that has been available now for over three years...Amazon is continually making changes to the content model, and as a result they support version requests going back several years...Amazon uses a self-service versioning approach where the version ID of the request is included in the syntax of the request itself.
The problem is compounded by the wide range of products that Amazon sells:
Each product type has different information models (broadly shown in the diagram). A query for a range of product codes will return a block of XML with varying parts. Some of these structure nuances are substantial with XML element tags appearing in different blocks of the structure and with different associated elements. Not only that, but each item has information about prices, stock levels and downstream suppliers of new and used items in addition to Amazon.com itself and the ranking of those suppliers.
Dave's article features an analysis of the context drivers for Amazon services and concludes:
Clearly when you look at W3C schema and namespace mechanisms, none of these contextual behaviors are supported. All you see is the total layout of the overall structure that could occur.
Dave then describes CAM which is using a collection of XPath statements to describe flexible and context dependent document structures. CAM shares roots with UN/CEFACT Core Component Technical Specification, but unlike CCTS, CAM is operational today. The jCAM Java open source implementation of CAM provides three distinct deployment modes for typical interactions associated with an SOA, including Web services, B2B and standalone local modes. The Eclipse editor enables local standalone use of CAM templates in support of a SOA implementation.
IBM software architect eKit: Grady Booch podcast, whitepapers, articles
Fighter Jets and Agile Development at Lockheed Martin (Case study)
Introducing Project Zero: Building RESTful services for your Web application
RESTful todo list sample tutorial with Groovy & Project Zero
Create a photo album application with Project Zero and REST design principles
Business users doing programming? Simonyi and Kolk presents how Intentional Software offers a radical new software approach that separates business knowledge from software engineering knowledge.
Jason Rudolph discusses Java/Grails integration, Grails plugins, creating a Grails sample application, Grails app structure, data querying and persistence, validation, controllers and tag libraries.
The Scrum Product Owner role is powerful, valuable and challenging to implement. It brings healthier relationships between customers and developers, and competitive advantage - if you do it right.
Effective Java, Second Edition by Joshua Bloch is an updated version of the classic first edition, which won a 2001 Jolt Award. InfoQ asked Bloch questions about the areas that the new edition covers.
A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.
In this interview, Burton Group consultant Pete Lacey talks to Stefan Tilkov about his disillusionment with SOAP, his opinion on REST, and addresses some of the perceived shortcomings REST vs. WS-*.
Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.
Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.
No comments
Reply