BLOG

Welcome to the new Gizmox Transposition blog. We will be using this space to share perspectives from the Gizmox team, comment on industry happenings, discuss how to get the most out of Gizmox products, and generally check in. User feedback is greatly appreciated and we will do our best to respond promptly. Hope you enjoy…

How to answer the question: Where do Software patents come from?

(and in particular, could they support a claim for a sole supplier status in bids?)
(and in particular, could they support a claim for a sole supplier status in bids?)

mom and child


First there was an idea.  Even before that there was a need.  Some of us started to see a growing need for modernizing enterprise scale desktop applications based on the RAD tools of the 1990s such as VB6 and PowerBuilder.  These applications may be performing core business tasks in Insurance, government finance or manufacturing, but compared to current web based, mobile ready applications they were starting to show their age.

We can go even further back, when legacy application modernization had a very clear meaning – migrating mainframe applications, usually to open systems and with modern databases.  But legacy applications are a moving target and now we were faced with re-architecting monolithic or Client/Server desktop applications to a completely different architecture – that of a modern web application.



And then they start reading…



(Semantic code reading & DOM creation is unique…)
kids

Guy Peled, CTO and founder here at Gizmox Transposition has already described in detail the unique approach to application modernization  he has chosen which can be summed up as Semantic Code Understanding. 

Semantic Code Understanding uses compiler technology to let our tool build an internal representation of the source application which in turn allows the tool to re-create a new well architected version of the application on an entirely different platform while retaining the original functionality.  See here and here for a more detailed discussion of the actual process.

So Gizmox built a migration tool  based on Semantic Code Understanding and started to perform migrations with it.  This was already quite unique, and the quality of the re-architected applications was quite appealing.  But we saw that unsurprisingly, when delivering a project, the tool users still had ways to improve the migrated applications.  So the next step was adding an IDE which will not only use Semantic Code Understanding to re-architect a legacy application, it will harness the power of Semantic Code Understanding to interactively guide, enhance and safe guard the work of the architect performing the job.

And this is how Gizmox Transposition Studio came to be – a suite of architect tools that harness the power of advanced algorithms to digitally re-write and re-architect a legacy desktop application to a modern web or cloud based applications with full support for mobile experiences.  All of this while keeping the decades long investment in business rules and logic which are the valuable IP our clients need to keep using for application modernization.

Then graduation… how exciting!

(the claims that support sole supplier status for application modernization)


ScreenHunter 124 Sep. 13 17.25


And, the unique claims


This combination has proven to be so unique we just received a USA patent – quite an achievement given the difficulty to patent software processes.  The unique tool features result in the following advantages of the Gizmox Transposition process:

  • Semantic code understanding that allows re writing to the target platform and framework with faithful functional equivalence, and a best practices based architecture.
  • Code quality and maintainability resulting from the retention of the original code structure and business objects (unlike the completely new code which is the result of a re-write).
  • The opportunity to apply custom architectural changes such as adding layers or services, with the confidence and power of the tool based process (block operations).
  • The possibility of revising and improving security in an automatic, repeatable and reliable way – essential especially if migrating to the web.
  • Minimal code freeze requirement allowing continued development until several weeks before the start of QA – a result of the mapping rules mechanism.
  • Automatic translation of dynamically constructed SQL to parameterized LINQ – uniquely made possible through semantic understanding.
  • Last in the list but very significant - minimal requirement on the client’s resources, mostly because of the elimination of the re-specification phase and the reduction in re-training because of functional equivalence.
mom_and_child.jpg

Congrats, moving off client / server to the Web, Mobile and Cloud?

But What About Application and Network Security?!

But What About Application and Network Security?!

danger
Application and network security have become prominent concerns for IT organizations, large and small.  The threat of data loss, of business and customer data falling into the wrong hands, and of disruption to business processes caused by malicious attacks are all center stage in IT priorities.

Mind the gaps! 
First.sketchFigure 1: There is a lot consider where security is concerned...


In the context of application modernization, security concerns can often pose a risk factor delaying or complicating the decision to move desktop based client server applications to modern platforms, especially to the web or cloud.  Securing what are now considered to be traditional applications was much easier before applications started to be delivered over public networks using general purpose browsers.  Yet in a recent publication, Gartner estimates that “Through 2020, 99% of vulnerabilities exploited will continue to be ones known by security and IT professionals for at least one year”.  In other words, almost all of harmful attacks have been and will continue to be preventable if up-to-date best practices are employed.

Risk or opportunity?

So why is security perceived as a risk factor instead of an opportunity when considering the modernization of a legacy application?  After all, getting rid of older operating systems and often un-supported platforms as VB6, PowerBuilder and WinForms should have clear security related benefits.  The answer is that when organizations consider modernization, they usually think in terms of re-development, or of a manual re-write.  The manual re-write process is a lengthy, risky and resource intensive undertaking.  Security standards and best practices are usually added at the end of the re-write process, employing static analysis tools which point to vulnerabilities and require very precise across the board modifications to the new application, as well a whole separate testing cycle as a result.

What if there was …

What if there was a process to modernize an application, faithfully capture all the business rules for which the organization has invested major development efforts over decades, and produce a modern application that has up-to-the minute security best practices baked in?  This is really only possible if the re-write was done by a machine that will re-architect and re-write the application for the new platform.      

Well, there is!

Gizmox Transposition is the leader in machine based modernization of legacy desktop based applications.  The company’s innovative & patent protected tech produces migrated applications that have best-practices-based security procedures and features inherently built in to the code base, as opposed to ‘bolted on’ security wrappers that are much more vulnerable to attacks.

Gizmox Transposition’s migration technology is based on complete code understanding of the source application and then a re-architecting to a new solution on a target platform - desktop, web and cloud, including mobile experiences with a unified codebase.  The process is based on reading in the source application, automatically building an intermediate representation of the source code in Transposition Studio, creating refactoring and mapping rules for all source objects (both automatically and by the architect driving the tool), and then automatically applying those rules to create a re-architected application with all business rules intact and a UI that is appropriately equivalent to the legacy UI, depending on the target platform.

 And, in more detail

Several features of the migrated application on the new platform are specifically in answer to security concerns inherent to the web or cloud environments.  These include:

 

  • SQL injection resistance

All legacy SQL statements are migrated to parameterized ADO.NET or Entity Framework commands.  Any string manipulation that may have existed in the legacy implementation is automatically rewritten as command operations, removing the threat malicious input attacks.
2nd.sketchFigure 2: The dreaded SQL injection exploit

  • All services are authenticated at all times. 

This is achieved by automatically creating the required code and attribute decoration so developer error can never be responsible for vulnerable code to be created.  Identity authentication can be generated automatically to connect with standard (e.g. LDAP) or proprietary identity systems, using custom mapping rules during the migration process.

 

  • Similarly, Identity Spoofing is thwarted

By including authentication on all services, and creating corresponding secure code on the client, during the automatic code creation of the re-architected application.

 

  • Cross Site Scripting prevention

Requires escaping all user inputs, as well as validating all inputs.  Because applications may use different browsers and client frameworks, automatic static analysis will not always find these vulnerabilities, and developers are hard pressed to close all the cracks.  The automatic code generation of Gizmox Transposition is the perfect solution here too.

3rd.sketchFigure 3: A cross site scripting attack 

  • Double Input Validation

Because any data that is entered or influenced by application users should be untrusted, the migrated application will validate everything twice, both on the client (mostly for convenience and the elimination of unnecessary roundtrips) and on the server, for security as well for data integrity.  It is important to note that not only data directly entered by users is validated but also information in HTTP headers, cookies, GET and PUT parameters including hidden fields, which can all be the source of vulnerabilities.
4th.sketchFigure 4: If data is not validated...

  • Data protection

 Gizmox Transposition has two complementary approaches for data protection.  For ASP.NET MVC applications, the VisualTree layer limits to a minimum both data being transmitted between browser and server and code running and visible on the client.  Encryption can be added automatically to protect especially sensitive information.

  • Standard Logging

 Application logging should not be an afterthought or limited to debugging and troubleshooting.  Gizmox Transposition automatically includes logging for all or specific activities, for monitoring, intrusion detection, compliance verification and auditing purposes.  As the migrated application is the result of automatic code generation, rules can be written at varying granularities to automatically add logging at many levels.

 

  • Error handling & exceptions

Several attack methods rely heavily on causing exceptions, stack overflows etc.  The challenge with applications migrated from legacy frameworks such as VB6 or PowerBuilder is that exception handling in those framework is non-standard and in many cases not adherent to best practices.  Translating business logic which includes such error handling to modern languages such as C# or Java may cause one or both of the following – the business logic will not be reproduced faithfully in the migrated application, and some errors will not be handled by the migrated code, causing potential exceptions to be introduced to the migrated code.  Gizmox Transposition automatically translates legacy error handling patterns to precise and secure patterns in the target language, thus eliminating this potential vulnerability from being introduced. 

