THOUGHT LEADERSHIP
 

Business and IT Come Together Over ESA

By Sam Sliman
President, Optimal Solutions Integration, Inc.

In the context of enterprise service architecture (ESA), an ‘enterprise service’ is a software component that is well defined from the standpoint of both software and business function, and doesn't depend on the context or state of any application that calls it. An enterprise service is best thought of as a single software function that can be executed on request by any system, regardless of its operating system platform, programming language or geographic location.

The services that comprise the ESA must be designed with an intimate understanding of the business in order to determine what capabilities can be used across multiple applications. And they must be general enough to support multiple applications with different purposes, yet specific enough to provide real value to individual applications.

Determining what services are required to deliver core business needs requires equal knowledge of business operations and software architectures. Technically, defining services and their interfaces to applications, and then implementing the services, is at the heart of the ESA. However, it is vital that architects and developers focus on reusability and abstraction to deliver on the ESA promise of plug-and-play flexibility and reduced development and maintenance costs.

Defining precisely what constitutes an enterprise service is a formidable challenge. It is common for business managers and IT staff to define an enterprise service in completely different terms and from entirely different perspectives. For example, what a business manager might define as an enterprise service may likely be closer to a business process that taps multiple applications. Conversely, a developer may be inclined to define an enterprise service too narrowly, looking at it from the perspective of an isolated application integration project and missing the broader scope of how a particular service might be utilized in various, non-connected applications in use throughout the enterprise.

On a higher lever, a business manager generally won't know about data modeling, integrating with automation tools, configuration, performance optimization, security and a host of other technology best practices, needs and procedures, just as IT may not fully comprehend the purpose and function of a critical business process. In the context of ESA, it is absolutely essential to achieve a melding of the minds when it comes to defining what constitutes an enterprise service.

Here are two good methods for bringing business managers and IT together to identify and define enterprise services:

  • Many processes can be boiled down to similar, if not the same, actions. If an action in use within varied processes and environments can be defined generically, it is a good candidate to be codified only once and stored in an enterprise services repository.
  • Mapping out the existing business processes, IT environment, project schedules and business strategy can help identify existing enterprise services, that is, those particular steps in a business process that have been standardized and can be used in other business processes across the enterprise.