Products
Downloads
Trial Version
EasyLM
XVT
XVT DSP
XVT DSC
XVT DSCNET/DSPNET
Sample Applications
Licensing
Maintenance
Support and Consulting
Training
Publications
Publications
"Build It once, Use It Everywhere"

Publications

Newsletters

There are no new newsletters at this time. Please check back later.

Preserving Software Investments with Providence Software Solutions XVT Product Suite

Download PDF version

PROBLEM - Over the last 15/20 years, Fortune 1000 companies have focused on standardizing their IT infrastructures for many reasons:

  • To reduce capital investments and maintenance costs needed by IT software and hardware solutions,
  • To reduce complexity of IT environments,
  • To improve the integration of applications and realize higher business benefits,
  • To reduce employee training costs, and
  • To manage IT employee skill set requirements in a strategic manner.

Such standardization efforts have resulted in significant investments in software development and the developments of many applications in C and C++; until Java, these programming languages were the de facto standards because of their compiled performance and their usage in building Windows & Unix kernels (broad acceptance). Organizations now have established very robust application portfolios that are used to solve daily problems and successfully address customer demands. Consider that as of today, most (> 70%) of the corporate data that is relied upon by organizations to conduct their business resides in legacy systems. Nine out of ten ATM transactions are handled by such systems, some of them written over 25 years ago. Clearly, given that legacy applications are able to address business needs, they are not going away any time soon. It is not uncommon for the maintenance of legacy applications to consume 75% of IT budgets.

There are many incentives to upgrade or replace existing systems, such as the reluctance of vendors to support their products beyond a couple of releases due to system interoperability issues and eroding knowledge base, thereby preventing the maintenance of legacy applications. The attractiveness of enjoying the latest technological breakthroughs or the need to integrate heterogeneous systems creates other incentives. Further adding to the equation, federal and state regulatory bodies mandate new compliance rulings that cannot be provided with existing systems; a good example would be the recent Sarbanes-Oxley regulation.

But it seems that the peace of mind that results from knowing that the business is running smoothly, even when obsolete and poor quality systems are used, is hard to resist; the tipping point is when it becomes more painful to continue doing business as usual than maintaining the status quo.

It is therefore not surprising that to access mission critical information, retain competitive edge in the context of changing business environments and deal with the constant evolution of the technological landscape, CIOs & CTOs are forced to consider the migration of applications to yet new platforms (Java, .NET, Linux). In doing so, they must contemplate large development costs, disruptions of business operations, change with regard to management issues, and possible negative impacts to customer satisfactions as new solutions get "ironed out"! If hesitancy is in order, it is justified - until you consider the low cost, low risk migration paths for C/C++ solutions provided by Providence Software Solutions.

INDUSTRY LANDSCAPE - Today, the development of software requires a significant level of commitment by requiring organizations to adopt specific development infrastructure processes that are tightly linked to particular vendor platforms or proprietary operating systems. This situation results from:

  • The availability on each platform of comprehensive development capabilities that support all aspects of development,
  • The complexity of development environments that require specialization, and
  • The difficulties in integrating disparate environments that increase project costs.

Although standardizing on a given platform provides significant benefits from an operational perspective, commercial developers limit their market opportunities, and large internal IT groups face colossal integration challenges due to the diversity of infrastructures that they have inherited, and the need to maintain "legacy" applications.

Technology executives are facing complex choices when selecting IT platforms: Java, Unix (HP, IBM, SUN), Linux (RedHat, SuSE), .NET (Microsoft) and OS/X (Mac).

Java - Java has become the de-facto standard for developing cross platform applications for the following reasons:

  • Creation of an industry consortium that is lead by Sun Microsystems and IBM;

  • Definition of a run time environment that is platform independent and well specified, allowing hardware vendors to port the run time environment to their platforms;

  • Availability of a large number of libraries, most of them in an open-source fashion;

  • Recent availability of automated translation tools which are very efficient at translating legacy Cobol / AS400 application code into Java.

If Java is now available on most hardware platforms, its "interpreted" approach suffers from performance drawbacks. The cost of rewriting applications, particularly non object-oriented applications written in C, are essentially the same as the costs associated with new developments, given that applications need to be reengineered and need to go through formal testing.

Unix - Because of a lack of standardization, Unix, which appeared ready for explosive growth at some point in time, has been reduced to serving limited application domains where numerical computations dominate.

Linux - Under the leadership of Sun & RedHat, the open source community has gained a tremendous amount of industry support (IBM, Dell) during the last 5 years. There are now many software development companies whose business model is centered on the exclusive usage of open source tools and libraries written in various languages (C, C++, Java, Python, Perl, etc.). Also, major corporations are also starting to strategically deploy Linux internally for the following reasons:

  • Robustness of applications, particularly for network / web applications;
  • Low licensing fees;
  • Availability of experienced resources in the marketplace.

Usually, applications originally written for the Unix world can be ported to Linux without too much effort, which explains the growth of Linux at the expense of Unix.

.NET - Several years ago, Microsoft responded to Java's market acceptance with its own similar development .NET platform. The fundamental difference between Java and .NET is the fact that .NET targets the WinTel platform exclusively (which enjoys market leadership) but supports the seamless integration of applications written in a variety of languages (about 20+ languages are now available). Clearly, for applications developed in the Windows environment, the .NET framework provides an unprecedented opportunity to integrate disparate applications and enable co-development in a most productive manner. Early results have confirmed 20% to 40% productivity improvements, in part due to the availability of a single source extensive programming library.