An additional challenge with error handling on migrated legacy applications is that often, critical parts of the application have simply not been correctly protected from possible exceptions.  Gizmox Transposition allows the automatic addition of standard error handling and logging, in vulnerable areas of the application such as I/O.


Or in short, the new-gen practice: secure while modernizing!   


In summary, probably the most unique security related feature of a Gizmox Transposition migrated application is that all the above is not added after the fact, or ‘bolted on’ to the application as a result of a vulnerability audit done on the application after it is migrated or written from scratch.  All the previous points are an integral part of the code generation process with the added benefit of the process being both automatic and configurable so specific practices, standard or proprietary will be implemented across the board, with the confidence that only a machine based process can provide.
danger.jpg

Thank you for asking – yes, this is how digital transformation tools differ!

People keep asking us – so, what is the difference? Can you answer this question without diving too deep into the technology?  Will you please summarize what makes you stand out of the crowd into say, a page or two?
this is how digital transformation tools differWell here is what I got from under my pen… 

Who should care?

Anyone who answers yes to at least one of the following questions:

  • Does your organization/unit rely on core business desktop applications?
  • Were they written with the RAD systems of the 1990's, say – VB6, PowerBuilder, or desktop Java or .NET etc.?
  • Are you aware of their costs? Maintenance burdens? Are they blocking innovation and holding your organization back? Are you aware of the "lost-opportunity" cost?
  • Do your users complain about the user experience those systems provide?
  • Does the vendor no longer support them? Do they not have good web or cloud versions? Are they nearing their end of life?
  • Are they badly integrated with the new platforms – or not at all?
 

Why should you care?



Because you should be concerned with the wellbeing of your organization, right? After all it is your professional prestige on the line, isn't it? Whether you like it or not pretty soon you will find out that like the dinosaurs at the time, your organization is at risk of losing grounds, your competition is ahead.  Mind you, history is not as forgiving: "Since 2000, 52% of the companies in the Fortune 500 have either gone bankrupt, been ac­quired, ceased to exist, or dropped out of the List".

 

What are the concerns?



  • End of vendor support is a risk, most probably a regulation breach and a big headache, right?
  • Shortage of experienced programmers forces you to pay more and more, if at all possible to find? 
  • Your users, customers and partners increasingly complain and argue they need up-to-date, the today so-common user experience to stay relevant?  They want the fast, real time experience like web browser, opening up to mobile and cloud?
  • And possibly, just possibly there is a requirement from your peers and management for far more efficient IT?

Is manual rewrite an option?


Ummm… although those old good systems will have to go through some process of updating by rewrite and reengineering, you should ask yourself! 

  • Do you really know how to extract their business logic?
  • How would you select the newest platform and best language for your organization?
  • If manual rewrite - how exactly are you going to do it without documentation, the programmers who wrote the application and without knowing the business logic of those systems? Who really knows what and how the system does what it does today? Who has the full structure of the business rules embodied in this bunch of code? in short you may get stuck before you even start.
  • Can you really spare the resources, lead and take the responsibility for the intensive and risky work of manual rewrite?  
 

Soooo?

  • Enter this new patented Automated Rewrite technology….
The new patented Complete Code Understanding technology automatically builds a full intermediate representation of the source (the legacy) application from which it can re-create and generate the original business functionality on a new platform and usually in a new language.


  • The first question you might be asking – does it deliver a high-quality, standratly maintainable application?
Yes, the target application will follow best practices both in architecture and in code quality. Because the target application is generated, not translated, the Automated Rewrite is able to incorporate the Microsoft static analysis standards for example, as well as MVC or MVVM architectures.


  • A concern we often hear – will the new application be functionally equivalent?
Yes, because the new application is generated from a precise internal representation of the source functionality, and is based on additional patented advances in virtual compilation, the re-architected system will strictly adhere to the existing business logic. In fact, Gizmox will use a current test suite if it exists to validate the modernization.


  • Those who know something about the limitations of the automatic migration tools often ask – is the modernized application customizable?
Yes – in addition to the powerful code understanding and virtual compilation engines, the Automated Rewrite Studio includes an IDE in which extensive customization is possible, for everything from Cloud (PaaS) backend, through the UI to creating web services from existing code blocks.
 

What am I to gain from all this?



Lots. Lots of fame by leading your organization to really benefit from:

  • Reviving and reusing core business client/server applications fast and efficiently with a new life on the web/cloud. The modernized application will include standard ways to add mobile experiences and a well architected, standards-based and maintainable code base – all without the cost and risk of a re-specification effort and manual rewrite. 
  • Migration of enterprise scale applications written in VB6, PowerBuilder, desktop .Net Java and others to modern web applications on ASP.Net, Java and/or Angular. VB6 and PowerBuilder can also be modernized to .Net desktop applications.
  • A full-service modernization project, or we can work with partners and customers to provide a ready-for-production modernized application. 
Thank you for asking – yes, this is how digital transformation tools differ!

Automated Rewrite

Finally, an Application Modernization Solution That Produces the Code Quality and Maintainability You Want

 

Finally, an Application Modernization Solution That Produces the Code Quality and Maintainability You Want

robo

Gizmox Transposition provides a patented enterprise-level solution for modernizing enterprise-level applications to the latest platforms and operating systems, such as web, cloud, and mobile. Applications which were rewritten by our automated, fast, reliable, and low-risk solution are currently being usedby Fortune 500 companies including financial organizations, health care institutions, insurance companies, and ISVs.

The Need for Modernization


As technology advances, web, cloud, and mobile compatibility is becoming more important to remaining relevant in a competitive market.

Companies that do not modernize face:

  • Rising maintenance challenges and excessive costs

 

  • Losing business opportunities

 

  • A decline in customer loyalty due to deteriorating user experience

 

  • Security vulnerabilities and malfunctions due to lack of vendor attention and support

Modernization is crucial to keep up with the latest technological benefits and to remaining one step ahead of the competition.

Modernization Challenges



While the need for modernization is clear, the solutions are not as straightforward, and companies face many challenges in a process that can be time consuming, costly, and risky. Current methods include:

  •   Manual Rewrite: Expensive and very risky every time it is used. Companies need to reverse engineer existing applications to be able to identify undocumented business logic, which is a big challenge.



  • Automatic Tools: While this is a much cheaper and faster solution than manually rewriting the code, it produces low-quality code that is hard to maintain and extend.

 

  • Off-the-Shelf Software: In most cases, this method can't really replace the homegrown specific business logic, and customization, if at all possible, is very expensive. 

 

  • Virtualization: Virtualization refers to creating a virtual environment that is compatible with new platforms, and run the application there, but it doesn’t solve the legacy obsolete code and architect challenge.   

 

Preserving the application's proven business logic. All the rest is upgradeable



Gizmox's automated rewrite solution supports the migration of legacy applications to modern platforms while preserving the application's proven business logic. All the rest is upgradeable: new target optimized components, code, user interface, and application architecture. Our customers benefit from the enhanced performance, scalability, security, and mobility of using modern platforms while limiting the risk associated with migrating a mission-critical application. Our patented approach has proven itself time and time again as the best solution to bringing business applications up to date with the latest cloud, web, and mobile platforms, systems, and technologies.
robo

Significant threat comes from newer, more aggressive, better fit and digitally aligned start-ups or digitally transformed competitors!

"Significant threat comes from newer, more aggressive and digitally aligned start-ups" says Tim Sandle in an article in Digital journal. In the article Sandle explains how CEOs of large and established organizations realize the threats from new innovative startups or digitally aligned and transformed organizations, but also expresses their dilemma of how to compete in such a dynamic environment.
"Significant threat comes from newer, more aggressive and digitally aligned start-ups" says Tim Sandle in an article in Digital journal. In the article Sandle explains how CEOs of large and established organizations realize the threats from new innovative startups or digitally aligned and transformed organizations, but also expresses their dilemma of how to compete in such a dynamic environment. 

To some extent this was the dilemma of the dinosaurs back then?

Significant threat comes from digitally transformed competitors

 Given the emerging competition from digitally-ready startups or digitally transformed companies, the question is what should large established companies do to fight back, survive and protect their market and customers?

New survey conducted by KMPG sheds more light on the evolving situation: "KPMG asked more than 100 insurance CEOs about their plans and concerns over the next few years, and what we heard reveals some surprising insights. This report highlights the top-level findings and how insurance CEOs will need to pick up the pace of transformation and innovation if they hope to remain competitive in this rapidly-evolving market."

 

Start where it starts, the dinosaurs! Legacy desktop applications like Visual Basic, PowerBuilder, Delphi, Older .NET, Java and alike are your dinosaurs!


