Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Subscribe
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Subscribe
    Home Development
    • Development

    Flexibility Is Key to Access

    Written by

    Peter Coffee
    Published October 17, 2005
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      Making data more directly accessible to developers, with greater freedom to use it in ways not anticipated when it was compiled, is the hottest fashion statement in development technology. With rapid refinement of tools for working with XML on datas supply side and with data manipulation becoming better integrated with mainstream code on the demand side, theres a trunk full of ways for developers to win.

      The business-suit sleekness of an enterprise application is today often marred by ugly seams, where a procedural language has been clumsily stitched to nonprocedural SQL statements manipulating relational data. Further opportunities for ugliness arise with the growing use of XML, a nonrelational data representation—but one that programmers would like to query with the same ease and performance they get from a SQL database.

      Most programming languages depend on sequence and hierarchy for data reference and navigation—for example, in accessing arrays. The tables of relational databases have neither sequence nor hierarchy, and thats just the beginning of the differences that make it difficult to put together a unified look.

      Donald Chamberlin, an IBM fellow who co-invented SQL in the 1970s with colleague Raymond Boyce, summarized key differences between relational data and XML in an IBM Systems Journal article in October 2002. Relational data, Chamberlin observed, “tend to have a regular structure, which allows the descriptive metadata for these data to be stored in a separate catalog. XML data, in contrast, are often quite heterogeneous, and distribute their metadata throughout the document.”

      Relational tables typically have a flat structure, Chamberlin noted—that is, each column of each record represents a single-valued instance of some fundamental data type, such as an integer or a character string. In the time since Chamberlins paper, databases have adopted structured types to handle more complex multivalued data, and foreign keys have always enabled one-to-many relationships among tables. Even so, lookups of arbitrary attribute values in a database using these facilities are not as easy as with XML documents using multilevel nested elements.

      “XML documents have an intrinsic order, whereas relational data are unordered except where an ordering can be derived from data values,” Chamberlin added in the paper, further observing that a relational data set typically has a value in almost every column of every record while XML data are often “sparse”—with many of their possible data elements left blank.

      But theres still great demand for XMLs versatility and the ease that it offers for repurposing data for multiple tasks. XML addresses a genuine need.

      Datas XQuery adventure

      Developers confronting an XML-demarcated data stream have been faced, until recently, with three unattractive choices. At one extreme, programmers could burn machine cycles upfront to “shred,” as the process is popularly called, the multilevel XML into a collection of relational tables. At the other extreme, they could defer all processing by storing the entire XML corpus as a single chunk of textual data, delving into it as needed later on.

      Both these approaches leave open the door to use of standards-based technologies down the line. The third choice, in contrast, limits that flexibility by adopting the XML representations of a specific database platform.

      A better way, though, has been devised by IBMs Chamberlin and others with their development of XQuery, both a query and a transformation language. Released on Sept. 15 as a World Wide Web Consortium working-draft specification, XQuery goes beyond queries to meet the needs of data integration and reformatting. (The working-draft XQuery specification is online at www.w3.org/TR/xquery, while an informative page of FAQs is at www.stylusstudio.com/xquery/xquery_faq.html.)

      Before it reached even its current intermediate level of formalization, XQuery had already attracted widespread interest from developers. As reported in eWEEK in March, a privately sponsored survey of 550 developers found more than half already using XQuery and another third planning to use it within the year.

      That survey was commissioned by the DataDirect Technologies division of Progress Software Corp., which released last month its DataDirect XQuery 1.0 embeddable component for Java application developers. The product works with databases from IBM, Microsoft Corp., Oracle Corp. and Sybase Inc., as well as MySQL AB.

      Also available from DataDirect is the Stylus Studio IDE (integrated development environment) for XQuery programming , combining XML editing with XQuery debugging and other related capabilities.

      Meanwhile, the increasingly mainstream environment of Microsofts C# may soon offer access to nearly any kind of data source with a single syntax and with the full syntactic and semantic support of Microsofts Visual Studio environment. Microsofts LINQ (Language Integrated Query) technology, previewed at the companys Professional Developers Conference in Los Angeles last month, extends C#—and Visual Basic .Net, as well as potentially any other .Net language—to unify interactions with objects, XML-formatted data and relational data under a single umbrella.

      “A developer who is working with a collection of customer objects and wants to query a list of names from that collection would need to write five or 10 lines of code to accomplish that simple task with todays technology. With LINQ, that list can be obtained by writing just one line of code, Select Name From Customers,” said Microsoft Technical Fellow Anders Hejlsberg in a statement accompanying his conference presentation.

      /zimages/5/28571.gifWhen a company or an industry is built on the foundation of a fatally flawed idea, it takes a calamity to inspire change. Click here to read more.

      eWEEK Labs regards all such proposals with suspicion: Database lore is rife with tales of poorly optimized queries that interacted with disparate table sizes or varying data bandwidths to produce crippling performance problems. To the degree that LINQ succeeds in enabling data abstraction, it will do so by concealing underlying data representation and by putting the actual means of data access—which Hejlsberg derides as “plumbing”—into a box labeled “No Developer-Serviceable Parts Inside.”

      One must recall, however, that exactly the same concerns were raised when C replaced assembly language programming or, for that matter, when databases themselves were introduced into general enterprise use. The question that most developers will want answered is, “Will LINQ get me the application I want in less time, for less money, while Moores Law offsets the likely performance overheads?”

      The other issue accurately raised by some observers is that of developer lock-in. Rather than being adept at writing SQL and injecting it into any development environment, a developer may instead become proficient only at working with a universal abstraction of data thats available only within the .Net environment. Whether LINQ is a better-tailored suit or a straitjacket is very much yet to be seen.

      Technology Editor Peter Coffee can be reached at [email protected].

      /zimages/5/28571.gifCheck out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.

      Peter Coffee
      Peter Coffee
      Peter Coffee is Director of Platform Research at salesforce.com, where he serves as a liaison with the developer community to define the opportunity and clarify developers' technical requirements on the company's evolving Apex Platform. Peter previously spent 18 years with eWEEK (formerly PC Week), the national news magazine of enterprise technology practice, where he reviewed software development tools and methods and wrote regular columns on emerging technologies and professional community issues.Before he began writing full-time in 1989, Peter spent eleven years in technical and management positions at Exxon and The Aerospace Corporation, including management of the latter company's first desktop computing planning team and applied research in applications of artificial intelligence techniques. He holds an engineering degree from MIT and an MBA from Pepperdine University, he has held teaching appointments in computer science, business analytics and information systems management at Pepperdine, UCLA, and Chapman College.

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.