architecture

Composite Oriented Programming (COP), .NET 4.0, MEF, and the Oslo Repository

There seems to have been some interest over the past year around COP within the .NET community (ala Qi4j). A few folks have rolled there own COP frameworks (see links below) and it would appear .NET 4.0's Dynamic Dispatch and MEF might have a potential role in any .NET COP framework. On one hand a lot of this would appear to hark back ...

Protecting internal view layer template pages in servlet applications

I have a very basic question about MVC web applications in Java. Since the olden days of raw JSP up until current technologies like Seam, a very basic pattern has always been the internal dispatch from the controller that initially accepted the request to the view layer that creates the output to be sent to the client. This internal di...

How do you store Date ranges, which are actually timestamps

Java & Oracle both have a timestamp type called Date. Developers tend to manipulate these as if they were calendar dates, which I've seen cause nasty one-off bugs. For a basic date quantity you can simply chop off the time portion upon input, i.e., reduce the precision. But if you do that with a date range, (e.g.: 9/29-9/30), the diffe...

Is there anything inherently wrong with long object invokation chains?

I've organized my code so that the data is organized hierarchically. I find myself crawling up the tree using code like the following: File clientFolder = task.getActionPlan().getClientFile().getClient().getDocumentsFolder(); Now, since I'm not drilling down into the task object, I'm drilling up to its parents, I don't think I'm loos...

On 32-bit CPUs, is an 'integer' type more efficient than a 'short' type?

On a 32-bit CPU, an integer is 4 bytes and a short integer is 2 bytes. If I am writing a C/C++ application that uses many numeric values that will always fit within the provided range of a short integer, is it more efficient to use 4 byte integers or 2 byte integers? I have heard it suggested that 4 byte integers are more efficient as ...

Transactional queueing/dequeueing

I need to queue events and tasks for external systems in a reliable/transactional way. Using things like MSMQ or ActiveMQ look very seductive, but the transactional part becomes complicated (MSDTC, etc). We could use the database (SQL Server 2005+, Oracle 9+) and achieve easier transactional support, but the queuing part becomes uglier...

Architecture for easy update of application

I have a system in place which applies calculations to a set of numbers (the specifics aren't really relevant). There are a number of sets of calculations which can be applied by the system users and new sets are added frequently. Currently when a new set of calculations need to be added to the system they are added in to the code base a...

How to properly use Struts ActionForms, Value Objects, and Entities?

I've inherited a large Java app that uses Struts, Spring, and Hibernate. The classes and interfaces I deal with daily are: Struts Actions, Struts ActionForms, Value Objects, Service Interfaces and Implementations, DAO Interfaces and Implementations, and Entities. I'm pretty clear on the how and why of most of these, except I'm unsure abo...

What to use for membership in ASP.NET

I'm not very experienced at using ASP.NET, but I've used built in membership providers for simple WebForms application, and I found them PITA when trying to extend the way they work (add/remove few fields and redo controls accordingly). Now I'm preparing for MVC (ASP.NET MVC or Monorail based) project, and I'm thinking - is there a bette...

How big is too big for XP/SCRUM?

In the earliest stages of planning the development of a new system, which development model to follow seems paramount. I've always held onto the belief that a classic waterfall (or hybrid waterfall/iterative prototyping) is the best approach for medium to large projects. It seems that once a project gets to be a certain size, the Agile...

Scaling an application

I have an application (an IP conferencing service) that I need to scale. It has quite a few independent components/applications, written in different languages (mainly C++ and PHP, some Perl). Currently a single installation runs on 5 machines, with 1-2 components sharing a single box. The configuration of each box therefore is different...

well designed .Net sample application

Does anyone know a good open source sample ASP.Net 3.5 enterprise app which encompasses as many good 'patterns and practices' as possible while relying on latest tools and technologies? Ah, it should not be too complex either. And well documented if possible. ...

Does a software architect have a role in agile, esp. Scrum?

I'm reading the book "The Software Architect's Profession" by Marc and Laura Sewell (Amazon link) and it got me wondering whether a software architect is a part of the old non-agile BDUF approach. Is there a place for software architects in an agile approach? I'm especially interested in Scrum. BTW I currently am the Unix Application A...

How else can one present an architecture document besides as a series of views?

Most, if not all architecture documents I've seen (and developed) have been presented as a series of views (Logical, Physical, Use-case etc). Is this the preferred layout? What other styles are there? ...

Which PHP CMS has the best architecture?

In your opinion, which PHP CMS has the best architecture? I don't care about how easy its admin panel is to use, or how many CMS features it has. Right now, I'm after how good its code is (so, please, don't even mention Drupal or Wordpress /shudder). I want to know which ones have a good, solid, OOP codebase. Please provide as much de...

Should new web applications follow the MVC or MVP pattern?

Note that I am not asking which to choose (MVC or MVP), but rather if one of the two should be used for a web application. I realize that it might be too much work to convert an older application from its current design to a MVC or MVP pattern. However, what about for a new app? It appears these are the most popular architecture pattern...

Initializing static objects - Code design question

In my webapplication (C#, .Net 3.5), made up of a core class library (containing the business logic, data layer and a couple of utility classes), a windows service project, a webservice project and the website project, I have a couple of static classes in the core library used by all other projects. These classes (for example the Log cla...

The most flexible framework architecture for web development?

Obviously, there is no one single solution that would satisfy everyone's needs; an architecture is always a trade-off. I want to create a framework, originally aimed at RAD of web games. Target language is PHP, although the architecture should be widely applicable. Goals that I have in head for this framework are: flexibility in ways yo...

Configuration Across Multiple Applications

What is recommended for sharing configuration data amongst several related applications in a winforms solution? The two possible solutions I envisage are using a custom section in the machine.config (?) file, and the other is to create an extra config service application that maintains settings via its Properties class, and handles get ...

What are some common things to consider when developing a web-based application to be sold

I'm developing an application for an internal customer. One of the requirements is that it be developed in such a way that it could potentially be sold to other organizations. The application is a tracking application for a fund-raising organization that will manage their donations, donors, participants, and events. I already know tha...