You are asking yourself – how come? What have these oldies got to do with the threats on insurance giants?

Recent survey report from University of Surrey explains:

“Although many core systems have become efficient and stable over the many decades of their existence (dating back in many cases to the 1970s and 1980s), they are now seen as a key obstacle in the rapid evolution to a fully integrated digital business. A senior automotive executive expressed the problem clearly in his statement ‘software is the new rust’.”

Those good old friends of the past, which in many cases still carry the IP and heavy loads in many of the large organizations, are also your IT's most bitter enemy. Legacy holds your organization back from innovating at the same pace as your new competitors that do not have to carry Legacy on their back. Legacy means "cost of living ", or rather keeping-alive is ever raising: You can't find programmers to maintain them; they will not integrate with new systems or run on new infrastructure like cloud or web; they pose a huge security threat – which most regulated organizations cannot bear; they provide a poor user experience; they will not support real time interactions – and that is only the tip of the iceberg. Bottom line: they drain your blood in a much higher pace than you may think. They carry hidden costs like loss of business opportunities which you might not even be aware to.  Pay attention to the way this Harvard business review describes the legacy situation as "the death grip of legacy technologies".

 

Google, Apple and Amazon threats are good examples


Legacy systems are one of the biggest barriers keeping banks from imitating the digital experiences provided by the likes of Apple, Google, and Amazon. These companies deliver more personalized services faster than banks can, and the competition among them means they have to constantly refine those experiences and deliver them more quickly. That competition is driving the digital world in a direction of real-time, anywhere access to services, data, and analytics for enterprises and customers.

Could the legacy like desktop applications be an opportunity instead of a dinosaurs?


The answer is not so simple. On one hand, the desktop applications like Visual Basic, PowerBuilder, Dot.NET and Java are the most invested software assets in the organization and probably will continue to be so for many years to come. Often the legacy desktop application is also the IP of the organization. On the other hand, what are the options to convert legacy to run as a new open standard application that runs on cloud or web, provides modern user experience and multiple device accessibility?

Up to now your options were limited. We had discussed some of the options in in this blog post. But there are new innovations, some are still evolving, gaining traction and their field experience as we speak.

 

One of the innovations is GizmoxTS, a new Automated Rewrite solution


It is a fast, efficient, machine-based Automated Rewrite solution that might save an organization tons of time and resources in transforming desktop applications to Web, Cloud or Mobile and help them protect their market in an ever evolving space.  

What is the innovation?

The innovation is based on 3 main pillars, each is a breakthrough in its space:   

The holistic approach, a breakthrough in the way desktop applications are being analyzed and assessed before being modernized:

Based on unique patented algorithms for semantic code understanding, the legacy desktop application is read and holistically represented in the tool. Unlike with the traditional ‘line by line’ processors of yesterday, the holistic approach allows re-architecting to a new platform or framework, while preserving the semantics (business rules, data relationships and flow and UI element functionality). One important benefit of the holistically understanding of the desktop application is that it removes the need to reverse engineer the desktop application’s business functionality, thus considerably reducing the cost, duration and especially the risk of the modernization effort. The semantically explicit internal representation of the desktop application serves as the basis for the machine-driven process to automatically perform a large proportion of the re-architecting much of what was manually handled till now.  Through a process of virtual continuous compilation, the software guides the user – in most cases a software architect – through completing, refining and modifying the migrated application.

The unique IDE, a set of software architect tools that allow complete customizability:

The IDE is similar to the Visual Studio IDE, but powered by the semantic understanding and continuous compilation engines. Virtual continuous compilation allows the user in most cases a software architect, to be guided in refactoring, mapping, or wider ranging re-architecting such as breaking the application into layers and actions they still need to perform, through suggestions and comments.  Even more remarkably, it shows the results of those changes directly to the user, without the need to complete the migration – including error messages and warnings that further guide the user on the path to a well-written and architected, optimized and modernized application. An important task performed in the IDE is adding standard or custom security software, identification and authorization to the modernized application, so that these extremely important parts of a modern application are not added as an afterthought to the end product.

The production-ready delivery, all you have to do is accept the new modernized application and put it to work:

The application re-assembly and QA are integral parts of the GizmoxTS process. We start with the source code of the desktop application and we deliver the ready-to-deploy code of a modern, secure and tested application on your chosen platform. The end-to-end process has a very low requirement for client personnel during most phases and does not include a post migration modification phase – we deliver to production.
Significant threat comes from newer, more aggressive, better fit and digitally aligned start-ups or digitally transformed competitors!

Are you digital transforming or are you giving up to competition?

This doesn't seem to be the question anymore. But just in case you were too busy to read or hear what is going on these days, here is a short reminder: Today every part of the business – whether internal or external facing – is subject to new user experience expectations.

Your competitors are on it!
Are you digital transforming or are you giving up to competition


This doesn't seem to be the question anymore. But just in case you were too busy to read or hear what is going on these days, here is a short reminder: Today every part of the business – whether internal or external facing – is subject to new user experience expectations.

Every business has the need and the potential to be a digital business. The modern technological era sets a growing pace of real time response, fast and effective internal and external interactions and numbers of smart, connected devices from phones to cars to wearable tech are ever growing. And as the pace is growing, companies that quickly deliver digitally upgraded software assets or services, interact with real time data, reap data from processes or market interactions, and use insights to rapidly optimize their internal processes and value chain – are gaining competitive advantage.

Businesses that digitally transform will be able to react faster, make processes more efficient, connect more closely with partners and customers, speed up the pace of innovation and, as a result, claim a greater share of market and profit in their sectors.

Today digitally transformed companies, especially cloud based services, are gaining an edge; tomorrow, only digital businesses will survive.

 

Your legacy desktop is a major pain!



Companies and their CIOs today are facing a serious challenge.  Legacy IT infrastructure and desktop applications are a constraint as CIOs look to start on digital transformation process. In fact, researches show that this might be a major roadblock on the way to digital transformation and the adaption of new technologies.

Unlike the digital natives, organizations born before the Internet typically don't have the luxury of starting from scratch with their IT infrastructures and desktop applications. Their enterprises usually are cluttered with older, transaction-based systems and applications that are infeasible or impractical to rip out because they still serve mission-critical business processes and reflect substantial investment in money and skills over the course of years. Many companies struggle with the resulting conundrum: How can they deliver on a digital transformation blueprint when legacy systems and desktop applications continue to do so much of the heavy lifting in the enterprise?

Success in addressing this legacy landscape is crucial for companies that want to be more agile competitors in today's ultra-fast-paced market. It is not only your pain, but you should push to overcome your most painful piece! 

According to Gartner, global businesses will spend $3.5 trillion on IT – $1.3 trillion of which will go toward enterprise software and IT services. Unfortunately, much of that software and services spend is dedicated to just keeping the lights on — maintaining existing enterprise applications that run the business. That's a lot of money just to maintain the status quo.

That's why moving legacy applications onto a modern infrastructure, such as cloud, holds great promise for businesses that want to reduce IT spending and convert the savings into a competitive advantage. Modernizing makes sense, if you do it right and know how to avoid the pitfalls.

 

The modernization conundrum


Many IT organizations and DevOps teams have embarked on application modernization projects. The problem is that these projects are taking too long and creating vendor lock-in. Organizations are forced to choose a single cloud or container vendor, which can lead to unexpected (and unplanned) price increases down the road.

Modernizing legacy versions of applications such as Visual Basic, Power Builder, Oracle forms, Older Java versions etc. is a hard work, since they and their custom-built brethren were often designed as single, unbreakable monoliths. The applications – including associated data, security, and networking configurations – are tightly coupled with the underlying infrastructure. This tight coupling means it's difficult to upgrade components of an application individually. Even small updates trigger a long, slow regression-testing process that involves setting up a near-production testing environment, along with the appropriate data, configurations, etc. This process can be resources consuming, even for the smallest changes.

Applications at larger enterprises also tend to live in silos. At a bank, for instance, the retail business unit may have legacy desktop applications installed on completely different infrastructure than a commercial business unit running the same applications. This compounds the testing problem but also makes it difficult for IT to consolidate and optimize its infrastructure budget for platforms that offer the best combination of speed, agility, and cost. Even when applications are deployed in cloud environments, CIOs are wary of vendor lock-in and the specter of unexpected, unplanned price increases.

Finally, managing a diverse portfolio of legacy applications can be challenging for the IT operations team because the tools available to manage applications are either infrastructure-specific (e.g., older versions of Windows) or application-specific (e.g., Visual Basic, PowerBuilder etc). Most IT operations teams are quickly overwhelmed with the scope and quantity of tools they must master – not to mention the challenge of managing multiple vendor contracts, all with different pricing, terms, and upgrade schedules. It's no wonder that CIOs often complain about “tool fatigue” and the hard integration work it takes to weave all these point products together into a cohesive application delivery process.

