Jul 21 2010

Transactions, Part 2 - Writing Data Reliably

Programming With Transactional Systems

Commit and Rollback

Transactions either commit or rollback. Until a transaction is committed, it is assumed none of the work it has done is saved. Once a commit signal is issued by the application (either through an API call, or by a container), this work is actually performed by the transaction processing engine that's being used. If for some reason the commit fails due to an error scenario, or some other runtime exception occurs, we assume that the integrity of the transaction has been compromised and the transaction rolls back, removing any work done up to that point. When a rollback occurs, the transaction must be resubmitted.

Read More

Jul 20 2010

Secure Development - Buffer Overflows and Legacy Systems

Due to vacation schedules and lots of other things going on this summer, "next week" has turned into "next month" for this final post in my top 10 series. Today's subject may be a little surprising to many developers: Aren't buffer overflows so 2003? Hasn't this been fixed in virtually all modern programming languages by preventing direct memory access? While the second statement is certainly true, it doesn't mean that today's developers don't need to be aware of buffer overflows, especially when interacting with closed-source and/or legacy software written in languages that allow arbitrary memory access (C and C++ being the most common examples).

Read More

Jul 14 2010

Use conceptual data modeling in requirements definition

I’ve often thought that conceptual data modeling was an underused tool in the arsenal available to requirements analysts, and in a recent conversation I found that many were surprised that it would be used in the requirements phase at all.  Checking the Business Analysis Body of Knowledge (BABOK) I found data modeling listed among the tools available to requirements analysts to “to describe the concepts relevant to a domain, the relationships between those concepts, and information associated with them.”  There’s also Steve Hoberman’s excellent book on the topic, Data Modeling for the Business, an introduction to data modeling aimed at a business audience

Read More

Jul 14 2010

A Persistence Pattern Using ThreadLocal And EJB Interceptors

Preface:

One of the traits of a well-designed application is the efficient handling of crosscutting concerns.  By efficient I mean the application architecture/framework to handle bulk of the crosscutting concerns (such as security, transaction management, logging etc.) and let the individual services concentrate on the business logic. In this blog entry, I discuss one such cross cutting concern and a way to handle it at the framework level.

Read More

Jul 09 2010

Making Project look good in Excel

I often find it necessary to output sections of Project Schedules in a format that can be opened and edited by team members who are not comfortable with or do not have access to Microsoft Project. In most organizations, Microsoft Excel is a perfect solution, and Microsoft has conveniently included the ability to save as excel workbook from Project. However, the formatting of the export file is lost, with the most problematic aspect being the loss of indentation level of all tasks, masking the task groups and relationships. There is a simple solution. In about 5 minutes you can create a macro which will correct the indentation and greatly increase the legibility of the exported schedule. 

Read More

 

Disclaimer

The words and opinions expressed here are those of each article's respective author, and do not necessarily represent the views of CapTech Ventures.