Why SOA?

Source: Internet
Author: User
Tags sca sdo
Why SOA?
I. Q: Why is SOA required?

A: Before the emergence of SOA, the world had the following components: CORBA Component Model, Java component model, COM + component model, and. NET Component Model. Among them, the CORBA Component Model and Java component model belong to the first camp of IBM (a group of Members include Bea, Oracle, HP, and Sun), while the COM + component model and. the net component model belongs to Microsoft. Since ancient times, the two camps have been on the same surface and are secretly isolated from each other.
Of course, IBM needs a solution from the four seas. Because the Java component model is always tied by Sun, and EJB is dead. The component model of CORBA has never been a popular model. The other two component models are all in the closed circle of Microsoft. IBM wants to add a component model above these four component models, so that the world will be the same. This is SCA.
With the SCA component model, all heterogeneous component models are now packaged into the same component. How can we transmit data? Of course it is SDO to help.


Ii. Q: I heard that the main advantage of SOA is integration. But since we have WebService, what should we do with SOA?

A: WebService is a good specification for unified integration and packaging into a WebService protocol family, But WebService is not a component model. Someone asked, you know that I am a component, not a component. I will pack you a layer of WebService, so we can call it.
This involves the computer development stage of our country. In our country's development field, N programmers are still waiting to double-click the button. Ide automatically generates an onclick event and then writes something in it. Many programmers do not have the consciousness to actively write functions. All the functions in the program are the event processing functions automatically generated by the IDE, rather than the functions written by the programmers themselves. Even functions are not self-conscious. How can they write classes by themselves and write component classes by themselves? Most programmers use the class libraries provided by the system and the visual components provided by the system. Therefore, N programmers do not understand why there is an SOA component model.
The mainstream code development in the world is already writing component classes. This is the development requirement of the industry, but our domestic code development level and requirements are not yet at this level, and we are still on click. So we don't understand.
If we naturally write component classes by ourselves, we naturally want to have a component model that supports SOA, because such a component model, this allows you to smoothly integrate with the previous CORBA Component Model, Java component model, COM + component model, and ,.. NET Component Model interaction. If we do not need the SOA component model now, we are still using four major component models. to interact with heterogeneous components in the future, we have to develop another layer of SCA.


Iii. Q: Is SOA so simple? Is it SCA + SDO?

A: currently, the international SOA standards are released with these two standards: SCA and component SDO. There are two other things associated with SOA: one is BPEL and the other is ESB. SCA has a unified component, SDO has a unified component data interaction, and BPEL connects components and runs them automatically, just as we screwed together the firecrackers, and then ignited the torch, the firecrackers were all in series and exploded. It was the same thing that we used to do it. The ESB, like all components, needs to be executed in a container. It is called a component container server. JBoss's initial function is the container server of the EJB component. The ESB, of course, is the container server of the SOA component.


4. Q: Is SOA so simple? How can I read a book and read a website? I don't understand this, but I want to make it easier for business and technical personnel to look at technology from a business perspective?

A: This is a design guide for SOA component designers. That is to say, when you want to design an SOA component, what functions do you want to expose, and how much granularity is required, maybe you can complete 10 functions in this component class around a topic, however, writing and implementing the 10 functions is complicated. When you write code internally, you write a function nested function. Therefore, you have a lot of internal functions and what are you going to expose. When designing component-class interfaces, we often cannot easily grasp the issue of granularity. Just like if you write object-oriented code at the beginning, it is easy to abuse objects and design a lot of objects. If you haven't had object-oriented development programmers, you may not be able to figure out why the object is over-used. This is the way people use it. It's easy to use it too much. So what granularity is appropriate? It gives guidance and is oriented to the business. From the consumer perspective of the component class, what functions need to be exposed. In this case, one party is the function consumer, and the other party is the function output consumer. In this case, the output function is a service.