To overcome these challenges, organizations must change the way they think about modernizing legacy applications.

These five ideas that could help:

 

1) Break down the monolith


Learn and analyze your legacy desktop applications. Create a good understanding of what the application looks like—comprehensively, holistically. Analyze every individual piece of that application: the components, functionality, dependencies like network configurations, the storage configurations, the servers, the organization they will use, and the target – how the application will use modern standard communication, deploy on the new servers etc.

Analyze all of the networking, connections and dependency between the individual components. Deconstruct that map into its different building blocks, functionalities and configurations. Breaking down the monolith into its individual working parts is the only way to reengineer it into the new modernized application.

Sounds impossible to do manually without advanced tooling? That is probably right. In most cases there is no good documentation, you will have to dig deep into the archeological layers of the application without much help from the developers who wrote the application because they have moved on. Are there any tools to help you?

You will be happy to hear – there are new tools. One of them is GizmoxTS analyzer .

2) Unshackle applications from infrastructure


Enterprise applications must be abstracted and separated from any custom legacy dependency on underlying infrastructure – in most cases broken into N- layers to fit the new modern platforms and for maintenance and extension purposes. 

The application should be reengineered to integrate easily with modern middleware, sources of data and the network and security configurations. By transforming the dependencies of an application into open standard that can run on new modern platforms, it's possible to then deploy the application to the new platforms without changing a single line of code.

Good target planning allows you to rebuild the application to achieve complete portability between open standard platforms. It's only through complete portability between open standard environments, cloud included, storage options, and servers that IT organizations will break vendor lock-in and gain the flexibility required to move their applications to vendors that offer the best combination of price, performance, reliability, and features.

Are there tools that can help you reengineer your application to run natively on open standard platforms? Absolutely – Here is one of them.

3) Build security into your modernized application



Application security should not be tacked on after deployment. Doing so slows down continuous delivery processes such as DevOps and creates friction between the DevOps and the security teams. Instead, consider security an essential component of your overall application reengineering and treat it the same as any other component, by baking it into the new modernized application from the start. In this way, organizations can protect transformed legacy applications the instant they are deployed, regardless of the infrastructure used.


4) Build the new modernized application to last



Break the reengineered application into layers, consider the SOA based architecture. It will provide you the flexibility to adopt the current most advanced client / user interface technology that will probably change and be enhanced in 3-5 years. Make sure you convert the application to use open standard server technology that will last, but decouple the application layers in a way that you will not have to rewrite the complete application when the new client technology will kick in and become the hottest new thing. If you do not provide adequate user experience you will find yourself behind.

 

5) Modular equals well modernized


A modular application should be the crux of your modernization process. Decoupled layers is the magic word here.

It allows organizations to maintain and test the application in the most effective way and also to add modules and extend the application using new modern components and integration. 
Are you digital transforming or are you giving up to competition?

Five Things to Keep in Mind before Modernizing your business Desktop Applications for Web, Cloud or Mobile platforms

Thinking about modernizing your business app? We've collected five major things to keep in mind when opting to take your business from the desktop - to web, cloud and/or mobile platform.
5 Things to Keep in Mind before Modernizing Web Cloud or Mobile platforms
  1. Trust me, your app will need a certain level of reengineering if you really want to reap the benefits of the new Web, Cloud or Mobile platforms. Why?
Mind you, your good old desktop application – whether Visual Basic, PowerBuilder, .NET, Delphi or some version of Java desktop – was written most probably sometimes ago during the last couple of decades. Facing the modern technologies, these applications are lagging behind:  They were written for outdated infrastructure and operating systems like older versions of Windows; They were written using languages and platforms that are either already out of support like Visual Basic or frameworks that do not evolve as fast anymore and see fast migration of developers to more modern platforms, like PowerBuilder, Delphi and others; They were written by developers who had been pushed to deliver the application here and now back then – even if they were the visionaries at the time, they could not foresee the way software will evolve over so many years or foresee the revolution of the web, cloud and mobile.

Consequently, there are wide architectural gaps between a monolithic desktop application and a Web or PaaS cloud application, so the application will not run as is on neither.  Even if the desktop application will be rationalized to run on virtual infrastructure (IaaS for example), "old" code will still have to be maintained and the user interface will have to be reengineered especially for a multi-transactional application to really provide an acceptable user experience and accessibility from multiple devices.

The old-era obstacles require a massive application reengineering, including redoing of its user interface, if you seek to truly reap the benefits of native Web, Cloud and Mobile platforms and provide acceptable user experience.

 

  1. Do you really know your options when it comes to application reengineering? Familiarize yourself with the options before you decide.
There are 3 main options and some gap stoppers such as virtualization or containerization, which are temporarily bridging solutions that will not provide an adequate and scalable user experience. If you seek to provide native, scalable and maintainable solution, your options are: 1) Redevelop the application; 2) Replace it by a modern package application; 3) Modernize it.

A study conducted in 2010 by the Standish Group has found that application modernization projects have the highest likelihood of being completed on time, on budget and with all critical features included when compared to alternative approaches. The following tables clearly demonstrate the core difference between these 3 application reengineering options:

 

Resolution Results Comparison

The following table shows the likelihood of resolution of the project in all three cases:

Resolution/Project

1: Application development

2: Package application

3: Application modernization

Successful

4%

30%

53%

Challenged

47%

54%

39%

Failed

49%

16%

8%

 

Expected ROI Comparison

The following table shows the expected return on investment in all three cases:

ROI

1: Application development

2: Package application

3: Application modernization

High

11%

34%

52%

Average

66%

57%

37%

Low

23%

9%

11%

 

 

  1. Be careful if redevelopment is the option you lean towards - experience shows that a mistake here could be fatal for your organization.
Old code is often regarded as a pile of ugly mess that programmers would rather dismiss altogether and start over. Indeed, it's harder to read code than to write it - what makes the old code not so easy on the eye happens to be the very attribute that makes it valuable: bug fixes, feature additions, and architectural changes that result from long-term usage and maintenance of the application. When one decides to redevelop or rewrite from scratch, one is likely to lose the knowledge and functionality hidden in all that legacy code. Rewrite at the expanse of discarded legacy code could be dangerous when applied to large scale commercial applications and too often proves to be a strategic mistake.

And this is what Joel On Software, a guy with a lot of experience, has to say on legacy code rewrite in his blog: " they did the single worst strategic mistake that any software company can make: They decided to rewrite the code from scratch"

Why does he say that? Because too many companies that took the decision to rewrite legacy code, found the hard way that it was the wrong decision. You are welcome to read more about it.

 

 

  1. Whatever it takes to pre-assess the task you are about to face – it might be the best investment you ever make.
With so many layers, code additions, bug fixes, generation of developers and owners, poor or no documentation – there is only one acceptable solution: reverse-engineer the app and map the gaps to the target platform.

Is it imperative? Absolutely. Do not start a journey if you are not sure that you know where you want to go and how you should get there. Yes, nowadays you can really do it using tools to help you.

One of these tools is GizmoxTS Analyzer. It is based on a unique algorithm for semantic-holistic code understanding – the legacy application is read and holistically represented. Unlike with the traditional ‘line by line’ processors of yesterday, the holistic approach allows re-architecting to a new platform or framework, while preserving the semantics (business rules, data relationships and flow, UI element functionality).

One important benefit of holistically understanding the legacy application is that it removes the need to reverse engineer the legacy application’s business functionality – thus considerably reducing the cost, duration and especially the risk of the modernization effort.

The semantically explicit internal representation of the legacy application serves as the basis for the machine-driven process to automatically perform a large proportion of the re-architecting. Through a process of virtual continuous compilation, the software guides the user – in most cases a software architect – through completing, refining and modifying the migrated application.

 

 

  1. Set measurable milestones! Define them clearly, and get your vendor or service provider to commit – Fixed, no T&M! 
Here is an example of building a modernization project  with measurable milestones. Coupled with tight schedule it should become a plan to commit to, follow and monitor:

Setup

Initially, a stable source and baseline environment is setup by loading the legacy code & configuring the Automated Rewrite Tool.

 

Analysis & Automated rewrite PLAN

Next, the sources to target gaps are identified via a virtual compiler and other Automated Rewrite assessment and query tools. The automated Rewrite expert then presents and discusses with the customer team the optional target components and code patterns. The deliverable is an agreed plan.

Refactoring and standard mapping

Once a plan is in place, the next phase includes refactoring and mapping of code fragments and components to the target environment using standard or common custom mapping rules. Stubs are generated for non-common specific mappings.

 

 First compilation & code quality tests

