SOA-based architecture design-Global Hotel Online Reservation System

Source: Internet
Author: User
Tags time zones

When I designed the architecture for the global hotel online booking system, I found a headache: How can I ensure that the system interacts with hotels distributed around the world?

One compromise is that we provide a management function portal for hotel managers who can input the data of the hotel's rooms and room types into the system database. The room data published to the online reservation system must be reserved, so that the online reservation can avoid contention between the online reservation and the hotel's own customers for room resources.

Although room resources are properly arranged, the problem is that the room may be idle, resulting in a waste of resources. For example, a hotel reserves 50 rooms for the online reservation system. To ensure that customers of the online reservation system can successfully book the right room, the 50 rooms are not allowed to be reserved by non-online subscribers. Assume that the entire hotel has a total of 200 rooms. If 150 rooms are already in the customer's room, even if the hotel is still empty of these 50 rooms, for those who actually make a reservation at the hotel, the hotel lobby manager can only say sorry that the hotel is full.

Of course, we can update the data in time, but this will put a burden on the administrator. Considering the different global time zones, it is possible that every hotel administrator needs to be on duty 24 hours a day.

The best way is to share the data of each hotel with that of the online booking system. However, there are three problems:
1. Global Hotel systems need to define unified interface standards;
2. How to ensure the security of hotel data access?
3. Different hotels around the world may use different systems. How can they ensure interoperability with online booking systems?

SOA can solve these problems. Although it is difficult for us to require that the hotel systems around the world follow the unified hotel interface standards, it is feasible to define a unified service contract in view of the hotel industry characteristics. Of course, we need to solve the definition of the message first, so that we can define the following service contract:
[Servicecontract]
Reservationresponse reserve (reservationrequest request );

Since the birth of Web Service, the discussion on Web Service Security has never been stopped. For example, WSE launched by Microsoft .. In net 3.0, WCF fully supports security policies such as WS-Security, WS-trust, and WS-secureconversation. If you consider user permission control and Wan and LAN firewall configurations, the security of data access can be well guaranteed.

SOA itself is born for interoperability, which is also the embodiment of the greatest value of SOA. As long as Web services are provided, we can call these services through WCF. If some systems cannot provide web services, such as RPG and COBOL, we can use Host Integration Server (HIS) to enable the application interface to implement. NET web service.

The architecture of the global hotel online reservation system is shown in Figure 1:
 
Figure 1 architecture of the global hotel Online Reservation System

You can access the firewall-protected hotel online reservation system through a PC, laptop, or PDA to query, reserve, and unsubscribe a room. The system uses the WCF technology to access the Web services provided by hotels across applications. These hotel systems are distributed all over the world, and their web service implementation methods may be WCF and websphere, or through Host Integration Server. These web services comply with a common service contract and are defined as a unified service interface.

To define and manage hotel business processes and workflows, the system must also deploy the BizTalk Server. In addition, the server is also responsible for managing transactions and handling the transmission of abnormal messages.

Without SOA and web services, it is hard to imagine implementing such a global hotel online booking system. In particular, the newly designed online booking system must be compatible with the old hotel system. In addition, we cannot expect that the hotel booking service process is static. Using SOA, We can well isolate the dependencies between service providers and callers to achieve loose coupling of the system. As long as the "service is autonomous" principle is followed in the design and the service boundary can be well defined, even if the service implementation changes, for the entire system, it will not be serious to the point of injury. What is important is that we must change the thinking and spirit of system design and consider the overall design of the architecture using a service-oriented rather than an object-oriented approach.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.