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 Moxie Zhang on Feb 27, 2009
Debugging tools are essential for software development in any computer language and runtime environment. Adobe Flash platform-based rich Internet application (RIA) development, either in Flex or AIR, is no exception. While the Flex/AIR is maturing, more debugging tools are emerging. Arthropod is one of them. Arthropod is a debugger tool for Flash or AIR application development. InfoQ spoke with Carl Calderon, lifelong Flash developer and Arthropod creator, to learn more.
When asked why he created Arthropod, Calderon quipped, “"Limitations breed creativity.” Then he explained:
When the first beta of the Adobe integrated runtime (AIR) was released, I made a simple hello-world application. The first thing that I noticed was the limitation of the trace-method. The more I dug, the more confused I became. There were a lot of developers that had the same problem. I later found a debugger that you run in your browser to get the traces, but it was too complicated for my small logs. I wanted something that was as similar to the output-panel in Flash as possible. After a few days, I had made my own using basic technology, I knew from previous projects and a few hours of sandbox-limitation study. When I realized I was using it a lot, I started to further develop the idea. Ultimately, this is the path that made it was it is today.
With respect to his experience using current debugging tools, Calderon comments:
There are a bunch of them. Now, with the new Flash CS4 IDE you get the trace-actions in the output-panel from your AIR applications when you test them, but not when they run live. The same is true for normal Flash movies. Once they go live, you loose the logging capabilities. The other debugging tools I've found are quite complex for most users, and some don't handle the sandbox limitations very well. I haven't faced any problem that Arthropod couldn't help me with yet.
Asked why a Flash/AIR developer should use Arthropod, Calderon responds:
The unique thing about Arthropod is that it's so easy to use. Download the application and run it. Use the static methods in the class and you’re ready to go.
Most people start with the normal traces, publish their work and face problems once it's online, owing to API's, domain restrictions, and so forth. Moreover, you can't see what's happening in the back. When using Arthropod, you can see the error right away.
The power of Arthropod is not only in its simplicity, but also in the range of different log-types. You can easily see an Array-buffer change in real time, take a snapshot of the stage or objects and color code your messages to ease the overview.
When asked about the design of the Arthropod tool, Calderon shares:
The design of the application is not beautiful, but it works. I didn't want to show the users unused areas, such as the bitmap-panel and the array-panel if they didn't use them. So, I just hid them behind the main window until they are needed.
As for frameworks, I haven't used any other than my own. The core engine of the application is completely separate from the user interface (UI), and it’s built as a framework of its own. Arthropod is built with the Flash IDE and FlashDevelop.
The design pattern I've used is one of my own too. It's similar to the MVC, but adjusted for ActionScript 3. I call it an event-based-pattern, because the different components can work completely alone and only communicate with events.
Calderon is currently working on the 2.0 version. It will have an improved UI and new features, but it’s still easy to use. According to Calderon, the plan is to make Arthropod the first-choice debugger for Flash.
But, why the name ‘Arthropod?” Calderon explains:
I'm always reading about different stuff on Wikipedia, and I thought it was a perfect place to find a name. Since it's a debugger, I started browsing for bugs. After a few hours of reading about spiders and not trying to find a name, I came across Arthropod, or Phylum Arthropoda, which I think is Greek for jointed feet. I thought "Ah, perfect,"and I've been using it ever since.
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
Monitor your Production Java App - includes JMX! Low Overhead - Free download
18 agile and lean practices for effective software development governance
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
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