Tuesday, February 24, 2009

WebFOCUS Metadata

A Google searcher from Bangalore came to my blog with the burning question, "Why doesn't WebFOCUS have centralized metadata?"

WebFOCUS stores its metadata layer on its Reporting Server, which can run on platforms such as Windows, Linux, zLinux, zOS, etc. But, BI is not limited to a single computer and database; it is more enterprise in nature.

A WebFOCUS Reporting Server can ask for data from other servers (typically called Remote Data Servers). This means that many WebFOCUS environments will have metadata residing on several different computers.

As an example, let's say that you have a WebFOCUS Reporting Server running on Windows. All of your web BI consumers land there first with their requests for reports, queries, analytics, and so forth. This Windows box might talk to standard database such as SQL Server, Essbase, and Oracle, so it has a metadata layer and adapters that can access those structures.

However, let's assume that your BI consumers also need data from Non-Stop SQL on a Tandem box and VSAM, Datacom, and Model 204 on the mainframe.

Those are not technologies that Windows would understand.

The solution is to run a WebFOCUS Remote Data Server on the Tandem box and another one on the mainframe. The Tandem server's metadata layer and adapter will understand Non-Stop SQL; the mainframe its files.

On the central Windows box, you will have what might seem like redundant metadata pointing to the Tandem and mainframe servers. In essence, the Windows technology does not know how to get the data, only who to ask for it.

You want Non-Stop SQL and VSAM and SQL Server in the same spreadsheet? No problem: "Hey, Tandem server, it's me Windows again! Pass back these columns from your tables. Use this selection rule, calculate this virtual column for me, and sort and sum it. As soon as I get the answer set from you, I will join it to the mainframe's VSAM file (let's see which of you guys is faster!)."

I admit, WebFOCUS metadata is a bit different from that of other BI products. For one thing, WebFOCUS keeps its metadata stored in flat files using comma-separated values (did you read that twice?). Yes, it's true but that implementation is also completely open and simple. It's fast. It's effective.

WebFOCUS has a variety of tools for generating and maintaining this metadata layer. You do not need to know anything about the underlying code.

If you want, however, you can dig into the nuts and bolts and even write your own metadata utilities. For example, I have created custom routines for generating WebFOCUS metadata from proprietary data dictionaries, COBOL copybooks, spreadsheets, and even from a digital version of a report where the client did not own the electronic metadata for a legacy packaged application. I have gone the other way as well, reading the WebFOCUS metadata as a source and automatically generating SQL load routines, web launch pages, and report logic.

So the answer to the person's question is, "WebFOCUS does have centralized metadata." If you have more questions, feel free to contact me.

Wednesday, February 11, 2009

Cognos and WebFOCUS

If you are evaluating Business Intelligence platforms, be sure to read a posting on my general BI software blog: How to Choose Between Cognos and WebFOCUS.

Tuesday, February 3, 2009

Preparing for FOCUS-to-WebFOCUS Conversions

If you are considering converting your FOCUS 4GL environment to the new web-based version, here are some things you need to know.

Many people want to understand the difference between FOCUS and WebFOCUS and come to my blog looking for a comparison between the two products, so let me start there.

Both are software products from Information Builders and both share a common 4GL processor. In fact, the vendor in recent years has been able to consolidate these two products into a single code base, which is fairly portable and independent of any particular operating system.

The FOCUS product was used both interactively and in batch. Online users could communicate with menus and screens for providing information or go directly to a command processor for simple ad-hoc requests. Programs could also be run using JCL or other batch control mechanism with parameters passed in or determined by the program itself.

There are two three broad components of the FOCUS 4GL, the main piece being a non-procedural language for reporting, graphing, analysis, and maintaining data. There is also a procedural scripting language (Dialogue Manager) that provides some logical control of the embedded non-procedural code, symbolic variable substitutions, and multi-step complex processes. These are critical to enabling WebFOCUS to perform complex, dynamically-generated web applications.

A third important component is the metadata and adapter layer, which hides the complexity of the underlying data structures, allowing developers and end users to write 4GL programs with minimal knowledge of the data.

Major Features of the Procedural Scripting (Dialogue Manager):
  • Symbolic variable substitutions (calculations, prompting, file I/O, etc.)
  • System variables (date, time, userid, platform, environment settings, etc.)
  • Calculations of temporary variables
  • GOTO branch controls and procedural labels (non-conditional as well as IF-THEN-ELSE conditional branching)
  • Embedded operating system commands
  • External file I/O
  • Green-screen interactive with the user (not functional in WebFOCUS)
  • Executing procedures (EXEC command and server-side code inclusions)

