Data flow with Web Intermediaries
9.3.3 IBM WebSphere Transcoding Publisher
IBM is leading the way in the mobile computing field to bring the technologies of the mobile world together with the strength and integration of the IBM server and software family of products in order to create mobile solutions. Mobile computing and pervasive computing provide a series of technologies that enable people to accomplish personal and business tasks. Pervasive computing allows users to access enterprise applications, synchronize their data and receive updates from the network. Mobile devices give user access to information regardless of time and location.
IBM has defined a set of pervasive computing products to satisfy user requirements. One product which allows the two described scenarios to be extended to a mobile application is IBM WebSphere Transcoding Publisher. This application acts as a transcoding service that can filter, enhance, convert or reformat content to enable access to data by different devices. Transcoding is a general concept, not bound to any markup languages, formats, or products. In the pervasive realm, transcoding has been found useful in adapting markup languages, in exchanging data between two systems, and in preserving bandwidth where limited. Transcoding can be done on binary data, such as images, as well as on text data, but most transcoding will be applied to text
Controller/View
streams. Transcoding can be a very powerful service that relieves the workload and difficulty of having a page designed in several versions, each specific for one client type. Also, it eliminates the necessity of writing interface code for
heterogeneous systems.
For example, a user is using a browser to access the welcome page of a specific Web site; the Web site answers with a respond page, the transcoder formats this respond page to suit the output to the browser. Another user is accessing the same Web site with a mobile phone; the Web site sends the same respond page to the transcoder and the transcoder formats the respond page to suit the mobile phone. The Web site does not need to have two versions of the welcome page to maintain, one version for a browser and the other version for a PDA. One page, for example in HTML or XML, is all the Web site needs to maintain. The rest of the formatting to a specific device or markup language is the responsibility of the transcoder. The Web site can also maintain different types of markup languages.
Editors
IBM WebSphere Transcoding Publisher contains two types of editors, the text editor and the image editor. Beyond that, IBM WebSphere Transcoding Publisher has a standard set of transcoders available to convert HTML documents and reformat images. The transcoder also has the function of caching the respond page. If the same page is requested again by another client, the Transcoding Publisher can retrieve that page from the cache and return it to the client without forwarding the request to the Web server again.
This powerful product brings about the following result for the two scenarios mentioned above: existing Web applications do not need to modify their current resources, because the transcoding part will be carried out in the transcoder; this is the only application that needs to be integrated into the existing system. New systems can still build the application as a usual Web application and integrate the transcoders into the system.
Chapter 9. Application design 143 Figure 9-12 WebSphere Transcoding Publisher components
The concept of transcoders and plug-ins inside IBM WebSphere Transcoding Publisher is based on the concept of Web Intermediaries which was discussed in 9.3.1, “Web Intermediaries” on page 134. It is built upon a transcoding framework which provides common services to the registered transcoders and plug-ins. The framework also supports transcoders written against the Web Intermediaries API or servlets written against the Java servlet API.
Architecture
IBM WebSphere Transcoding Publisher can run in three different modes. It can be deployed as a proxy, as a servlet filer, or as a set of JavaBeans. For more information about the runtime modes of WebSphere Transcoding Publisher, refer to Section 7.3, “WebSphere Transcoding Publisher considerations” on page 97.
Delivering a well-defined solution requires careful considerations in application design. There are many important key issues to be considered, such as the devices to be supported, the format of the data source, the developer’s skills, as well as flexibility, maintenance and performance considerations.
The mobile architecture that we will introduced will use IBM WebSphere Transcoding Publisher running as a proxy on a separate machine, because this provides the most flexible and high performance solution. The transcoder can also be easily clustered into a high availability environment. The performance will take an extra boost as well.
Transcoding framework
Knowledge of device, user, application or network preferences to control transforms
Readily available transformation plug-ins
Customer-provided transformation plug-ins
Figure 9-13 A mobile architecture
In this architecture, IBM WebSphere Transcoding Publisher is set up in front of the network path as a proxy. The function of a proxy inside the Internet or intranet is to cache responses and therefore reduce a repoll of each request to the data source. In the lab environment, there is no cache server set up for this purpose. If the user so wishes, he/she can choose to use a cache server. Another function of a proxy is to provide a single point of entry/exit to/from an internal network. A firewall can be placed between the client and the transcoder, and between the transcoder and the application server to ensure security. The application server and its servlet engine remain in the same chain of the network. What does the