Ten theoretical system of SOA technologies


Of Practice that: improve from practice to theory, and then from theory to guide practice, this forward.The development of the current SOA is the case, by a lot of practice, SOA model has been recognized standards, is now being increased to the theory needs further summary of the time.

SOA to the development of the current domestic three main aspects: methods, tools and the environment.Is engineering and technology, from basic theory to guide proposed.So a science will need to include: cognitive science (philosophy), engineering technologies and methods, and finally the theory.

Zhong Cui Hao was the first generation of well-known software experts and academic leaders, one of the first to carry out the compiler, compiled languages, operating systems, support software, application software, the areas of research on the subject, developed in 1993 into large and complex software applicationsand large-scale distributed systems.

In the earliest implementation of proposed methods based on component technology and the key technology.The development of China's software and personnel training have made important contributions, has received eight major awards.He was Director of the Academic Committee of the Chinese Academy of Sciences software, Office Director, doctoral tutor, the Beijing government adviser, a major national scientific and technological projects - CASE tool for the general deputy director of the environment, and undertake a number of national scientific and technological special projects.

The evolution of architecture

SOA is object oriented, component architecture such as the gradual development and improvement, and rely on each other, complement each other, and their adaptation in different areas, so the discussion of SOA theory, to understand how it is evolution, the inheritance which theoretical system, and itsHow do fitness.

Structure Programming

40 years ago the international community had "software crisis", such as IBM has developed an operating system, development of aircraft or U.S. airlines reservation system, the number of years have spent thousands of workload.Its long development cycle, and developed many products but it is wrong, it is difficult to maintain and adapt to changes.

At that moment, a Dutch physical home EWDijkstra proposed a "structured programming approach", he said: human intelligence is limited, the use of mathematics or physics way of thinking, with the enumeration, abstract, summarize,analog and other ways of thinking simplify the problem.

I also graduated from the Department of Mathematics, I have read all his papers to write a book, "Programming methodology."Use this method when extended to the design of software, known as "structured analysis and structured design (SASD)".

The so-called "structured programming method", is based on the early object-oriented design blueprint, focusing on solving the programming method of program correctness as a basis for establishing a software engineering discipline, the establishment of the basic theory of programming systemis the first technology and basic theoretical system.

"Object-oriented" theory of reusable

We all know that the object-oriented development to component-oriented, component-oriented further development to the service-oriented, so they view and cognitive theory is based on closely related.

Solve large-scale software development efficiency and quality of programming in addition to the correctness of solution, but also need to address the long development cycle, reusability is poor, the high cost and difficult to adapt to multi-document system evolution and other issues, these issues are still perplexed over a decade thatdiscipline, the "software crisis" still not resolved.

People's knowledge is from a theorem, a principle of gradually accumulated, society is relying on the accumulation of knowledge development.However, the software each time they are all prepared from scratch, which is caused by "software crisis" of the root causes.Whether the proposed program of work which can reuse previous successful experiences and procedures?After a full ten years of exploration, to be successful until the seventies.

I have used this method to design a large-scale operating system, this method and theory in the field of product development and scientific research used a lot, so I call it the second technique and basic theoretical system.

Components and architecture for

In view of object-oriented defects, the founder of the three object-oriented together to create a UML Unified Modeling Language.UML for software development and SOA, and milestones have played the role of foundation.

UML is the main theoretical result: the basic concept of a unified object-oriented, and introduced many new concepts that the software development process is essentially progressive refinement from the abstract model, the transition to a specific implementation, in which each stage betweenan abstract model is achieved, UML aims to provide a model building tool.

With intuitive graphics to build models from software experts will have their own tools, as tools that musicians have sheet music.Variability to adapt the software to provide the evolution of the concept.

This model theory is actually the third technique, and basic theoretical system, it evolved to lay the foundation for the concept of component and structure of the model.

As the project implementation on the lack of development of norms, technical requirements for developers of high quality, very few ways to see the real use of UML in the development of practical engineering applications, the biggest problem is the software being developed is difficult to evolution, butsoftware to be able to adapt to change is an objective reality.

To this end the development of a simple reusable "components and architecture" technology and its theoretical system.Held in Kyoto, Japan in 1998, the "component-based software development (CBSD)" International Conference on the topic agreed that software development is inseparable components and architecture.Software architecture is referred to as "architecture."

Prior to this, the hierarchy software architecture framework are used until the proposed distributed system client / server mode, has generated research on the structure, components and architecture there, which is the fourth technology and basic theoretical system.