Major Features of the Non-Procedural Scripting (FOCUS 4GL):
  • Reports and output files (TABLE facility)
  • Graphs (GRAPH facility)
  • Joining files (JOIN facility)
  • Matching files (MATCH facility)
  • Database maintenance (MODIFY facility; non-screen features supported in WebFOCUS, otherwise replaced by MAINTAIN)
  • Statistical analysis (ANALYZE facility; was rarely used and not ported to WebFOCUS; recently R Stat support was added)
  • Environment settings (SET phrases)
  • Calculation of temporary columns (DEFINE and COMPUTE phrases)

FOCUS-to-WebFOCUS Conversion issues:
Despite the portable FOCUS 4GL that lies beneath the covers of WebFOCUS, there are still some considerable challenges to converting from legacy to web-based architectures. I have solved some of those problems for you by automating the process. Below are some conversion issues and their potential solutions.

1) Major architectural change (single technology stack to enterprise web stack)

Solution: architect a solution that minimizes change
Solution: for new WebFOCUS app path commands, automatically add to existing code

2) New end user environment

Solution: automatically convert existing 4GL programs for users; generate scripts for loading Managed Reporting Environment; provide user training

3) Persistent sessions not supported in web environment

Solution: analyze and determine how to replicate persistence (for example, loss of "global" variables)

4) Batch processing handled differently in web environment

Solution: replicate batch jobs using WebFOCUS ReportCaster scheduler/distribution product

5) Output report formats default to HTML, which does not respect original layout

Solution: automatically add stylesheets and PDF support

6) Dumb terminal green-screens not supported in WebFOCUS

Solution: for simple menus, convert to HTML
Solution: for simple data maintenance, convert to HTML and MODIFY
Solution: for complex data maintenance, convert to MAINTAIN

7) WebFOCUS eliminated some legacy FOCUS features (text editor, end-user wizards, type to screen, ANALYZE statistical facility, etc.)

Solution: analyze and develop work-around

8) New Graph engine

Solution: automatically add support for new graph rendering (third-party Java product)

9) If moving to new platform, multiple problems, including access to legacy data, embedded OS commands, file names, allocations, user-written subroutines, userids, printer ids, integrated third-party tools (e.g., SAS, SyncSort, OS utilities), etc.

Solution: analyze and automatically convert as much as possible

10) Organization typically wants to take advantage of new features quickly

Solution: automatically add some support during conversions (e.g., spreadsheets, dynamic launch pages to consolidate existing FOCUS code) -- in other words, get rid of the legacy product as quickly as possible by doing a straight replication, but try to give the business some new things in the process

Trying to manually convert FOCUS to WebFOCUS is just not a good approach. By utilizing a proven methodology and software toolkit for automating much of the manual effort, you will dramatically reduce the time, cost, skill-set requirements, and risk of doing the legacy replacement.

Be sure to read some of my other blogs on this topic.  A good place to start is here.

If you have questions, feel free to contact me.

You may also be interested in these articles:

About Me

My photo

I am a project-based software consultant, specializing in automating transitions from legacy reporting applications into modern BI/Analytics to leverage Social, Cloud, Mobile, Big Data, Visualizations, and Predictive Analytics using Information Builders' WebFOCUS. Based on scores of successful engagements, I have assembled proven Best Practice methodologies, software tools, and templates.

I have been blessed to work with innovators from firms such as: Ford, FedEx, Procter & Gamble, Nationwide, The Wendy's Company, The Kroger Co., JPMorgan Chase, MasterCard, Bank of America Merrill Lynch, Siemens, American Express, and others.

I was educated at Valparaiso University and the University of Cincinnati, where I graduated summa cum laude. In 1990, I joined Information Builders and for over a dozen years served in regional pre- and post-sales technical leadership roles. Also, for several years I led the US technical services teams within Cincom Systems' ERP software product group and the Midwest custom software services arm of Xerox.

Since 2007, I have provided enterprise BI services such as: strategic advice; architecture, design, and software application development of intelligence systems (interactive dashboards and mobile); data warehousing; and automated modernization of legacy reporting. My experience with BI products include WebFOCUS (vendor certified expert), R, SAP Business Objects (WebI, Crystal Reports), Tableau, and others.