An understanding of implementing SCA for SOA

Source: Internet
Author: User
Tags sca

Author: 文email Email: wenchu.cenwc@alibaba-inc.com has recently been considering the overall structure of the platform and service framework issues, crude exposure to osgi and SCA ideas, there are some ideas, but it is not very clear. Yesterday, we had a good opportunity to have a discussion with the company. We were able to see the dazzling ide functions and the effect that SCA thought actually applied to the actual platform, the middle workflow also impressed me a lot. 1. Programmers are technical workers and good tools are used to improve productivity. When I first arrived at the school gate and met Java, I really understood Object-Oriented Programming and saw the advantages of object-oriented programming, encapsulation has made our first-time workers know how to make good results. The next time we use it, we rebuild it once and make small parts more and more pleasing to the eye. In this process, we have also accumulated experience in restructuring. I think this is also the only way for every programmer. With the accumulation at this stage, the future benefits will be infinite. Then we met the powerful J2EE EJB mentioned by the experts. At this time, the simple class reuse was gradually transformed into Component reuse, and the J2EE container provided a powerful container. In the EJB world, it is said that developers only need to care about the business logic, and developers do not have to repeat the details and re-engineer the wheels of non-business functions. We only need to follow the customer's interests, add decoration to the car. However, the results are not like the legend above. The misuse of EJB components results in performance bottlenecks, excessive reliance on containers, complicated release and deployment, and tedious debugging, it not only lost confidence in him, but also gave new people a far cry. At this time, we began to confuse what kind of model can be truly suitable for developers. This is the emergence of spring. It will undoubtedly give everyone a new highlight. The IOC idea will return to the original pojo and let everyone know that the original simplicity is what we need, just like green and healthy life is now popular, and returning to a simple life is the best if you eat coarse grains. However, of course, major manufacturers cannot keep this situation permanently. There are thousands of users to eat at the end. At this time, the tide of SOA emerged, one idea is similar to that of ejbs that began to spread. This time, he advocated higher-level Reuse, service reuse, and the Internet provided an open environment, however, there is no unified service access mode, which makes various enterprises an isolated island of information. These isolated islands need to be linked together and limited resources must be reused to the maximum extent, therefore, we propose a service-oriented concept. However, it is a pity that SOA has been calling for many years, but it is still a conceptual indoctrination stage, and no organization has ever given a real implementation standard. Therefore, everyone has taken a wait-and-see attitude. Service reuse is stuck in the theoretical stage. 2. The emergence of SCA and SDO gives SOA a point of reality. SCA (service component architecture) is actually to continue the results of the past EJB, reuse based on component, while absorbing the IOC idea, assembly between component is implemented through the SCA framework, but it is very important that he does not follow the old EJB path, but learns the Lightweight Framework of spring and does not cover all aspects for developers. In fact, especially for Chinese programmers, there is no need for too many frameworks to limit them. You just need to give them a flexible framework that can be customized. They have good craftsmanship and can also learn a lot at this customization stage, this is also why open-source projects attract so many experts, because participation and creation can give programmers a pleasure of self-realization. The component of SCA, like the osgi bundle, is actually a kind of implementation of Java encapsulation. It has service references that require import and export services. It is very important for component, there are no restrictions on the implementation of service and reference. Such objects only need to have an interface definition and implementation description, the interface definition supported in the current specification can be a Java interface or a wsdl file (which is eventually converted to a Java interface). The implementation is more extensive in Java, WebService, RMI, JMS, script Language and so on. It also provides extended interfaces, so you can implement it as long as you want. Then multiple components are assembled into a composite (for business development, that is, a business model ). 3. a constraint. For Java developers, it depends on whether you have experience or not. In fact, the code you write can be omitted, abstract design, and interface-oriented, this developer has more or less understanding of object-oriented. One of the headaches for our current system developed by business developers is that we can constrain Java standards, but cannot constrain business development standards, for example, the customer module has a bunch of classes and implements a lot of functions. The order module needs to query the customer information. At this time, developers will not communicate with the developers of the customer module, and they have developed their own direct access to the customer information code, the result is that the maintenance cost is high and the customer module has been modified. He does not know how many modules need to be updated, and repeatedly rewrite the same logic. The most terrible thing is the increase in the Coupling Degree of the system, the business modules cannot be separated separately, and the system cannot be split based on the business modules. If more advanced Component Reuse and service reuse are used, information interaction between modules has to be called through interfaces, which provides a constraint for business development. 4. Complementarity between SCA and osgi. I remember someone discussed the advantages and disadvantages of SCA and osgi in the forum. But in fact, the two standards are different in solving the problem. SCA is an implementation of SOA, SOA is to solve the interconnection problem of distributed services, while osgi is to dynamically bind and assemble standalone services. Therefore, there is no comparability between the two, but in my opinion, they are very complementary, in the current situation of the platform, it is undoubtedly a good thing to use SCA to implement the service framework and implement component assembly through osgi, there is also an open-source project doing this. In fact, any technical developer prefers to adopt the latest and most popular one, but as an architect, We need to select the most appropriate one because we are making our own contribution to the company's profit, instead of making fancy results for the lab, you can use the most dazzling newest, and actually consider creating a project and developing a framework, therefore, you need to carefully select an appropriate technical specification to use the available resources, solve problem. In the future, we will sort out the SCA practices we have prepared some time ago. After all, whether or not the SOA implementation can work in a down-to-earth manner still needs to be tested by practice.

 

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.