Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


XML Heaven or XML Hell?
Why anti-XML sentiment is misguided

"With proper markup/logic separation, a POJO data model, and a refreshing lack of XML..." So begins the introduction to one of the current crop of open source Web application frameworks on its Web site. Sadly this seems to be a common sentiment within the Java framework development community; the phrase "XML Hell" is thrown around with the same vehemence once reserved for the "DLL Hell" so characteristic of early versions of Microsoft Windows. Is this wisdom genuine or apocryphal? In this article I will examine some of the reasons why anti-XML sentiment is misguided.

The Roots of the Myth
Where does this distaste for XML in the Java framework development community come from? Several factors immediately spring to mind.

First of all, XML's lack of tooling support is a significant issue. Let's use the XML-driven framework Apache Struts as an example. Though popular, Struts is often held up as an illustration of how XML-configured frameworks are bad (although many making this claim are competitors of Struts). In reality, I think the problem has nothing to do with XML; rather it's the fact that the Struts page-flow metadata represents a series of complex relationships. Of course the raw XML that describes these relationships is hard to understand, but that's not really a problem with the XML itself. Any textual description of a page flow, in code or metadata, is hard to understand. Put that same relationship map into the form of a diagram and the problem goes away. Indeed when mainstream development environments such as Oracle JDeveloper and Eclipse started to provide visual diagramming for Struts, the framework's popularity skyrocketed. An inability to understand something often translates into dislike - perhaps XML has been the innocent bystander in a bigger battle against perceived complexity.

Overuse also adds to the negative perception of XML. While great for describing complex relationships, XML can be viewed as overkill for simple framework configuration. Enterprise JavaBeans (EJB) are often held up as an example of how badly XML can be overused. Interestingly one of the key features of the latest version of the EJB specification (3.0) addressed the issue head on. In the latest version, although XML metadata is still a valid option for describing the entities, code annotations and "configuration by exception" are the norm for describing simpler relationships. XML is only used for the corner cases.

Are Annotations the Future?
After EJB adopted annotations as a configuration option, the floodgates opened and annotations seemed to be the one true path to framework configuration. New annotation-based frameworks such as Seam were developed, and old frameworks such as Struts were hastily retrofitted in a misguided attempt to gain favor.

About Duncan Mills
Duncan Mills is senior director of product management for Oracle's Application Development Tools - including the JDeveloper IDE, and the Oracle Application Development Framework. He has been in the IT industry for the past 19 years working with Oracle, Java, and a variety of more obscure programming languages and frameworks along the way. Duncan is the co-author of the Oracle Press book: Oracle JDeveloper 10g for Forms and PL/SQL Developers - a Guide to Web Development with Oracle ADF.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Well, there is truth in this article, but there is
also truth in the developers that speak of
"XML hell". XML is great when computers speak to
computers, and it was made in great part for that :
to quickly write reliable and fast parsers for
structured documents. Unfortunately, just like when
Tim Berners Lee never thought that people would
actually *write* html using text editors, people
started writing xml with text editors.
Why ? Because there's nothing else, most of the
time. Imagine what would have happened if XML had
existed when relational databases were invented...
Imagine expressing SQL queries in XML (this actually
exists, but it's for machines).

When people are not in contact with XML directly,
XML isn't a problem. When we edit an SVG document
in Inkscape, when I change my preferences in Eclipe,
I use an XML document, but through a specialized
user interface that does not make the whole thing
cumbersome and painful. Yet the documents produced
have all the advandages of XML : portability, reliability, ease of parsing, etc. So I guess the
problem is more : how easy is it to configure the
system ? If you have to edit XML directly, chance
are that this is difficult. It may be powerful,
portable, etc, but it is still difficult.
I agree that annotations are not the right thing.
For me, the right thing is either a specialized
language using an LL or LR parser, or a specialized
editor that manipulates the XML for the user.

Besides that, I think that your article is hitting the right point.

Best regards,

Harry


Your Feedback
Harry KARADIMAS wrote: Well, there is truth in this article, but there is also truth in the developers that speak of "XML hell". XML is great when computers speak to computers, and it was made in great part for that : to quickly write reliable and fast parsers for structured documents. Unfortunately, just like when Tim Berners Lee never thought that people would actually *write* html using text editors, people started writing xml with text editors. Why ? Because there's nothing else, most of the time. Imagine what would have happened if XML had existed when relational databases were invented... Imagine expressing SQL queries in XML (this actually exists, but it's for machines). When people are not in contact with XML directly, XML isn't a problem. When we edit an SVG document in Inkscape, when I change my preferences in Eclipe, I use an XML document, but through a specialized user interface that...
Enterprise Open Source Magazine Latest Stories . . .
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one lo...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, will provide an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSy...
Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple hosts in a cluster. Ansible is a simple IT automation tool for just about any requirement for reproducible environments. In his session at @DevOpsSummit at 18th Cloud Expo, Patrick Galbrai...
Learn how to solve the problem of keeping files in sync between multiple Docker containers. In his session at 16th Cloud Expo, Aaron Brongersma, Senior Infrastructure Engineer at Modulus, discussed using rsync, GlusterFS, EBS and Bit Torrent Sync. He broke down the tools that are need...
It is ironic, but perhaps not unexpected, that many organizations who want the benefits of using an Agile approach to deliver software use a waterfall approach to adopting Agile practices: they form plans, they set milestones, and they measure progress by how many teams they have engag...
For better or worse, DevOps has gone mainstream. All doubt was removed when IBM and HP threw up their respective DevOps microsites. Where are we on the hype cycle? It's hard to say for sure but there's a feeling we're heading for the "Peak of Inflated Expectations." What does this mean...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021




SYS-CON Featured Whitepapers
ADS BY GOOGLE