At this point, the transposed code compiles. Code might include stubs for custom extensions, components and custom rules. This phase also includes Initial code quality auto-testing.

 

Custom extensions, components and rules  

Custom extensions, components and mapping rules are created for non-standard types and members by either mapping legacy 3rd party controls to .Net equivalents, or by implementing specific code in the generated stubs. This phase can start earlier, in parallel to the standard refactoring and mapping phase.

 

Final compilation (Developer tests)

The final version of the transposed code compiles with all custom stubs mapped and ready for delivery tests. Some additional edits (post-transpose actions) may be done at this stage.

 

QA phase

- Delivery Tests/Bug Fixing - According to defined scenarios and success criteria.

- Acceptance Tests (followed by final bug fixing) - According to defined success criteria.
Five Things to Keep in Mind before Modernizing your business Desktop Applications for Web, Cloud or Mobile platforms

Application migration (like VB6 or PowerBuilder) to Web and Cloud, Made Easy

There are a lot of written and discussed reasons to migrate off your outdated desktop applications such as Visual Basic, PowerBuilder, Delphi, ASP / VBA, older Java versions and other older desktop platforms to modern platforms – to mentions just four of them...
timetoupdatevb6powerbuilder

Why bother?

There are a lot of written and discussed reasons to migrate off your outdated desktop applications such as Visual Basic, PowerBuilder, Delphi, ASP / VBA, older Java versions and other older desktop platforms to modern platforms – to mentions just four of them:

  • Out of support languages such as Visual Basic and PowerBuilder
  • Integration and communication with new technologies and databases is a challenge
  • Diminishing skillset for these older languages as developers retire or move to modern languages, which results in a growing difficulty to hire developers
Bottom line:  dramatic increase in costs and challenges in maintenance, integration and communication with new technologies and databases.

Organizations realize: sooner or later – and sooner seems to be the better choice – they will have to say good bye to those oldies and move on to modern platforms.

Where should we go?


That depends on what kind of applications we are talking about and what the organization wants to achieve by migrating.

In most cases the goal is moving to modern cloud and web platforms for higher efficiency and to provide modern user experience with multiple devices.  If that is the case, the next related dilemma is how to move the desktop applications to Web or Cloud:

  • What do we need in terms of user experience, application performance, data security and devices support?
  • What are the deployment and usage options?  Web, IaaS, PaaS or SaaS are all deployment models that mean to facilitate a cost-efficient modern deployments.
  • Is the application in question a core business application? Namely –
    • o An application that sometimes holds the IP of an organization
    • o An application that is significant to the user productivity or the user experience
    • o An application with a long life span that will require long maintenance, changes and modifications to the application 
When regarding an application that is a core business application – the best option for business applications would most probably be a PaaS Cloud or IaaS as a stepping stone towards PaaS.
 

What does it require?


In most cases moving desktop applications to Web or Cloud platforms will require some level of rationalization and re-engineering. 

  • Outdated languages have to be converted. To name but a few – Visual Basic, PowerBuilder, Delphi and many others are unsupported by modern platforms (or will be unsupported).
  • Moreover, many of the applications that are based on outdated technologies are impossible to use on Web, PaaS or IaaS Cloud phones and tablets as is, not to mention the high costs of supporting outdated infrastructure. Therefore they will have to be reengineered. 
  • Another challenge is almost always the outdated user interface which has to be updated.
  • Security risks would be another issue with desktop applications that are moved to modern platforms due to using legacy desktop technologies. There are many holes in the architecture itself which have to be dealt with.

Hold it – re-engineering? Is that really the only way?


Up to now most of the application reengineering has been done manually, using variety of acceleration tools – which is never easy. It is a human error prone process that in most cases ends up in dramatic time and budget overrun.

A major challenge of this manual process presents itself before the organization even begins the actual rewrite. It starts with far more basic issues – how to recapture the business logic and rules? Or the piles of debugging and updates that were introduced during the decades of application maintenance?  In most cases there are no documentation and the developers who originally wrote these applications are not available.

So how can such process be simplified and made easier?


For migration efforts where the source application is based on open-systems based OO language and framework, it has become possible to enhance the AST based approach in several ways – resulting in a simpler, more complete solution with better code quality without additional manual-based work:

  • For these source applications, advanced vendors like GizmoxTS are able to add semantic data and understanding to the AST, such that it becomes a much more holistic and complete representation of the application, its class structure, the data components and the UI.
  • With this holistic approach, as well as advances in virtual compilation, it is becoming possible to perform true continuous compilation of the application while it is being converted and modified, and before the target is complete. 
  • These new tools have huge implications as they enable an IDE which is driven by complete code understanding and the continuous compilation process.  The IDE experience can include errors, warnings and messages produced by the virtual compilation engine, continuously guiding the modernization expert and also showing the gaps to completing the project.
  • This type of IDE is enabling in turn a modernization approach which is completely tool based, highly automated, and also highly open to expert architect input, modification and improvement.
Now there is a clearer path for VB6, PowerBuilder or .Net and Java applications to the Web/Cloud

The bottom line is that it is now possible and easier to modernize with confidence large and complex desktop Client/Server applications based on Visual Basic, PowerBuilder, Java and .NET and possibly other similar environments, to the web or cloud and with a mobile experience baked in.

  • The resulting tool-generated application will have functional equivalence with the legacy desktop application, and will be expertly architected in accordance with the best practices of the target platform and language. 
  • Reducing the need for manual work makes the process easily repeatable and with a significantly lower number of issues remaining in the target application.

A good example: VB6, MS Access & .Net applications to Web at AIG


Gizmox Transposition is working with AIG on migrating core business applications from various legacy platforms to ASP.Net MVC web applications.  The main challenge AIG was facing was of moving to the web while retaining their IP, i.e. the significant investment in business rules and logic.  By using advanced patented code understanding and unique continuous compilation technologies, Gizmox Transposition is able to re-architect this diverse legacy inventory to a well-written, maintainable and readily available for re-development set of applications adhering to industry standard best practices on AIG’s platform of choice.

Gizmox Transposition’s modernization technology is a prime example of the newly available possibilities of a quality migration technology enabling enterprises to move their core applications from the client/server world to high quality web systems while retaining the decades-long investment in their business differentiators.
Application migration (like VB6 or PowerBuilder) to Web and Cloud, Made Easy

Migrating desktop applications to the cloud can now be faster than ever – here's how!

Still relying on desktop applications such as Visual Basic® 6, PowerBuilder or older .NET and Java? It is high time to consider migration to Java or .Net Modern Standards and Web or  Cloud.

Still relying on desktop applications such as Visual Basic® 6, PowerBuilder or older .NET and Java? It is high time to consider migration to Java or .Net Modern Standards and Web or  Cloud.

 

Untitled design 3.jpg

 What's the rush? 

 

  • The main reason:  the cloud, web or mobile era awaits no-one – and neither should you.
    "The idea that you should wait until you're ready to update a legacy application before moving it to the cloud is frankly crazy. With portfolios of hundreds or thousands of apps, CIOs must take advantage of the economies of scale web, and cloud computing delivers". As our esteemed colleague already wisely observed a couple of years ago, "the startups gunning for your customers aren't being held back by legacy desktop applications – they have new applications that were written yesterday".
  • Several  technical reasons to upgrade: Increasing legacy maintenance costs because of hard to find legacy developers, lack of support and hard limitations in integrating and communicating with new platforms, standards, and technologies
  • Eventually, all reasons create a major reason to be reckoned with: Business. Migrating applications to the cloud will dramatically reduce expenses as well as time to market, while increasing productivity, elasticity, and mobility. Essentially, the cloud offers your ample business benefits that you cannot afford to forgo.

What are the challenges?


Legacy desktop applications once had many advantages that over the time have become their flaws. Let's focus on three significant inherent challenges, in a nutshell:

  • First and foremost: Your application was written to work as monolithic on-premise desktop application and to run on Windows, using the decades-ago popular then languages, expecting to run as is on modern web or cloud is the least – being too optimistic.
  • Its user interface was written for a desktop screen and in most cases will not fit well in web cloud or mobile.
  • It was protected as many behind the firewall applications – which is almost not at all, so it should be adequately protected to move out of the firewall.  

Now when moving your desktop application to web or cloud, various technical challenges emerge, to name just a few of them:

  • It should scale up and down to serve multiple users just as any well-written web/cloud application does
  • It should have a safe thread to serve multiple users simultaneously
  • It should have a new user interface to enable remote secured accessibility
  • It should perform well over the network to enable remote and distributed multiple transactions
  • In most cases nowadays it should be effectively accessible from multiple devices that your users might be using, including small and touch mobile screens
  • Your application accessibility and data must be secured as it moves out of the firewall
In other words - your desktop application must become a web application that runs on Cloud preferably as native PAAS running.

