Skip to Content

Design patterns for software development have been best practice since “Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Although IT architecture patterns are still in their infancy according to TOGAF Version 9, they provide a very practical and meaningful way to operationalize IT architecture principles. The reason is that patterns can be matched against actual requirements. Therefore the desired solution is regularly chosen except for special circumstances for which an exception process is implemented.

There are two levels of IT architecture patterns. Generic patterns describe business or IT architecture requirements and are universally applicable. Concrete patterns apply the generic patterns to specific circumstances and contain the actual recommendations. TOGAF Version 9 does not discuss generic patterns and divides concrete patterns into

  • Architecture patterns
  • Design patterns
  • Idioms

In my point of view this distinction is too detailed for IT architecture patterns and therefore I do not apply it. The structure of a concrete IT architecture pattern suggested by TOGAF Version 9 however I find very useful.

Example

Generic pattern

Name

Bridge

Context

A process spanning multiple applications has to be implemented.

Forces

Fault-tolerance

If users have to log into different applications to perform a single process they have to store the context of that process themselves, often in Excel sheets, Word documents or even on paper. This is error prone and can lead to breaking the process, i.e. requiring the user to log into a prior application again after unsuccessfully trying to continue the process in a following application.

Efficiency

If users have to store the context of a process themselves this requires additional processing time and is therefore inefficient.

Correctness

If users have to store the context of a process themselves this is error prone and can lead to inconsistent data in the different applications.

Solution

Build a composite application that starts in one application and spans over the other applications of the bridge process while keeping the process context.

Resulting context

The user is freed from the duty to keep the process context.

Examples

  • Service requests captured in a CRM system that need material master information from an ERP system.
  • Production orders that need material delivery information from a partner company.
  • Customers updating the ATP information in their ERP based on updated lead times.

Rational

The process context is kept in the composite application eliminating the need for the user to keep it.

Related patterns

  • Business information warehouse
  • Master data management

Known uses

n/a

Concrete pattern

Name

Bridge SAP to SAP internally

Context

A process spanning multiple internal SAP applications has to be implemented.

Solution

SAP Composite Application Environment (CE).

Rational

CE provides an easy way to integrate a process with other SAP solutions via web service calls.

Concrete Pattern

Name

Bridge to EDI partner

Context

A process spanning from an internal application to a partner application using the electronic data exchange protocol (EDI) has to be implemented.

Solution

Outsource to Crossgate.

Rational

Maintaining an in-house EDI gateway has proven to be expensive and inflexible.

Concrete Pattern

Name

Bridge to customer

Context

A process spanning from a customer application to an internal application has to be implemented.

Solution

SAP Enterprise Portal

Rational

Customer to in-house processes are best implemented as customer self service solutions.

Generic patterns

Process patterns

Common process patterns are

  • Request / refine / approve
  • Analyze / decide
  • Handle exception
  • Fork / join
  • Bridge

Integration patterns

Common integration patterns are

  • Synchronous versus asynchronous
  • File based versus message based
  • Secure
  • Exactly once
  • In order
  • Transactional

Deployment patterns

Common deployment patterns are

  • Local versus regional versus global
  • Flat versus hierarchical
  • High available
  • Redundant

Information management patterns

Common information management patterns are

  • Transactional
  • Business information warehouse
  • Master data management

Access patterns

Common access patterns are

  • Power user versus occasional user
  • Fat client versus thin client
  • Stateful versus stateless
  • Transactional

Operations patterns

Common operations patterns are

  • Onshore versus nearshore versus offshore
  • Insourced versus outsource
  • Service level management

Concrete patterns

Concrete patterns have to be derived from the above generic patterns and fully depend on the circumstances. It is hardly possible to generalize those.

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply