Service Virtualisation is a proven technology that provides significant benefits for organisations that adopt, implement and use it. This adoption is fast becoming main stream and is approaching critical mass.
The main suppliers of Service Virtualisation are CA Technologies (CA Service Virtualisation (formally ITKO LISA)), HP Service Virtualisation, IBM Rational Test Virtualisation Server (formally Green Hat) and Parasoft Virtualize.
In today's piece we talk about our product and its benefits. Next week we will take a closer look at the others mentioned above.
Ostia Solutions - Portus Test
The most frequent question we get asked is: “What’s the difference between Portus Test and these other solutions?”
Portus Test is fundamentally different in its approach to Service Virtualisation in two ways:
- Portus Test focuses on the creation of virtual services from metadata whereas the other solutions tend to focus on record and playback.
- Portus Test gives equal priority to Data Virtualisation and Service Virtualisation which ensures a fully automated approach.
1. Creation of Virtual Services from Metadata
All services have some form of payload that is used to describe a request sent to a service and the response received from a service. This metadata may be in the form of an XML or a JSON message, a WSDL, an XSD, a COBOL data structure and so on. Portus Test uses this metadata to create an appropriate data model based on the metadata description. This data model is then used to create a set of related database tables which are populated with request and related response data. This enables the virtual service to intelligently respond to incoming requests.
Alternatively, Portus Test can combine the data model and rules-based engine to create valid responses on the fly so that any valid request can be submitted against the virtual service without being tied into specific sets of test data.
This is useful for ad hoc testing, testing with randomly generated requests or even training classes to ensure reasonable and valid responses for training exercises.
These virtual services may also be enhanced to create sets of schema compliant request/response pairs. Based on the metadata, a set of recordings is created which can be played back using Portus Test or any infrastructures which can load the requests and responses into their environment.
2. Data Virtualisation
A second fundamental difference is that Portus Test understands that test data is as important as the virtual service for testing and, particularly, for the automation of testing.
Portus Test focuses on analysing the metadata of the virtualisation target and using that understanding to produce synthetic, but realistic, data to accompany the virtualised service.
Portus Test is thus a Service and Data Virtualisation solution. Portus Test’s ability to generate synthetic data allows users to create rich, high quality sets of test data and to create a full coverage range of data for a given service based on the data types that are used by the service.
The other major Service Virtualisation solutions generally focus on record and playback to create virtual services (Portus Test has a similar ability but this is not its prime focus). They require an import of existing data from sources such as excel spreadsheets and do not have the ability to generate synthetic data unless they use additional products or create data manually.
There are a number of further differences between Portus Test and other solutions on the market, many of which offer complementary functionality. A summary of these other key differences are highlighted below.
Cloud Testing - Compliance for Data Protection Legislation
Portus Test is ideal for setting up test services in the cloud as it requires no connectivity to production or test back end systems.
By using metadata associated with the services to be virtualised, virtual services and schema compliant synthetic data may be created without any reference to back office data. This ensures it is bullet proof in terms of data and systems governance in relation to data protection legislation.
This also offers an ideal use case for organisations not born in the cloud to exploit the cloud without risk and the potential to improve their testing capability enormously.
The record and playback techniques used by other environments do not fit well in the cloud as they would require data from the organisation’s systems to flow through the cloud so that the recordings can be made.
Portus Test, through the use of virtual services and data, is the ideal way to facilitate regulation risk free offshore testing. Since the only connection with an organisation’s real services is the metadata, there is no compliance risk of data leakage or access to systems or data. What’s more, from an audit perspective, it represents a very simple environment to validate that it is compliant with data governance rules.
Other solutions, by definition, have some recorded data onshore, thus there is always a risk, even with masking, that some data may slip through or the masked data will, through pattern recognition, allow individuals or organisations to be identified. Either way, it represents a fundamentally more difficult model to audit.
Portus Test has the ability to capture and then model a service's behaviour. Portus Test can record transactional data to a database allowing for persistence across services. This ensures that a call will return appropriate response results that reflect the current state of the data based on changes made by previous requests.
Virtual services from other providers can return responses with data driven from Excel or JDBC but do not offer any persistent data features unless this is done programmatically by the customer.
Portus Test dynamically masks data ‘in-flight’ thus ensuring data governance compliance and full consistency through the use of obfuscated data.
While simple masking functionality is available, no dynamic or complex masking features are offered by competing solutions without using additional products.
Using the Apache foundation’s HTTPD daemon’s ability to load balance across multiple instances, Portus Test is able to handle very large scale loads in load testing scenarios. What’s more, this is also facilitated by being able to ramp up to very large scale virtual services through the use of the cloud without any risk.
Very large scale load testing capability with other tools is limited due to its dependency on the Java Virtual Machine, making heavy load testing scenarios difficult to achieve. The difficulty in running record/response type scenarios in the cloud also makes this capability more difficult. Both HP and IBM require their customers to purchase additional tools for load testing.
Service Creation & Virtualisation of Back End Systems
Portus Test has the ability to create services around back end systems such as CICS, COBOL, Natural, PL1, VSAM, Domino etc. and then virtualise these services for testing. Portus Test can thus provide virtual data for testing difficult to reach or unavailable systems. It also provides the ability to isolate them for testing independently of existing systems e.g. on mobile or cloud platforms.
The competition does not generally have the ability to create isolated services or they require their customers to buy additional tools.
- Full platform coverage – services can be created from objects on any platform, for any use on any system
- Technology, language and platform agnostic – Portus Test works on any platform
- Runs on the metal, works directly with data on the wire.
CA SV and HP SV have limited platform coverage. IBM’s coverage is extensive.
- Usage-based licensing and pay as you go on-demand models
- Perpetual or subscription based enterprise licencing model
Portus Test complements many existing Service Virtualisation implementations. Portus Test can be used to provide enhanced solutions, for example:
- Creation of services without any requirement to access the actual service or its related data.
- In-flight data masking
- Automated legacy data access
- Automated legacy application access
- Automated generation of schema compliant request/response message pairs for use by other Service Virtualisation implementations.
- Rule-based synthetic response generation capability
- Facilitates full value chain testing
Buy Portus Test if
- You wish to test in the Cloud without regulatory risk
- You wish to create virtual services purely from metadata
- Synthetic test data is key
- You require full value chain testing
- You prefer a no coding, configuration based approach, compared to approaches where logic must be coded.
- You require ‘in-flight data masking’
- Load testing is important
- You require a solution for a wide range of platforms
- You wish to enhance an existing Service Virtualisation implementation
- Pay as you go SAAS model is attractive
- You’re adverse to the contract lock-in