Critical. Authoritative. Strategic.


CBR is proudly produced & published
by Technews
Issue Date: July 2006

Abstraction and data persistence

July 2006
Mike LaRocca, product manager, InterSystems Corporation

In a service-oriented architecture (SOA), software services can be used again and again, making for a flexible, efficient, and vibrant business and IT infrastructure. Providing that IT has the right platform in place for modelling business processes and implementing the SOA.

Two key technologies are absolutely essential for successful SOA implementation, but missing from most SOA development platforms. These are a comprehensive application and data abstraction facility, and an integrated object and metadata repository.
Abstraction technology hides the nature, variety and complexity of the underlying interfaces and data that are part of the SOA implementation. The integrated repository, and the data persistence it provides, is the key to efficient re-use of services and SOA management. With this technology in the SOA platform, your IT organisation can be assured of having the flexibility to adapt rapidly to changes in business requirements and processes, and investment protection through insulation from changes to the underlying technologies and standards.
Mike LaRocca, product manager, InterSystems Corporation
Mike LaRocca, product manager, InterSystems Corporation
Concrete benefits from greater abstraction
Included among basic features, such as data transformation, asynchronous and synchronous processing, content-based routing, and distributed operation and management, most SOA platforms support Web services standards such as XML, WSDL, HTTP, and SOAP. And most, but not all, support the business process execution language (BPEL) standard for orchestrating services into business processes.
These standards, and others, enable software developers to express service functionality, methods to access those functions over a network, and business process workflow, in an abstract format usable by any client wedded to the same standards.
This level of abstraction is fine for IT environments implementing an SOA with new services written from the start using Web services standards. But for most IT shops, with a legacy of critical business applications and data that are not Web services-enabled, it does not go far enough. It leaves IT without an easy way to bring the vast majority of its assets into an SOA and the business unable to reap the benefits. And standards compliance alone does not isolate the SOA platform or the SOA itself from the effect of changing technology and standards.
What is needed is the ability to abstract and represent the entire range of application functionality and data stores found in most IT environments into common forms that can then be shared out in whatever format is best suited to the task at hand. Abstraction reduces the complexity typically associated with integration projects (integration of services, in this case), enables incorporation of services and data as needed into different business processes, and drastically reduces the time to deployment. It provides a consistent, unified view of underlying systems and applications - no matter what platforms, languages, data models, storage architectures, network protocols, or other technologies those underlying systems use.
Persistence pays in the SOA world
In the world of SOA platforms, amnesia is rampant. With technology that has grown out of the messaging world, many SOA platforms have no integrated and persistent data store. Messages are created, pass through the system, and are gone. Data important to the entire SOA solution is held at the outer edges of the environment, in the various systems hosting services, and not readily available to the orchestrated business process of which the service is but a part.
Some SOA platforms do provide for links to an optional, separately licensed third-party relational database. But, besides the additional expense, using an external database for SOA storage incurs significant processing overhead for calls out to the database, and for the mapping of multidimensional XML and other data structures into and out of two-dimensional relational tables. Using an external database puts performance of the entire solution at risk, increases the complexity of the solution, and raises management costs.
What is needed is an integrated, centralised, high-performance persistent data store to hold distributed SOA data and metadata. An SOA without one is brain dead - it functions, but only at the most basic level, with zero intelligence. What is lost is a wealth of data and metadata that could be used to ease development of the overall solution, and for business activity monitoring, problem tracing and resolution, reporting, auditing, and other management functions.
Operational efficiency and awareness
SOA storage requirements range from cross-application indices that enable multiple services to work together, to high-demand information for which relational database applications cannot provide adequate performance. These requirements can be addressed by an embedded, highly reliable, high-speed, persistent, object database that supports message persistence, transaction integrity, event logging and tracing, and high-performance transactional bitmap-indexed data retrieval.
Metadata is the key element enabling use of services within an SOA. We need to know what services exist before we can even think of using them. We need to know where they are, and we need to know how to use them. We need to know how to string them together to model the business process. And finally we need a place for persistent storage of all the data flowing through the system.
An embedded database must be used for storage of metadata as well as transactional data, messages, and other objects. This shared metadata repository should contain information about all the services and other components in the environment. This will provide the foundation for a common and consistent framework for integrating services and data sources, orchestrating business processes, and developing composite applications. With the metadata readily available, it is possible to create a consistent set of interfaces to, and information about, each component in the SOA, enabling faster integration, rapid development, easier management, and greater extensibility.
Innovative abstraction and data persistence technology makes it:
* Easier to focus on improving business processes instead of which technology to use.

* Easier and faster to develop and deploy IT assets as services in a flexible service-oriented architecture.

* Easier to bring legacy application functionality into the service-oriented architecture.

* Easier to align IT assets with frequently changing business requirements and processes.

* Easier to work within your existing frameworks and methodologies.

* More cost-effective and less risky to move to a service-oriented architecture.
For more information contact Christine Bergstedt, InterSystems South Africa, 011 324 1800,

Others who read this also read these articles

Others who read this also read these regulars

Search Site

Search Directory

  • Search for:


Previous Issues