> <rant>> For that matter, is Ken Thompson an engineer, a designer> or an architect? How about Linus Torvalds?> </rant>

They are most likely both and also project leaders, very good communicators, etc.

I think the point is that architecture is actually different from design, since while you're programming you are always designing, and normally if you have a good architecture setup you'll program - and therefore design - according to guidelines and constraints established by the architecture.

This question is being reposted here as the Design Forum sadly seems rather inactive.

Reading this weblog on Software Architecture brought thoughts about CORBA and where it stands today as an enterprise middleware technology. It seems CORBA has gained more popularity in the academia, and very little these days in the industry. On the contrary, Jini which was slow to pickup, seems to be gaining some momentum in the enterprise.

The question is, for those involved in architectural and technological direction and those interested in it, where does CORBA, once the solution to all middleware problems, a technology that is platform, vendor and language independed, stand today when compared to more newer technologies like J2EE, .Net and Web Services (which don't seem to offer some of the advantages)? Does it still play a role in the industry and do people ever consider CORBA as the technology of choice today when strategizing their new architecture? Or is it considered legacy?

> I've been wanting to get more familiar with the existing> AOP tools for Java, to see how we might be able to apply> them. How would you use AOP to validate interactions> between the software system parts?

A simple approach is to add argument validators as an aspect. You can also inspect the stack and decorate a call graph with function calls (helps identify hot spots).

It may be easier to see this by looking at webwork interceptors.

Each action has a stack of interceptors (actions) that are called when the action is triggered.

I use different interceptor stacks for development then production. It is a very useful technique.

CORBA is widely considered an obsolete middleware technology for most applications. The exception being high performance real-time distributed applications where there are not really any good alternatives.CORBA suffers from a number of defects relative to more modern approaches. These include:1) An ugly programming model with data structures that do not map cleanly into all language bindings.2) Diffferent binding models for each language.3) Client code must compile in "stub" code.4) The standard is vague in too many places so no two ORB implementations behave exactly the same way. There is also no "reference" implementation.

> This question is being reposted here as the Design Forum> sadly seems rather inactive. > > Reading this weblog on Software Architecture brought> thoughts about CORBA and where it stands today as an> enterprise middleware technology. It seems CORBA has> gained more popularity in the academia, and very little> these days in the industry. On the contrary, Jini which> was slow to pickup, seems to be gaining some momentum in> the enterprise. > > The question is, for those involved in architectural and> technological direction and those interested in it, where> does CORBA, once the solution to all middleware problems,> a technology that is platform, vendor and language> independed, stand today when compared to more newer> technologies like J2EE, .Net and Web Services (which don't> seem to offer some of the advantages)? Does it still play> a role in the industry and do people ever consider CORBA> as the technology of choice today when strategizing their> new architecture? Or is it considered legacy?