New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Stefan Tilkov on Nov 20, 2006
Version 1.1 of Axis2, the Apache Web services stack, has been released and can be downloaded from the Apache site. POJO and Spring services client support has been significantly improved as well as documentation and many other aspects. A New Attachments API for sending & receiving MTOM and SwA attachments has been added, as well as built in support for WS-Policy via Apache Neethi.
One of the challenges in efficient parsing of XML is deciding whether to parse as a tree or as an event stream. Because SOAP mixes different XML fragments (the headers and body), often you need to mix both styles. Axiom optimizes this based on what the code asks for. By deferring the building of the tree until requested, Axiom optimizes the parsing depending on what modules and databinding technology is used. For example the headers may be parsed into a tree, but the body streamed directly into Java objects.
WSO2 CEO Sanjiva Weerawarana emphasized another aspect, AXIOM's ability to "pull" a tree as an event stream:
A module that wants to consume the events and do something with it can tell AXIOM to stop building the tree and read the entire message as a stream .. and it'll "play back" the part that's been read into memory and then switch to forwarding events. So its a StAX based, deferred built, pull-through model.
The streaming -- which enables processing of arbitrarily sized messages -- is also supported by the modules that implement WS-* standards in general. According to Sanjiva, the team is interested in addressing existing limitations, such as those of the WS-Security module (which currently requires canonicalization of the complete message).
Concerning doubts about performance penalties because of the rich WS-* support, Paul assured us that the Axis2 team has worked really hard at making the modularity work for Axis2, and one certainly doesn't have to pay for the standards one doesn't use:
The core Axis2 framework is highly efficient, but adding a standard like WSSecurity is as simple as dropping a module (a single file - e.g. rampart.mar) into the modules directory. In fact one of the main drivers for developing Axiom was making sure that Axis2 could handle WS-Security efficiently without "paying" for it when you don't -- in Axis1 there is a big performance hit from the SAX event recorder which is there to ensure WSSec can work.
Compared to Axis2 1.0, the 1.1 release seems to be a significant step forward, with the documentation (available as a separate download) being one of the most important improvements. Version 1.2 will address some of the known limitations of the current release, including unwrapping of response messages and JSR 181/183 Annotation support (coming in 1.2). JaxMe and JAXBRI data binding support is currently experimental.
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
No comments
Watch Thread Reply