I used to be very clear about SOA ideas, but I guess the article is too wordy, n many people do not see it. Today and Hu Tehui on the Internet, he reprinted a lot of articles on SOA on his blog, he also asked me some questions, I said these questions I have written ah, you have reproduced my article, you should be able to understand.
So I want to be a little more straightforward.
First, ask: why SOA. A: Prior to the advent of SOA, there were CORBA component models, Java component models, COM + component models,. NET component model. Among them, the CORBA component model and the Java component model belong to the IBM-led camp (one with Bea, ORACLE, HP, Sun, etc.), while the COM + component model and. NET component model belongs to Microsoft this single one, since ancient times two camps are surface peers, on the face of each other pinch.
IBM certainly needs a one world solution. Because the Java component model is always tied by sun, and the rumors EJB is dead. CORBA component model, has not been the mainstream popular before the boss. The other two component models are in Microsoft's closed circle, and IBM wants to add a layer of component models to the four component models, and that's the world of SCA.
With the SCA component model, various heterogeneous component models are now packaged into the same components, how data is delivered. Of course, it's SDO to help.
Q: I hear that SOA is the main advantage of consolidation, but since we have webservice, what do we want SOA for?
A: WebService is a good specification for integrated packaging into a WebService protocol family, but WebService is not a component model. Someone asked, you control me is a component is not a component, I give you a layer of webservice, we can call on the OK.
This involves the computer development phase of our country. Because our country's development community, n many programmers still stay in the double-click button, the IDE automatically generates an OnClick event, and then write something inside. Many programmers do not have the consciousness to actively write functions, the functions in the program are automatically generated by the IDE event processing functions, not programmers write their own functions. Even functions are not actively aware, how can have the initiative to write their own classes, write their own component classes, most programmers use the system provided by the class library, the system provides visual components. So, n-Multiple programmers don't understand why there is an SOA component model.
The world's mainstream code development is already writing component classes, this is the industry's development needs, but our domestic code development level and demand has not yet to this level, still in the onclick. So we don't understand.
If we naturally write component classes on our own, we now naturally want to have component models that support SOA, because such a component model can be very smooth and the past CORBA component model, Java component Model, COM + component model,. NET component model to interact with. If we do not use the SOA component model now, we are still using the four component models to interact with the heterogeneous components in the future, and we have to develop a layer of SCA.
Q: That SOA is so simple. Is SCA+SDO.
A: The current international SOA standards introduce these two standards, SCA and SDO. There are two things associated with SOA, one is BPEL and the other is an ESB. SCA is a unified component, SDO is a unified component data interaction, BPEL is to let the components in series together, and then automatically run, just as we have a set of firecrackers twisted together, and then lit Shang, firecrackers are all their own series of explosions, BPEL is the use of this. And the ESB, like every component, needs to be executed in a container, known as the Component container server, and JBoss's initial function is the container server for the EJB component. And the ESB, of course, is the container server for the SOA component.
Q: SOA is that simple. I read how to read the site, said it is to allow business personnel and technical staff better combination, to use the business perspective to see technology, this word does not understand.
A: This is a design guide for SOA component designers. In other words, when you are designing an SOA component, what do you want to expose the function, as much as the granularity, maybe you this component class can be around a topic to complete 10 functions, but 10 functional writing implementation is more complex, you write the last internal code in the function nested function, then you have a lot of functions inside, What are you going to expose? We design the interface of component class, often not easy to grasp the problem of granularity. Just as if you had just started writing object-oriented code, it would be easy to abuse objects, design a lot of objects, if there is no object-oriented developers, you may not be able to imagine why there is such an overused object phenomenon. People are like this, with the cool, it is easy to overuse. So what granularity is appropriate, to guide, business-oriented. From the consumer point of view of the component class, what features need to be exposed. This has one side is the function consumes the caller, one side is the function output generation, then this function output, uses the jargon is the output is the service.
Q: SOA is that simple. I read the website and said, SOA can make software flexible, we are now software code is more and more complex, more and more functions, customer requirements, we are difficult to modify, time consuming, and do not know how this change will affect which block, so that the quality of software is not stable, we are in need of SOA, But how does SOA do that, I don't understand.
A: Of course, COM +, EJB when the trend, have said this. You want to Ah, the software is a package of sealed components, to connect the components, which of course flexible. You think about you now,. NET provides you with a number of visual components, also provides a lot of non-visual components, others are made of components, you now develop, drag the components down, set properties, programming methods, you are now developing faster, if not so many components, you want to you tired. This is the benefit and flexibility of the component. The SOA component is also a component, just a higher layer of packaged components, to allow the four-component model to be uniformly and smoothly invoked, so you see the SOA component as a. NET component.
Six, ask: China now many enterprises have no information, even if some very lucrative industry or monopoly state-owned enterprises do the information, but they are closed up, and other enterprises ways, SOA in China useful place?
A: You use no SOA component model, just as you use it. NET components, the tube integrates anything. If you just want to integrate, WebService is OK. Using a component-free development is your own business, if you want to make your program flexible. You see. NET inside so many components, to your development has brought a lot of ease ah.
Q: Is SOA mature now? Is it time to apply?
A: Mature immature, you have to see support for SOA standards development tools mature immature, do SOA application needs mature development tools. With a very handy SOA component development tool, look for a mature SOA component container server. If both of these are good, you can develop them. When we were developing COM +, COM + immature, the COM + development tools immature, the dot-com container is immature, resulting in thread deadlock, concurrency queuing, buffer pool crashes, memory leaks a lot of problems, we are very headache, finally find to develop tool manufacturers, to find Microsoft, only to determine the problem, The original on the one hand is Microsoft COM + has problems, on the one hand development tools also have problems, white delay us a lot of time. But the blessing of misfortune, but let me to the component model, the Windows basic core technology ideas are much more diligent.
Q: I think you are a bit misleading. Now enterprise-level development, the actual mainstream standard is two, one is. NET, one is java. NET originally seems to support WebService first class of technology, and Java is later joined WebService, so calculate not original union. Besides, Microsoft has its own system. NET component model is also good, why should I use the SOA component model?
A: It does have some commercial purpose. Although IBM is now the leader in the Java field, also in Java set up a complete product system, investment is quite large, but after all, Java is from sun, so sun to protect their interests of course, IBM itself is not the dominant, so Java to introduce a feature, often time is very slow, And always need to take into account the interests of all parties, so we all see, in recent years, the new characteristics of the Java standards are not satisfactory, that is, the interests of all parties saw the product, who also can not sin, the formation of the golden mean of things. IBM has long wanted to get rid of sun, but IBM also invested a lot in Java, if it is not possible to make a deceitful act, so think of this method, the Java overhead. An SOA model, a variety of languages can be implemented, not limited to the Java platform, in the SOA unified Architecture Technology First, there is no Java traces, it is the turn to IBM, so Osoa organization, Sun is very close to participate. Because Sun knows not to participate will be dumped farther, now participate, also can catch a few remnants. Anyway, the ultimate fate is to be swept away.
Sun's Java is a step by step edge of IBM, of course, too deep, want to pull out is not easy, but IBM has the financial resources also have this patience. IBM continued to claim open source, ECLIPSE,IBM support a lot, so that everyone in the open source world to accept IBM, and IBM in recent years has been promoting web2.0, that is, lightweight development. Enterprise-level development, we think of a headache, are big frame big platform is complex, IBM also know customer annoying, now the world's it giants are claiming to simplify it. Oh, these guys, make things complex deliberately build competition barriers is they, now simplify it or they, can sell both pros and cons.
And you have to note that Osoa launched the SOA standards, the introduction of three implementations, one is Java, one is C + +, the other is what. Let's take a guess.
Yes, it's PHP.
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.