architecture

Using Silverlight for an entire website?

We need to build an administration portal website to support our client/server application. Since we're a .Net shop the obvious traditional way would be to do that in ASP.Net. But Silverlight 2 will be coming out of beta a good while before our release date. Should we consider building the whole website in silverlight instead, with a sup...

Architecture for modeling

A common solution to building a model of a system which consists of many items of different types is to create a modular system, where each module is responsible for particular type. For example, there will be module for wombats WombatModule:IModule, where IModule interface has methods like GetCount() (to find number of wombats) and Upda...

Where should interfaces "physically live"?

I like the idea of having Interfaces and Implementation separate. But how separate? Are the Interface definitions in a separate .Net assembly? Do you have a single project that defines all Interfaces for a solution? Otherwise are there issues with circular dependencies of Interfaces? ...

When can/should you go whole hog with the ORM approach?

It seems to me that introducing an ORM tool is supposed to make your architecture cleaner, but for efficiency I've found myself bypassing it and iterating over a JDBC Result Set on occasion. This leads to an uncoordinated tangle of artifacts instead of a cleaner architecture. Is this because I'm applying the tool in an invalid Context,...

Are BPM solutions worth the investment in money, time and effort?

This is more an architecture related question than a programming one, but I think it might be useful to developers given that I have been wondering this myself for some time. I have no experience with Business Process Management tools use or implementation. (The closest thing I have used is BizTalk server, but I know that it is not real...

Example of modern text editor architecutre

I'm looking for design\architectual guidance for modern text editors. Modern text editor means that: It has support for syntax highlighting It has auto-completion (something like IntelliSense) It has advanced navigation capabilities (incremental search, etc.) Following properties will be a plus: Implemented in managed language (...

Software Architecture Related Podcasts

It has now been about 9 months since ARCast with Ron Jacobs stopped releasing new episodes and I miss this podcast. Can you recommend other podcasts in a similar vein? I already listen to HanselMinutes and DotNetRocks but they do not seem to have the same 'Software Architecture' / 'Big Picture' feel to them. ...

Implementing large system changes

If you're familiar with the phrase "build one to throw away", well, we seem to have done that; we’re reaching the limits of version 1 of our online app. It's time to clean things up by: Re-organizing code and UI Unifying UI processes Adding more functionality Building for the future Modifying our database structure to handle all of the...

How do you avoid Technical Debt while still keep true to Agile, i.e.: avoiding violation of YAGNI and avoiding BDUF?

Technical Debt via Martin Fowler, via Steve McConnell YAGNI (You Ain't Gonna Need It) via Wikipedia BDUF (Big Design Up Front) via Wikipedia UPDATE: To clarify the question, I think I can also state it this way and keep my meaning: "In what ways do you, as an Agile practioner, find the right balance between "quick and dirty" (uninten...

Best Practices for Architecting Large Systems in a Dynamic Language

From my experiences building non-trivial applications in Java and C#, I know that using good modular design based on known patterns and "coding to interfaces" are keys to success. What are the architecture best practices when building large systems in a dynamic language like python or ruby? ...

Dynamic Database Schema

What is a recommended architecture for providing storage for a dynamic logical database schema? To clarify: Where a system is required to provide storage for a model whose schema may be extended or altered by its users once in production, what are some good technologies, database models or storage engines that will allow this? A few p...

Fluent NHibernate Architecture Question

I have a question that I may be over thinking at this point but here goes... I have 2 classes Users and Groups. Users and groups have a many to many relationship and I was thinking that the join table group_users I wanted to have an IsAuthorized property (because some groups are private -- users will need authorization). Would you rec...

SaaS database design - Multiple Databases? Split?

I've seen SaaS applications hosted in many different ways. Is it a good idea to split features and modules across multiple databases? For example, putting things like the User table on one DB and feature/app specific tables on another DB and perhaps other commonly shared tables in another DB? ...

Entities and Value Objects in Web Applications

We have a simple domain model: Contact, TelephoneNumber and ContactRepository. Contact is entity, it has an identity field. TelephoneNumber is typical value object: hasn't any identity and couldn't be loaded separately from the Contact instance. From other side we have web application for manipulating the contacts. 1st page is "ContactL...

Code generators vs. ORMs vs. Stored Procedures

In what domains do each of these software architectures shine or fail? Which key requirements would prompt you to choose one over the other? Please assume that you have developers available who can do good object oriented code as well as good database development. Also, please avoid holy wars :) all three technologies have pros and co...

What is the best way to create a security architecture?

I'm designing a portal's security architecture. The site has pages, videos, pictures, users, databases, file system objects, etc. What is the best way to control access to all of these objects? How would you store permissions? Is a 64-bit database variable enough for storing permissions? E.g. Windows employs ACLs and SIDs. Do you have ...

Good book to learn to program well in Java (engineering or architecture-wise, not syntax)

I'm looking for a book to learn to "engineer" programs better. I program in Java already. Looking at the source code of open-source projects usually is too complicated as I have never made a program with more than 20 small files in it. I'm not an advanced programmer, I learned with a book and do this mostly for personal projects. My las...

Architecture for real-time system?

Hi, I would like to ask some advices or experiences from architecture or technology for building real-time system. Before I have some experience on developing "Queuing Management System", I have done by sending TcpServer and TcpClient message to all operators when a operator changed the queue number. But I think this strategy a lot comp...

Does Test Driven Development take the focus from Design?

I have mixed feelings about TDD. While I believe in testing I have a issues with the idea of the test driving my development effort. When you code to satisfy some tests written for an interface for requirements you have right now, you might shift your focus from building maintainable code, from clean design and from sound architecture. ...

Entity Framework and Application Architecture (loose coupling, etc)

I am considering to apply Entity Framework in a new project because I liked its OR/M-API as well as the storage/conceptual model mapping-capabilities (plus Linq of course and Entity SQL). But how can loose coupling be achieved betwen the UI layer and the business layer if EF entities are used as dataholders in both. If I leave the entit...