It is a bit like expecting a horse with a single rider to now serve multiple riders at the same time, to be as fast and all that in different locations. Sounds impossible, right?


Now with the new transformation tools and methods, it is possible!  

Why not rewrite it all from scratch?


That'd be the instinctive response of any good software developer when facing such challenges: The application code needs refactoring, and the application needs to be re-engineered to overcome such architectural changes – let's rewrite from scratch. In most cases, the developers who recommend manual rewrite are conservative, unaware of the risks or simply unaware of the new technologies and the evolution of new technology transformation tools and methods around. This unawareness is a blind spot that might eclipse the very future of your enterprise.

Resisting that developer instinct is hard, but the blow that is coming for outdated legacy applications could be far more difficult. Maintaining them will expose you to rising risks, as well as rising costs. The vast majority of manual rewrite projects eventually fail to make the budget, schedule or user requirements.


So is there a sane alternative to manual rewrites?

Now there is. Here is how it works:

For migration efforts where the source application is based on an open-systems based OO language and frameworks like Visual Basic, PowerBuilder or ASP / VBA, it has become possible to enhance the AST based approach in several ways, resulting in a complete solution with better code quality without additional steps.

For these source applications, advanced vendors are able to add semantic data and understanding to the AST – such that it becomes a much more holistic and complete representation of the application, its class structure, the data components and the UI.  With this holistic approach, as well as advances in a virtual compilation, it becomes possible to perform a real continuous compilation of the application while it is being modified, and before the target is complete.

This has huge implications as it enables an IDE which is driven by complete code understanding and the continuous compilation process.  The IDE experience can include errors, warnings, and messages produced by the virtual compilation engine, continuously guiding the modernization expert and also showing the gaps to completing the project.  This type of IDE is enabling, in turn, a modernization approach which is entirely tool based, highly automated, and also highly open to expert architect input, modification, and improvement.

An automatic path for VB6, PowerBuilder or Java and .Net systems to the Web/Cloud

The bottom line is that it is now possible to modernize with confidence large and complex on premises desktop Client/Server applications based on Visual Basic, PowerBuilder, Java and .NET and possibly other similar environments, to the web or cloud with a mobile experience baked in.

The resulting tool-generated application will have functional equivalence with the legacy system and will be expertly architected according to the best practices of the target platform and language.  The reduction needed for additional steps (which were required for procedural program modernization and were usually manual) makes the process easily repeatable and with a significantly lower number of issues/bugs remaining in the target application.

Case in point: VB6, MS Access & .Net applications at AIG

Gizmox Transposition is working with AIG on migrating core business applications from various legacy platforms to ASP.Net MVC web applications.  The primary challenge AIG was facing was moving to the web while retaining their IP, i.e., the significant investment in business rules and logic.

By using advanced patented code understanding and unique continuous compilation technologies, Gizmox Transposition can re-architect this diverse legacy inventory to a well-written, maintainable and readily available for re-development set of applications adhering to industry standard best practices on AIG’s platform of choice.

Gizmox Transposition’s modernization technology is a prime example of the newly available possibilities of a quality migration technology enabling enterprises to move their core applications from the client/server world to high-quality web systems while retaining the decades-long investment in their business differentiators.
Migrating desktop applications to the cloud can now be faster than ever – here's how!

Shall we revive your dying desktop applications?

Let's face it: The new web and cloud era poses a challenge as on prem, desktop core business applications like those written with Visual Basic, VB.NET, PowerBuilder and ASP / VBA that will not deploy as is on web or cloud platforms are nearing their end of life.
Let's face it: The new web and cloud era poses a challenge as on prem, desktop core business applications like those written with Visual Basic, VB.NET, PowerBuilder and ASP / VBA that will not deploy as is on web or cloud platforms are nearing their end of life.
Happy birthday

Many of those on-premise, desktop applications are written with the RAD tools of the 1990’s – like VB6, PowerBuilder, ASP / VBA or even desktop Java or .NET  – are becoming outdated.  The reasons they need to be upgraded are varied – end of vendor support, a shortage of experienced programmers, and increasingly, the need for a distributed web accessibility, opening up to mobile, and possibly a requirement for more cost-efficient and scalable  Cloud infrastructure.


What's an IT department to do? 

The traditional solution would seem to be manual rewrite:  analyze your outdated application, write a spec select a new modern platform as well as language and delivery model. Put in the required manual work, take the risk of running well over budget and time – and then you might deliver to your users the system of their dreams.

But before you do all that maybe at the first all hands meeting a voice, perhaps of someone who has seen some large projects in his or her time, will ask – how are we going to write the spec?  Who knows exactly what it does today?  Who has the full structure of business rules embodied in this bunch of code? A real challenge, right?

And that's exactly where new methods and tools enter the picture.

What would be a practical solution?

The modern technology transformations require innovative solutions to keep a steady pace with the progress. Take for example GizmoxTS Automated Rewrite: It is a new patented complete code understanding and transformation technology that builds a full intermediate representation of the source application from which it can re-create the original business functionality on a new platform and in a new language of choice.

Let's dive into detail:

  • For migration efforts where the source application is based on an open-systems based OO language and framework, it has become possible to enhance the AST based approach in several ways – resulting in a more complete solution with better code quality without additional manual steps.
  • For these source applications, advanced vendors like GizmoxTS are able to add semantic data and understanding to the AST, such that it becomes a much more holistic and complete representation of the application, its class structure, the data components and the UI.
  • With this holistic approach, as well as advances in virtual compilation, it is becoming possible to perform true continuous compilation of the application while it is being modified, and before the target is complete.  This has huge implications as it enables an IDE which is driven by complete code understanding and the continuous compilation process.  The IDE experience can include errors, warnings and messages produced by the virtual compilation engine, continuously guiding the modernization expert and also showing the gaps to completing the project.  This type of IDE is enabling in turn a modernization approach which is completely tool based, highly automated, and also highly open to expert architect input, modification and improvement.

What about code quality? 

The Automated Rewrite will provide the highest code quality for the target platform – be it Cloud, Web HTML5 UI, Mobile or any other platform of choice.  The target application standards are customizable to best practices both in aArchitecture and in code quality. The GizmoxTS Automated Rewrite will deliver the highest quality because the target application is GENRATED, not TRANSLATED. GizmoxTS Automated Rewrite is able to incorporate the Microsoft static analysis standards for example, as well as MVC or MVVM architectures and modern data security practices.

What about functional equivalence?

The new application is generated from a precise internal representation of the source functionality, and is based on additional patented advances in virtual compilation – therefore the re-architected application will strictly adhere to the existing business logic.  In fact, GizmoxTS Automated Rewrite will use a current test suite if it exists to validate the Automated Rewrite generated code.

 

How customizable is the modernized application? Can one create a web service for example?  

In addition to the powerful code understanding and virtual compilation engines, GizmoxTS Automated Rewrite includes an IDE in which extensive customization is possible, for everything from the UI to creating web services from existing code blocks.

GizmoxTS Automated Rewrite can provide core business VB6, PowerBuilder on – premises desktop applications a new life on the web/cloud, standard ways to add mobile experiences and a well architected, and standards-based and maintainable code base, all without the cost and risk of re-specification or manual rewrite effort.

 

What about new web or mobile user interfaces?

 

Using GizmoxTS Automated Rewrite's IDE and standard development tools, the original desktop user interface might be rewritten into new, best practice adherence web or mobile user interface, including touch and gestures.

 

We are talking a critical mission application here – how could we minimize risks?

 

There absolutely is a way to minimize risks. In essence, the whole process of regenerating code is done by a machine, which is a risk reducer in itself. The machine-guided process eliminates the vulnerability of a manual rewrite practice which is human error prone process. Furthermore, the high efficiency of a machine-guided process not only reduces human mistakes, but also standardizes the generated code by using the same code patterns all over the generated application.
Shall we revive your dying business application? - GizmoxTS

Finally, desktop applications are automatically upgraded to run natively on Web or Cloud platforms

A decade or two back, the Legacy application was usually a mainframe application (written in COBOL, IDMS/ADSO or Natural ADABAS for example) and the target was a Client/Server application written in Java, C++ or C#, designed to run on open-systems.  These days, the legacy application may well be a Client/Server application written in one of the RAD systems popular in the nineties such as PowerBuilder, Visual Basic but also in early versions of Java or .NET languages. Those are the desktop applications of today.

shutterstock 433057783


A decade or two back, the Legacy application was usually a mainframe application (written in COBOL, IDMS/ADSO or Natural ADABAS for example) and the target was a Client/Server application written in Java, C++ or C#, designed to run on open-systems.  These days, the legacy application may well be a Client/Server application written in one of the RAD systems popular in the nineties such as PowerBuilder, Visual Basic but also in early versions of Java or .NET languages. Those are the desktop applications of today.

