 




<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Enterprise IT Consultant Views on Technologies and Trends &#187; Standard</title>
	<atom:link href="http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/tag/standard/feed/" rel="self" type="application/rss+xml" />
	<link>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends</link>
	<description>Everything from Mainframes to Cloud</description>
	<lastBuildDate>Fri, 10 May 2013 20:03:12 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>HTML5 holds promise though the formal release is expected to be in 2014</title>
		<link>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/html5-is-worth-considering-today-though-the-formal-release-has-three-more-years-to-go/</link>
		<comments>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/html5-is-worth-considering-today-though-the-formal-release-has-three-more-years-to-go/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 07:42:53 +0000</pubDate>
		<dc:creator>Sasirekha R</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Standard]]></category>
		<category><![CDATA[W3C]]></category>

		<guid isPermaLink="false">http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/?p=348</guid>
		<description><![CDATA[HTML5 is worth considering today even if the formal release has three more years to go Apple&#8217;s Steve Jobs &#8220;Thoughts on Flash&#8221; where he has stated that &#8220;Flash is no longer necessary to watch video or consume any kind of web content&#8221; seems to have revived interest on HTML5 and also debates on Flash vs. [...]]]></description>
				<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline">HTML5 is worth considering today even if the formal release has three more years to go </span></strong></p>
<p>Apple&#8217;s Steve Jobs &#8220;<a href="http://www.apple.com/hotnews/thoughts-on-flash/">Thoughts on Flash</a>&#8221; where he has stated that &#8220;Flash is no longer necessary to watch video or consume any kind of web content&#8221; seems to have revived interest on HTML5 and also debates on <a href="http://en.wikipedia.org/wiki/Comparison_of_HTML5_and_Flash">Flash vs. HTML5</a>. It is true that HTML5 lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash).</p>
<p>HTML5, though still not released, is being supported by most browsers (of course, not all features are handled consistently) and has attractive features making it worthwhile to be considered right now. HTML5 supports video streaming, multi-threading, direct communications using Web sockets, asynchronous processing etc.  It is not just about Apple &#8211; Microsoft, Google, Mozilla etc. are committed to HTML5. Again it is not just Flash, HTML5 is capable of replacing technologies like Silverlight, Flex/AIR and JavaFX. Though there are debates about how each of them is better individually, the fact that HTML5 being a standard and supported by almost all browsers does make it attractive.</p>
<p>W3C recognized that HTML though used to describe a large variety of documents, was primarily designed for semantically describing scientific documents and is not adequate for &#8220;Web Applications&#8221;. Add the result is HTML5 that:</p>
<ul>
<li>Defines a single language (HTML5) which can be written in HTML syntax and in XML syntax.</li>
<li>Defines detailed processing models to foster interoperable implementations.</li>
<li>Improves markup for documents.</li>
<li>Introduces markup and APIs for emerging idioms, such as Web applications.<span id="more-348"></span></li>
</ul>
<p>HTML5, the draft effort of which has started in 2004, is still in the draft stage and has drawn considerable <a href="http://ishtml5readyyet.com/">jokes</a> about its <a href="http://www.webmonkey.com/2008/09/html_5_won_t_be_ready_until_2022dot_yes__2022dot/">possible release date</a> (original proposed recommendation of <a href="http://www.techrepublic.com/blog/programming-and-development/html-5-editor-ian-hickson-discusses-features-pain-points-adoption-rate-and-more/718">2022</a>).  In Feb 2011, w3c finally announced that HTML5 release indeed has <a href="http://www.w3.org/2011/02/htmlwg-pr.html">2014 as the target</a>. HTML5 aims at maintaining the openness of web technologies and reduce the need for proprietary presentation technology. HTML5 taking such a long time can be attributed to many factors &#8211; its history, scope, level of detail it aims at, inconsistencies in existing technologies and the need to be backward compatible etc. -detailed below.</p>
<p>HTML5 does have a broad scope and is intended to replace &#8211; <a href="http://www.w3.org/TR/2011/WD-html5-diff-20110405/#ref-dom2html"><em>DOM2HTML</em></a><cite>[Document Object Model Level 2 HTML Specification</cite>],<a href="http://www.w3.org/TR/2011/WD-html5-diff-20110405/#ref-html4"><em>HTML4</em></a><cite>,and </cite><a href="http://www.w3.org/TR/2011/WD-html5-diff-20110405/#ref-xhtml1"><em>XHTML1</em></a>.</p>
<p>It is interesting to trace the <strong>history</strong> of HTML5 (which partially explains the long time it has taken).  At a W3C workshop in 2004, Mozilla and Opera presented the principles that underline the HTML5 and was rejected with membership voting for developing XML-based replacements instead. Shortly after, Apple, Mozilla, and Opera jointly announced their intent to continue working on the effort under the umbrella of a new venue called the WHATWG &#8211; <a title="Web Hypertext Application Technology Working Group" href="http://en.wikipedia.org/wiki/Web_Hypertext_Application_Technology_Working_Group">Web Hypertext Application Technology Working Group</a>. W3C showed interest in HTML5 in 2006 and in 2007 a working group was formed and later W3C published the specification under the W3C copyright, while WHATWG site kept a version with the less restrictive license. W3C points out that &#8220;HTML specification is not identical to what is published in the WHATWG site&#8221;.</p>
<p>One of WHATWG core principles is that specifications and implementations need to match even if this means changing the specification rather than the implementations, and that specifications need to be detailed enough that implementations can achieve complete interoperability without reverse-engineering each other.</p>
<p>HTML5 defines an HTML syntax that is compatible with HTML4 and XHTML1 documents published on the Web. But some attributes from HTML4 are no longer allowed in HTML5. HTML5 is <strong>backwards compatible</strong>, in the sense that user agents are required to support the older elements and attributes (no longer to be used by authors) and the specification defines how user agents should process them in legacy documents.</p>
<p>The following profound view from W3C is worth repeating: &#8220;It must be admitted that many aspects of HTML appear at first glance to be <a href="http://dev.w3.org/html5/spec/Overview.html#introduction">nonsensical and inconsistent</a>. HTML, its supporting DOM APIs, as well as many of its supporting technologies, have been developed over a period of several decades by a wide array of people with different priorities who, in many cases, did not know of each other&#8217;s existence. Features have thus arisen from many sources, and have not always been designed in especially consistent ways. Furthermore, because of the unique characteristics of the Web, <em><span style="text-decoration: underline">implementation bugs have often become <a href="http://www.preservearticles.com/201106248495/what-is-the-difference-between-de-jure-vs-de-facto-sovereign.html">de-facto, and now de-jure</a>, standards, as content is often unintentionally written in ways that rely on them before they can be fixed</span></em>.&#8221;</p>
<p>W3C points out that:</p>
<ul>
<li>HTML5 anchors the Open Web Platform that includes CSS (Cascading Style Sheets), <abbr title="Scalable Vector Graphics">SVG</abbr> (Scalable Vector Graphics), <abbr title="Web Open File Format">WOFF</abbr> (Web Open Font Format), various APIs, and more &#8211; the technologies already in use, at varying degrees of maturity and implementation.</li>
<li>Stable standards play an important role as reference points, making it easier for large numbers of independent implementers to achieve interoperability across diverse platforms, devices, and industries.</li>
<li>HTML5 is particularly important in the rich ecosystem of HTML producers and consumers, which includes authoring tools, browsers, email clients, security applications, content management systems, tools to analyze or convert content, assistive technologies, and unanticipated applications.</li>
<li>HTML5 would become an important standard across multiple industries, for years to come.</li>
</ul>
<p>HTML5 is a massive effort involving 50 organizations, and more than 400 individuals from all over the world in the group, including designers, content authors, accessibility experts, and representatives from browser vendors, authoring tool vendors, telecoms, equipment manufacturers, and other IT companies.</p>
<p>HTML5 is targeted specifically at applications that would be expected to be used by users from disparate locations, with low CPU requirements (suitable for mobile and other hand-held devices). As Steve Jobs points out, WebKit &#8211; the open-source HTML5 rendering engine &#8211; is used in Safari Web Browser (used in all Apple products) as well in Google&#8217;s Android Browser and other Smart phones including Palm and Nokia.</p>
<p>HTML5 is expected to be used for applications including online purchasing systems, searching systems, games (especially multiplayer online games), public telephone books or address books, communications software (e-mail clients, instant messaging clients, discussion software), document editing software, etc.</p>
<p>IBM&#8217;s project Vulcan that represents the next generation of Lotus Notes, uses HTML5 along with web services, xPages, RESTful APIs to deliver collaboration across company boundaries.</p>
<p>Gartner&#8217;s refers to HTML5 as one with &#8220;<strong>The Power of Rich, the Ubiquity of Thin</strong><strong>&#8221; </strong>and it clearly conveys the aim (and hopefully the reality) behind HTML5. HTML5 does have the potential to make a large impact and bridging the gap between &#8220;Rich UI applications aimed at desktop&#8221; and &#8220;Web applications that can be accessed from any device, anywhere&#8221;. Today it does seem to have hiccups, but it seems to have the commitment from major players in the field and can be expected to get past them and become mainstream.</p>
<p>I believe with Apple, Microsoft, Google, IBM supporting W3C&#8217;s HTML, Steve Jobs statement &#8220;New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too)&#8221; would prove to be correct.</p>
<!-- wpms-network-global-inserts -->]]></content:encoded>
			<wfw:commentRss>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/html5-is-worth-considering-today-though-the-formal-release-has-three-more-years-to-go/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GeoTools &#8211; Try out GIS for your applications</title>
		<link>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/geotools-try-out-gis-for-your-applications/</link>
		<comments>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/geotools-try-out-gis-for-your-applications/#comments</comments>
		<pubDate>Fri, 13 May 2011 15:01:37 +0000</pubDate>
		<dc:creator>Sasirekha R</dc:creator>
				<category><![CDATA[Geographic]]></category>
		<category><![CDATA[GeoTools]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OGC]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Standard]]></category>

		<guid isPermaLink="false">http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/?p=306</guid>
		<description><![CDATA[GeoTools &#8211; Open Source GeoSpatial Toolkit worth trying out GeoTools is a free, open source Java geospatial toolkit for working with both vector and raster data. GeoTools is associated with the GeoAPI project that creates a vendor-neutral set of geospatial, Java interfaces derived from OGC specifications. GeoTools is a general purpose geospatial library with a large [...]]]></description>
				<content:encoded><![CDATA[<p><strong>GeoTools &#8211; Open Source GeoSpatial Toolkit worth trying out</strong></p>
<p>GeoTools is a free, open source Java geospatial toolkit for working with both vector and raster data. GeoTools is associated with the GeoAPI project that creates a vendor-neutral set of geospatial, Java interfaces derived from OGC specifications.</p>
<p>GeoTools is a general purpose geospatial library with a large feature set including:</p>
<ul>
<li>Create and Analyze graphs and networks</li>
<li>Powerful &#8220;schema assisted&#8221; parsing technology using XML Schema to bind to GML content.</li>
<li>Interact with OGC web services with both Web Map Server and Web Feature Server support</li>
<li>JDBC plug-ins for DB2, H2, PostGIS, MySQL, SpatialLite, SQL Server<span id="more-306"></span></li>
</ul>
<p>GeoTools implements Open Geospatial Consortium (OGC) specifications as they are developed including:</p>
<ul>
<li>Support for OGC Grid Coverage implementation</li>
<li>Symbology using OGC Styled Layer Descriptor (SLD) specification</li>
<li>Attribute and spatial filters using OGC Filter Encoding specification</li>
<li>Supports Java Topology Suite (JTS), an implementation of OGC Simple Features Specification &#8211; that covers 2D constructs like Point, Line and Polygon. JTS allows 3D shapes (by having a third point) to be represented, but not used for calculations.</li>
<li>Coordinate reference system and transformation support (for providing meaning to the Geometry or shapes of JTS)</li>
<li>GeoTools plans to support OpenGIS ISO Geometry Interfaces for 3D and curves.</li>
</ul>
<p>GeoTools includes two Renderers:</p>
<ul>
<li>LiteRenderer &#8211; a stateless, low memory renderer, particularly useful in server-side environments</li>
<li>J2D &#8211; a stateful renderer with optimizations for update rate and good for interactive client-side displays</li>
</ul>
<p>GeoTools supports additional formats through the use of Open plug-in system. The formats supported by an application can be controlled by including ONLY the required plug-ins. The plug-ins are available for raster formats &#8211; geotiff, gtopo30, world plus image files using common image formats such as JPEG, TIFF, GIF and PNG, imagemosaic, imagepyramid, JP2K. Plug-ins for the ImageIO-EXT project allows GeoTools to read additional raster formats from GDAL.</p>
<p>The GeoTools library forms a software &#8220;stack&#8221; with each jar building on the previous one (ref. <a href="http://docs.geotools.org/latest/userguide/welcome/geotools.html">http://docs.geotools.org/latest/userguide/welcome/geotools.html</a>). GeoTools provides API (application programming interfaces) both for representing the data structures as well as to access public classes to execute a function. Only the jars needed for an application can be included. For referencing, gt-opengis, gt-referencing and gt-metadata are required. Similarly to use Data, you need gt-api, gt-data, gt-main, jts, gt-opengis, gt-referencing, gt-opengis, gt-metadata.</p>
<p>GeoTools code is distributed under the GNU Lesser General Public License (LGPL) and can be used for commercial applications. If the GeoTools library itself is modified, then you have to publish the source code to those changes to the users of your application (or optionally submit it back to GeoTools).</p>
<p>GeoTools uses a modular architecture with high extensibility allowing additional functionality to be easily incorporated. Modules with a gold star rating indicating their quality (3 or more stars means great) is listed in <a href="http://docs.codehaus.org/display/GEOTOOLS/Module+Matrix">http://docs.codehaus.org/display/GEOTOOLS/Module+Matrix</a>.</p>
<p>GeoTools can be used to access GIS data in many file formats and spatial databases, filter and analyze data in terms of spatial and non-spatial attributes, compose and display maps with complex styling and work with an extensive range of map projections.</p>
<p>Geographic Information Systems (GIS) are expected to become more and more useful in IT (as a picture is worth thousand words) and GeoTools is a good way to start exploring it and applying it in reallife applications &#8211; as it supports a large number of formats and more standardized (though some of the APIs are not &#8211; though the public access API are expected to remain stable).</p>
<!-- wpms-network-global-inserts -->]]></content:encoded>
			<wfw:commentRss>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/geotools-try-out-gis-for-your-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6 &#8211; To Deploy or not to Deploy</title>
		<link>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/ipv6-to-deploy-or-not-to-deploy/</link>
		<comments>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/ipv6-to-deploy-or-not-to-deploy/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 06:53:01 +0000</pubDate>
		<dc:creator>Sasirekha R</dc:creator>
				<category><![CDATA[Gartner]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[IPv4]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Standard]]></category>

		<guid isPermaLink="false">http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/ipv6-to-deploy-or-not-to-deploy/</guid>
		<description><![CDATA[IPv6 &#8211; To Deploy or not to Deploy IPv6 is again in the news with 8th June 2011 designated as &#8220;World IPv6 Day&#8221; as Facebook, Google and Yahoo, are joining major content delivery networks Akamai and Limelight Networks (NASDAQ: LLNW), and the Internet Society, for the first global-scale trial of the new Internet Protocol, IPv6. [...]]]></description>
				<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline">IPv6 &#8211; To Deploy or not to Deploy</span></strong></p>
<p>IPv6 is again in the news with 8<sup>th</sup> June 2011 designated as &#8220;<a href="http://isoc.org/wp/newsletter/?p=2902">World IPv6 Day</a>&#8221; as Facebook, Google and Yahoo, are joining major content delivery networks Akamai and Limelight Networks (NASDAQ: LLNW), and the Internet Society, for the first global-scale trial of the new Internet Protocol, IPv6. On June 8, 2011, these participants will enable IPv6 on their main services for 24 hours. <span id="more-280"></span>It is important to note that Google and Facebook had already provided IPv6 access to their services through a subdomain &#8211; &#8220;<a href="http://ipv6.google.com/">ipv6.google.com</a>&#8221; and &#8220;<a href="http://www.v6.facebook.com/">www.v6.facebook.com</a>&#8220;.</p>
<p>Internet protocol (IP) addresses, are critical for the operation of the Internet, as every device linked to the Internet needs a unique number to enable it to connect with the rest of the devices on the network.</p>
<p>IPv6 (Internet Protocol version 6) is an Internet layer protocol developed by the Internet Engineering Task Force as an alternative to IPv4 and published as early as December 1998. While IPv4 is a 32-bit system and can therefore support 2<sup>32</sup> (4,294,967,296) addresses, IPv6 is based on 128-bit addresses that can support 2<sup>128 </sup>addresses (approximately 340 <a title="Undecillion" href="http://en.wikipedia.org/wiki/Undecillion">undecillion</a> or 3.4×10<sup>38</sup>).</p>
<p>The exact number is 340,282,366,920,938,463,463,374,607,431,768,211,456. Obviously, IPv6 provides enough addresses to allow the Internet to continue to expand and the industry to innovate. This expansion allows for many more devices and users on the internet as well as extra flexibility in allocating addresses and efficiency for routing traffic.</p>
<p>IPv4 address exhaustion has been long anticipated but IPv6 didn&#8217;t really happen in a hurry. As a means of alleviating the pressure to move away from IPv4, Enterprises use private IP addresses, NAT (network address translation) and DHCP (Dynamic Host Configuration Protocol). Gartner&#8217;s April 2006 suggestion that &#8220;most should delay any move to IPv6 as there is no real pressure&#8221; reflects the mindset at that point in time.</p>
<p>IPv6 has been slowly &#8211; but steadily picking up since 2005 as shown in <a href="http://www.ipv6actnow.org/info/statistics/">http://www.ipv6actnow.org/info/statistics/</a>. But this is changing quickly as the IPv4 address pool is declining quickly as shown in <a href="http://webscannotes.com/?p=917">http://webscannotes.com/?p=917</a>. In any case, the best estimate is that IPv4 addresses available from Regional Internet Registries (RIRs) will be exhausted in mid-2012.</p>
<p>The reasons for the delay in IPv6 adoption are:</p>
<ul>
<li>IPv6 is not directly compatible with IPv4, meaning that a device connected via IPv4 cannot communicate directly with a device connected using IPv6.</li>
<li>IPv6 implementation requires pro-active steps: technology must be upgraded, staff trained, business plans developed.</li>
</ul>
<p>To ignore IPv6 any more means taking risk. The results predicted are loss of universal Internet interconnectivity, scattered performance issues, configuration and security problems and legal and financial issues (Gartner &#8211; May 2010).</p>
<p>Does that mean that every Enterprise should move to IPv6 right away? Thankfully, the answer seems to be &#8220;Not necessary&#8221;.</p>
<p>A Gartner Report (Sep 2010) points out that &#8220;Communications service providers (CSPs) in Japan received a report on IPv4address saturation likely to happen in 2012 from APNIC, an authority on Asian IP networks and CSPs should therefore move to use IPv6 immediately&#8221;. When IPv4 addresses run out, only IPv6 addresses will be available to new Internet users and websites have to be ready to offer their services over IPv6 by then. So service provider networks &#8211; especially the ones that support IPv6 enabled mobile devices &#8211; are expected to the first to adopt IPv6 (and the June 2010 tested also point to the same trend).</p>
<p>According to <a href="http://blogs.gartner.com/john_pescatore/2010/06/11/guest-blogger-lawrence-orans-on-ipv6-and-security/">http://blogs.gartner.com/john_pescatore/2010/06/11/guest-blogger-lawrence-orans-on-ipv6-and-security/</a>,  Enterprises need to be pay attention to IPV6, but there is still no need to panic &#8211; IPv4 will be around for a very long time. The Enterprises may not be able to adopt IPv6 (or actually do away with IPv4) right away as:</p>
<ul>
<li>Enterprise Packages like Oracle, SAP and others are not IPv6 Compatible.</li>
<li>Network management solutions are not yet ready for IPv6.</li>
<li>Security solutions don&#8217;t support IPv6 well and IPv6-based anomaly detection is also light.</li>
<li>Support for IPv6 amongst SIEM vendors varies widely.</li>
</ul>
<p>While taking minimum action to ensure that the external networks connectivity is not affected, implementing IPv6 in internal enterprise networks is not required to be done in a hurry. Most Enterprises are expected to have IPv6 internet presence by 2014 and till then the IPv4 addresses they already have should be sufficient.</p>
<p>IPv6 Deployment is quite challenging and though 2014 seems to be a long away deadline, for smooth implementation, IPv6 planning (refer <a href="http://www.ipv6actnow.org/info/how-to/enterprise/">http://www.ipv6actnow.org/info/how-to/enterprise/</a>) should start right away. Gartner&#8217;s comment (on its Dec 2010 report), &#8220;IPv6: Its Time for (Limited) Action&#8221; nicely sums up the current situation.</p>
<!-- wpms-network-global-inserts -->]]></content:encoded>
			<wfw:commentRss>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/ipv6-to-deploy-or-not-to-deploy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Advanced Mashup Scripting in EMML &#8211; Part I</title>
		<link>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/advanced-mashup-scripting-in-emml-part-i/</link>
		<comments>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/advanced-mashup-scripting-in-emml-part-i/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 07:50:13 +0000</pubDate>
		<dc:creator>Sasirekha R</dc:creator>
				<category><![CDATA[EMML]]></category>
		<category><![CDATA[Mashup]]></category>
		<category><![CDATA[OMA]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Standard]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/?p=252</guid>
		<description><![CDATA[EMML Advanced Mashup Techniques &#8211; Part I Mashups are expected to be used by the business users directly (and not require programming skill) and the tag language EMML makes it easy to learn and use. Using the simple statements and commands of EMML, quite a few useful mashups can be created. As usage of Mashup [...]]]></description>
				<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline">EMML Advanced Mashup Techniques &#8211; Part I</span></strong></p>
<p>Mashups are expected to be used by the business users directly (and not require programming skill) and the tag language EMML makes it easy to learn and use. Using the simple statements and commands of EMML, quite a few useful mashups can be created.</p>
<p>As usage of Mashup accelerates, the tendency to create more powerful and complex mashups would follow.<span id="more-252"></span> In this blog, I have tried to give the crux of some of these advanced techniques.</p>
<p><strong><span style="text-decoration: underline">Web clipping for direct use of HTML</span></strong><strong></strong></p>
<p>Using the web clipping (or Screen scraping) technique, you can get the entire HTML from any URL as a service response. The EMML Reference Runtime Engine converts the HTML retrieved by the &lt;directinvoke&gt; statement is to XHTML in the http://www.w3.org/1999/xhtml namespace. You can filter, combine or transform with XHTML to create your own output.</p>
<p>Example of &lt;directInvoke&gt; resulting in web clipping:</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="638" valign="top">&lt;operation name=&#8221;queryGoogle&#8221;&gt;</td>
</tr>
<tr>
<td width="638" valign="top">  &lt;output name=&#8221;result&#8221; type=&#8221;document&#8221;&gt;</td>
</tr>
<tr>
<td width="638" valign="top">    &lt;res:queries/&gt;</td>
</tr>
<tr>
<td width="638" valign="top">  &lt;/output&gt;</td>
</tr>
<tr>
<td width="638" valign="top">  &lt;directinvoke outputvariable = &#8220;$searchresult&#8221;</td>
</tr>
<tr>
<td width="638" valign="top">     endpoint=&#8221;http://www.google.com/search?q=EMML&#8221;/&gt;</td>
</tr>
<tr>
<td width="638" valign="top">  &lt;foreach variable=&#8221;$query&#8221; items=&#8221;$searchresult//xhtml:a[@class='l']&#8220;&gt;</td>
</tr>
<tr>
<td width="638" valign="top">    &lt;appendresult outputvariable=&#8221;$result&#8221;&gt;</td>
</tr>
<tr>
<td width="638" valign="top">      &lt;res:itemlink&gt;{$query/@href}&lt;/res:itemlink&gt;</td>
</tr>
<tr>
<td width="638" valign="top">    &lt;/appendresult&gt;</td>
</tr>
<tr>
<td width="638" valign="top">  &lt;/foreach&gt;</td>
</tr>
<tr>
<td width="638" valign="top">&lt;/operation&gt;</td>
</tr>
</tbody>
</table>
<p>The itemlink list in the XML result is as follows:</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="638" valign="top">&lt;itemlink href=&#8221;http:// en.wikipedia.org/wiki/EMML/&#8221;/&gt;</td>
</tr>
<tr>
<td width="638" valign="top">&lt;itemlink href=&#8221;http:// www.openmashup.org/omadocs/v1.0/index.html&#8221;/&gt;</td>
</tr>
<tr>
<td width="638" valign="top">&#8230;</td>
</tr>
</tbody>
</table>
<p><strong><span style="text-decoration: underline">Normalizing Data for Effective Joins, Grouping or Filtering</span></strong></p>
<p>Mashups &#8211; as the name suggests &#8211; is expected to get results from different services (not designed to work with each other). Though similar data is obtained from these services invoked, they would not be in identical forms. For effective usage of joins, grouping or filtering these results from different services, normalization of data to a single representation becomes essential. Creating a custom XPath function is the best method to normalize data.</p>
<p>The following example shows joining mortgage rates from two web sites &#8211; one refers to the APR and the second uses custom terms:</p>
<p>Create the custom XPath function &#8211; to normalize the custom terminology &#8211; as a Java class myFinanceFunction that extends org.oma.emml.client.EMMLUserFunction.</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="638" valign="top">public class MyFinanceFunctions extends EMMLUserFunction {</td>
</tr>
<tr>
<td width="638" valign="top">static Set mortgageAliases = new HashSet();</td>
</tr>
<tr>
<td width="638" valign="top">static { mortgageAliases.add(&#8220;5/1 Orange Mortgage&#8221;); }</td>
</tr>
<tr>
<td width="638" valign="top">public static String mortgage(String data) {</td>
</tr>
<tr>
<td width="638" valign="top">  if (mortgageAliases.contains(data))</td>
</tr>
<tr>
<td width="638" valign="top">    return &#8220;5-Year ARM&#8221;;</td>
</tr>
<tr>
<td width="638" valign="top">  return data; }</td>
</tr>
<tr>
<td width="638" valign="top">}</td>
</tr>
</tbody>
</table>
<p>Compile this class, adding <em>web-apps-home</em><em>/emml/WEB-INF/lib/emml.jar</em> to the classpath. Deploy the compiled class to web-apps-home/emml/WEB-INF/classes for the EMML Engine that host the mashups using this function.</p>
<p>Add a <strong>namespace</strong> for the class as an xmlns attribute to the &lt;mashup&gt; tag that uses this function.</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="638" valign="top">xmlns:finance=&#8221;java:com.mycompany.mashups.MyFinanceFunctions&#8221;</td>
</tr>
<tr>
<td width="638" valign="top">name=&#8221;MortgageComparisons&#8221;&gt;</td>
</tr>
</tbody>
</table>
<p>Use the custom function in the XPath expressions in the &lt;join&gt; statement (or where data needs to be normalized).</p>
<table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="padding-bottom: 0in;padding-left: 5.4pt;width: 6.65in;padding-right: 5.4pt;padding-top: 0in;border: #c0c0c0" width="638" valign="top">
<p class="MsoNormal" style="text-align: justify;margin: 0in 0in 0pt"><span class="keyword"><span style="font-family: &quot;Times New Roman&quot;,&quot;serif&quot;font-size">&lt;output name=&#8221;result&#8221; type=&#8221;document&#8221;/&gt; </span></span></p>
</td>
</tr>
<tr>
<td style="padding-bottom: 0in;padding-left: 5.4pt;width: 6.65in;padding-right: 5.4pt;padding-top: 0in;border: #c0c0c0" width="638" valign="top">
<p class="MsoNormal" style="text-align: justify;margin: 0in 0in 0pt"><span class="keyword"><span style="font-family: &quot;Times New Roman&quot;,&quot;serif&quot;font-size"><span>  </span>&lt;join outputvariable=&#8221;$result&#8221; </span></span></p>
</td>
</tr>
<tr>
<td style="padding-bottom: 0in;padding-left: 5.4pt;width: 6.65in;padding-right: 5.4pt;padding-top: 0in;border: #c0c0c0" width="638" valign="top">
<p class="MsoNormal" style="text-align: justify;margin: 0in 0in 0pt"><span class="keyword"><span style="font-family: &quot;Times New Roman&quot;,&quot;serif&quot;font-size"><span>    </span>joincondition=&#8221;$feed1/feed/finance:mortgage(Product) = </span></span></p>
</td>
</tr>
<tr>
<td style="padding-bottom: 0in;padding-left: 5.4pt;width: 6.65in;padding-right: 5.4pt;padding-top: 0in;border: #c0c0c0" width="638" valign="top">
<p class="MsoNormal" style="text-align: justify;margin: 0in 0in 0pt"><span class="keyword"><span style="font-family: &quot;Times New Roman&quot;,&quot;serif&quot;font-size"><span>    </span>$feed2/feed/finance:mortgage(Product)&#8221;/&gt; </span></span></p>
</td>
</tr>
<tr>
<td style="padding-bottom: 0in;padding-left: 5.4pt;width: 6.65in;padding-right: 5.4pt;padding-top: 0in;border: #c0c0c0" width="638" valign="top">
<p class="MsoNormal" style="text-align: justify;margin: 0in 0in 0pt"><span class="keyword"><span style="font-family: &quot;Times New Roman&quot;,&quot;serif&quot;font-size"><span>  </span>&lt;display message=&#8221;result = &#8221; expr=&#8221;$result&#8221;/&gt; </span></span></p>
</td>
</tr>
<tr>
<td style="padding-bottom: 0in;padding-left: 5.4pt;width: 6.65in;padding-right: 5.4pt;padding-top: 0in;border: #c0c0c0" width="638" valign="top">
<p class="MsoNormal" style="text-align: justify;margin: 0in 0in 0pt"><span class="keyword"><span style="font-family: &quot;Times New Roman&quot;,&quot;serif&quot;font-size">&#8230;.</span></span></p>
</td>
</tr>
</tbody>
</table>
<p><strong><span style="text-decoration: underline">Removing Duplicates With Filtering</span></strong></p>
<p>To remove duplicates in a mashup, simply merge, join or group results. Sort the combined results (If needed) based on the key field that determines uniqueness to ensure that duplicates are contiguous. Use &lt;filter&gt; with a filtering expression that compares the key value of either the preceding or following &#8216;item&#8217; to determine if this &#8216;item&#8217; is unique. The filter expression can use the axis feature in XPath to compare preceding or following items.</p>
<p>Following is a simple &lt;filter&gt; statement:</p>
<p>&lt;filter inputvariable=&#8221;$a&#8221; outputvariable=&#8221;$a&#8221; filterexpr=&#8221;/rss/channel/item[contains(title,'Java')" /&gt;]</p>
<p>In addition to the default XPath axis &#8211; the child axis, you can refer to previous nodes (<em>preceding / preceding-sibling</em>), following nodes (<em>following / following-sibling</em>), the parent node, ancestor nodes, descendant nodes and others. You can also use wildcards like <em>following::* </em>or <em>following::node()</em> to identify all following nodes of any name.</p>
<p>The following example checks the title of each item (after merging results from two RSS services) to remove duplicates:</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="638" valign="top">  &lt;!&#8211; merge the results &#8211;&gt;</td>
</tr>
<tr>
<td width="638" valign="top">  &lt;merge inputvariables=&#8221;$feed1, $feed2&#8243; outputvariable=&#8221;result&#8221;/&gt;</td>
</tr>
<tr>
<td width="638" valign="top">  &lt;!&#8211; filter for unique items based on title &#8211;&gt;</td>
</tr>
<tr>
<td width="638" valign="top">  &lt;filter inputvariable=&#8221;$result&#8221; outputvariable=&#8221;$result&#8221;</td>
</tr>
<tr>
<td width="638" valign="top">    filterexpr=&#8221;/rss/channel/item[not(preceding::title = ./title)]&#8221; /&gt;</td>
</tr>
</tbody>
</table>
<p>I shall cover some more techniques in the second part of this blog. The Advanced Mashup Techniques are detailed in <a href="http://www.openmashup.org/omadocs/v1.0/emml/advMashupIntro.html">http://www.openmashup.org/omadocs/v1.0/emml/advMashupIntro.html</a>.</p>
<!-- wpms-network-global-inserts -->]]></content:encoded>
			<wfw:commentRss>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/advanced-mashup-scripting-in-emml-part-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mashup Scripting using EMML from OMA</title>
		<link>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/mashup-scripting-using-emml-from-oma/</link>
		<comments>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/mashup-scripting-using-emml-from-oma/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 11:46:35 +0000</pubDate>
		<dc:creator>Sasirekha R</dc:creator>
				<category><![CDATA[EMML]]></category>
		<category><![CDATA[Mashup]]></category>
		<category><![CDATA[OMA]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Standard]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/?p=242</guid>
		<description><![CDATA[Mashup Scripting using EMML from OMA Open Mashup Alliance (OMA) is a consortium aimed at successful use of Enterprise Mashup technologies and adoption of an open language &#8211; Enterprise Mashup Markup Language (EMML) &#8211; that promotes Enterprise Mashup interoperability and portability. EMML is an XML language to describe the processing flow for a mashup. The [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Mashup Scripting using EMML from OMA</strong></p>
<p>Open Mashup Alliance (OMA) is a consortium aimed at successful use of Enterprise Mashup technologies and adoption of an open language &#8211; Enterprise Mashup Markup Language (EMML) &#8211; that promotes Enterprise Mashup interoperability and portability. EMML is an XML language to describe the processing flow for a mashup. The OMA provides the EMML schema and also a reference runtime implementation that processes mashup scripts written in EMML.<span id="more-242"></span></p>
<p>The EMML package can be downloaded from <a href="http://www.openmashup.org/download" target="_blank">http://www.openmashup.org/download</a>. Before installing the EMML package, install the JDK (1.5 or above) and Tomcat 5.5 or another compatible application server. EMML samples can be downloaded from <a href="http://www.openmashup.org/download" target="_blank">http://www.openmashup.org/download</a>.</p>
<p>You can create a mashup script using any XML editor. Adding the EMML schema, <em>emml-install</em>/EMMLSpec.xsd, to the XML editor &#8211; enables the editor to provide syntax assistance and validation. A Mashup script &#8211; an XML file that uses EMML &#8211; is created to define:</p>
<ul>
<li>the services and operations to be used by the mashup and</li>
<li>the actions to apply to service responses to construct the results of the mashup.</li>
</ul>
<p>Following is a simple mashup script that invokes a service (most viewed stories) and filters the output (business).</p>
<address>&lt;?xml version=&#8221;1.0&#8243;?&gt;</address>
<address>&lt;mashup name=&#8221;NewsStories&#8221;</address>
<address>    xmlns=&#8221;www.openemml.org/2009-04-15/EMMLSchema&#8221;</address>
<address>    xsi:schemaLocation=&#8221;www.openemml.org/2009-04-15/EMMLSchema</address>
<address>      ../schema/EMMLSpec.xsd&#8221;</address>
<address>    xmlns:xsi=&#8221;http://www.w3.org/2001/XMLSchema-instance&#8221; &gt;</address>
<address>  &lt;variables&gt;</address>
<address>    &lt;variable name=&#8221;stories&#8221; type=&#8221;document&#8221;/&gt;</address>
<address>  &lt;/variable&gt;</address>
<address>  &lt;output name=&#8221;result&#8221; type=&#8221;document&#8221;/&gt;</address>
<address>  &lt;directinvoke endpoint=&#8221;http://rss.news.yahoo.com/rss/mostviewed&#8221;</address>
<address>      method=&#8221;GET&#8221; outputvariable=&#8221;stories&#8221;/&gt;</address>
<address>  &lt;filter inputvariable=&#8221;stories&#8221;</address>
<address>      filterexpr=&#8221;matches($stories/rss/channel/item/description,&#8217;Business&#8217;)&#8221;</address>
<address>      outputvariable=&#8221;result&#8221;/&gt;</address>
<address>&lt;/mashup&gt;</address>
<p> Two categories of elements are added to mashups:</p>
<ul>
<li><strong>Declarations</strong> for variables, parameters, data sources, namespaces, macros or metadata.</li>
<li><strong>Statements</strong> that perform actions &#8211; to invoke services, control flow, act on the results or use custom statements defined in macros &#8211; for the mashup.</li>
</ul>
<p><strong>Variables and Parameters</strong></p>
<p>Variables and parameters <strong>must</strong> be declared (explicitly or implicitly) before they are used in any other EMML statement. Variables and parameters have a name, a datatype, data (a value), a scope (global or local) and optionally a default value. Variables can be created implicitly by assigning a name to the outputvariable attribute for any statement.</p>
<ul>
<li>&lt;input&gt; is an optional element to declare parameters that can be used as input to mashup, operation or macro.</li>
<li>&lt;output&gt; is the parameter that holds the result returned from a mashup, operation or macro.</li>
<li>&lt;variables&gt; is a list of variables to use for input, output or to hold any intermediate data or document content in the flow of mashup processing.</li>
</ul>
<p><strong>Accessing a database</strong></p>
<p>To invoke SQL queries or statements, &lt;datasource&gt; with connection information for the database must be declared.  Each &lt;datasource&gt; declaration must have a URL that defines the JDBC connection and database login information (or) a JNDI name for connections to the database. Connection information can also be set dynamically as follows:</p>
<address>&lt;datasource url=&#8221;$system.datasourceURL&#8221;</address>
<address>   driverclassname=&#8221;$system.datasourceDriver&#8221;</address>
<address>   username=&#8221;$system.dbUserName&#8221; password=&#8221;$system.dbPassword&#8221;/&gt;</address>
<p>Note that, to use a &lt;datasource&gt;, you must add the JAR files containing JDBC drivers for your data source to the EMML Reference Runtime Engine classpath and add configuration for these drivers.</p>
<p>Use <a href="http://www.openmashup.org/omadocs/v1.0/emml/sqlRefCmd.html#jbid093NEN003UI">&lt;sql&gt;</a>to issue individual SQL queries to a data source &#8211; for example:</p>
<address>&lt;sql query=&#8221;select CUST_ID, CUST_NAME from CUSTOMERS</address>
<address>  where CUST_ID = :customerId&#8221; outputvariable=&#8221;$customers&#8221; /&gt;</address>
<p>Use <a href="http://www.openmashup.org/omadocs/v1.0/emml/sqlUpdateRefCmd.html#jbid093NF0AA0HT">&lt;sqlUpdate&gt;</a> to execute any other SQL statement against a data source &#8211; for example:</p>
<address>&lt;sqlUpdate statement=&#8221;update credentials set</address>
<address>    user_id = &#8216;newuser&#8217; where id = &#8217;1004&#8242;&#8221;</address>
<address>    outputvariable=&#8221;$updateResult&#8221;/&gt;</address>
<p>&lt;sql&gt; and &lt;sqlUpdate&gt; can also be used to invoke stored procedures. SQL transactions can be managed using <a href="http://www.openmashup.org/omadocs/v1.0/emml/sqlBeginTransactionRefCmd.html#jbid093NF0GA0PF">&lt;sqlBeginTransaction&gt;</a>, <a href="http://www.openmashup.org/omadocs/v1.0/emml/sqlCommitRefCmd.html#jbid093NF0H0FPN">&lt;sqlCommit&gt;</a> and <a href="http://www.openmashup.org/omadocs/v1.0/emml/sqlRollbackRefCmd.html#jbid093NF0I0Z30">&lt;sqlRollback&gt;</a>. EMML currently does not support distributed transactions.</p>
<p><strong>Accessing a Web Service</strong></p>
<p>Using <a href="http://www.openmashup.org/omadocs/v1.0/emml/directinvokeRefCmd.html#jbid093KF0N0TBI">&lt;directinvoke&gt;</a>, you can invoke a publically accessible web service or website. In case of service invocation error, the EMML Reference Runtime Engine returns error information in two built-in variables: faultcode and faultmessage.</p>
<p><strong>Transforming Intermediate Results</strong></p>
<p>The mashup statements that can be used to select specific results, sort results, or otherwise transform the data in variables include:</p>
<ul>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/assignRefCmd.html#jbid093KEK00SPF">&lt;assign&gt;</a> &#8211; to assign values or copy part of all of a variable</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/filterRefCmd.html#jbid093KF40802L">&lt;filter&gt;</a> &#8211; to filter a variable</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/groupRefCmd.html#jbid093KG0J03BL">&lt;group&gt;</a> &#8211; to group data in a variable and optionally filter or sort</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/sortRefCmd.html#jbid093NEJ00AY4">&lt;sort&gt;</a> &#8211; to sort a variable</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/annotateRefCmd.html#jbid093KE4006Y4">&lt;annotate&gt;</a> &#8211; to add nodes and data to a variable</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/xsltRefCmd.html#jbid0985F0DJ0UI">&lt;xslt&gt;</a> &#8211; to transform data using XSLT stylesheets</li>
</ul>
<p>Additionally, XPath functions can be used to transform data, change datatypes, perform calculations or determine boolean conditions.</p>
<p>Using the <a href="http://www.openmashup.org/omadocs/v1.0/emml/scriptRefCmd.html#jbidemmlrefscript">&lt;script&gt;</a> statement, user-defined code can be executed within mashup processing. JavaScript and JRuby 1.0 are the scripting languages currently supported.</p>
<p><strong>Combining Service Results</strong></p>
<p>Results of two or more component services can be combined using:</p>
<p>1. <a href="http://www.openmashup.org/omadocs/v1.0/emml/mergeRefCmd.html#jbid093NE0F0Q30">&lt;merge&gt;</a> &#8211; to merge service results that have homogenous, document-type structures (similar to database union operation)</p>
<p>2. <a href="http://www.openmashup.org/omadocs/v1.0/emml/joinRefCmd.html#jbid093NC0VK0YK">&lt;join&gt;</a> &#8211; to define how the data from disparate variables should be joined. Variable data should have repetitive structures that are related based on some criteria &#8211; say, the foreign keys that define the relation. It is comparable to inner joins for databases.</p>
<p>3. <a href="http://www.openmashup.org/omadocs/v1.0/emml/outerJoinXquery.html#jbid0824CM00T5Z">XQuery</a> &#8211; to obtain outer joins in mashups.</p>
<p><strong>Constructing the Mashup Result, Input or Intermediate Variables</strong></p>
<p>The following statements can be used to define the structure of the result that is returned from a mashup, or to construct complex input parameters or any complex intermediate variable:</p>
<ul>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/constructorRefCmd.html#jbid093KF0G504Y">&lt;constructor&gt;</a> to construct a well-formed document.</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/appendresultRefCmd.html#jbid093KED0I0YK">&lt;appendresult&gt;</a> to add one or more well-formed items to a variable.</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/selectRefCmd.html#jbid093NE1070QN">&lt;select&gt;</a> (within &lt;mashup&gt;, &lt;operation&gt; or &lt;macro&gt;)</li>
<li>&lt;select&gt; within a &lt;join&gt; command to select specific items within a set of repeating items. See <a href="http://www.openmashup.org/omadocs/v1.0/emml/joinRefCmd.html#jbid093NC0VK0YK">&lt;join&gt;</a>.</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/groupRefCmd.html#jbid093KG0J03BL">&lt;group&gt;</a> constructs repeating structures from sorted and optionally filtered node sets.</li>
</ul>
<p>Literal XML can also be used to construct the contents of variables or input parameters.</p>
<p><strong>Controlling Mashup Processing Flow</strong></p>
<p>The mashup commands to control the processing flow for a mashup operation includes:</p>
<ul>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/ifRefCmd.html#jbid093KG0P094B">&lt;if&gt;</a> for conditional processing</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/forRefCmd.html#jbid093KG0G0FAX">&lt;for&gt;</a> for looping based on simple counts</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/foreachRefCmd.html#jbid093KG0A0UTS">&lt;foreach&gt;</a> for looping through a set of nodes. This can be simple iterative loops or loops can be processed concurrently.</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/whileRefCmd.html#jbid093NF0NA0E9">&lt;while&gt;</a> for looping as long as a condition is true</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/breakRefCmd.html#jbid093KF0F04E9">&lt;break&gt;</a> to forceably stop looping statements</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/multiFlows.html#jbid073EBC00K30">Concurrent Mashup Processing Flows</a> using <a href="http://www.openmashup.org/omadocs/v1.0/emml/parallelRefCmd.html#jbid093NE0MD0RO">&lt;parallel&gt;</a>.</li>
<li><a href="http://www.openmashup.org/omadocs/v1.0/emml/sqlTransactionCmds.html#jbid0946BA00Q5Z">SQL Transactions</a> using <a href="http://www.openmashup.org/omadocs/v1.0/emml/sqlBeginTransactionRefCmd.html#jbid093NF0GA0PF">&lt;sqlBeginTransaction&gt;</a>, <a href="http://www.openmashup.org/omadocs/v1.0/emml/sqlCommitRefCmd.html#jbid093NF0H0FPN">&lt;sqlCommit&gt;</a> and <a href="http://www.openmashup.org/omadocs/v1.0/emml/sqlRollbackRefCmd.html#jbid093NF0I0Z30">&lt;sqlRollback&gt;</a>.</li>
</ul>
<p>Using <a href="http://www.openmashup.org/omadocs/v1.0/emml/emml-metaRefCmd.html#jbid093KF0UL07U">&lt;emml-meta&gt;</a> and <a href="http://www.openmashup.org/omadocs/v1.0/emml/user-metaRefCmd.html#jbidemmlrefuser-meta">&lt;user-meta&gt;</a>, metadata can be declared to allow setting of processing flags or pass other information to applications that will use a mashup, use a macro or handle mashup results.</p>
<p>EMML, like any other tag language, is quite simple to use and can be used by business users to create mashups quickly. EMML also supports various statements and commands that can be used to create complex Mashups depending on the needs of the user.</p>
<!-- wpms-network-global-inserts -->]]></content:encoded>
			<wfw:commentRss>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/mashup-scripting-using-emml-from-oma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drilling deeper into KML &#8211; OGC Geographic Visualization Standard</title>
		<link>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/drilling-deeper-into-kml-ogc-geographic-visualization-standard/</link>
		<comments>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/drilling-deeper-into-kml-ogc-geographic-visualization-standard/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 06:26:16 +0000</pubDate>
		<dc:creator>Sasirekha R</dc:creator>
				<category><![CDATA[Geographic]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[KML]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[OGC]]></category>
		<category><![CDATA[Standard]]></category>

		<guid isPermaLink="false">http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/?p=223</guid>
		<description><![CDATA[Drilling deeper into KML &#8211; OGC Geographic Visualization Standard KML is an XML grammar used to visualize geographic data in an earth browser such as a 3D virtual globe, and 2D web browser of mobile mapping applications. KML has a tag-based structure with names and attributes used for specific display purposes and a KML instance [...]]]></description>
				<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline"><span style="color: #800000"><a href="http://cdn.ttgtmedia.com/ITKE/uploads/blogs.dir/183/files/2011/03/terrain.jpg"></a></span></span></strong></p>
<p><strong><span style="text-decoration: underline">Drilling deeper into KML &#8211; OGC Geographic Visualization Standard</span></strong></p>
<p>KML is an XML grammar used to visualize geographic data in an earth browser such as a 3D virtual globe, and 2D web browser of mobile mapping applications. KML has a tag-based structure with names and attributes used for specific display purposes and a KML instance is processed by web browsers in a way similar to that of HTML or XML.</p>
<p>KML can be used to:</p>
<ul>
<li>Annotate the Earth</li>
<li>Specify icons and labels to identify locations on the surface of the planet</li>
<li>Create different camera positions to define unique views for KML features</li>
<li>Define image overlays to attach to the ground or screen</li>
<li>Define styles to specify KML feature appearance</li>
<li>Write HTML descriptions of KML features, including hyperlinks and embedded images</li>
<li>Organize KML features into hierarchies</li>
<li>Locate and update retrieved KML documents from local or remote network locations</li>
<li>Define the location and orientation of textured 3D objects<span id="more-223"></span></li>
</ul>
<p>KML uses the W3C XML Schema language to describe the grammar of conformant KML data instances. Conformant KML 2.2 files shall validate against the KML 2.2 schema. As stated in an earlier article, KML encoding uses geodetic longitude, geodetic latitude and altitude as define by the GML Coordinate Reference System (CRS) with identifier LonLat84_5773. The vertical datum is the WGS84 EGM96 Geoid.</p>
<p>A spatial extent of a <em>Placemark </em>is defined by extending the &lt;Geometry&gt; element. The spatial extent can include:</p>
<ul>
<li>the location of an anchor point on the earth, that serves as an origin for a 3D object in case of <em>Model</em> element.</li>
<li>the encoding of explicit coordinate tuples in the <em>coordinates</em> element (as in <em>Point</em>, <em>LineString</em> or <em>LinearRing</em>).</li>
</ul>
<p>In case of <em>LineString</em>, <em>LinearRing</em> and <em>Polygon</em> elements, subclauses are used to describe the interpolation schemes (used to represent <em>Placemark</em> that are not explicitly encoded).</p>
<p>The interpolation used for <em>LineString</em> and <em>LinearRing</em> depend on the values of the child <em>altitudeMode (relativeToGround, absolute, clampToGround)</em> and <em>tessellate</em> (<em>1-true or 0-false</em>) elements. It is worth noting that the control points of every LinearRing must lie on a common plane. The following KML instance, has the projected <em>LineString</em> that follow the earth&#8217;s curvature:</p>
<pre><span style="font-family: &quot;Courier New&quot;color;font-size: 9pt">&lt;</span>kml xmlns="http://earth.google.com/kml/2.2"&gt;
  &lt;Document&gt;
    &lt;Placemark&gt;
      &lt;LineString&gt;
         &lt;tessellate&gt;true&lt;/tessellate&gt;
         &lt;altitudeMode&gt;clampedToGround&lt;/altitudeMode&gt;
         &lt;coordinates&gt;-135,30,500000 -80,30,500000&lt;/coordinates&gt;
      &lt;/LineString&gt;
   &lt;/Placemark&gt;
  &lt;/Document&gt;
&lt;/kml&gt; </pre>
<p>The interpolation used for Polygon also depends on the values of the child altitudeMode (relativeToGround, absolute, clampToGround) and tessellate (1-true or 0-false) elements. In the following Polygon instance with the altitudeMode set to clampToGround, translates to a part in the earth&#8217;s terrain surface as shown below:</p>
<pre>&lt;kml xmlns="http://earth.google.com/kml/2.2"&gt;
  &lt;Document&gt;
    &lt;Placemark&gt;
      &lt;Polygon&gt;
        &lt;altitudeMode&gt;clampToGround&lt;/altitudeMode&gt;
        &lt;outerBoundaryIs&gt;
          &lt;LinearRing&gt;
            &lt;coordinates&gt;-135,78.5,300000 -135,12.5,300000 -45,12.5,300000 -45,78.5,300000 -135,78.5,300000&lt;/coordinates&gt;
          &lt;/LinearRing&gt;
        &lt;/outerBoundaryIs&gt;
      &lt;/Polygon&gt;
    &lt;/Placemark&gt;
  &lt;/Document&gt;
&lt;/kml&gt;</pre>
<div id="attachment_232" class="wp-caption aligncenter" style="width: 310px"><a href="http://None"><img class="size-medium wp-image-232" src="http://cdn.ttgtmedia.com/ITKE/uploads/blogs.dir/183/files/2011/03/terrain1-300x187.jpg" alt="KML Polygon Interpolation - Example" width="300" height="187" /></a><p class="wp-caption-text">KML Polygon Interpolation - Example</p></div>
<ul>
<li>The outer boundary points of the polygon that are interpolated between the control points in the LinearRing form a rectangular perimeter in the plate carrée plane.</li>
<li>Then the interior points of the rectangle are filled in linearly in this plane.</li>
<li>Finally each (long,lat) point of the rectangle is mapped to a (long,lat,alt) point on the earth terrain surface.</li>
</ul>
<p>Refer to <a href="http://blog.opengeo.org/2010/08/10/shape-of-a-polygon/">http://blog.opengeo.org/2010/08/10/shape-of-a-polygon/</a> for Interesting examples on Polygon and their representation in KML.</p>
<p>Refer to <a href="http://code.google.com/apis/kml/documentation/kmlreference.html#polystyle">http://code.google.com/apis/kml/documentation/kmlreference.html#polystyle</a> for complete reference &#8211; including coloring of Polygons.</p>
<p>For more detailed information on KML models and syntax, the OGC Project document titled &#8220;KML 2.2 &#8211; An OGC Best Practice&#8221; with more details can be downloaded from <cite><a href="http://portal.opengeospatial.org/files/?artifact_id=23689">http://portal.opengeospatial.org/files/?artifact_id=23689</a>.</cite></p>
<!-- wpms-network-global-inserts -->]]></content:encoded>
			<wfw:commentRss>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/drilling-deeper-into-kml-ogc-geographic-visualization-standard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Overview of KML &#8211; OGC Geographic Visualization Standard</title>
		<link>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/overview-of-kml-ogc-geographic-visualization-standard/</link>
		<comments>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/overview-of-kml-ogc-geographic-visualization-standard/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 13:06:42 +0000</pubDate>
		<dc:creator>Sasirekha R</dc:creator>
				<category><![CDATA[Geographic]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[KML]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[OGC]]></category>
		<category><![CDATA[Standard]]></category>

		<guid isPermaLink="false">http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/?p=219</guid>
		<description><![CDATA[Overview of KML &#8211; OGC Geographic Visualization Standard KML is the international standard language (actually an XML schema) for expressing geographic annotation and visualization within Internet based, two-dimensional (2D) maps and three-dimensional (3D) earth browsers (or GeoBrowsers). Objective of KML is to encourage broader implementation and greater interoperability and sharing of earth browser content and context. [...]]]></description>
				<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline"><span style="color: #800000">Overview of KML &#8211; OGC Geographic Visualization Standard</span></span></strong></p>
<p class="MsoNormal"><span style="font-family: 'Arial','sans-serif';font-size: 9pt">KML is the international standard language (actually an XML schema) for expressing geographic annotation and visualization within Internet based, two-dimensional (2D) maps and three-dimensional (3D) earth browsers (or GeoBrowsers). Objective of KML is to encourage broader implementation and greater interoperability and sharing of earth browser content and context.</span></p>
<p class="MsoNormal"><span style="font-family: 'Arial','sans-serif';font-size: 9pt">KML (earlier called Keyhole Markup Language) was developed by Keyhole, Inc which was acquired by Google. Google uses KML as the file format to display geographic data in Earth browsers like Google Earth, Google Maps and Google Maps for mobile<span id="more-219"></span>. Google submitted KML to the Open Geospatial Consortium (OGC) and KML ver 2.2 has been adopted as an OGC implementation standard. After KML has been accepted as an OGC standard, it is supported (in one way or another) on most of the major GeoBrowsers.</span></p>
<p class="MsoNormal"><span style="font-family: 'Arial','sans-serif';font-size: 9pt">KML focuses on geographic visualization – namely the presentation of graphical data on the globe, control of the user’s navigation on where to go and where to look, and annotation of maps and images. Using KML files, we can specify the features &#8211; images, polygons, 3D models, place marks, photo overlays, paths, network links &#8211; for display in any 3D GeoBrowser implementing the KML encoding. KML files are used to pinpoint locations, add image overlays, and expose rich data in new ways. Typically, KML files are distributed in KMZ files, which are <a title="ZIP (file format)" href="http://en.wikipedia.org/wiki/ZIP_(file_format)"><span style="color: windowtext;text-decoration: none">zipped</span></a> files with a .kmz extension.</span></p>
<p class="MsoNormal"><span style="font-family: 'Arial','sans-serif';font-size: 9pt">KML can also be used to represent astronomical data and display objects – stars, constellations, planets, moon and galaxies &#8211; in the sky using Google Sky or Microsoft&#8217;s WorldWide Telescope. You can define tours (using the set of extensions to the OGC KML standard – supported currently by Google Earth) by placing specific elements, in order, into a KML file. Tours basically use the tour primitives like FlyTos, Waits, TourControls, AnimatedUpdates and SoundCues – that run in series or in parallel.</span></p>
<p class="MsoNormal"><span style="font-family: 'Arial','sans-serif';font-size: 9pt">Any KML feature can have time data associated with it, restricting the visibility of the data set to a given time period (TimeSpan) or point in time (TimeStamp). In Google Earth, the time slider controls which parts of the data is visible.</span></p>
<p class="MsoNormal"><span style="font-family: 'Arial','sans-serif';font-size: 9pt">Usage of KML includes:</span></p>
<p class="MsoListParagraphCxSpFirst"><span style="font-family: Symbol;font-size: 9pt"><span>·<span style="font-family: 'Times New Roman'">         </span></span></span><span style="font-family: 'Arial','sans-serif';font-size: 9pt">Casual users use KML to Place mark homes, plan and document tours, plan cross-country hikes and cycling ventures.</span></p>
<p class="MsoListParagraphCxSpMiddle"><span style="font-family: Symbol;font-size: 9pt"><span>·<span style="font-family: 'Times New Roman'">         </span></span></span><span style="font-family: 'Arial','sans-serif';font-size: 9pt">Scientists use KML to provide detailed mapping of resources, models and trends such as volcanic eruptions, weather patterns, earthquake activity, and mineral deposits. </span></p>
<p class="MsoListParagraphCxSpMiddle"><span style="font-family: Symbol;font-size: 9pt"><span>·<span style="font-family: 'Times New Roman'">         </span></span></span><span style="font-family: 'Arial','sans-serif';font-size: 9pt">Real estate professionals, architects, city development agencies use KML to propose construction and visualize plans.</span></p>
<p class="MsoListParagraphCxSpMiddle"><span style="font-family: Symbol;font-size: 9pt"><span>·<span style="font-family: 'Times New Roman'">         </span></span></span><span style="font-family: 'Arial','sans-serif';font-size: 9pt">Educational community uses KML to explore historic and current people, places and events.</span></p>
<p class="MsoListParagraphCxSpMiddle"><span style="font-family: Symbol;font-size: 9pt"><span>·<span style="font-family: 'Times New Roman'">         </span></span></span><span style="font-family: 'Arial','sans-serif';font-size: 9pt">National Geographic, UNESCO and such organizations use KML to display their rich sets of global data</span></p>
<p class="MsoListParagraphCxSpLast"><span style="font-family: Symbol;font-size: 9pt"><span>·<span style="font-family: 'Times New Roman'">         </span></span></span><span style="font-family: 'Arial','sans-serif';font-size: 9pt">Non-profit organizations use KML to highlight problems and advocate change</span></p>
<p class="MsoNormal"><span style="font-family: 'Arial','sans-serif';font-size: 9pt">KML is complementary to other OGC standards including GML (Geography Markup Language), WFS (Web Feature Service) and WMS (Web Map Service). KML 2.2 utilizes certain geometry elements – point, line string, linear ring, and polygon &#8211; derived from GML 2.1.2. <span> </span>In the near future, additional harmonization of KML with GML (e.g., using the same geometry representation) is expected. Together KML and GeoRSS makes information more searchable &#8211; with KML focus on visualization of resources and GeoRSS on tagging and linking of resources. </span></p>
<!-- wpms-network-global-inserts -->]]></content:encoded>
			<wfw:commentRss>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/overview-of-kml-ogc-geographic-visualization-standard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GeoRSS Simple &#8211; standard for Geographic Information Feed</title>
		<link>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/georss-simple-standard-for-geographic-information-feed/</link>
		<comments>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/georss-simple-standard-for-geographic-information-feed/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 14:02:51 +0000</pubDate>
		<dc:creator>Sasirekha R</dc:creator>
				<category><![CDATA[Geographic]]></category>
		<category><![CDATA[GeoRSS]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Location]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[Mashup]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Standard]]></category>

		<guid isPermaLink="false">http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/?p=206</guid>
		<description><![CDATA[Understanding Geographic Feed standard &#8211; GeoRSS Simple GeoRSS is an open and emerging standard aimed at describing geographic information (location) in an interoperable manner so that applications can request, aggregate, share and map geographically tagged feeds. GeoRSS, derived from RSS, extends existing web feeds &#8211; rendered by aggregators and web browsers &#8211; with geographic information. [...]]]></description>
				<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline"><span style="color: #800000">Understanding Geographic Feed standard &#8211; GeoRSS Simple</span></span></strong></p>
<p>GeoRSS is an open and emerging standard aimed at describing geographic information (location) in an interoperable manner so that applications can request, aggregate, share and map geographically tagged feeds. GeoRSS, derived from RSS, extends existing web feeds &#8211; rendered by aggregators and web browsers &#8211; with geographic information. <span id="more-206"></span>GeoRSS is designed for use with <a title="http://en.wikipedia.org/wiki/Atom_%28standard%29" href="http://en.wikipedia.org/wiki/Atom_%28standard%29">Atom 1.0</a>, RSS 2.0 and RSS 1.0 and can also be easily used in non-RSS XML encodings.</p>
<p>The GeoRSS collaboration has completed work on two primary encodings namely:</p>
<p>1. GeoRSS-Simple &#8211; Lightweight format that supports basic geometries &#8211; point, line, box, polygon &#8211; and useful for encoding locations.</p>
<p>2. GeoRSS GML (Geography Markup Language) &#8211; Formal Open Geospatial Consortium (OGC) GML application profile supporting a greater range of features.</p>
<p>GeoRSS coordinates refers to World Geodetic System (WGS84) that defines a reference frame for the earth which is the accepted standard for use in geodesy and navigation. WGS84 comprises a standard coordinate frame for the Earth, a standard spheroidal reference surface for raw altitude data and a gravitational equipotential surface that defines the nominal sea level. It is to be noted that GeoRSS lines and boundaries are allowed to cross the dateline or circle the poles.</p>
<p>GeoRSS Simple is concise in both representation and conception and quite sufficient for many needs. The four GeoRSS objects require only a single tag.</p>
<p>1. A <strong>point</strong> contains a single latitude-longitude pair, separated by whitespace.</p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:point&gt;45.256 -71.92&lt;/georss:point&gt;</span></p>
<p>2. A <strong>line</strong> contains a space separated list of latitude-longitude pairs (minimum two pairs) in WGS84 coordinate reference system, with each pair separated by whitespace.</p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:line&gt;45.256 -110.45 46.46 -109.48 43.84 -109.86&lt;/georss:line&gt;</span></p>
<p>3. A <strong>box</strong> contains two space separate latitude-longitude pairs. The first pair is the lower corner and the second pair is the upper corner. A bounding box is a rectangular region used to define the extents of a map or a rough area of interest.</p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:box&gt;42.943 -71.032 43.039 -69.856&lt;/georss:box&gt;</span></p>
<p>4. A <strong>polygon</strong> contains a space separated list of latitude-longitude pairs. There must be at least four pairs, with the last being identical to the first (so a polygon has a minimum of three actual points).</p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:polygon&gt;45.256 -110.45 46.46 -109.48 43.84 -109.86 45.256 -110.45&lt;/georss:polygon&gt;</span></p>
<p>5. A <strong>circle</strong> contains three coordinates with centerpoint latitude, centerpoint longitude in the WGS84 coordinate reference system and radius in meters.</p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:circle&gt;42.943 -71.032 500&lt;/georss:circle&gt;</span></p>
<p>As Earth is a spheroid, GeoRSS enforces some constraints on the geometries to avoid ambiguous shapes. For example, it requires that no two points in a line or polygon may have latitude values that are more than 179 degrees apart. This constraint allows the use of the simple convention with just asking the users to add an extra point in the geometries to avoid ambiguity.</p>
<p>GeoRSS geometry is meant to represent a real feature of the Earth&#8217;s surface. It has these additional case-sensitive properties with no constraints (intent being the folksonomy to emerge).</p>
<p>1. A single string containing a <strong>featuretypetag</strong>. The default is &#8220;location&#8221;.</p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:featureTypeTag&gt;city&lt;/georss:featureTypeTag&gt;</span></p>
<p>2. A single string containing a <strong>relationshiptag</strong>. The default relationship, &#8220;is-located-at&#8221; simply indicates that the subject of the content is located at the GeoRSS feature.</p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:relationshipTag&gt;is-centered-at&lt;/georss:relationshipTag&gt;</span></p>
<p>3. A single string containing a <strong>featureNametag</strong> which indicates the name or identifier of the referenced geographic entity.</p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:featureName&gt;Millis, MA&lt;/georss:featureName&gt;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:featurename&gt;12 HURSTCOURT ROAD Sutton Surrey SM1 3JF&lt;/georss: featurename&gt;</span></p>
<p> In GeoRSS, Elevation can be expressed as &#8220;elev&#8221; or &#8220;floor&#8221;.</p>
<ul>
<li>&#8220;<strong>elev</strong>&#8221; is meant to contain height in meters from the WGS84 ellipsoid, easily obtainable from any GPS device.</li>
</ul>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:elev&gt;313&lt;/georss:elev&gt;</span></p>
<ul>
<li>&#8220;<strong>floor</strong>&#8221; is meant to contain the floor number of a building.</li>
</ul>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;georss:floor&gt;2&lt;/georss:floor&gt;</span></p>
<p>GeoRSS Simple permits the uses of comma instead of whitespace and GeoRSS parsers should just treat commas as whitespace. Refer to <a href="http://www.windsorsolutions.biz/xsd/ENGeoTF/georss11.htm#element_featureName">http://www.windsorsolutions.biz/xsd/ENGeoTF/georss11.htm</a> for details on the GeoRSS schema properties.</p>
<p>The downside to the GeoRSS Simple&#8217;s simplicity is the cost of direct upward compatibility with GML which represents a point as follows:</p>
<p style="padding-left: 30px"><span style="color: #0000ff">  &lt;georss:where&gt;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff">    &lt;gml:Point&gt;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff">      &lt;gml:pos&gt;45.256 -71.92&lt;/gml:pos&gt;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff">     &lt;/gml:Point&gt;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff">  &lt;/georss:where&gt;</span></p>
<p>GeoRSS Simple meets the need for many applications and the transformation from Simple serialization to the GML serialization is straightforward.</p>
<p>GeoRSS is used in many sites and one such example is <a href="http://mapufacture.com/about/buildingmaps">http://mapufacture.com/about/buildingmaps</a>. Multiple GeoRSS-Simple Readers which will take the geographic data and display maps &#8211; say in Google Maps or Virtual Earth &#8211; are available in the web. GeoRSS using the fixed coordinate system of decimal longitude, latitude degrees (global WGS84) that is used by most online map services, makes it easy for &#8220;mashups&#8221; without complex coordinate transformations.</p>
<!-- wpms-network-global-inserts -->]]></content:encoded>
			<wfw:commentRss>http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/georss-simple-standard-for-geographic-information-feed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
