For more than 10 years, webMethods ApplinX has been a well-established solution for mainframe integration and service enablement. Now with ApplinX 9.0, to be released end of June 2013, users with non-mainframe integration needs in the Web application area can also turn to ApplinX to service-enable their applications.
Issue 2, 2013 | Download PDF |
Customer-Driven Requirement
Software AG’s investment in Web page integration for non-mainframe users was inspired by discussions with some of our most important integration customers. In this article, we describe a real customer need for service-enabling HTML-based Web applications to enhance their customer support application. We use Software AG’s support Web application “Empower” as a proof of concept to demonstrate how to use the ApplinX Web page integration feature to implement a new process tool.
The Use Case Background Story
A company operating a call center decided to develop a process tool to improve their quality of service by better handling customer incidents. This new process tool consolidated customer information from multiple sources to help improve the customer experience. The project budget and schedule was defined by management before the project began. During the project planning phase, the IT department determined it wouldn’t be able to develop all the needed service interfaces required to view the necessary master data and information for the process tool on time and within budget because of the competing demands of other concurrent projects.
An emergency meeting was called to brainstorm alternatives. During the discussion, the fact was raised that all master data and information needed for the process tool was already available through browser-based intranet applications. That realization quickly led to the proposal to explore using ApplinX’s new Web page integration functionality.
With ApplinX licenses already in-hand, the company embarked on the project immediately. But because the company had no experience thus far with using the ApplinX Web page integration feature, they decided to run a Proof of Concept (POC).
Proof of Concept
The objective of the POC is to read the “Product Roadmap Schedules and Early Announcements” from the customer service application, Empower, for the products Natural and webMethods and provide that data as a service to be consumed by the process tool. Business users should be able to view this information on request. The service is to be developed and deployed by ApplinX.Creating a Service
To create a service with ApplinX, no coding is required. WebMethods ApplinX Designer can be used by just about any person with some understanding of Web technology and does not require additional training. There are only two simple steps to creating a service:
- Record the Web navigation
- Deploy the Web service
Record the Web navigation
The Web Procedure Recorder allows the ApplinX developer to easily create a Web procedure. The Web Procedure Recorder captures Web elements such as input fields (see Figure 1) and output fields and tables (see Figure 2) while recording the user navigating across the application. Figure 3 shows the result of the recording—the Web Procedure—in yellow.
FIGURE 1: Define input fields with the Web Procedure Recorder
FIGURE 2: Define output table with the Web Procedure Recorder
FIGURE 3: The Web procedure, highlighted in yellow
At runtime, the ApplinX Web procedure performs all necessary activities in the Web application such as typing text to input fields (e.g., EMAIL or password), reading output fields and navigating pages.
Recording this Web procedure took no more than five minutes (developing advanced error handling, if needed, was not included). The Web procedure was tested right after the recording, revealing the content of desired information as seen in Figure 4
FIGURE 4: Test the Web Procedure, Results
If the data format is not as desired, it can be mapped using standard ApplinX functions as shown in Figure 5.
FIGURE 5: Data Mapping
Deploy the Web service
To deploy the Web service, the ApplinX developer created the Procedure Group "ProductRoadmapSchedulesInformationService”. Then, using the mouse, the Web Procedure “ProductRoadmapSchedulesInformation” was dragged and dropped into the newly created Procedure Group shown in Figure 6.
FIGURE 6: Deploy the Web service
How ApplinX Works
ApplinX deciphers the Web page and finds elements using XPath (XML Path Language). XPath, defined by the World Wide Web Consortium (W3C), is a query language for selecting elements from an XML document. The XPath technology provides flexibility to locate a specific element using various XPaths. XPath can look for a specific HTML attribute such as name or ID, within the Web page or it can be a canonical XPath that provides the whole path, detailing the hierarchy of the tags which point to an element.
It is best practice to use an XPath that is based on a "solid" name or ID with as few levels of hierarchy as possible. The fewer levels of hierarchy, the more stable the XPath. This will help ensure Web procedures are stable, even if Web developers make design changes on the Web page.
If there is no name or ID, or if the name/ID is not generic enough (i.e., the value changes in different instances of the page), alternative XPaths should be considered. When recording a Web procedure to capture an element, ApplinX finds the most suitable XPath to locate the element at runtime. ApplinX will provide options that include various levels of hierarchy.
Conclusion
We foresee an increasing demand to integrate with HTML-based applications in the next few years, simply because the number of Web applications is ever increasing. Open source and commercial frameworks allow rapid development at reasonable costs. Browser use also has many benefits such as small footprints on client machines and no need for complex "roll out" procedures to deploy in large organizations as functionality is implemented on the server side.
With ApplinX 9.0 and the “SOA enablement” feature licensed, you can now service-enable a large number of HTML-based applications available on the Internet or customer Intranet in addition to your existing mainframe applications. The new ApplinX feature also allows you to exchange data between the mainframe and the Web application world bi-directionally.
If you’d like to get started with the new ApplinX functionality or just run a POC, we offer direct help from R&D starting July 2013.