Integration RisingIntegration is pervasive throughout all levels of enterprise developmentby Michael J. Hudson Continued from Page 1 In general, an intelligently designed software architecture using some kind of third-party asynchronous messaging framework such as an implementation of Java's JMS or IBM's MQSeries will provide a large amount of benefit with little overhead. Loose coupling helps reduce the possibility of interface changes severely breaking an application. In addition to asynchronous messaging, you can provide loose coupling by being very careful with the initial interfaces for a component: Make sure you decrease the dependencies that components have with each other. Also, after you finalize a component interface, adding new methods or procedures to it is safer than changing existing methods or procedures. In addition, the interface should be as generic and agnostic to the domain as you can design it without losing significant business functionality. Coarse-grained interfaces are a better design than creating individual remote calls for every piece of information about another component. You can pass the entire component through interfaces that have coarse-grained method signatures. Although you may be forwarding nonessential data, the number of remote calls has been greatly reduced. This reduction in the use of priceless network bandwidth can speed up system execution tremendously. Industry standards and open-source software can speed up and reduce the cost of development and also provide a much better level of quality to your integration efforts than proprietary products. For instance, XML, HTTP, SOAP, XSLT, and XQuery and data binding standards such as JAXB and Castor are all great standard technologies that will make your current job easier as well as make the job easier three years from now for the person who needs to integrate with your system. Proprietary frameworks and standards will limit you to using those proprietary tools. When it comes time to integrate this system with one or more other systems, the choices available to make this integration successful are severely limited. However, some standard technologies such as Web services combined with wrapper design patterns can make the job of integrating heterogeneous proprietary systems a lot easier. Destination UnknownIntegration is one of the toughest problems to solve whenever you're developing or improving enterprise systems because you can never be sure what other kinds of platforms and languages you'll need to connect to. However, a number of these integration strategies will greatly improve your ability to effectively implement the correct solutions. Another good sign in the integration arena is that more and more companies from Microsoft to BEA to IBM are providing nice integration-workflow management environments and frameworks that are based on industry standards and promise to make many integration jobs as simple as only a few lines of code and a couple of mouse clicks. In spite of these recent improvements in the field, integration will always be a hard but necessary part of the development life cycle. The key is to make sure that you always think about and include integration issues as one of your top priorities and goals in building or refactoring any software system that you help create or design. Michael J. Hudson [mjhudson@praxiseng.com] is a software architect for Praxis Engineering Technologies in Annapolis Junction, Md. His current work includes developing enterprise architectural solutions for both commercial and government clients. RESOURCESVisit the Enterprise Development Information Center at IntelligentEnterprise.com
|
Most Popular This Week
IE Weekly Newsletter
Subscribe to the newsletter
|
| |||||||||||||||||||||||||||||||





















