You can embed SQL in most languages now, but normally you don't implement any serious business logic in it. If this hasn't happened after decades in the relational world, why would we expect it to happen in the XML world?One problem with SQL is exactly that it has been embedded in most languages. The result is a continuing dichotomy between "in memory" data structures and objects and "on disk" relational tables. I'm surprised no popular language has better incorporated declarative query and update capabilities into the language definition itself.
This level of integration could cement XML formats into systems development. Tools like InfoPath and XML integration into front office tools will not be sufficient if programmers must continue to straddle an XML and procedural language gap.
XML syntax strikes me as a reasonable notation for information interchange. I am not convinced that XML per se should be built into the core business rules of our systems. The essence of a new systems architecture though should have these characteristics:
- Capable of handling formal definitions when present, along with reasonable behavior for fuzzy data by supporting human interpretation and increasingly higher-level artificial intelligence capabilities.
- Definitions and behaviors must be modified on-the-fly without breaking existing capabilities, forcing complete re-releases of products, or requiring extensive regression testing.
- Significant definition and behavior modifications must be within the grasp of professionals in the system domain, i.e. non-computer science majors.