There are many current development frameworks that are currently open, and everyone is not necessarily to focus all over Struts. The MVC design in Struts is not the best. I saw Ofbiz before I saw the old Dai (US David E. Jones, we all call him), why notbiz can't use Struts directly. I have been looking for it today, it should be this: http://www.geocrawler.com/archives/3/12465/2002/3/100/8002721/ If you want to learn the frame design, OFBIZ is a very good starting point. It is a true face to enterprise applications (business-oriented, not pure technology frames, pure technology frames are not more value), while Struts, Turbine and other frameworks are OK for simple web applications, but for complex Enterprise applications are too thin. The problem of enterprise applications is not solved by simply separating the MVC. Ofbiz Chinese Website: http://www.ofbizchina.com
Old wear is basically not published on Struts too much. Let me explain his words, the main reason is that the Struts design is large and the design of OFBIZ, so it is difficult to seamlessly integrate. And Lao Dai thought it was easy to write a MVC framework with your own ability. So in OFBIZ, the MVC framework, or mapping is all designed. A basic idea of old wear is to model the system through XML, to define different hierarchical relationships in the system in XML, minimize the number of written Java code (even create a set of XML-based Mini Language to do some simple Logic processing). There is still a need to write a lot of Java code in Struts. Struts has done some efforts in reducing the workload of developers, but it is not enough (even bringing additional complexity, I think OFBIZ's representation is more easily understood than Struts). If the goal of object-oriented open frame is to achieve a greater degree of code reuse, it is undoubted that OFBIZ is more successful than Struts in this regard. According to my experience, Event Handler, Service, and Entity Engine in OFBIZ is very flexible. It is indeed greatly reduced Java code development, replacing more XML configuration files, but this workload is much smaller than making Java. To a certain extent, the framework we now design is a big similarities, we are all frames for business problems rather than a student pure technology frame. Is it involved in how to treat technical frameworks and business framework? According to my understanding, the framework technology is actually the process curing technology. Many of the application in the framework technology is the callback mechanism, compared to the MFC, and the framework is actually calling the specific data structure and algorithm by the design workflow (using a function pointer in C / C ). Using the interface in Java). J2EE I am more as a framework to understand, not just a set of APIs. J2EE facing the problem domain is mainly concentrated in distributed calculations, then it secures a process of processing distributed computing. I think it as a technical framework. The process it processes is a machine: how to locate resources; how to manage connections; how to pass messages; how to deal with transactions; how to handle security, etc., this is the basis of all services. All commercial logic is ultimately converted into these calculation logic. From this perspective, the abstract level of J2EE is actually quite low-level. The programmer's role is to decompose business logic to calculate logic. As the program grows, people naturally want to do an abstraction on the technical frame, fix the business logic logic transition, so that the burden of development can be greatly reduced. This requires designers to complete this abstraction to commercial logic and technology frameworks. - Who said that software development is simple? Under this trend, the programmer's polarization must be larger and larger, and on the one hand, the design of the frame is concentrated on one aspect, and the user is concentrated. A variety of frames will be more and more. Excellent developers will establish a framework suitable for their own business according to the appropriate technology, rather than blindly chasing existing hot frames. Stuts is mainly for web development, while the UI layer of the real business app is very thin (Dlee, this is what you said :)), perhaps this reason is notbiz not use Stuts. No brother, I agree with you. Your description of the framework is more clear than I want. J2EE is indeed just abstract and modeling a low-level logic, and it is still not enough. This is also the reason why I am controversial to EJB is calm.
I have been touched that many friends are not very enthusiastic about EJBs and MVC. But for beginners, it is often the most favorite talk about CMP and MVC. I wrote a lot of objections, not to say that they did not value, but they did not meet the ideals depicted by Marketing Hype. In my opinion, the company spends huge money to buy a WebLogic that only implements J2EE specification is complete, because there is no solving any business problem. Of course, someone will refute to a penny, I just think that Java technology has developed to today, complete cost-effective options. J2EE puts the task of modeling the business to developers, which is a big problem. Because developers don't know which business objects need to be represented as servlets, which represents session beans, which represents Entity Beans, even if so many Patterns are invented, how to model business modeling is still very difficult. The complexity of business modeling is far more than the modeling of simple objects such as connecting pools. With the maturity of software technology, the field of software developers is increasingly transferred, which is why the recent AOP has emerged. AOP is a new development method for direct attention issues (of course, AOP is not able to remove OOP, it is the latest development of OOP). In our point of view, the domestic enterprises in the next few years will present a fast development stage for business-oriented development frameworks. We hope that he has a place in this market. We want to be a designer of the frame in the future, not a pure user. Such a business frame design is much higher than the framework for designing a pure technology, because you have to have experience in the successful implementation of large-scale projects, and you can design it after you are very familiar with your business. Design a frame is not difficult, design a truly useful framework is hard. IBM does not have something like a framework, so only the open source is directly used (how many things in WebSphere are from open source software). IBM is helping open source communities, but he takes a lot. I think your understanding of EJB has some bias, what is the core of EJB? I think it should be TP Monitor, not what CMP & BMP. Only know what is TP Monitor, it can know the value of EJB. Since the emergence of the TP Monitor software (CICS) in the 1960s, there has been no CICS competitors in the business sector. The market value of the TP Monitor software is coveted (95% of 500 companies). The traditional TP Monitor software is a process, so after the object-oriented language has occurred, transaction control of object-oriented language has been paying attention to the industry, and the emergence of EJB can say that the industry is excited. This means companies The core software is finally written with advanced object-oriented languages. But unfortunately, EJB is still less mature, so until now, the core software of the (large) company is still in the CICS (part reason is the big machine) Why is TP Monitor to pay attention? Very simple: because the company's software is too complicated, the transaction volume is too large and the transaction transaction process is never allowed! It is really possible to achieve industrial strength TP Monitor software, your choice is basically very few, and can be used on the mainframe, basically you have no choice, and the price makes you stagger! The industry is also hateful (like Microsoft) to this stuff. You said some truth. However, a large number of applications do not have to be submitted in two phases of EJB cross-database, which may only need to use the functions provided by JTA.
In cases involving two stages of cross-database (such as bank transfer services), I really don't know better than EJB. Corba is mature than EJB, WebService is mature, however it is a TP Monitor, and EJB implements such a TP Monitor in a normative form, indeed alleviating a lot of development efforts. And I believe that the industry's mainstream Java application server can fully meet the needs of heavy load services in high availability. In distributed applications, especially those involving a wide range of transactions, I believe that EJB is the best choice. However, for the general information management system, EJB is indeed too heavy. EJB belongs to the scope of the framework, and any framework has its applicable and not applicable, and it is not appropriate to discuss the specific application field. I have also seen some people think "Workflow must be implemented with EJB, otherwise it is unimaginable". "With a hammer, I saw anything nails." This is the first sentence I just thought after I saw this statement. I think we have some truths, but should add some limited, otherwise it will become a marginal debate. In our development, it does not see a lot of reasons for EJBs that must be used. I don't think that distributed applications must be advanced than design MIS systems. Everyone has its own difficulties. The core applications of such banks are the small amount of application I said. You can't let all people run to do bank applications? In terms of key applications such as banks, it is difficult to achieve high availability without EJB. What we work is to stand on the giant's shoulder, EJB is a giant, but it is not no development. The light is said that "EJB is a good time" (a bit like a white gold advertisement) and it can't see its limitations is to make mistakes (don't mind, I don't specify). EJB did done a good job, but how to make complex processing to data more easily, EJB did not solve the problem (this is the J2EE I said to developers to solve the problem), to be made by hibernate Wait for a framework for data modeling to solve. In fact, Hibernate is also a local problem. Studying Hibernate should be placed in a large background of corporate data streams to make full advantage of Hibernate. Developers need to solve key technical issues (such as TP Monitor), but they also want to get a business framework that helps them solve business problems. I don't know if you really understand what I said, solve technical problems is worthless of money (especially after jboss, Jonas's Open Source application server appears. Java Application Server Market is already over-competitive market), solve business The problem is worth money. The high-end enterprise in the industry chain is the most comfortable, which is the direction of our future development. We will use EJB in the future. The key is to see if there is business needs (distributed applications, handling transaction High availability requirements are high). JDBC is too low, if you are always just working at such a low level, the complex large project is completed. Fortunately, OOP provides us with unlimited package capabilities. There are Hibernate, JDO above the JDBC, and the or mapping framework implemented in the Entity Engine in OFBIZ. These development frameworks greatly reduce the development of the development. The goal of these frameworks is to completely replace JDBC at most occasions. However, I think some regrets are Hibernate, and the Abstract Hierarchy of JDO still does not rise to the height of the business object (so they cannot be used as a separate solution, but can only be used as a built-in component in a larger service frame).
Business analysis and software design is a comparison of comparison in foreign countries. There are many modes (analytical models) in the analysis field (analysis mode), and finally is analyzed, these analytics are directly related to business, and business people are easier to understand. . There are also many modes (design patterns) in the design area, and finally the design object (almost is the real object in the computer). However, there is currently a large gap (GAP), which is currently from the analysis object to the design object, and fill this gap, the software can be collected from demand, the business analysis to design, development, deployment, and test can be A seamless manner combines. Borland may have a better way after TOGETHER and JBUILDER. I haven't tried to TOGETHER For JBuilder yet, you can look at it. There are a lot of business frameworks to solve business problems. There is a business-oriented framework in IBM, such as the previous E-Commerce Suite (now called WebSphere Commerce Suite). Open source business framework I only used OFBIZ, I feel better, you can find some information. I didn't mean the technical frame. I said this is determined by the development strategy of small businesses. Small businesses are very likely to survive. It can only rely on one or two industries, and study the business in the industry, and strengthen themselves by successfully implementing the project. If you do multiple industries at the same time, it is difficult to do well, it is very likely that any one is not done, so there is no competitiveness. For enterprises, general solutions often do not solve their business problems well, so they need to be tailored to the company (or if this industry is representative if the business is representative). The software industry is a service industry, and the profit of the software will be increasingly transferred to the service (rather than relying on the release package). The needs of the company's tailored solutions (advanced services) will be larger. I have heard some companies that do universal solutions (even some big companies), no matter which industry, sales are the same plan. In addition to boasting their technical strength and successful experience, there are very few people's business talks about customers, obviously did not have serious and meticulous analysis (completely, I used me for the master, forcibly marketable . Do customers need such a solution? Maybe you will forget you after your feet, you will make your money, you still have a tenderness. In this field, if we truly do your job, it is entirely possible with Xiao Tong. I will give an example. Low-class prostitutes have served many people, and her income is very small. The senior prostitute was packaged in a billionaire, providing a full-time thoughtful service for this billionaire, and her income is definitely high than the low-level prostitute (everyone may have seen the movie "of the" Wild Moon ". This metaphor is indecent, but it does explain that the demand for advanced services is large. The industry chain of IT has changed significantly in recent years, but the most stable is those high-end vendors, because the services they provide is difficult to be replaced. The market's demand for technology framework will tend to be saturated (this is why so many good technical frameworks have to open source, either earn money, either don't want to use this framework to make money, this frame is just Part of the larger business framework), and the market's demand for business framework will be more and more, this opportunity is we must grasp anyway. The ability to solve business problems is the most difficult copy, and it is also the goal of our tireless pursuit.
You can read a few books of J2EE to learn basic technologies, but how to model business, what kind of architecture is the real-purpose architecture. You are still a door. Entering the IT industry, I have embarked on a risk that is full of risk, and become a business expert is not the problem you like, and you have to go through the way. So I always say that I must take two legs, technology and business, and it is not possible. Ofbiz can only be an OpenSource's high-level project collection. Many OpenSource has produced a full architecture. I will not optimize the future of OFBIZ. Even if there is more integration programs in his future, more components are added to just let him get more fat. Because of the beginning, I have not seen more convenient IDE tools. Support him to see Struts's support, if a simple direct development may be quite troubles, a big pile of trouble is set, but these settings have his truth because it is not to read (although I am Direct write) is a new way to give the IDE convenient access to the new way to easily develop program Turbine or other Framework as Webwork ... and Struts, I don't comment, basically, market function will Deciding that even if I think Turbine's advantages have more support more support but for an initiator ... I recommend Struts as the foundation. Because I like simple framework as MVC Framework I can freely increase me What you need or mapping I can choose Hibernate, OJB, EJB or even Ibitis, etc. I can choose SecurityFilter, Pow2acl, etc. ......................................................... You can directly let the customer will only cause me to read their original code for modification ... I use Struts There is another advantage that when everyone is used, you can find more suitable resources to attach to your system. If you have developed Web by BEA Workshop 8.1, you can know that the complex program can be used to complete the Drag and setting. In addition, it is over, which is the shortest possible. In addition to security stability. The best product is provided to customers to hold OFBIZ and WebLogic. It seems that it is too sorry of OFBIZ. It's simply to let the elephant step on a small ant: p But I don't deny the value of OFBIZ, use in general small businesses. Nice solution And what he provides is a kind of idea to give you how to set up a variety of OpenSource to make a company's more complete solution Jini, you said there is some reason. These things you have to do (combined various open source Framework) are all things that OFBIZ has been done (we are now doing this, struggling to build an enterprise business frame. But we are more based more In independent development, not directly adopting an open source program. Because we have to be involved in the fields, there is no good open source project). Many people may think that the design of a certain aspect in OFBIZ is not the best (such as MVC, ORM). But their design is for overall target services. It is a stable enterprise-class business framework that is not necessarily a superior tool (Struts, Hibernate, Castor, Tyrex ...).
I used to say in Linuxtea, said: Larry Ellison said in the CCTV dialogue, you can buy parts yourself to assemble the car, but oracle is a company that is assembling the whole vehicle, and some part is not necessarily the best, but they combine It is the most efficient, every part can work well. The current Open Source world is provided to have some car parts. Bring these parts, you can produce a whole vehicle, but you can't simply put together, that is, it is still very far from DIY to provide real business value. For many companies in China, they urgently need to span the basic technical issues to solve complex business problems as soon as possible (first to earn enough money to live), OFBIZ has a very large development schedule. help. I don't like someone else to sell anything of the ALL-IN-One solution to me. I prefer to solve a small and fine solution that solves a problem. We did not use OFBIZ, but you can learn from the good design idea in OFBIZ (appropriate reference is absolutely necessary, otherwise it is closed and changing). Since there is already OFBIZ, it has set a benchmark, which is not ignored. Like the database selection of the database, I have set the problem with several students, and Oracle has set a benchmark. This benchmark is unable to bypass. MySQL's enthusiasts can close their eyes as there is no Oracle in this world, but I don't want to do this. We are here to discuss the principles of complicating equity. You are welcome to discuss objective in-depth discussions for a variety of Java development frameworks (open source or non-open source). These discussions will be beneficial for everyone here.
Lonely Soul smiled: In fact, it is difficult to listen: the interest is the most fundamental. Select what short-term long-term interests. Oh, how can I say it? This is the problem that the technical personnel ultimately consider. Do you always have to realize your value a day? Solved the business problem of our customers, first created business value to customers, and then you can achieve your own value. The software will become more and more direction of the service industry, and future competition will be high-level cruel competition. The ultimate beneficiaries will be a customer (enterprise and end users), and will drive the entire society to information technology, improve the resources of the whole society, and improve the production efficiency of the whole society. Business issues are often complicated. It is possible to use the technology to use it deeply from the business problem to be solved. Let me give an example: assume that we have to make a set of report servers. Customers have many subordinate units, and the reports of the subordinate units are summarized to the headquarters and summarize in a variety of ways. How to solve the consistency of data in this distributed system? First, to ensure a reliable transmission, if each subordinate unit is connected to the headquarters in dial, instead of permanent connection, how to ensure the reliability of transport? How to define these report data, how to summarize? These reports need to be reviewed and implemented in a workflow mode. To perform a perfect management of the report, such as: Setting various parameters of the report, setting the report is automatically generated or manually generated, retrieved, modify, delete the report, and control the access to the report. It is a very complex problem with it. There is no ready-made solution for any technical framework (because this is completely a business problem). From a business problem, the technology that can be applied is unlimited. What framework is specifically adopted, it is an art of tradeoff. In fact, this discussion is quite broad. Why is the MVC in OFBIZ is flexible than Struts, and how do they design, etc. have not been clear. These issues need to be discussed in depth after the next visit. Everyone has a direction in learning, then I will experience it in the specific work. The framework has a certain complexity, while a person's time is limited, grabs the time, understands more frameworks, and ultimately find the most suitable for you. It is important. I don't expect that all items have been developed with the same framework, because different frameworks have a big impact on the progress and quality of the project (once again emphasizing the importance of the correct tool, I use Eclipse to do Java development efficiency to use vi JAVAC ten times more). Even from cost consideration, all items should not be used in the same framework. I am very trustworthy to learn our programmers. They learn to use a new framework during the 3 or 4-month project development (mastering a framework and further framework, and They will also deepen their understanding of the original framework). Of course, first of all, I have to determine this framework is indeed the most suitable (I think it is best, or there is some subjective). One frame is a way to solve the problem. From the company's perspective, developers master a variety of frameworks that are also in line with the company's interests (should encourage developers to learn and implement their own ideas, rather than treating them as programming machines ). According to my observation of the IT industry for many years, the successful people are often those who really focus on solving problems, and I will more refer to business problems. Finally, it will say that it is necessary to discuss various frameworks, don't engage in mysticalism. Any problem can be discussed clearly if you find a word. About the framework, I still want to say that there are many open source frameworks, all solve some of the problem in enterprise applications.
These different framework design concepts are different, and there are some intrinsic differences, and it is very doubtful if the simple combination of these frameworks can significantly improve the development efficiency. A mature frame must ensure the overall conceptual integrity, and conceptual integrity is the key to software quality and development efficiency. Why didn't I use Struts to design myself, because Struts' design philosophy has a big gap in OFBIZ. The various parts in OFBIZ have indeed maintained the overall conceptual integrity, which is not separated by only a few major core designers. Different open source frames have added more features in higher versions, and finally don't even want to solve everything, so that they will solve everything with each other. A lot of functional overlap, which is more prone to problems with simply combining them. The reuse of the frame is a high-grain reuse. It is designed to use object modeling, data modeling or mixing. It is not a need to fully guarantee the conceptual integrity. Regardless of whether object modeling or data modeling is focused on the technical level, the reuse of business solutions is the most meaningful reuse of us. Potian's words do not convince my framework must be built in the way object modeling. (Because I know that many problems are completely OO can't be solved), just let me understand the advantages of object modeling. I think it is very reasonable to say something in a few days ago. Quote: Each framework has its own advantages and disadvantages, adapted to solve specific problems in specific areas. The development framework is discussed in academia, not discussed in the industry. The goal of the industry is to make a tool to solve the problem, then use it to solve existing problems, with the expansion of the problem, the tool is gradually modified, until a little tool does not apply, push down. Why do you have JSF now? Is it because Struts is not applicable?