# Enterprise Architecture Enterprise architecture is all about the decisions you make and not what technology you buy. Unfortunately, this message is largly lost on the many vendors that want to sell you Enterprise Service Bus products or other such *SOA in a box*. Successful enterprise architecture design begins with a mindset before the first product is purchased or the first line of code is written. Most importantly, this mindset must filter down to your team as a design culture. ## Best Practices Well-designed enterprise architectures rely on fundamentals: ### Interoperability Applications and systems must communicate with each other. They must exchange data using common (or standard) data formats and representations. The must communicate using well-established protocols. Above all, specifying and interface via an implementation is an easy trap to fall into, especially if the schedule is not on your side (is it ever?). Force your organization to write wrappers that normalize data formats and interfaces into the common patterns on which you have decided. ### Loose Coupling A good enterprise architecture depends on systems *working together* and not *depending* on each other. Everything should be a black-box. If your design has phrases such as *system A requires system B* or *system X calls system Y*, then rethink your architecture. Data should flow between applications in your system - perhaps orchestrated by some entity - but not subject to inter-application or inter-system depencendies. ### Technology-Neutral Designs A decade ago when EJBs were all the rage, presenting a bean as a public interface was considered acceptable. Now it is pathalogical. Having system interfaces depend on a particular technology (or worse, a particular programming language) is the fasted way to ensure that your application will become shelfware before it is ever adopted. ### Vendor-Neutral Designs This one tends to sneak up on folks. You go about using a product that claims to be standards-compliant but ends up deviating from the specifications in subtle (and sometimes no so subtle) ways. A while back, BEA's WebLogic didn't care about the order of elements in web application configuration files. Guess what - JBoss did. Validating the configuration file against a schema would have caught this but relying on a product to validate your system is never a good idea. ## The LynxBridge Approach Good enterprise architectures start with good ideas. Let us come in and do a white board session where we can listen to your pain points and guide your organization to a healthy enterprise architecture that will provide lasting service and extensiblity.