New cloud platforms, new challenges
 

There are some challenges shared by both modernization paths, but there are also unique features, challenges and opportunities in either of them.  The robust code transformation solutions all share a common technological approach.  Vendors have developed solutions that parse source code into an intermediate representation. This representation is some form of an abstract syntax tree (AST).  ASTs represent the original program and logic, independent of its original source syntax. Vendors can then use language grammars, similar to those used by compilers, to generate new source code in the new desired language. 

The additional manual work has always been the challenge

A challenge for modernizing mainframe applications written in procedural languages such as COBOL, PL/1 or Natural to object oriented languages such as Java or C# is that additional steps are needed after the migration tool transforms the syntax.  These additional steps performed after the process, outside the tool, are required to re-engineer the migrated program to match the form of true OO programs.  Thus, restructuring a procedural program with shared working storage - a trademark of procedural programs - to OO classes and methods, requires additional effort, and may result in code with sub-optimal quality.

Finally, there is an enterprise level solution

For migration efforts where the source application is based on an open-systems based OO language and framework, it has become possible to enhance the AST based approach in several ways, resulting in a more complete solution with better code quality without additional steps.  For these source applications, advanced vendors are able to add semantic data and understanding to the AST, such that it becomes a much more holistic and complete representation of the application, it’s class structure, the data components and the UI.  With this holistic approach, as well as advances in virtual compilation, it is becoming possible to perform true continuous compilation of the application while it is being modified, and before the target is complete.  This has huge implications as it enables an IDE which is driven by complete code understanding and the continuous compilation process.  The IDE experience can include errors, warnings and messages produced by the virtual compilation engine, continuously guiding the modernization expert and also showing the gaps to completing the project.  This type of IDE is enabling in turn a modernization approach which is completely tool based, highly automated, and also highly open to expert architect input, modification and improvement.

An automatic high-quality path for VB6, PowerBuilder .Net or Java systems to Cloud

The bottom line is that it is now possible to modernize with confidence large and complex desktop Client/Server applications based on Visual Basic, PowerBuilder, Java and .NET and possibly other similar environments, to the web or cloud and with a mobile experience baked in.  The resulting tool-generated application will have functional equivalence with the legacy system, and will be expertly architected according to the best practices of the target platform and language.  The reduction in the need for additional steps (which were required for procedural program modernization and were usually manual) makes the process easily repeatable and with a significantly lower number of issues remaining in the target application.

Case in point: fast re-platforming VB6, MS Access, .Net applications at AIG
 

Gizmox Transposition is working with AIG on migrating core business applications from various legacy platforms to ASP.Net MVC web applications.  The main challenge AIG was facing was of moving to the web while retaining their IP, i.e. the significant investment in business rules and logic.  By using advanced patented code understanding and unique continuous compilation technologies, Gizmox Transposition is able to re-architect this diverse legacy inventory to a well written, maintainable and readily available for re-development set of applications adhering to industry standard best practices on AIG’s platform of choice.

Gizmox Transposition’s modernization technology is a prime example of the newly available possibilities of a quality migration technology enabling enterprises to move their core applications from the client/server world to high quality web systems while retaining the decade's long investment in their business differentiators.
Finally, desktop applications are automatically upgraded to run natively on Web or Cloud platforms

Modernize Systems of Differentiation to Innovate

Today’s IT must allow a fast rate of change for the business units relying on it.  Opening up the organization’s data and services has never been more important.  Systems of Differentiation based on VB6, PowerBuilder and other desktop platforms can now be modernized to make this possible.
modernize systems 1
Fast Innovation is a Must

Today’s IT needs to allow a fast rate of change for the business units relying on it.  Opening up the organization’s data for use in internal and out-facing interfaces has never been more important. Where once B2B was the goal, today the expectation is of support for an ever-expanding reach for the organization’s IT assets, in offering new services to new audiences, over more and more platforms.  Competition is forcing a very fast rate of change in these services, of which some will fail and some will succeed in engaging new and existing customers and users.

Systems of Record are Here to Stay

On the other end, many financial institutions, government agencies and consumer goods manufacturers still must rely on the systems of record that have been their IT backbone for decades.  They continue to rely on these monolithic systems because of regulation, because of reliability and because shutting down mainframe or even mini-computer based systems continues to be costly, and more importantly – very risky.  As a result, there are still thousands of centrally run, COBOL, PL/1 and RPG based applications smoothly taking care of financial transactions, government records and processes, industrial and engineering systems.  Many of them are not going anywhere in the foreseeable future.

Your Differentiation Systems Can Move Faster

In a partial response to this challenge, and as a result of the rise of RAD tools such as PowerBuilder, VB6, Delphi and then a little later .NET and Java desktop frameworks, organizations started to put their differentiating assets in desktop based client/server systems.  Insurance companies built sales and processing client/server systems in PowerBuilder where regulatory changes were easier to implement, banks replaced the green teller screens with VB6 thick clients to which they could add products and services making use of the basic objects in the systems of record, and government rolled out procurement systems to office desktops.

These systems are now holding back on the race to innovate.  They are difficult to open up to the web, almost impossible to expose on mobile, and both because of their architecture and because of developer shortages, they are difficult to add capabilities and services to them.

But their platforms and architectures make it possible to employ new technology and services to modernize and re-architect these core business systems to modern, open, well architected solutions on the web and the cloud, as we have discussed in a previous post <link to previous post>.  Unlike the mainframe based systems of record, these systems of differentiation can be redeemed and given a new life and new value.

Breakthrough: Advances in Client/Server Code Understanding

The unique technology for which Gizmox Transposition has been awarded its patent in 2016 is continuing to evolve.  The basic principal remains that of an intermediate representation of the source application in a graph like structure, from which the new application is re-architected, faithfully preserving business functionality and capabilities in a best-practices based native web application.  VB6, PowerBuilder, .NET and soon Delphi desktop applications can be modernized to the web and cloud.

Until recently, the stateful nature of a system designed for the desktop guided us towards a server based web/cloud modernization solution, namely the ASP.NET MVC framework.  But recent advances now allow us to dynamically split the original functionality between a client based on Angular and a server component based either on .NET or Java.  We will expand on this in a future post.

Lights On: The Innovation Based IT Ecosystem

Modernizing an organization’s systems of differentiation makes it much easier to expose data and services internally and externally through iPaaS platforms.  Other business units are exposed to what used to be departmental islands of IT assets.  Innovation cycles can be iterated through rapidly without needing to modify the core business processes.  VB6, PowerBuilder, .NET desktop and soon Delphi will no longer hold IT back, but the systems based on them will live on!

modernize systems 2
Modernize Systems of Differentiation to Innovate

Legacy Modernization is a moving target

A decade or two back, the Legacy application was usually a mainframe application (written in COBOL, IDMS/ADSO or Natural ADABAS for example) and the target was a Client/Server application written in Java, C++ or C#, designed to run on open-systems.  These days, the legacy application may well be a Client/Server application written in one of the RAD systems popular in the nineties such as PowerBuilder or Visual Basic, but also in early versions of Java or .NET languages.
dart

A decade or two back, the Legacy application was usually a mainframe application (written in COBOL, IDMS/ADSO or Natural ADABAS for example) and the target was a Client/Server application written in Java, C++ or C#, designed to run on open-systems.  These days, the legacy application may well be a Client/Server application written in one of the RAD systems popular in the nineties such as PowerBuilder or Visual Basic, but also in early versions of Java or .NET languages.

New source & target platforms, new challenges

There are some challenges shared by both modernization paths, but there are also unique features, challenges and opportunities in either of them.  The robust code transformation solutions all share a common technological approach.  Vendors have developed solutions that parse source code into an intermediate representation. This representation is some form of an abstract syntax tree (AST).  ASTs represent the original program and logic, independent of its original source syntax. Vendors can then use language grammars, similar to those used by compilers, to generate new source code in the new desired language. 

Additional manual work has always been a challenge

A challenge for modernizing mainframe applications written in procedural languages such as COBOL, PL/1 or Natural to object oriented languages such as Java or C# is that additional steps are needed after the migration tool transforms the syntax.  These additional steps performed after the process, outside the tool, are required to re-engineer the migrated program to match the form of true OO programs.  Thus, restructuring a procedural program with shared working storage - a trademark of procedural programs - to OO classes and methods, requires additional effort, and may result in code with sub-optimal quality.

An end to end process, with machine based code understanding

