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 Ryan Slobojan on Oct 08, 2009
Tcat Server, an Apache Tomcat-based application server created by MuleSoft (formerly MuleSource), was released today. InfoQ took the opportunity to talk with Mahau Ma, Greg Schott and Ross Mason of MuleSoft to learn more about Tcat Server and another new integration framework called iBeans.
When asked about the reasoning behind creating Tcat Server around Tomcat, InfoQ was told that the lightweight simplicity and broad deployment of Tomcat were the main reasons behind its selection as the base for Tcat Server. The major features that are included in the initial release of Tcat Server are:
When asked how Tcat Server compared to other Tomcat-based products such as SpringSource's tc Server, InfoQ was told:
Many people have asked us how Tcat Server is different from SpringSource's tc Server, and we feel that Tcat Server stands out for a few reasons:
- Unlike tc server, Tcat Server is built on 100% Apache Tomcat (we added our code on top of the binary Tomcat distribution, rather than tweaking and recompiling Tomcat). Administrators can be 100% sure that their existing Tomcat apps are plug-compatible with Tcat Server
- Tcat Server includes advanced Tomcat diagnostics capabilities that allow developers and administrators to drill deep into the performance of data and logs (e.g., application logs, catalina logs) to diagnose and resolve problems. By contrast, tc server is leveraging their Hyperic acquisision, retrofitting a "general purpose" monitoring solution. As a result, we feel that tc server monitoring can be "a mile wide and an inch deep," and the interface tends to be more cumbersome to use
- Tcat server has advanced application provisioning capabilities that tc server does not provide, including the ability to group multiple WAR files together as a deployable unit (package). An administrator can deploy an application package to a server or server group, dramatically reducing the time spent on manually deploying multiple files to multiple server instances
- Simplicity - we built Tcat Server from the ground up with user simplicity in mind. As I mentioned, because we weren't saddled with retrofitting a general purpose monitoring tool for this product, we had the ability to get very disciplined on including only features and functionality that added value without undue complexity. We excluded features that only add to the bloat.
Another major feature which is included with Tcat Server is iBeans, a new integration framework which is similar in concept to Spring templates. iBeans ships with Tcat Server, however it can also be deployed on Apache Tomcat and Mule ESB. iBeans are designed to provide a simplified, consistent and reusable approach to communicating over a variety of protocols. Where many frameworks are focused on lower-level APIs such as HTTP, email and SOAP, the focus of iBeans is on consitent access of higher-level services such as Twitter, Gmail, Flickr and Amazon EC2. By using a Java interface and annotations to interact with a service, and by including all configuration options as a part of the iBean itself the need to do external configuration and XML wiring is eliminated and development is simplified and more rapid.
When asked what iBeans are currently supported and which are planned, InfoQ learned:
One of the more exciting aspects of iBeans is that they are ideal for sharing and reuse, since an iBean can be created by any Java developer in just a couple of hours. To facilitate this, we created iBeans Central, which is a free repository of reusable iBeans that are built/contributed by the Mule community and hosted in the cloud. Some examples of iBeans already available for use include iBeans for Twitter, Amazon EC2, Flickr, and Gmail. These iBeans can be downloaded for free from the iBeans console, for use in any application.
There are a number of additional iBeans in our development pipeline, (e.g., Facebook, eBay, retailers such as Best Buy and Amazon, etc.), but the real power of iBeans will be in contributions from the community for more obscure, but useful, services.
Of course, iBeans can also be created and reused by developers for any internal service that leverages the protocols currently supported by iBeans (including Web Services, RSS feeds, REST services, AJAX events, and JMS).
In the near future, the focus for iBeans will be two-fold: adding more iBeans to iBeans Central, and adding JAX-WS and JAX-RS support to the iBeans runtime. Improvements based on feedback from the community will also be incorporated into the iBeans platform. In the longer term, the plan for iBeans is to become a simpler version of Microsoft's Windows Communication Foundation (WCF) for Java, in that it would be a communications framework for the JVM. To meet this goal, support for the variety of languages that run on the JVM such as Scala, Clojure, JRuby, Jython and Groovy will be implemented - JavaScript support already exists in the current version of iBeans. This will allow for a consistent API across all JVM languages for access to both public and enterprise services, which is not something that currently exists on the JVM.
I personally think, its a Great framework to work with.. lots of easy to understand articles can be found online, such as this one , i came across recently :
www.interview-questions-tips-forum.net/index.ph...
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.
1 comment
Watch Thread Reply