Archive

Archive for the ‘System Architecture’ Category

People Need to be Part of the System Design

February 2, 2009 Comments off

As the recent outage at Google demonstrates, including people in the design of a system is often overlooked in technology focused organizations. In that particular example, Google left the ability for a single user to take then entire system down by adding “/” to the blocked site list. Why would this ever need to happen?

More generally, IT organizations need to recognize the importance of people in our architectures. What good is a password if people will write it down? What good is a workflow if people are still printing and signing forms? What good is an ERP system if the numbers are still manipulated by hand?

Every project should include not only a technical understanding of what is being implemented, but also an understanding of the business processes and people that will operate in the system — both users and administrators.

Bookmark and Share

Enterprise Service Bus and Data Access Frameworks

July 31, 2008 Comments off

I am currently involved in an IT Project to build an Inventory Availability application for our partner’s to allow them to query each others inventory for a particular model or part.  This relatively simple effort has expanded into a number of questions on the role of web services, b2b communications, and an enterprise service bus.

We are planning on implementing an Enterprise Service Bus (ESB) in the next 6-18 months, and it is complicated to define what exactly we should, and should not use it for.  Allow me to elaborate, below is the architecture of the Inventory Availability application.

High-Level Architecture

High-Level Architecture

The communications with are partners are currently handled by our B2B Integration tool, but we foresee migrating this functionality to the ESB when its deployed.  This will involve including in the ESB the knowledge (via a connector) to understand and use the XML format provided by our partners over FTP.

We also have a local database where we keep inventory history.  We want to use a data service to pull information from it, but does it make sense to build that service if the ESB can understand the database directly?  Could we (Should We) use the ESB itself to translate the XML requests into SQL requests for the database as we would translate an XML request into a call to a legacy system?

For a mid-sized IT department (with a relatively immature SOA practice), I don’t think it makes sense for to draw distinction between the service layers that handle ESB, B2B Integration, and Data Access.

Bookmark and Share