Scenario introduction: Visa application
As most people know, when traveling abroad, you are required to have a passport, or Visa, to gain entry into another country. The first step in the process of obtaining a Visa is to submit the proper forms to the correct agency. At that point, there is some time the submitter must wait before getting the verification result of the information submitted. In this step, the embassy to which he submits the paperwork will choose a service provider, whose job it is to process the verification. If the information submitted is actual and eligible, the Visa is approved.
Letâs suppose that, by way of an example, Embassy ABC typically deals with the three types of Visas: Tourist, Business and Student. The Tourist Visa requires the greatest urgency and has to be dealt with in the shortest amount of time, the Student Visa has the least amount of urgency and can be dealt with in the longest period of time, and the Business Visa is somewhere in the middle.
For our scenario, letâs say there are four service providers who can provide the information verification services. They are: HUG, OMMK, ABQ and UY. The main difference among them is that their response time and costs are all different.
The four providers (HUG, OMMK, ABQ and UY) can provide services with different response time and cost, but no one single provider stands out as the best choice for meeting our needs for all the 3 types (Tourist, Business and Student) of Visa applications, because the response time and cost should be balanced (the customer hopes to get response as soon as possible but spend as little as possible).
Furthermore, the conditions may be changed as according to these variables:
- Response time of some provider changes
- Cost of some provider changes
- A new provider joins
- An existing provider quits
Among the players in the scenario are the embassies that grant and accept Visas. So the main pain point of the embassies is how to choose the most cost-effective service dynamically for a particular service request.
On the other hand, Embassy ABC also wants to know:
- The ratio of successful invocations per provider
- Total cost in a given period of time
- Average response time
- Proportion of service providers by invocation
In this section we will analyze the business case and problem in detail.
The response time requirements of all types of Visa application are shown below:
Table 1. Response time requirements
| Visa type | Required response time |
|---|---|
| Tourist | < 10 days |
| Business | < 15 days |
| Student | < 20 days |
The four existing service providers will deliver service in different time periods, and at different costs:
Table 2. Provider time and cost
| Provider | Service max response time | Service cost |
|---|---|---|
| HUG | 5 days | $20 per transaction |
| OMMK | 12 days | $10 per transaction |
| ABQ | 17 days | $8 per transaction |
| UY | 18 days | $5 per transaction |
HUG can provide the most efficient service, but its cost are the highest. UY can provide the cheapest service, but it has the lowest efficiency. OMMK and ABQ can provide the information verification service too, and their efficiency and cost are in the middle of HUG and UY.
According to the response time requirement and cost-efficient requirement, the principles shown below need to be followed in choosing the service provider for each application request.
Table 3. Principles
| Number | Condition | Requirement | Priority |
|---|---|---|---|
| 1 | Visa type = Tourist | Response time < 10 days | High |
| 2 | Visa type = Business | Response time < 15 days | High |
| 3 | Visa type = Student | Response time < 20 days | High |
| 4 | N/A | Minimize cost | Low |
In this table, a principle is a kind of service selection rule and every principle is independent. Once receiving a request, a principle is valid only when its condition is satisfied. When a principle is valid, the requirement of the principle must be satisfied. If multiple principles are satisfied, they will take effect by the âPriorityâ in the table.
There are 3 high-priority principles in the table according to the response time requirements. The first principle will be valid when Visa Type is Tourist; then the verification must be finished in 10 days. The second will be valid when Visa Type is Business; then it is required to be finished in 15 days. When the Visa Type is Student, the third one will be valid and the service must respond within 20 days.
Another requirement needs to be satisfied to pick out the lowest cost one from all the providers with satisfied response time. It forms the fourth principle in the table.
According to the requirements and principles, the provider is based on the Visa type, as shown below:
Table 4. Provider choice
| Number | Visa type | Chosen provider |
|---|---|---|
| 1 | Tourist | HUG |
| 2 | Business | OMMK |
| 3 | Student | UY |
Letâs break this down:
- If the Visa Type is Tourist, the required response time will be less than 10 days, then only HUG can provide the service in this timeframe, so we have to choose it even itâs a little expensive.
- If the Visa Type is Business, the verification needs to be done in 15 days. Then both HUG and OMMK can do that. But OMMK is less expensive, so the chosen provider should be OMMK.
- If the Visa Type is Student, the service needs to be finished in 20 days and now the 4 providers all can do that. The cheapest provider is UY and it should be chosen.
As listed in the table above, the provider ABQ has never been chosen, which is an indication of itâs pricing â it is the most expensive. If ABQ could improve its efficiency or reduce its cost, it would have the chance to be used.
To satisfy the requirements and fix the business problem, a variety of solutions can be used.
Hard coding is a typical choice. However, once the service response time or cost change, modifying, re-compiling the source code, and re-deploying the application can not be avoided.
Using a Rule Engine is also a good choice. It can choose the right service provider with predefined rules.
Adopting IBM WebSphere Business Services Fabric (WBSF). WBSF provides an end-to-end platform for the rapid assembly, delivery, and governance of industry focused composite business services based on an SOA foundation, and is a better choice here, because the concepts of WBSF match the business very well, as we see in this table:
Table 5. Using WBSF
| Business concept | WBSF element |
|---|---|
| Visa Information Verification Service | Business Services |
| Service Providers | Endpoints |
| Response time and cost | Endpoint Assertion |
| Principles | Policies |
WBSF can choose the most suitable provider by policies for every request and also provides these valuable features:
- A Business Service in WBSF can be mapped to the Visa Information Verification Service.
- A New Endpoint can be registered into, or be removed from, WBSF easily when new service provider joins or quits.
- The response time or cost of a provider can be updated by changing the Endpoint Assertion at runtime.
- Policies can be modified, added or deleted dynamically for response time requirements changing, adding or reducing Visa types.
In the following two articles in this series, weâll cover the solution in more detail and show how it can be implemented.
In this article, we demonstrated how a business case is analyzed and a solution of using WBSF is discovered based on analysis of changing service conditions (e.g. cost, service providers, service qualities, etc.). In next article, the implementation of the solution will be introduced in detail.
- Participate in the discussion forum.
- Learn more about IBM WebSphere Business Services Fabric which is used for adapting, rapidly responding to change with dynamic, SOA-based business processes.
- Check out the IBM WebSphere Business Process Management Version 6.0 information center where you can find all of the information that you need to install, maintain, and use IBM WebSphere Business Process Management software.
- IBM WebSphere Developer Technical Journal, Part 1: Developing adaptive composite business services using WebSphere Business Services Fabric, Part 1 Introducing IBM's new platform for business service modeling, assembly, and deployment
- IBM WebSphere Developer Technical Journal: Developing adaptive composite business services using WebSphere Business Services Fabric, Part 2: Analyzing the business requirements
- Developing adaptive composite business services using WebSphere Business Services Fabric: Part 3: CBS modeling, ontology editing, and policy simulation
- Developing adaptive composite business services using WebSphere Business Services Fabric: Part 4: Service assembly with the Dynamic Assembler SCA component

Peng Tang is a software engineer from Global Business Solution Center, IBM, where he is currently building CBE (Common Business Enabler) to enhance the common business service usage among different industrial sectors.

Lei Zhang is the lead architect of Road User Charging (RUC) solution of Intelligent Transportation System (ITS) in government industry from Global Business Solution Center. WBSF is one of the important products in GBSC solution stack as part of SOA fundamental. Especially, in the 2007, Lei led a team to join the WBSF V6.1 BETA program, and verified the WBSF 6.1 is much valuable in the government solution development.








