Carry forward the thought of ejb,spring to the end of component

Source: Internet
Author: User
Tags continue end net

EJB, Spring, this is not the Java world's two most famous friends, how to pull them together. Spring is, in fact, the successor of Ejb1.x, 2.x, just as COM, CORBA before EJB. Their thoughts are in the same vein, that is, enterprise-class components of the idea, can also be called ideal!

First, the non-modular domestic software industry

Enterprises in various industries always have some core business, long stay unchanged, the new period of business is basically focused on core business. For a long time, there is a great contradiction between the change of it technology and the expansion of enterprise business. When the new business development, how to ensure that the original business stable operation at the same time, the new business can get IT support and expansion? When it technology has made significant progress, how to ensure that the original business at the same time the new technology transformation? In the above two kinds of movement, how to reuse the original technical achievements? This is what every responsible system administrator, CIO, and developer are concerned about. Unfortunately, the Assembly of ideas and practice before, this contradiction is basically very difficult to untie the knot. Most of the practice is rewriting.

For example, the DOS era, many units have used a stand-alone foxbase version of the financial system, although the interface is simple but stable and practical; to the Windows era, popular VB, PB, so the system rewrite; then to the B/S era, the system again rewritten; to the recently hyped Ria, is the system going to rewrite For many of the works of a miscarriage, the answer must be yes.

A lot of the same people might say, is that right? We can continue to make money. Wrong!

Such a situation is called "low-level repetition", a term often used by Chinese people to denounce many unreasonable phenomena in the socio-economic field. It is a pity that we, as a profession of high intelligence, often do such foolish things. Every technological innovation, enterprises to spend a second money, to learn a operation, to restart the data, toss to death, but not adapt to the new technology of the production, with the elimination of the Code together with the exit of the market; programmers who can't adapt to new technology can only switch careers. To not be eliminated, we must keep up with the trend of the times, constantly focus on the new technology, in the understanding of the business spend too little time, and finally lead to our system and business is always half a beat. Because the programmers who were quick to get the business clear were mostly promoted or left.

I think this is the software industry, especially the domestic software industry chaos of the fundamental technical reasons. Because the technology has not been accumulated for a long time, we have to eat leftovers from foreign people again and again.

Then what kind of software do we need to solve these problems?

In fact, the answer has long been around us for too many years, but we do not turn a blind eye. Would you like to replace the host with a new peripheral? Add root memory, swap card, sound card to change the motherboard? Does OS have to run a few specific programs with only a few specific hardware? And everyone in the OS write the program, is not in the new version of the system can not run? The answer is basically negative.

The OS can adapt to tens of thousands of programs around the world and its development, why our applications can not adapt to even a specific unit of change and development. Why should our application system be rewritten in a new environment?

The reason is that most of our applications are too prescriptive and too highly coupled.

In order to improve the standardization and reduce the coupling degree, we must continuously design, continuously and continually reconstruct the structure. When we finally have a day to encapsulate useful and mature code into jars or DLLs, not only can we reuse, others can reuse, the code is actually qualified.

Now everyone is accustomed to using open source products, foreigners are keen to continue to make such parts (components) or technology. We Chinese, however, are passionate about assembling the parts and technologies of others (as in other technology-related industries). Many foreigners have made great components at the age of more than 10, and we Chinese have put the word "do not reinvent the wheel" in the mouth, with the result that neither the old wheels nor the ability to invent new wheels can be created. Many people have been working for more than 10 years with messy codes.

Project, not to say that things thrown into the hands of the client put enough money, pat buttocks to leave. Successful projects, to be responsible for the customer. Even if you retire, it is time to transfer the work. The work in front of the results can not be used, only to say that the previous work is not qualified.

Domestic application software industry has been taking the road of Rad, the first to eat cool, more to the back of the taste. Not to say RAD can not use, but said, a rad, destined to be formed lazy, sooner or later reduced into a coding machine. Rad lures us away from thinking, lures us away from design, and eventually makes us obsolete!

Two, EJB, Spring's component practice

Prior to EJB, COM and CORBA were known to have already been on fire. This shows that foreign enterprises after a long period of information practice, has been the above mentioned "low-level duplication" of the non-component environment. COM and CORBA did solve some of the problems, but have not yet become that complete, mature system. So when the EJB came out, the industry is crazy. This is a business reason, and more importantly, the enterprise and developers to the Assembly of the fervent ideal. In fact, EJB has successfully solved a lot of problems, but because at the beginning of positioning at the high-end, the technology is quite complex, which led to a lot of developers really failed to master, resulting in many failed projects.

At this time, Ms's. NET began to heat up. NET in fact, the whole system of thought is referring to the Java. However, the use of MS Products has always been easy to use style, small and medium-sized system to achieve relatively easy. But everything has pros and cons, MS in order to cater to beginners lazy psychology, the structure of the RAD style is quite obvious. Many people unconsciously have been formed the lazy. This leads many developers to take it. NET, the enterprise-class technology of OOP, continues to do those high coupling systems of the past. The end result, whether the developer or the company, will repeat the mistakes mentioned above.

