Build next-generation software architecture Author: Li Wei
Web Services As a hot technology, it is applied to the company's IT system and business processes, and bring direct economic benefits to enterprises, and has always received the highly respected domestic and foreign business managers. In the past two years, with the continuous change of the needs of the company, a technology architecture known as the next generation of Web services, once again, the industry is concerned, this is SOA (Service-Oriented Architecture, facing service architecture). As early as 1996, Gartner first proposed SOA prophecy. In December 2002, Gartner proposed SOA is the most important topic of modern application development, and it is expected that SOA will become an absolute advantageous software engineering practice. Methods, mainstream companies should now invest in understanding and application SOA development skills. To better support business process SOA is not a new thing, IT organization has successfully established and implemented SOA applications for many years, BEA, IBM and other manufacturers have seen its value and follow up. The goal of SOA is to make it becomes more flexible to realize real-time enterprises in response to business units, which is a real-time business (this is the vision target described by Gartner as SOA). BEA's CIO RHONDA has made it possible to convert BEA IT infrastructure to SOA as early as June 2001, and increase development efficiency, speed up development speed, and reduce development speed and reduce skills. Good results have made good results. Since SOA is a specification of logic (service) units designed, developed, applied, and manages dispersed logic (service) units in computing environments, which determines the broadness of SOA. SOA requires developers to design application software from the perspective of service integration, even if the interests do not immediately appear. SOA requires developers to surpass application software and consider multiplexing existing services, or check how to make services are reused. SOA encourages the use of alternative technologies and methods (such as message mechanisms), and archives the service to archite the application. After proper construction, the application of this message mechanism allows the company to make a rapid response to change market conditions within the time of commercial environment licenses only by adjusting the development of the original service model rather than being forced to perform large-scale application code. . SOA is not just a methodology of development, but it also contains management. For example, after using SOA, managers can easily manage these enterprise applications on the service platform instead of managing a single application module. The principle is to call each other between the analysis services, soa makes the company's management personnel for easy access, what reason, which business logic is executed, so that the enterprise management personnel or application architect iteratively optimizes them Enterprise business process, application system. One central idea of SOA is to let enterprises to completely get rid of the binding of technology-oriented solutions, easily respond to changes in business services and development. A single application in an enterprise IT architecture environment is unable to accommodate business users (various) requirements, even a large ERP solution, it is still not able to meet this demand in the expansion, change gap. For the rapid market, commercial users can only develop new applications to intend to support their existing business needs by continuously developing new applications. By putting attention on services, the application can focus on providing a more abundant, powerful business process. As a result, SOA-based enterprise applications typically reflect the combination of business models more truly. Service is from the perspective of business processes - this is from top down. This angle is the opposite of the business perspective driven by the available technology. Because the advantages of the service are very clear, they will combine with the business process, which can more accurately represent business models, and better support business processes.
Instead, we can see that the application-centric application model is forcing business users to limit their capabilities to the application. Enterprise Process is air flowing through the enterprise framework, which gives components in the business model to life and define their relationships more clearly. The process defines a special method for interacting with the business model. For example, accounting may be a component of a corporate service system, but send invoices to customers but a business process. Services are defined to support business processes, thus running throughout the process from beginning to end: various service components in process and logic implementation assembly operations, understanding business processes is the key to custom services. It is conducive to the integrated traditional application integration of corporate business, such as: point-to-point integration, enterprise message bus or EAI, business process integration, etc., is very complicated, expensive, and unforated. These integrated methods are difficult to quickly adapt to demand for the continuous production of changes in corporate modern business. SOA-based application development and integration can be well solved many of the problems. It describes a complete development model to help client applications are connected to the service. These modes customize a series of mechanisms for describing services, notifications, and discovery services, communicating with services. Unlike traditional application integration methods, in SOA, all modes around the service are implemented in standard-based technologies. Most of the communication middleware systems such as RPC, CORBA, DCOM, EJB and RMI, are the same. However, their implementation is not perfect, there is always a problem in trade-off interactivity and standard customized acceptability. SOA tries to exclude these defects. Because almost all communication middleware systems have fixed processing modes, such as RPC functions, CORBA objects, and more. However, the service can be defined as a function, but also simultaneously defined an object, application, etc. This allows SOA to adapt to any existing system and make the system do not have to deliberately follow any special customization when integrating. SOA helps enterprise information systems to migrate above the "Leave-Layer" architecture, which means that the system can provide web service interfaces outside the system without making modifications to existing enterprise systems, as they have been available The application layer of the web service interface has been encapsulated, and SOA can quickly convert system and application to service. SOA not only covers information from package applications, customized applications, and legacy systems, but also overrides features and data from IT architectures such as security, content management, search. Since SOA-based applications can be easily added from these underlying service architecture. Therefore, SOA-based applications can respond faster to market changes, so that enterprise business units have developed new functional applications. The main difference between the traditional enterprise application integrated architecture is that SOA-based enterprise applications use standard-based services and include process / data services, arrangements, and combinations. Standard service is an integration point between applications. Services and combinations of services add the flexibility, reuse and integration of services. Two granularity implementation of the SOA service can define services based on service-based functions and data numbers, such as fine-grained services, coarse-grained services or combined services. There are two related meanings in SOA, that is, how the service is implemented, how much data is used, and how much data is returned. The fine-grained service executes the smallest function, transmits and receives a small amount of data. The coarse granular service performs a large business function and exchanges more data. The fine-grained service is used for serving or combined services, rather than being used directly by the terminal application. If the application is established using fine grain service, the application will have to call multiple services on the network, and there is less data on each service, and thus affect the overall system of system. Therefore, users of coarse granular services cannot directly call the fine-grained services he use. However, since the coarse particle size service may use multiple fine-grained services, they cannot provide the safety and access control of the granular level. The combined service can be assembled using a coarse particle size service and fine-grained service. The number of data is not the difference between coarse particle size services and combined services.
Rough granular service example, such as creating new customers, the operation of this process is: You need to verify the customer through some external service verification, and create a customer record in the CRM application. The combined service example can be providing a new DSL line, which requires a service call to verify orders, create or verify customers, confirm product inventory and assign resources for data lines. SOA-based enterprise application
Different levels of SOA service particle size and their relationship
The above figure describes the relationship between the different levels of the SOA service granularity and the relationship thereof. By a set of effective design and combined coarse granular services, business experts can effectively combine new business processes and applications. Achieve business autonomy as a service-oriented computing architecture, SOA simplifies IT computing environment, its compatibility, interoperability, and ultimate ability to realize its business, to meet the Dynamic Business, to achieve IT to business Responsive from months to minutes. Experts pointed out that the ultimate value of SOA is to synchronize IT and business, in planning to provide elastic business services. Architecture designers from CIO to be responsible for need to have sufficient communication between the business unit. Therefore, the establishment of SOA will be an important implementation of a few years of commitments, basic construction and standards. In the middle of the middle space, SOA architecture is increasingly a new focus of the middleware software supplier competition, who wants to provide the best SOA technology to the competitors, and BEA is no exception. From a technical connection, the use of component technology will help SOA further popularization; from the business, enterprise users require higher cost-effective applications, and SOA is appropriately adapted to this trend. At the end of May, on the Ninth Technical Annual Meeting Eworld 2004 in San Francisco, San Francisco, the global BEA technology elite will experience the SOA system on the SOA system on the SOA system on the scene on the scene. Design patterns and best practices, that is, how to build the technical guidelines for SOA systems, BEA wants to maximize the business value brought by SOA. GartnerGroup expects that by 2008, SOA will become an absolute advantageous software engineering practice method, which will end traditional overall software architectures for 40 years of dominance (possibilities: 70%). Gartner recommends that mainstream companies should now invest in understanding and application of SOA development skills. In short, how to grasp, how to use itself into its own business construction, SOA has given a good foundation.