Concepts of messaging
This chapter discusses the reasons why a business might require a messaging solution and different requirements for messaging. This chapter provides some examples of where messaging is used. This chapter contains the following sections:
1.1 The business case for message-oriented middleware
Business environments are constantly changing. Applications that were written 20 years ago need to exchange data with applications written last week. Examples of this changing environment can be one company that merges with another company, a new partner to communicate with, an application that is used internally in a company is now exposed to customers, or different departments within a company need to share programs.
The growth of Internet banking required services, such as managing payments or querying account information, to be made available through a range of channels. The core data can be held in a database on a mainframe, but a user of a browser requires a front-end web application server to interact with that database. As new delivery channels are created, such as smartphone applications, easy ways for that new mechanism to interact are needed. The smartphone application must communicate with the same applications and database without changing the database.
The evolutionary speed of IT systems makes essential the ability to integrate across many environments with multiple applications reliably and quickly.
Messaging is an effective way to connect these systems. It hides many of the details of communication from the application developer and gives a simple interface. Simplifying allows the developer to concentrate on the business problem instead of worrying about matters such as recovery, reliability, and operating system differences.
A further feature of messaging solutions is the decoupling of one application from another. Many mechanisms for communicating between applications require that both applications are available at the same time. Messaging uses an asynchronous model, which means that an application that generates messages does not have to execute at the same time as an application that consumes those messages. Reducing the requirements for simultaneous availability reduces complexity and can improve overall availability. Messages can be sent to specific applications or distributed to many different applications at the same time.
Figure 1-1 shows basic patterns for connectivity.
Figure 1-1 Using messaging to connect applications and distribute data
Asynchrony is used in various ways. It can queue large volumes of work, and that work is then submitted once a day by a batch process. Or, work can be submitted immediately and then processed as soon as the receiving application finishes dealing with a previous request.
Asynchronous processing does not imply long response times. Many applications were built and successfully execute by using messaging for real-time interactive operations.
1.2 Application simplification
One of the key features of messaging is to remove complexity from application code. Worrying about reliability or recovery is the job of the middleware product or component, such as the messaging provider. Developers can simply focus on writing the business logic.
The following list covers some of the factors that need to be dealt with by middleware, and hidden from application developers, regardless of the business application:
Once-only processing Business transactions normally happen exactly once. Middleware needs to ensure all the systems that are involved in that transaction do their job, exactly once. There must be no loss or duplication. Applications must not write complex code for recovery or to reverse partially completed operations (compensation) code if individual systems fail.
Ubiquity Run your applications on the platform where it makes the most sense. Be able to integrate applications seamlessly on a wide range of operating systems and hardware environments.
Easy to change Using industry standards can help you become more responsive as skills can be maintained and reused across projects. New applications can be rapidly written and deployed.
Easy to extend Scale your applications rapidly to any volume without downtime. Add more processing without application change. Roll out new applications and features quickly and safely without downtime.
Compliance Meet enterprise, industry, and regulatory requirements easily, especially as those requirements evolve. A middleware implementation needs to assist with auditing and other compliance objectives, giving a consistent interface for all applications.
Performance and availability
Make the best use of the systems. Provide services for high and continuous availability.
Security Provide a secure environment. Data is protected from loss, modification, and reading. Losing sensitive data, or failing to comply with regulations, costs time, money, and reputation.
1.3 Example scenarios
This section gives examples of where messaging solves a real-world problem.
1.3.1 Retail kiosks
A retailer wants to respond rapidly to online customer needs and have a consistent view of data that is shown at 25,000+ self-service kiosks. Data is changing rapidly, and it needs to be distributed rapidly to these kiosks.
The kiosks in the network are connected by a messaging service to the central databases and changes are pushed out rapidly. More than 14,000 transactions are processed each second.
1.3.2 Faster bank payments
Government regulation that limits payment clearing times requires faster payment processes through near-instant money transfers between banks.
A high-performance payment solution is developed that uses a messaging solution to route message traffic between systems. Many existing components of the older payment system were able to be adapted to work with the new messaging layer, preserving investment in these programs. The government requirement was to be able to clear payments in under two hours. However, this solution is technically capable of completing its processing in seconds. It handles millions of transactions every day.
1.3.3 Airport information
At an airport, rapid changes in government regulations are coupled with increasing passenger volumes. This airport needs a flexible IT infrastructure that is populated with seamlessly integrated systems. The airport currently supports daily business operations with an inflexible heterogeneous infrastructure.
1.4 A messaging-based solution
A messaging-based solution establishes a shared integration layer, enabling the seamless flow of multiple types of data between the customer’s heterogeneous systems. For example, airport staff can now easily access important information, such as flight schedule changes from multiple systems. A messaging-based solution can also flexibly integrate new systems to accommodate evolving government regulations.
1.4.1 Messaging in a service-oriented architecture
Service-oriented architecture (SOA) is a business-centric IT architectural approach. This approach supports business integration as linked, repeatable business tasks or services. SOA helps users build composite applications. Composite applications draw upon functionality from multiple sources within and beyond the enterprise to support horizontal business processes. SOA is an architectural style that makes this possible. For more information about SOA, see the following link:
The most important characteristic of SOA is the flexibility to treat elements of business processes and the underlying information technology infrastructure as secure, standardized components (services). These components can be reused and combined to address changing business priorities. SOA requires that applications can interact with each other.
This book is not intended to discuss SOA in detail, but a critical aspect of implementing the architecture is to have connectivity. The seven main attributes of the connectivity infrastructure are:
Reliable
Secure
Time flexible and resilient
Transactional
Incremental
Ubiquitous
Basis for enterprise service bus (ESB)
Any messaging component fitting in the connectivity infrastructure must satisfy and support all these capabilities. A flexible and robust messaging backbone is a key component of SOA and provides the transport foundation for an ESB.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.220.64.128