It should be said that the Java-EE first forced developers to consider OOP, layering, decoupling, reuse, these very complex but most important things, eventually end up a "highbrow" results. But if the developers can really design as their lifelong career, it must be in the Java world through painful groping, grasp the essence of software.

Then, the fiery spring movement began. Rod set the skill of enterprise-level development for many years, and creatively created a simplified version of the ejb:spring Framework. Here's the premise that Rod has been practicing the enterprise-level development for years, including EJB practice. It is this talented person who is proficient in EJB that can simplify and play the EJB. Many people in the country after the movement, the EJB so that Sun described as worthless, but forgot that they are in the Java this great language every day, and the implementation of the EJB technology inherited components of the idea. Beginners in the unknown stage, only remember the simplification of spring, but do not know the root of the practice of component. That is, not spring is bad, but that you should fully appreciate the component decoupling ideas that spring has in the same vein, not just the simplification of spring.

Since then, the Java community has begun an endless mess. People are thinking every day about how to "simplify" the Java EE so that it is simplified to web+db, simplified to a high degree of coupling in PHP, or a fence-like ror. Once again, history is back, the component is facing a serious crisis, and even the modular Java is implicating.

Here we have to compliment Jdon and family Banq. In fact, for a while the author is also enthusiastic supporter of spring movement, to Banq's ejb argument quite not cold. To his dizzy two years, back to Jdon, this just realized to Banq's painstaking.

As is well known, there are no shortcuts to English learning, and there are no shortcuts to good programming.

Banq These years against, repeatedly insisted that this world the simplest truth, indeed is worthy of admiration.

Third, adhere to the modular, to create a real software industry

Software development to today, in fact should and can enter into the industrial era.

The enterprise software crisis mentioned above is not only a technical problem, but also an industry problem.

Today, the people of all kinds of industries are large division of labor, the industrial chain of large cooperation. Productivity has increased, and so has the employment population. In feudal times, we all engaged in small workshops and guild, always feel if let go, division of labor after everyone will have no food to eat. But the practice of capitalism shows that the more the division of industry, the greater the scale. The reason is simple, in the production efficiency increases, while consumption is greatly stimulated, so that the rate of industrial expansion is still not enough to spend. Like the current car, the degree of division of business is very high, so that people in developed countries to buy a car to buy another one, change a car to another one, the result is the whole car industry boom.

Our software industry (especially in China) is the same, the surface is nothing to do, in fact, due to the overall low efficiency of the software industry, resulting in people can not use software, or dare not use software. The low level of duplication caused by the low-level local competition, the real concern of many of the needs of enterprises are not satisfied. Long after the enterprise in the information system is too small, naturally unwilling to spend money on information systems.

In fact, most developers and developers want to fully meet the needs of customers. It's a pity that you're a dozen people, for example, if you are from rubber, iron ore, to design models, to welding, to marketing. Anything to do, I am afraid that even a small cart can not be made out.

So we must do a division of the division.

Now the computer has, the OS has, DB has, the programming language has, these most difficult to do the basic work foreigners have done. But there's still a ton of work waiting for you to get into the business world. The lack of cooperative spirit of the Chinese people at this point is exposed. Clearly just proficient in the business, not to the design, but analysis experts, not to the unfamiliar technology pick three pick four; obviously can follow the original system of the essence, must be replaced to show the smart, more kid, think you can use RAD to fix everything. Many people's cattle are a universal "Superman" consciousness, are best, others are rubbish. But the software industry is too big too complex, and then Novice's fellow, there are many you do not know the important knowledge and ideas, and then high so-called prawns, there are countless blind spots and humble opinion.

Therefore, we must learn to respect others and seek truth from facts.

As for the technical problems, in fact, the author's humble opinion. At least spring has basically solved the big problem of decoupling. As long as we do not lazy, to write their own, others write, read the book, the online, and thoroughly think through, with spring this generally "non-invasive" framework to assemble, you can basically solve the problem of assembly.

As for the EJB, including the EJB3 which is now quite simplified, it is inconvenient to talk about it because of the shallow knowledge of the author. Hope Master pointing.

Every programmer, don't want to be lazy, try to decouple your own code.

Every developer, not too quick, to make efforts to refine the class library of products, try to interconnect with other manufacturers.

Every system administrator, CIO, and business leader should keep in mind that a highly coupled system cannot be, a system without a class library package cannot be, a system without a test system cannot be, and systems without a library document cannot.

In this way can eliminate the low level of domestic fast-run software rampant market, early usher in the Chinese software components of the era, the formation of health, rank, efficient software industry.



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.