architecture

What is a reasonable query time for associated tables with very large datasets?

In StackOverflow podcast no. 19, Joe describe Fogcreek's decision to have one database PER client instead of one database for ALL clients. That kinda sets me thinking about the following. Assuming I have 1000 users. Each user has 100 clients. Each client has 1000 products. So that means I'm gonna have 1000 x 100 x 1000 = 100,000,00...

Architecture Tips: Business Logic / Data Access ...

We plan to redesign, improve our (C#) application architecture. Anyone has some framework, hompage or book recommendations? Mainly concerning the business logic. ...

Pros & Cons of putting all code in Header files in C++ ?

You can structure a C++ program so that (almost) all the code resides in Header files. It essentially looks like a C# or Java program. However, you do need at least one .cpp file to pull in all the header files when compiling. Now I know some people would absolutely detest this idea. But I haven't found any convincing downsides of doing ...

What's the right tier to obtain directory attributes for display?

I have an intranet application that needs contact information for various locations on our campus that are served by our IT lab support organization. We have an enterprise directory that contains contact information so I'm not keeping the actual contact information in the database, but rather an immutable identifier that serves as a key...

Architecture solution problem - need other opinion

Hi guys, I would like to ask you for your opinion. It's about solution for our new project. see the details below. Problem summary - our webapp integrated into client website, as simple as possible integration - need technology independent on environment, possibly only xml, html, javascripts - most of data provided by web services on...

Best Data Access Layer for .NET

Which is the best data access layer for .net projects. I am using SQL Server 2005 with C#. ...

How do you control architecture in an agile project?

How do you ensure that the project will be build with "good" design decisions enabling a flexible software architecture? How do you balance between completely leaving the architecture to the teams on one side, and let all architecture control to a few individuals on the other side? Do you have an "architecture group", "architecture lab...

Solution: Per application, or per application suite.

Often multiple applications share a large codebase of libraries that change often in development. In these cases, I prefer to create a solution named after the suite, and include separate projects for each application and the shared libraries. Is this a good approach? How do others structure their code bases for things like a suite of...

Data Access Layer: Exposing List<>: bad idea?

Hi everyone, I am currently coding a simple Data Access Layer, and I was wondering which type I should expose to the other layers. I am going to internally implement the Data as a List<>, but I remember reading something about not exposing the List type to the consumers if not needed. public List<User> GetAllUsers() // non C# users: t...

Application Architecture - How would you design this process

I have an application that is made up of the following: A central database containing 100k+ records A number of "client" databases each containing around 10-20k records The client databases contain details of contacts that each have a unique ID (contactID). The central database contains some of these contacts identified by the same con...

When should a web service not be used?

Using a web service is often an excellent architectural approach. And, with the advent of WCF in .Net, it's getting even better. But, in my experience, some people seem to think that web services should always be used in the data access layer for calls to the database. I don't think that web services are the universal solution. I am th...

Architecting a Work Item Processing System with Modified FIFO Semantics in Windows

I’m building a system that generates “work items” that are queued up for back-end processing. I recently completed a system that had the same requirements and came up with an architecture that I don’t feel is optimal and was hoping for some advice for this new system. Work items are queued up centrally and need to be processed in an es...

Architectural comments for queueing with RabbitMQ ?

I basically need a queueing technology that will enable to queue messages. These messages will then later be transmitted as SMS texts. RabbitMQ seems to be quite a good fit after I glossed over the apis. My current architecture plans: clients queue messages in RabbitMQ. Another daemon will reads messages off RabbitMQ and sends those ...

Architectual design patterns

I am looking for some architectual design patterns for enterprise application development. I am aware of the all of the GoF patterns, and MVC, and such things, but I am looking for patterns that emerge at a larger scope. In particular I have a somewhat larger enterprise desktop and website application, they share certain functionality, a...

Managing multiple persistence mechanisms

I have a set of business objects that potentially can be persisted in different ways, although for any given configuration of the application, only one persistence mechanism will be active. Persistence is handled via interfaces. The obvious architecture, it seems to me, is to put all the persistence objects for one configuration into o...

How do you get people to value abstraction and flexibility over "just getting it done"?

I sometimes have difficulties with other people who wish to solve a problem when they wish to skip the official interfaces and access underlying implementation details directly. They argue that doing so will allow them to solve the problem more quickly. I argue that doing so will cause our architecture to become more tightly coupled an...

GPGPU VM's: Any open source projects to port virtual machines onto graphics processing units?

nVidia released their CUDA API allowing developers to utilize their graphics cards, taking advantage of the massively parallel architecture and vectorized operations. Libraries such as pyCUDA were created to allow developers of scripting languages to send selected code to the GPU. And there has been a growing effort to design multi-ling...

Rails and CouchDB - Architectural Concerns

I am working on a project that is going to use CouchDB for flexible storage of documents. The requirements of my system are a neat match for CouchDB for storage. BUT My question really boils down to this: Should I keeop using ActiveRecord and MySQL as well ... there are a raft of handy Plugins that are all readily available for use wit...

Is premature optimization really the root of all evil?

A colleague of mine today committed a class called ThreadLocalFormat, which basically moved instances of Java Format classes into a thread local, since they are not thread safe and "relatively expensive" to create. I wrote a quick test and calculated that I could create 200,000 instances a second, asked him was he creating that many, to ...

Do you use Unit Testing in your professional projects?

We are about to start a new part of the project and there doesn't seem to be a lot of interest in unit testing (and it doesn't feel like they have experienced TDD). I believe it's nearly essential and it makes maintainance much easier. So what are your views? Thanks BTW: this is a language agnostic question, however the new project is ...