|
|
Tools and solutions for high performance XML processing:fast XSLT parsing and transformations.
Home of the Gregor/XSLT optimized XML processing framework and XML for the wireless client solutions. Since 2002. Gregor, Android, Amazon XML web services demoMarch 7th, 2008 High performance XML parsing and transformations on client devices and on servers help quickly create snappy web service apps for the Android platform. Gregor translets and runtime for Google AndroidMarch 1st, 2008 Last week we informally demoed Gregor XML processing at the Android Code Day in Harvard Square. The demo application which runs on Android emulator lets users browse Amazon's music collections exposed as XML web services. Our goal is to provide a technology to help build effective Rich Client Apps for devices with limited screen sizes and limited battery life. This Gregor application showcases:
How does it work? The Android application requests a bundle of data about Amazon CD/DVD collection for an user specified artist. The bundle, complete with prices, reviews, tracks, cover image URLs, etc., comes back as an XML document. The document is parsed by our integrated parser and immediately transformed into an initial View by one of the application's translets. In Model-View-Controller terms, the Model stays mostly in parsed XML document instances, while Views are dynamically generated as users navigate through Model data. View generation is specified via XSLT stylesheets that Gregor's optimizing compiler compiles into Java bytecodes to be subsequently converted into Android Dalvik bytecodes. A View generating Model transformation can generate X/HTML or build UI directly by calling back to the Android graphics API. In a different scenario, a transcoding server is used. The Android hosted web services client requests Amazon data via a third party server. The server gets the actual data, which can be voluminous, quickly parses the XML response, and transforms it to a smaller document to be returned to the client. The returned document may be put into the yet smaller and faster XDM (XML Data Model) format for speedy I/O and snappier processing on the client. Here are the most recent performance data for Amazon Web Services transformations. All measurements have been taken on the following architecture: Linux greg 2.6.23-gentoo-r3 #8 SMP i686 Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz GenuineIntel GNU/Linux We used IBM's Java 1.5.0_06 as the fastest Java for this application on this architecture. The Amazon WS XML document for "Pink Floyd" music with no indentation takes up 237,967 bytes. The XDM binary/preparsed form of that document requires 130,806 bytes, or 55% of the original. This means one can transmit/store/cache about twice as many XML documents in the XDM format than in the original serialized text format. Yes, XML text can be further compressed, but so can be XDM. While both formats can be compressed, XDM is also preparsed: its deserialization into a navigable DOM is much faster than even our own fast-parsing.
Notes: Please note that transformations from cached DOM have practical application on Android as multiple Views are generated from existing (XML) Models. The XDM format is I/O, memory, cache, and CPU friendly. In the Android context it will aid in building snappy, resource saving, rich client apps. XDM will also work in server environments with Sleepycat DB, MySQL BLOB, memcached, etc.
uSeeToo: visual communicator for SkypeXML goes P2P with uSeeToo, our Java application that lets users share a virtual whiteboard. You can talk to your coworkers on Skype while explaining your ideas graphically. For more information please visit http://useetoo.com The case for Gregor XML VM.June 6th, 2006. There exists a significant price/performance gap today between:
Gregor/XSLT and Gregor XML Virtual Machine (G/XVM) are designed to bridge that gap: we prove that the software available so far has just not been optimized! Gregor/XSLT is (Apache Xalan's) XSLTC completely redesigned by the original inventor. Like its predecessor, Gregor compiles XSLT transforms to optimized Java bytecodes (translets). The system is a commercial Xalan replacement that can be used in WebSphere, WebLogic, or JBoss application servers, as well as within Tomcat, Cocoon, etc. environments.
<XML/VM>Gregor/XVM is written in pure C for ultimate performance and small footprint. In under 100 kB, it contains an integrated, high-performance XML parser, as well as an optimized XML Runtime System. Gregor/XVM accepts and executes XVM translets compiled by separate optimizing compiler(s) from XSLT, XPath, (and possibly XQuery) source programs. Since it doesn't need to compile/interpret XSLT/XQuery, it can be very small and therefore integrated with small devices, such as cell phones powered by MS WinCE or Symbian. Gregor/XVM is extremely fast and it beats Gregor/XSLT's optimized (+JIT) bytecodes by a factor of about three! We tested the system using a stylesheet from DataPower's (now IBM) XSLTMark benchmark: alphabetize.xsl applied to the text of Hamlet in XML:
The tests were performed on a 2-year-old AMD Athlon64 3200+ that today would cost some $130. The stylesheet used gives XML processing a powerful workout: it inspects and normalizes all text, visits all nodes of an input document, and sorts nodes at all levels. The text of hamlet.xml is some 340kB; Gregor/XVM needs 2 milliseconds to parse it and prepare for processing on the $130 Athlon! The complete text of Hamlet can be completely parsed, resorted and normalized 100 times per second on a cheap processor!
Gregor XML Virtual Machine Benefits and Opportunities
The Gregor XML VM technology can be licensed or OEM'ed. We are actively looking for partners in the SOA/WS/AJAX/wireless space. Ambrosoft, Inc. will be happy to custom tune the technology for your applications, processors, or appliances.
Why do you need fast XML software?January 20th, 2005: The amount of XML data processed by applications and networked services doubles every year (or faster). Hardware performance needs about 20 months to double; does it sound like a gap? It does to us! Ambrosoft celebrates its third year in the business of optimized XML processing with the newest generation of high performance XML processing software: GregorNG/XML. New Gregor XML parser complements optimized XSLT/XPath performanceNovember 11th, 2004: Gregor/XSLT high performance XML transformation framework version 1.1 now includes an innovative fully integrated XML parser technology. Together with adaptive pipelining and native W3C DOM and JDom adapters, the new addition to the Gregor family enables the holistically optimized, end-to-end XML processing path. Latency and throughput parameters are improved up to tenfold helping customers achieve scalability of their XML processing SOA and Web Services applications. The parsing time bottleneck is now removed from Gregor's XSLT/XPath processing! Free download: UBL 1.0 transformation libraryNovember 4th, 2004: We are pleased to announce the availability of a fully functional transformation library for the Universal Business Language (UBL). The XSLT stylesheets prepared by Crane Softwrights Ltd., have been compiled with Gregor's optimizing compiler and packaged as a Java application in a 'jar' file. The transformer application does not require any configuration except Java to run it. Please see the official OASIS announcement here. You can download the jar from ambrosoft-crane UBL Formatter
For inquiries please write to: info (at) ambrosoft (dot) com. Gregor 1.1 ReleasedOctober 13th, 2004: The new Gregor/XSLT release brings further performance improvements as well as provides various Xalan extensions as requested by customers migrating from the Xalan processor. Gregor 1.0 ReleasedGregor 1.0 integrated XSLT framework has been officially released at the XML Europe 2003 Conference in London, England. More... August 6th, 2003: new commentary distilled from the early market experience is here: GregorNotes. New benchmark resultsGregor 1.0 is the fastest platform neutral XSLT processor. More... Gregor-In-A-BoxGregor-In-A-Box extends the Gregor platform to include a custom configured network appliance adding a new deployment option. More...
Our MissionTo make our technology vision, innovation, and passion create value and new opportunities for our customers.
Company ProfileAmbrosoft, Inc. is a privately held XML/XSLT software company based in Framingham, Massachusetts. Our flagship technology is Gregor/XSLT, an integrated XSLT framework for Java, its runtime environment, and binary XML compression technology to support XML wireless data services. Ambrosoft is founded by Jacek R. Ambroziak, Ph.D., a longtime Research Scientist for Sun Microsystems Laboratories. Jacek has a long track of coming up with innovative software ideas and putting them into practice, while obsessing about performance. |
|
Send mail to info@ambrosoft.com with
questions or comments about this web site.
|