Carnegie Mellon University for software architecture and framework to establish a solid foundation theory, software architecture is a high-level abstraction of software system, reflecting the software design.Reflects the decision-making system development of the earliest clear which of the system components, how the interaction between them; further affect resource allocation, team organization, and product quality.The success also lies in the system architecture.

Three-tier distributed system architecture

Three-tier architecture is a two-story structure of the fat end of the application components form the application layer independent.Distributed systems to solve a variety of potential complexity, middleware technology and theory, known as the fifth technology and basic theoretical system.

Eight years ago, my last doctoral dissertation Wang Wenjun is "the federal structure of distributed systems", that is service-oriented architecture, but not the use and development.Two years ago, IBM was soon after proposed SOA is widely accepted, the reason could be from an objective demand and technology maturity on to describe three aspects:

First, the objective need, with the popularity of the network, users increasingly urgent need to integrate multiple applications existing in order to achieve greater information processing capabilities.Supply chain, such as e-commerce, intelligent transportation, e-government, such as Digital Earth is a hot spot of the century.Gartner predicts that by 2008, based on items will occupy 70% market share.

Second, object-oriented component architecture and basic theory and technology has to mature, the development of the Unified Modeling Language provides a modeling tool.Middleware cluster theory has to mature, and proposed middleware Inter Bus technology.

Third, the popularity of browser technology, has become the industry standard, laid the SOA's basic theory and technical specifications, which is a matter of course, to make SOA Zhuo strong growth.

SOA components in the implementation

SOA architecture is still three or N layer, but the link between the layers of heterogeneous platforms, not with CORBA, J2EE or. NET way, but with WBDL and SOAP to implement their concepts of simple unity.

Are currently using embedded Enterprise Service Bus ESB to implement the platform, ESB is a middleware group, ensure that the system implements the service interface, a variety of middleware and function of three loosely coupled, so call it a sixth technologybasic theoretical system.

In addition, the commonly used BPEL (Business Process Execution Language) to describe the user needs, by BPM (business process management platform) to explain the implementation of technology and form the basic theory of the seventh.

The main advantages of SOA

1. Use of existing assets.Method is to wrap these existing assets to provide enterprise-enabled services.Organizations can continue to get the value of existing resources, without having to re-build from scratch.

2. More easy to integrate and manage complexity.Place the infrastructure and implementation of the impact of changes to a minimum.Because the complexity is isolated, as more companies working together to provide the value chain, this will become more important.

3. Faster integration of reality.Through the use of existing components and services, can reduce the need to complete the software development life cycle time.This makes it possible to quickly develop new business services, and allows organizations to respond quickly to change and shorten the development time.

4. Reduce costs and increase reuse.Through loosely coupled business services is open, enterprise business requirements can more easily use and combination of services.

5. SOA business process is composed of a series of business services that can more easily create, modify and manage it to meet the needs of different periods.

Software development methods and specifications established

Application of the theoretical system component architecture is applicable to the creation of component technology, when developed to service-oriented architecture, the need to be modified and expanded, now called the model-driven requirements engineering MDD modeling theory, you can call it the eighthtechnical and basic theoretical system.

Another component of the field of SOA projects will be expanded into a reference structure, which is the ninth technical and basic theoretical system.SOA SOA portal will be reflected in the performance of all the features of the interface layer, for how the latest WEB2.0 and SOA to together, this is the tenth in technology and basic theoretical system.The third aspect is the practical application of SOA will need to establish when the theory and technology.


Beijing Municipal Science and Technology Commission of the core platform based on SOA structure

The development of SOA

IBM SOA program less than three years publicly announced late last year, BEA, Oracle, HP and all other brand-name companies in China released the news on the SOA.

As a unified SOA model, so are the products of the company's middleware approach to SOA, SOA development and operation of the system to provide the appropriate tools and environment to gain market share.

Beijing Municipal Science and Technology will provide the core platform for SOA R & D funding, by the Software Industry Promotion Center, unified management and promoting the IP industry.The program as shown.

With the SOA development of the theory, various SOA-related specifications and standards will continue to appear, such as SOAP, WSDL, ESB, BEPL language, they symbolize the emergence of SOA will gradually mature.We should note that the tools developed by each company and environmental products to help promote the use of the strong SOA.

The theoretical system should be seriously grasp the top ten, flexible application, but it should keep the new plane.In short, SOA concepts clear, technology to mature and achieve easy, so finally, we should not do repetitive work should be regular exchange of as little as possible duplication will be able to achieve world-class level.