[EMAIL PROTECTED] writes: > to the big iron in back. To a corporation, such as the one that employs > myself, if you don't have big iron you don't understand what 'Enterprise' > means.
I used to work at Tandem doing CORBA ORBs in Java and C. Yes, you need middleware for this type of stuff. The definition of middleware is subtle. I call Apache middleware and most people look at me cross-eyed. Yet, we have a sendmail wrapper which funnels all emails into an HTTP form which hits or Apache servers. This is marshalling RFC822 into HTTP. It is easy to do, and can be generalized. Our servers talk to our credit card processor via HTTP. We serve files for one of our partners PC apps via HTTP. The problem I have with Middleware (capital M) is that it is overrated. All it does is define a protocol between two servers. Have you read the CORBA security spec? It's so obtuse that I don't think anybody could implement it correctly and write components which interoperated with other vendors' components. We talk to our credit card processor via SSL. It's damn secure, and easy to understand because it doesn't involve the components. This is why SOAP is cool. It is very simple and transparent. One of the things I've learned over the years is that Architects love to Architect. It has to be complicated, or their job is obsolete. Sure, there are complex problems to solve, but it is usually solved by hardwork and solid engineering, not architectural overviews. The devil is in the details. You don't care if you use Apache or EJBs for your middleware, you care that your business logic does the "right thing". When I see an add for "Java Architect", I cringe. It is putting the cart before the horse. Middleware is rarely needed, because you can use existing protocols (e.g. HTTP or TCP or LU6.2 :) to solve most IPC problems when they crop up. I'm sure you have heard the statement: Every software problem is solved with another layer of indirection. Well, there's a corollary which a co-worker of mine stated many years ago: Every layer of indirection creates a new software problem. Rob