Summary of the tky project in the 5th half-month -- The Study of Shuttle ESB

Source: Internet
Author: User
Tags mule esb

Summary of the tky project in the 5th half-month -- The Study of Shuttle ESB

During this month, I have hardly used SVN to update projects. The manager gave me nearly one and a half months to study an ESB product, Shuttle ESB. This is precisely because we have been studying Shutle ESB in this month, so I decided to write this summary together (usually write a project summary in half a month ).

I will not introduce the specific content of Shuttle ESB here. I will give a comprehensive and in-depth explanation in the series of blogs. This is just an example of this month's experience.


Previously, I used Mule ESB in my project. Mule is a lightweight messaging framework and integration platform centered on Java. It is implemented based on EIP. The Core Component is UMO, and Mule supports more than 30 transmission protocols: File, FTP, UDP, TCP, email, HTTP, SOAP, and JMS. Mule products are quite mature. It is also widely used.

At present, Mule has been well-developed, with all kinds of English materials available and many Chinese documents available. The learning cost is relatively low.

With the Mule foundation, it is much faster to learn Shuttle. Shuttle's macro concept was soon mastered. In addition, I have used Ejb3 in action in my previous project, and I have spent some time studying the eight hundred-plus English original book Ejb3 in action. I have a deep understanding of Pub/Sub, that is, publishing and subscription. The Study of Shuttle is more efficient.

Currently, Shuttle ESB has been applied to projects. Actually, Shuttle is very simple. I think:In terms of implementation, Shuttle is based on the two concepts (or ideas) of Request/Response and Pub/Sub, and based on messages (such as MSMQ and SqlServer Message Queue ), event-oriented implementation.


During the study of Shuttle, we mainly adopted the following ideas:

1. Visit the official website, read the English documents, and implement the examples on the official website. Be familiar with Shuttle;

2. Demo based on business needs;

3. Integrate the Demo into the project.


In the implementation stage of the official website instance, I downloaded the source code of Shuttle, changed its generation environment to. NETFramework4.0, and then compiled it. Such running programs are very unstable, and dll version problems often occur. Different windows operating systems and different. NET environment problems make these third-party dll difficult to manage.

Later, I came into contactNuGet is a third-party dll management plug-in on the. NET platform. When you use this plug-in to download the dll, it will download all versions of the dll to the local, and then use the corresponding dll according to your operating system needs. This plug-in saves me a lot of trouble. I don't need to solve the version problem manually..


Ps: similar to Maven. Maven solves the jar package version and jar package conflict in Java. The NuGet plug-in solves the dll version problem following the idea of Maven.


In the Demo process based on business needs, many functions are "touched" because we are not very familiar with Shuttle. You need to try it at according to your own ideas.

In addition, when positioning the requirements, because we are too complicated to consider, we can design a complicated design. Although the Demo was made, it took a lot of effort and was useless.

However,This kind of attempt is not advantageous at all. It makes me more familiar with the Shuttle message mechanism. It plays a key role for me to flexibly design and implement functions as needed.


Later, it was not easy to integrate Shuttle ESB into the project. I encountered a lot of strange problems. It's no wonder that Shuttle is a relatively new open-source project after all, and a lot of content needs to be tested in practice, such as performance and durability.

To sum up, the problems encountered in integration mainly fall into the following categories:

1. The communication mechanism between Shuttle ESB and WPF should be relatively independent and independent from each other. However, during our use, we found that the WPF user control always interferes with Shuttle communication;

2. Shuttle uses a universal host. Because the Service Bus instance needs to be started in multiple places, the generated path will affect its normal operation;

3. Shuttle needs to receive data from the C ++ group. After several attempts, I used WinForm as the Shuttle Server to receive data from the C ++ group. Because I need to maintain real-time performance, windows messaging is also adopted.


When I read the book "Easy Scrum Journey", the hero often asks a foreigner about agile development. I also followed suit from him,Try to communicate with the author of Shuttle Eben. At the beginning, I posted a post on CodePlex, And then I sent an email to communicate with each other. Then I directly communicated with each other on Skype.. Now we are very good friends. Eben has a strong South African accent in English and does not read the official website several times. You really don't understand what he is talking about.

My communication with him is very interesting. Let's talk about our own opinions first. When we can't proceed, we will just say "Type". We will start to talk about it in a simple way. Eben is patient and really grateful for his help for so long.


Eben told me that the use of Shuttle requires a different programming approach, rather than a traditional programming approach. I know that he is talking about Pub/Sub programming ideas. I will tell him some of my experiences and ideas about Shuttle and programming. He is patient and interested. At the same time, he also likes to talk to me about how to use Shuttle. He means that I want to give him some suggestions to help him complete the Shuttle information.


Shuttle has been successfully integrated into the project. Next we will make some changes based on requirements and receive various tests.Shuttle is actually very simple. There are no new things. It is mainly to quickly get familiar with and adapt to this open-source product.

During the study of Shuttle, I was deeply touched by the following points:It is not enough for you to have the confidence that you can bring him out. You need to infect your leadership and make him believe that all the problems you encounter are Mao Yu. Because you need to understand him, he also has leadership, and he also has his pressure. Relieve his stress, and we will be under much less pressure.

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.