For migration efforts where the source application is based on an open-systems based OO language and framework, it has become possible to enhance the AST based approach in several ways, resulting in a more complete solution with better code quality without additional steps.  For these source applications, advanced vendors are able to add semantic data and understanding to the AST, such that it becomes a much more holistic and complete representation of the application, it’s class structure, the data components and the UI.  With this holistic approach, as well as advances in virtual compilation, it is becoming possible to perform true continuous compilation of the application while it is being modified, and before the target is complete.  This has huge implications as it enables an IDE which is driven by complete code understanding and the continuous compilation process.  The IDE experience can include errors, warnings and messages produced by the virtual compilation engine, continuously guiding the modernization expert and also showing the gaps to completing the project.  This type of IDE is enabling in turn a modernization approach which is completely tool based, highly automated, and also highly open to expert architect input, modification and improvement.

An automatic path for VB6, PowerBuilder or .Net systems to the Web/Cloud

The bottom line is that it is now possible to modernize with confidence large and complex desktop Client/Server applications based on Visual Basic, PowerBuilder, Java and .NET and possibly other similar environments, to the web or cloud and with a mobile experience baked in.  The resulting tool-generated application will have functional equivalence with the legacy system, and will be expertly architected according to the best practices of the target platform and language.  The reduction in the need for additional steps (which were required for procedural program modernization and were usually manual) makes the process easily repeatable and with a significantly lower number of issues remaining in the target application.

Case in point: VB6, MS Access & .Net applications at AIG

Gizmox Transposition is working with AIG on migrating core business applications from various legacy platforms to ASP.Net MVC web applications.  The main challenge AIG was facing was of moving to the web while retaining their IP, i.e. the significant investment in business rules and logic.  By using advanced patented code understanding and unique continuous compilation technologies, Gizmox Transposition is able to re-architect this diverse legacy inventory to a well written, maintainable and readily available for re-development set of applications adhering to industry standard best practices on AIG’s platform of choice.

Gizmox Transposition’s modernization technology is a prime example of the newly available possibilities of a quality migration technology enabling enterprises to move their core applications from the client/server world to high quality web systems while retaining the decades long investment in their business differentiators.
Legacy Modernization is a moving target

Was it Predestined?

bbv : about the WannaCry cyber-attack: "The software exploits a security flaw in Windows XP, and once it infects a computer, it encrypts the files and spreads to other computers..."
By PJ O'ryan

bbv : about the WannaCry cyber-attack: "The software exploits a security flaw in Windows XP, and once it infects a computer, it encrypts the files and spreads to other computers..."
By PJ O'ryan

wannacry

Breaking news and then oral and written opinions and finally lengthy articles have hit us since the recent May 17 WannaCry Cyber-attack.  Most of them described the attack and its affects in terms of a disaster. Europol Chief Rob Wainwright said more than 200,000 victims had been hit in more than 150 countries. It is the largest ransomware attack observed in history of such attacks and its effects are yet to be summarized …
The inevitable question is: was it avoidable?

If you ask Microsoft, the post on Brad Smith, Microsoft's president and chief legal officer’s blog, would most probably be its answer: “there is simply no way for customers to protect themselves against threats ( N.P: like WannaCry? )  unless they update their systems. Otherwise they’re literally fighting the problems of the present with tools from the past…"

Well, you are probably asking yourself, do organizations not know that? And if they do , how come organizations still use OSs like XP?


Maybe only a few organizations still use XP?

The following graph from Netmarketshare suggests otherwise. It says that XP still holds a share of almost 10% of all desktop OSs. So it is not a minor matter of a few companies behind with their IT workload, it is hundreds if not thousands of organizations out there that still run XP. 
   
ScreenHunter 301 May. 25 16.20


Or maybe organizations are rushing to update their systems but we are not seeing it? 

Well I found some up-to-date statistics at Netmarketshare. This time I looked for the pace at which organizations might be moving off their XP systems if at all. 

The "at all" seems to be the real story. No, organization do not really seem to be rushing, if "at all" to upgrade away from XP. 

ScreenHunter 302 May. 25 16.25


So why are organization not getting off unsupported software?

Be the reason what it may, as a vendor focusing on upgrading applications running on those OSs, we are talking to companies. They seem to be concerned with many aspects of the modernization issue, one of which being whether applications written with platforms such as VB6, VB.NET, Classic ASP or PowerBuilder will still run as they used to on the patched or updated OSs?  Could these concerns be the reason for the inaction? This article claims it may be. It talks about vendors reluctant to test and if necessary update their applications to run on the updates and patches.   

But is there a good solution?

We at GizmoxTS have been working for 5 years to build a good solution.

The ideal solution would have the ability to fully analyze and understand the source application, be automatic enough to be efficient compared to a manual rewrite.  It should however be customizable with the ability to deliver high quality code.  And finally, the solution must allow an early and accurate assessment of the effort required to migrate an application from a specific source platform to a specific target.

The required migration solution would be able to upgrade a monolithic or client/server application written with languages or platforms such as VB6 or PowerBuilder to modern platforms as the web or cloud with mobile accessibility, and do it quickly, effectively and with a high ROI.  And it should be able to handle enterprise grade, complex applications efficiently.

This is exactly the solution we have been building here at GizmoxTS.

The early versions of this solution have been tested with F500 applications, large and small ISVs, Governments and armed forces’ applications and have proven to be both powerful enough to handle millions of lines of code as well as to deliver customized high quality applications.






Was it Predestined?

GizmoxTS to Modernize the Computerized Personal Medical Record (CPR) at the IDF

According to Pesah Galon, the company’s CEO, “the importance of the project is in retaining knowledge and business rules accumulated over many years, while adapting the system to advanced technologies and to continued improvement in a standard development environment.” The project is valued at over 3 million USD.
 
c8ae17 f76533d073f44b2f8f6c0bf70380fd24 mv2

GizmoxTS is to modernize the Computerized Personal Medical Record (CPR) at the medical corps of the IDF (Israel Defense Army), in a project valued at more than 3 million USD.

The Israeli ministry of defense has selected GalilCS, a GizmoxTS sister company from Kibbutz Shamir to perform the project.

The project commenced a month ago, with a first phase that will last 18 months, during which the system will be modernized and a new architecture will be built for the system, going from a client/server configuration to Microsoft based web technology, with no functional changes.  After going live with the new version, during 2018, the project will continue for two more years, during which new features will be added and the system will be maintained by GizmoxTS and GalilCS.

The IDF medical corps developed the computerized system more than a decade ago, in 2003, centralizing and making managing soldier medical information management more efficient.  The system replaced the personal cardboard file with a computerized record, available to the different entities caring for the soldiers – unit doctor, clinic medical staff, specialists, nurses and others.

Creating a complete medical picture

The CPR was developed with the goal of making it possible for the different medical entities caring for the soldier to all work on a shared platform, with the medical information accumulated in any medical encounter being available to all other care givers creating a complete medical picture.  The system has thousands of users in the IDF and outside of it – doctors, nurses, military paramedics, and it interfaces with civilian systems.  But as years passed problems grew in the system, and its technology and architecture has become outdated. 

GizmoxTS has the technology (based on several software patents), allowing organizations to replace older client server enterprise scale applications to web, cloud and mobile environments.  The technology, developed and owned by GizmoxTS, enables a fast migration to new platforms, based on smart algorithms which fully ‘understand’ all the original system’s components, and maps and automatically replaces them with components and software patterns compatible with the new environment.

The technology ensures the highest code quality and a system architecture based on the target platform’s best practices for web, cloud and mobile applications – while upgrading security mechanisms for protection against cyber-attacks and also significantly improving command and control capabilities.

Pesah Galon, the CEO of both GizmoxTS and GalilCS said in an interview that “the importance of the project is in retaining knowledge and business rules accumulated over many years, while adapting the system to advanced technologies and to continued development in a standard development environment, according to industry accepted best practices.  The GizmoxTS methodology preserves the accumulated knowledge and rules, while bringing the system up to speed in the advanced networked world.”

Galon added that “the project’s success will provide the opportunity to perform many additional projects for the IDF and the Ministry of Defense, and will leverage both company’s growth, as well as adding to the high-tech related employment options of the diverse communities in northern Israel, where the GalilCS delivery center is located.”

Not possible to add features and improvements

Last November Israel’s State Comptroller Joseph Shapira said in a report that there were complaints about the use of the CPR system, specifically that it was slow, wrought with faulty functionality and that it is not possible to add features and improvements.  The State Comptroller added that the Medical Corps command should advance the computer systems relevant to medical examination in the IDF’s recruitment centers.

A decision was taken in 2014 to create a new Computerized Medical Record system, at a cost of over 10 million USD.  This was supposed to be performed by the Enterprise Services division of HP Israel who were going to implement the ISH-MED system, written by Siemens, which was developed in conjunction with SAP.  Ultimately, the project was canceled and a decision was taken to modernize the existing system.




This article is a translation from the Israeli online magazine PC World
.
GizmoxTS to Modernize the Computerized Personal Medical Record (CPR) at the IDF
Page 1 of 5