The language of choice in .NET is C# which combines the best features of many existing languages and provides direct support for modern application design. .NET presents some key benefits:

  • Ability to integrate previously interfaced or standalone applications;
  • Reduced integration costs;
  • Ability to extend the life of legacy code by porting it to the .NET platform in their native language.

Although the .NET platform is in its infancy, it is growing steadily and rapidly.

Mac - Although the Mac has become a niche market and is using a variant of the Unix operating system, it has a dedicated, loyal and vocal following that swears by its products. The Mac has been leading the way in niche industries, such as document composing for media companies, where solution providers have invested large amounts of capital. For some development organizations, being able to provide applications on the Mac is the key factor in establishing their leadership.

LEGACY MIGRATION CHALLENGES - Although structurally similar programming languages and libraries are used on all these environments, developing applications that run on all platforms or migrating existing applications from one platform to another are complex, challenging and costly tasks that few organizations undertake on their own. The challenges that must be addressed include:

  • Older applications that did not embody structurally sound object-oriented and 3-tier (presentation, business and data) layered architectures: this forces re-engineering of applications;
  • Business knowledge that is no longer available as people have moved on to new and better projects: this renders the understanding of the business logic both time consuming and difficult, and leads to new code with incorrect functionality and poor quality;
  • Original development tools and documentation that are no longer supported or available: this makes the analysis and enhancement of legacy programs difficult at best;
  • Old functionality which does not support new business models that are desired (such as on-line functionality).

From a more technical point of view, the porting of applications from one platform to another presents additional challenges:

  • Functionality coverage of each platform: Any new functionality that is not available in one platform must be re-implemented in the new one;
  • Native look-and-feel: The new application should look the same as other applications to foster user acceptance;
  • Native Performance: The new application should run as fast as other native applications;
  • Extensibility: Any new platform should support the addition of third-party add-ons in a seamless fashion.

OBJECTIVES - Consequently, when migrating legacy applications, the following business objectives are usually sought:

  • Achieving a safe, risk-free rapid transition;
  • Preserving IT investments and assets through the re-use of business logic;
  • Deployment on the latest computer platforms and development environments;
  • Integration with new applications;
  • Achieving compliance with new industry standards;
  • Transition to an open platform.

With the proper technology and partner, these objectives can be achieved.

SOLUTION - Providence Software Solutions provides a way to migrate C and C++ applications to the latest platforms with minimal risk and low cost using its XVT product suite.

XVT Development Solutions combine a visual development environment with an extensible C or C++ Application Program Interface (API). General features include:

  • Visual programming to foster quick learning, ease of use and faster development;
  • Rapid Application Development (RAD) and prototyping;
  • Single source code portability across all supported platforms;
  • An API that calls native windowing system functionality so applications are both portable and native;
  • Native GUI look and feel;
  • A wide selection of reusable GUI objects;
  • High performance: The thin interface layer between the XVT API calls and native libraries results in no degradation of performance;
  • The ability to incorporate custom controls to take advantage of company existing assets (open architecture).

XVT's upcoming releases will extend the existing functionality as follows:

  • Java client for client/server deployment;
  • Platform independent database support;
  • Java development framework that supports the development of business logic in Java but takes advantage of native GUI calls to provide flexibility, platform independence and superior performance;
  • Support for mobile devices (Windows CE based).

The migration process is shown in the figure below. For applications that were not written using the XVT product libraries, application migration involves:

  • Maintaining existing and critical business logic (preservation of past investments);
  • Replacing the visualization logic with XVT library calls to enable the application to run in a standalone or a client/server structure on any leading platform;
  • Addition of new functional enhancements.

For existing XVT applications, the migration process involves:

  • Upgrading the XVT framework to the latest release;
  • Porting the application to the latest release (usually a few weeks of effort);
  • Addition of new functional enhancements.

A key point is to understand that when the application has been developed and tested on the development platform, the deployment of that application on any supported platform is done through simple recompilation. Because the XVT product is very robust, organizations usually find that the QA process on deployment platforms is minimal.

BENEFITS - The benefits of using XVT products to migrate your applications are numerous and include:

  • Preservation of application development investments: the effort to port your application is minimal and the proven business logic remains intact
  • Broader market access: with our supported platforms, you are able to reach 80% of the market;
  • Higher revenues and profits: once your application runs on one platform, simply port it to other platforms to increase revenues and significantly increase your profits;
  • Quick time to market: XVT is the most robust tool on the market (it does what it is supposed to do exceptionally well); this enables you to focus on the customer problem and deliver working applications quickly to your customers;
  • Lower development costs: your development efforts are spread across all your deployment platforms; you do not have to rewrite applications for other platforms;
  • Lower knowledge requirements: as a developer you only need to be an expert on one platform - the one you use to develop your application;
  • Higher productivity: you choose the development platform that you know best and maximize your throughput.

In addition, Providence Software experts are available to help companies by providing training, consulting, maintenance, and support services.

In some cases the benefits go beyond original expectations. In one instance, one XVT customer spent $150K to port its application when a new development would have cost $1M. In investment terms, this represents almost one order of magnitude less than what would have been required!

Many XVT customers are using applications developed over ten years ago. By doing so, they have reduced their cost of ownership to the point where XVT applications generate profits that are used to fund new developments. With superior Return On Investment (ROI), lower Total Cost Of Ownership (TCO) and business success, XVT customers are able to look at the complex landscape with serenity.

GETTING HELP - If you have either XVT applications or straight C/C++ applications that provide value to your organization, contact PSSI to find out how to leverage your application portfolio and provide better solutions to your customers at far lower costs than you expect.

To contact Providence Software Solutions, send an e-mail to xvt-sales@providencesoftware.com, or call (919)854-1800.

Providence Software Solutions, Inc. - 919-854-1800