Showing posts with label XML framework. Show all posts
Showing posts with label XML framework. Show all posts

Thursday, October 11, 2007

Semantic Web


I came across a great talk on Semantic Web and Knowledge Representation on YouTube. The talk was given by Peter Patel-Schneider. In the presentation, he talks about:
  • the evolution of Semantic Web
  • various Semantic Web languages
  • benefits of Semantic Web
  • problems with the Semantic Web Vision.
After seeing the talk, I see the benefits and issues with Semantic Web theory however there are not applications or tools which process Semantic Web languages. I believe Mashups, Representational State Transfer (REST) web services, and Web 2.0 implementations is a good step towards the next generation of internet technologies. Semantic Web takes the approach of adding intelligence at the data tier while Web 2.0 takes the approach of enabling the user to intimately control the data or the rendering of data. I highly recommend Peter Patel-Schneider's talk.

Wednesday, October 10, 2007

DITA - That's correct!

Today I was analyzing Java code for a refactoring effort. Before our team could refactor the code, we need to write unit tests to be sure we didn't break any functionality in the software. Unfortunately after looking at the code and asking other team members, I realized that the Java code was poorly designed. What does it mean that the Java code was poorly designed? Does that mean that the code didn't meet the software requirements or pass QA? No, it means that it will take alot of work to introduce new functionality into poorly designed Java code. The code is brittle, tightly coupled, not very reusable. It is always beneficial to design all software before it is developed because during the design process the requirements and the initial design could be analyzed for potential bottlenecks, brittleness, tight coupling, etc., etc. If the software is developed without any design then it is a linear process. The developer will write the code to meet the initial requirements however he or she does not take a step back to assess the developed code's resusablity and flexibility.

This is also true in writing documents. In high school and college, students are taught that they need to create an outline of their paper, then a draft and then the final copy of the paper. The paper meets the instructor's requirement like:
  • Write an essay about the Civil War
  • Write a technical paper on how to build a Lawn mover
  • Write a paper why Roe Vs. Wade is beneficial for the United States.
After the paper is written, the paper is graded on how well the student expresses his or her thoughts about the requirements of the paper. However if the instructor added another requirement that he plans to write a paper which is only comprised content from his students' papers then the paper writing process would be different. There would be discussions between the instructor and his students on what the instructor's paper is about and he plans to write the paper. This would also alter the students' approach to their papers. They would emphasize ideas and support their idea .This might restrict the flow and readability of the students papers To improve the flow of the paper, the students may choose to organize the information differently.

In the information age, every major organization is trying to mine data to give themselves an edge over their competitors. Companies like Google, Autonomy, Fast, Vivisimo, etc, etc offer products which offer search capabilities for unstructured data which is linearly, brittle and tightly coupled (just like this blog entry).

Yesterday I came across an XML standard which identifies the issue of linear writting and describes how to write reusable content. It is quite fascinating. The XML standard is called Darwin Information Typing Architecture (DITA). It uses ideas of inheritance and specialization. I don't know if DITA is the answer but it asks the right questions and it identifies the issues. Hope you enjoy the white paper (be warned that it is quite technical). If the white paper is too complicated then check out this power point presentation. Enjoy!

Tuesday, October 9, 2007

XML Based Framework Standards


After working with US government sponsored XML frameworks and standards for 2 years, here are some of my thoughts.

  1. After studying Global Justice XML Data Model (GJXDM) and authoring all the datatypes in InfrastructureProtection domain in National Information Exchange Model (NIEM) version 1.0, I have concluded that these standard will never be fully implemented in Gov. to Gov (G2G) systems or Bus. to Gov. (B2G) systems. They are extremely bulky and may be potential bottlenecks in any system. Working with them can be extremely timeconsuming and sometimes redundant. The governance for these frameworks has not been fully resolved.

  2. I, however, strongly believe these frameworks and standards are a key for any enterprise's efforts in addressing their data management efforts. The GJXDM and NIEM are one of the best data models I have ever worked with. They are well designed and are extremely granular. Eventhough they cannot be implemented by any system, they should be used a Rosetta Stone to evaluate any enterprise's data architecture. These data models should be referred when SOA governance and data managements issues are addressed.

  3. Use these frameworks to reverse engineer various domain models. The GJXDM and NIEM data models are extremely rich. A great place to get requirements.

In conclusion these frameworks aka standards aka data models cannot be used as they were envisioned to be used, these data models are extremely useful when designing an enterprise wide data management system,