IBM Service Virtualization

What is IBM Service Virtualization?

IBM service virtualization is a set of products that fits into the interfaces between components of IT systems, for example between an application server and a database, or an application server and an external system. The product can reproduce the network traffic between components and simulate an absent component. The product can simulate traffic in a wide range of network protocols including HTTP, middleware protocols such as TIBCO and database protocols such as JDBC. During setup it can record network traffic and can be programmed to respond to particular input in particular ways. IBM service virtualization comprises two primary products:

IBM Service Virtualization was originally developed by Green Hat a software company bought by IBM in 2012. Green Hat is sometimes used as a convenient label for this suite of products.

Why is it useful?

Corporate IT systems typically consist of collections of distributed components communicating with each other by interfaces. If the interface(s) to a component (e.g. a database, or external system) can be simulated, the system can run without that component. This is useful in several ways.

  • It is possible to build more and cheaper test environments. Only the components which must be tested need be included. The other components can be simulated by service virtualization. This raises quality and reduces costs.
  • The use of certain external interfaces (e.g. Bloomberg price feeds) costs money. Service virtualization can simulate them for test purposes, which avoids expenditure during testing or training.
  • During development, service virtualization can simulate the presence of components which have not yet been developed. This allows development and unit testing of components independently of each other, resulting in faster development.
  • In training, service virtualization can be used to simulate certain scenarios like declined or accepted credit card authorisations.

Key features

Web services: IBM service virtualization can record web services traffic and replay any traffic previously recorded. It can also load a WSDL file and respond in the correct format to any request.

Middleware: IBM service virtualization can simulate a wide range of middleware protocols including TIBCO, WebMethods, Websphere and JMS.

Databases: Database protocols can be simulated, and by recording database traffic, the tool can build up a picture of the data and structure contained inside a database. Once the database is removed, it can intelligently simulate it. The tool can connect to any database compatible with JDBC, which includes Oracle and SQL Server databases.

SAP: IBM service virtualization supports the communication between different SAP components. ECC and PI components are supported across ABAP (the SAP programming language) and Java.

Programming Logic: The responses given by IBM service virtualization can be programmed. Simple manipulations, e.g. substitutions of field values, can be done by point and click settings. More complex logic can be implemented by Javascript. Ultimately, external executables such as Java jars or .Net executables can be invoked.

Use as a Client or a Server: IBM service virtualization can act either as a client or as a server. When used as a client, it sends a sequence of traffic to another component and the responses of the component can be tested. When used as a server it waits for incoming traffic and responds to the traffic as programmed.

Use at Volume: IBM service virtualization can run tests at high volume, allowing it to simulate live systems and to be used in performance tests. This functionality is implemented by IBM Rational Test Virtualization Server, which is licensed by volume capability.