Solve problems SOA integration architecture to the new generation of software migration (2)


Positive transition to SOA

Today, service-oriented architecture (SOA) can be said to be popular.So, the company should transition to SOA, and profit from it?

From a macro point of view, there are three fundamental aspects to consider:

■ First, create a service from scratch or from existing resources, identify service large sense.These services can then become the basic modules can be reused for building new services-based applications and business processes.With the increased availability of services, can be reused and accelerate the benefits to market surge will follow, leading to increased business value.

■ Second, for some reason (will be explained below), service availability alone can not meet all the needs of SOA.For services, there is a need for infrastructure outside, for example, be used to enhance reliability, provide management, as well as to meet the cross-service needs, such as transaction management and security.This infrastructure of the SOA in an enterprise environment is critical to success.

■ Third, the ultimate goal of service-oriented services are not created, or even create a SOA infrastructure, but to achieve a number of new developments, based on service functions, which can conduct business for the organization to provide competitive advantage.If the corresponding function in place, companies can integrate the system more quickly and more easily connected with trading partners to improve the efficiency of all aspects of the business to more clearly understand the business and respond to market pressures and opportunities to improve flexibility.

The basic building block services

SOA's first and most obvious part is the business-oriented atomic services (atomic service), such as verifying credit cards, check inventory and so on.To when it can be more complex, more advanced features added to the above.

There are several ways to create a service:

■ writing services from scratch.This option may be suitable for the new system is being developed or rewrite application software.Most modern programming environments and developer tools provide a way to build Web services, but significant differences in terms of ease of use.The advantage of starting from scratch, you can make reusable way to maximize opportunities to create services.Compared with other methods, however, usually need to start from scratch the largest input.■ made to existing code-oriented services (such as rewriting CORBA-based client / server applications, so that you can use Web services standards.)Development of a modular approach, but did not use the Web services technology to implement custom applications, this approach is workable.This method has the advantage, if only the interface logic has changed, usually no need to re-test the underlying business rules, which reduce the conversion cost.

■ existing applications or processes to "package" to provide them with Web services interfaces.Encapsulation method has several advantages.First, it is not affected.In other words, no need to change the underlying system itself (and thus do not need to re-test).Second, any level of granularity can be used to encapsulate both simple database query that the application to create services, but also the entire order entry process can be packaged as a service.If necessary, the lower level of service is also very easy to mix into a more advanced process.Third, in most cases, this approach is to introduce a service-oriented world of existing resources, which is expected to bring the greatest return on investment the fastest, most reliable way.Finally, you can not view the source code of the suite applications, this may allow the system to a Web service only a practical way.

■ access to services.More and more packaged applications and systems delivery that came in, "which means that the use of" (out-the-box) of the Web services support.For example, the major ERP and CRM vendors have their own application programming interface (API) for Web services use, or other programs, in addition to a proprietary API, will be Web-based services together with the API.

■ access to services from a third party.To provide services to outside vendors perform functions (such as credit rating) also has business sense.

A fundamental basis for SOA is that services have technological neutrality (ie, services used to write does not matter what technology).Services, implementation services also regardless of the language used, the use of compatible standards for easy way to provide and contact services.This is based on Web services, SOA is different from the past, a key feature of technology, thereby enhancing the Web service "reusable" - and thus, more likely to bring associated benefits.

Service-oriented architecture infrastructure

Now, as mentioned above, only the collection of a number of Web services from the Internet is not sufficient to achieve SOA.In fact, if the surge in the number of Web service is not regulated, there will be a lot of clutter soon end systems and interfaces, which in other technical aspects of the situation facing identical.

To make this potential mess orderly to require some level of SOA infrastructure.Is distributed as a born model, which must in the SOA infrastructure among service providers, rather than within a single service provider exists in a logical manner.

This infrastructure provides manageability, and infrastructure associated with the individual service providers to ensure stable and consistent quality of service, security, scalability, performance, and so on.

In addition, it can provide cross-meta-data management provider (registration services and discovery services, etc.), and to achieve location transparency (location transparency), and dynamic binding, so as to ensure a loosely coupled service-oriented nature of the business.Bind the various services as a mechanism to provide coverage of infrastructure also has a full service provider of monitoring and management capabilities of this unique ability.

Enterprise-class SOA infrastructure should meet the following requirements:

■ Make sure the Web services and service-oriented model used in a manner consistent development, improve the consistency of architecture.

■ easy to use Web services to assemble a large-scale dynamic systems.

■ provides centralized management and control of a single point of deployed services.

■ through load balancing and automatic implementation of fail-over between services and other features, business-critical systems required to provide the performance and robustness.

■ Provide services to facilitate the mechanism is easy to find each other, regardless of services deployed on the network somewhere.

■ for the construction and deployment of infrastructure services (in the business class service between the service work, such as transformation and filtering) to provide framework.

■ business needs change, allowing dynamic configuration of services.

■ Cross to provide security services to meet the mandate of the class, such as customer demand.

■ provide levels of logging at all levels - such as Web service request and response, and session information and security-related events to support trend analysis, exception handling and problem diagnosis.

Ideally, such a SOA infrastructure services should be no impact on the service itself, to support the platform's internal (such as application server) to work locally, or as a non-supported platforms (such as packaged applications hosted by a third party or service)intermediate work.Because of this flexibility is, SOA infrastructure to unified management of all services within a corporate environment.

Service-based business solutions

Because business processes are treated as components of service, coupled with management of these services, SOA infrastructure in place, the company then it is possible to use business solutions and applications to service-oriented approach.

The following describes some of the largest service-oriented opportunities bring.Although some of the opportunity to use Web services and service-oriented architecture has been before, but if the functionality provided by SOA can greatly increase these opportunities.

■ business integration.While many companies have been very successfully used independent of the SOA business integration (EAI and B2B) solution, but if these solutions are added to the SOA infrastructure, which, they can play a more significant and more important role.The use of reasonable business integration solutions, companies can put legacy (non-SOA) system, which extended to the SOA environment.As the existing systems into a lot of money, so this is a large number of SOA standards-based services to provide the fastest, most cost-effective way, to the time BPM tools, portals and other service-based applications can take advantage of these services.Use services through reusable and standardized to reduce the cost and difficulty to help dirty business integration plans.

■ Business Process Management (BPM).BPM and SOA is a natural fit, able to generate synergies.BPM is organized in a manner well-defined tasks.SOA is the application and system functions into a well-defined business processing services.BPM and SOA inside the task of processing services which are consistent.If the implementation of top-down approach (that is, driven by BPM), business process development to support a service which if deployed in the SOA, can be reused in other processes.If you use down since the implementation under way (that is, the priority on creating atomic services), SOA services become the inside part of the service, can be reused to accelerate the implementation of BPM in the future.In addition, business processes and their separate use of the service implementation, thus to facilitate the best tool (tool set) can be used for each purpose, which brings flexibility.Thus, due to the underlying SOA support, companies can more quickly obtain the benefits of BPM.

■ Business Activity Monitoring (BAM).BAM allows companies to improve the response to major events facing our business, changes and problems.BAM can meet the needs of SOA because it provides understanding of business processes across the enterprise visibility and access to inside information, consistent way.BAM and BPM and EAI/B2B can also produce significant synergies.As with the BPM, BAM is a business process-centric.With the right infrastructure, processes in the SOA which is automatically compiled for use in BAM.EAI/B2B services to access data from existing systems which provide a mechanism, and SOA infrastructure services which can be used to send the data in real time BAM solutions.Because of this interdependence, including BPM, SOA integration, and BAM's solution has significant economies of scale.

■ composite applications.With the SOA business-oriented services which the number of growing, assembling custom applications to meet new business needs, or create customized applications to meet the specific needs of users, it will become increasingly simple.Modular SOA-based applications can use standard Web services, no need to use the database and other proprietary API calls to build applications.In addition, SOA provides an abstract (meaning low-level implementation of Web services technical details are hidden) so that relatively unskilled personnel to work in the construction of composite applications.

Although the road leading to service-oriented into a sequence of several steps, but in fact, different companies will use different methods forward.Some companies in the implementation of enterprise SOA infrastructure before you try to use Web services; Other companies will pay more attention to structure the approach taken to delay tactics (ie expedience) and Web services deployments.Some companies may look to invest will EAI or B2B existing functions as a starting point towards a SOA.

Either strategy, SOA, one advantage is that it can be gradually implemented, for example, a project to a project to implement.In order to begin to pay off, no need to use a large explosion (big bang) the implementation of the method.