5. Q: Is SOA so simple? I read a book and read the website, saying that SOA can make software flexible. Now, software code is becoming more and more complex, functions are becoming increasingly complex, and customer requirements are coming up. It is difficult for us to modify the software and it takes a long time to modify the software, I still don't know which one will be affected by this change, which makes the software quality unstable. We need SOA. But how does SOA achieve this? I don't understand it?

A: Of course, when COM + and EJB become a trend, they all said this. You think, the software is encapsulated and closed components are connected, which is of course flexible. Now ,. NET provides you with many visual components and many non-visual components, which are made by people. Now you can develop them, drag them down, and set properties, programming Method: You are developing faster now. If there are not so many components, you think you are tired. This is the benefit and flexibility of components. SOA components are components, but they are components at a higher layer of packaging. They are used to ensure the unified and smooth calling of the four major component models. Therefore, you regard SOA components. NET component.


6. Q: many enterprises in China do not have informatization yet. Even if some profitable industries or monopoly state-owned enterprises do informatization, they are all closed and close themselves to other enterprises, is SOA useful in China?

A: You don't need an SOA component model, just like you don't need a. NET component to manage integration. If you only want integration, WebService is enough. Development without components is your own business. If you want to make your program more flexible. As you can see, the many components in. Net bring a lot of ease to your development.


VII. Q: Is SOA mature now? Is it time to go to the application?

A: mature and immature. You have to see that development tools supporting SOA standards are mature and immature. Mature Development tools are required for SOA applications. With a good SOA component development tool, let's see if there are mature SOA component container servers. If both items are good, you can develop them. When we developed COM + in those years, COM + was not mature, COM + development tools were not mature, and COM containers were not mature, resulting in many problems such as thread deadlock, concurrent queuing, buffer pool crash, and memory leakage, we had a headache. At last we found someone from a development tool vendor and Microsoft to find out the problem. It turns out that there was a problem with Microsoft COM + and a problem with development tools, white delay us a lot of time. However, I have made a lot of improvements to component models and Basic Windows technical ideas.


8. Q: I think you are a little misleading. Currently, enterprise-level development involves two mainstream standards:. NET and Java .. Net originally seems to support the first type of WebService technology, and Java was later added to WebService, so it cannot be considered a native combination. Moreover, Microsoft has its own system, and the. NET Component Model is also very good. Why should I use the SOA component model?

A: indeed, there are some commercial purposes here. Although IBM is now the leader in the Java field and has established a complete set of product systems on Java, the investment is quite large, but after all, Java is developed by Sun, therefore, sun, in order to protect its own interests, certainly won't let IBM take the lead very well. Therefore, it is often time-consuming to launch a feature in Java, and it always needs to take into account the interests of all parties, in recent years, the new Java feature standards have not been satisfactory. They are the product of interest saw by all parties. No one is offended, and they have formed a moderate thing. IBM has long wanted to get rid of sun, but IBM has invested a huge amount in Java. If it is not possible to start a new job, it is impossible to think of this method of moving flowers and trees to overhead Java. A SOA model can be implemented in various languages, not only on the Java platform, but also on the unified architecture technology of SOA, without the traces of Java, so it is IBM's turn to show its skills, therefore, Sun attended the osoa organization. Sun knows that they will be dumped even further if they do not participate. Now they can participate in the competition and get some residual information. The ultimate fate is to be swept away.
Sun's Java is being marginalized by IBM step by step. Of course, it is not easy to get out of it, but IBM has the financial resources and patience. IBM continues to claim that it is open-source, eclipse, and IBM have supported a lot, so that everyone can accept IBM in the open-source world. In addition, IBM has been promoting Web2.0 in recent years, that is, lightweight development. Enterprise-level development is a headache for everyone. It is a big framework platform that is very complicated. IBM also knows that customers are bored. Now it giants all over the world are claiming to simplify it. Well, these guys are the ones who make things complicated and deliberately build barriers to competition. Now they simplify it or they can sell both sides.
However, we should note that after the introduction of the SOA standard, osoa has introduced three implementations: Java, C/C ++, and what? Let's guess.
Yes, it is Php.

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.