May 2007 Entries
The following conversation is a conversation with Microsoft Financial Services Sr. Architect Colin Cole discussing Office Business Applications (OBA). This is a new type of blog post for me and a Drowning In Technical Debt first. I hope to conduct similar conversations in the future. Finally, I would like to thank Colin for making time to have this conversation with me.dbottjer says: So I figured a good place to start would be with a definition. What is OBA? I did some research and here is what I came up with. Office Business Applications (OBA) use the Microsoft Office Suite of...
Five Things You Didn’t Know About Me:
A while ago I was pinged to answer the five things you didn’t know about me question circulating the blogosphere. Anyway, I procrastinated but here are my answers.
1. I love animals. I grew up with Dogs and Cats. Currently I have 3 cats.
2. I’ve been playing guitar since I was 9 years old.
3. I was born and raised in New York. My family moved from NY to Tulsa, OK when I was a junior in High School.
4. I went to Space Camp when I...
We've been using the Composite Application Block (CAB) and Smart Client Software Factory (SCSF) since they first emerged. Most of my focus has been on the middle tier and service layer which our smart client front ends consume. However, recently we have needed more manpower building smartparts. As result I've been refreshing my knowledge of the CAB and SCSF. I found found a great blog series http://geekswithblogs.net/kobush/category/3702.aspx on understanding the cab. The series does a great job defining the CAB terminology and explaining the basic architecture.
Last year we deployed a new underwriting system. Since the Fall of 2006 we have been steadily releasing updates to the system. Supporting the large user-base of this application has required us to improve our debugging and performance monitor skills. For example, we have become huge fans of unit testing and made strides to better understand memory management and profiling. To protect the health of the application we needed to understand the recycling of application pools / worker processes.
Thoughts on Application Pool Recycling and Application Availability explains in detail how IIS6 is designed to gracefully transfer client connections to...
DoNotExposeGenericLists is a Code Analysis rule exposed within Visual Studio when List<T> is publically exposed. For example, List<T> may be exposed through properties, methods, parameters, etc. Why does DoNotExposeGenericLists recommend that I expose Collection instead of List? [David Kean] explains that Collection<T> is the better choice b/c it exposes 4 overidable methods. The methods are ClearItems, InsertItem, RemoveItem and SetItem. Events can be raised from within these four methods to provide a notification when changes are made to the Collection.
[Dave] copied me on an email a few months back from a colleauge regarding the FailFast method. This method was added to the .NET 2.0 framework and basically terminates a process without executing the any application Try-Finally or finalizer code. Additionally, this method creates a memory dump for your application and writes a log entry to the Windows Application Event Log.
[Dave] first brought Multi-Tenant Data Architecture MSDN Article to my attention a few months ago. Unfortunately, I've had this article in my items to review folder. Anyway, I finally read the article in detail and thought it quite valuable. Basically, the article describes several approaches for designing a Multi-Tenant Data Architecture. It reviews each approach and reviews the pros and cons.
[RoyAshbrook] blogged his thoughts on Multi-Tenant Data Architecture.
Our business partner began reporting all bullet points were being converted to question marks during the archiving of Word Docs. An early hunch that perhaps our FTP component was defaulting to ASCII transfer mode instead of Binary proved incorrect. With this option ruled out we knew our electronic document repository was properly receiving both the control file and the Word Doc. We began to suspect the web service exposed by our application which returns a document and metadata for archiving. We were using a byte array to store, in this case, the word document and write it to the http...