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.