Category: Migration

Of application understanding and machine learning or where I am coming from

For the past 25 years, I have been working in the area of automation.  But this is not where I started my career. During my master’s program at USC, I was first introduced to artificial intelligence, a field which immediately fascinated me.  At that time, jobs related to AI were far and few between, but my first job was indeed relevant: working with rule-based decision systems. Since then, the field of artificial intelligence has progressed a lot, for the most part without grabbing headlines.  Only during the recent years it has captured wide attention once more, particularly the field of machine learning. It reminds me of the hype that web and “dot com” introduced in the 1990s. Bubble anyone? Only this time around, the advances in this field have provided a solid foundation to sustain machine learning expansion.  My second job introduced me to the world of application and language understanding, and this is where I have been active for many years. A lot of fascinating things happened during that time, and as you will see things are now headed to where I started. The cycle is now closing.

Understanding application and their code

In the beginning, there was the mainframe.  Beasts of power that could handle a tremendous number of transactions, but which came at a cost.  Next, the “network was the computer” as Sun Microsystems heralded to the world. Companies now had alternatives to the mainframe monoliths.  

There was a problem, however.  Successful companies had invested a lot of money in creating mainframe processes that gave them the edge, and of course reams of custom code to go with it.  What to do with all that custom code now? The will was strong but the code was weak, proprietary and incompatible. And we should not forget that relational databases were not yet taken for granted.  Hierarchical and network database management systems were strong and, if you ask me, based on elegant concepts and very good at what they were doing. But history is (re)written by the winners, so servers and relational databases it became.

The role of automation

The word of the day was Migration.   Migration away from the mainframe monoliths to the client-server.  But that required a splitting of applications across layers in a way that would fit the client-server model:  front-end, business and database layers. This was a tall order since the challenge was multi-level:

  • Front-end:  Going from green screen terminals to fancy graphical terminals with WYSIWYG capabilities (yes, WYSIWYG was a feature back then)
  • Network:  State-fullness was the norm, therefore the correct handling of state was paramount
  • Database: Consistent transaction handling, remaining compatible with transaction managers (not everybody wanted or was willing to switch at the same time)
  • New languages:  COBOL was prevalent for business logic.  However the new server world supported additional languages, such as C, C++, and Java.  
  • Operating systems:  Enter Unix and its numerous flavors, Windows and X for front-end interaction.  

Clearly a disciplined approach was mandatory in order to succeed.  And this is where application understanding and automation came into the picture.  Application understanding may mean different things to different people, but here we will define it as a way of extracting the key attributes and features of the application.  Extraction is done programmatically in a repeatable manner and stored in a repository as a meta-model of the application and its components. The attributes and features need to be carefully selected in a manner that enables smart decision making when it is time to “rewrite” the application. “Rewriting” actually means both refactoring and rearchitecting.  Refactoring applies to the code, rearchitecting to the application. In our case, rearchitecting was the redistribution of the application components to best match the client-server paradigm. In most cases, breaking up monoliths meant both rearchitecting and refactoring.

The object-oriented paradigm

Most of the code we had to deal with in monolithic systems was written in procedural languages or reporting languages such as COBOL.  Also common was the use of generators, mostly for code, screen definitions and database artifacts. Early refactoring was performed using C, which at the time was the lingua franca of Unix for business and database layers.  For front-end coding, to some degree C++ was the best option in order to take advantage of Windows GUI capabilities.

At the dawn of the millennium, Java gained a strong foothold among developers.  By now it has also become the “favorite” in enterprise development. Java was introduced to a wider developer audience and acted as a facilitator of some key aspects of programming:  object oriented programming, separation of concerns, virtual machines, software packaging and interoperability.

Our use of a meta-model and a repository allowed us to build infrastructure and tools that were flexible and platform neutral.  All due to our intelligent automation approach, which allowed pluggable support of source and target languages and the ability to assimilate and make best use of numerous platforms

ERP and SAP(r)

Another important trend that gained steam in the mid-1990s and has kept growing strong ever since is ERP software and platforms.  For us as a company, one particularly important ERP software was and still is SAP. Our intelligent automation approach enabled us to follow its progress over the last 10-15 years, and we will continue to do so in the future.  The earlier application of our automated solution addressed mostly code refactoring and had a strong focus on ABAP, the programming language of SAP ERP. We were and still are present to support SAP customers with our intelligent automation, particularly when SAP started its journey to digitalization with the support of in-memory databases, the launch of S/4 and the move to the cloud.

Closing words

The beginning of the new year is always a good opportunity to take stock, reflect and plan ahead. As you probably know by now, history repeats itself.  Intelligent automation means staying alert and keeping an eye out for new opportunities. As I hinted earlier, I see the cycle now closing after all these years, especially from my perspective.  I am happy to say that we are now adopting machine learning into our automation repository as a further tool to drive application understanding and open new possibilities to our tools and customers.  In that sense, I would like to wish to all of you a successful start of this New Year and of whatever new chapter you are about to open. From our side, our new year’s resolution is to publish more blogs about us, our intelligent automation approach and the technologies we are using.

Niko Faradouris, Senior Technical Architect, smartShift Technologies, Mannheim

 

North America

+1-(917)-793-2500

Europe

+49-(621)-400-676-00

Asia-Pacific

+91-(80)-466-58999

Email

connect@smartshifttech.com

Read More
Niko Faradouris Niko Faradouris November 9, 2018 0 Comments

8 things about S/4HANA Conversions

Although S/4HANA is formally not a successor…

Read More

Automation is making boring IT jobs exciting

The fear of automation has been around ever since machines started to replace manual work on a mass scale. This fear is now shifting from blue-collar jobs to white-collar ones as artificial intelligence and deep learning gain momentum and affect jobs in several industries.

The IT industry has been applying automation to address its customers’ needs for several years, but it has been slow to apply this trend to its internal processes. Instead, labor arbitration and massive human “factories” in low-cost countries have been the answer to most IT projects.

However, the trend of labor arbitration is changing as companies such as IPsoft, smartShift Technologies and Arago use artificial intelligence to replace mundane and repetitive manual tasks with advanced smart automation. Massive application upgrades and cloud migrations, issue resolutions, help-desk automation, provisioning and orchestration are now being done by automated platforms in a fraction of the time and unparalleled quality compared to their manual equivalent.

Instead of being the obvious Luddites, most IT professionals see a great opportunity for IT automation to make their jobs exciting again. A recent Arago survey of IT professionals clearly shows that most professionals welcome the trend to complement rather than commandeer their jobs. The following are the four main tasks IT professionals spend their time on:

  1. Modernization
  2. Planning and strategy
  3. Routine maintenance
  4. Documentation and reporting

The survey participants favor spending more time on the first two stimulating categories and less on the second two “mind-numbing” categories.

Allowing automation to take over the mundane and mind-numbing — and, in most cases, backward-looking — tasks will free time for innovation, strategy and forward-looking activities. It will have a direct impact on reducing the time and budget spent on lights-on versus innovation, and most importantly, it will make most IT jobs exciting again.

North America

+1-(917)-793-2500

Europe

+49-(621)-400-676-00

Asia-Pacific

+91-(80)-466-58999

Email

connect@smartshifttech.com

Read More

Automated Transformation: Shift Gears

When your ERP software supplier provides an upgrade or enhancement, or the business demands new functionality only available in a new release, how do you organize the migration of your many customizations?

Most companies start a manual migration process with a time consuming, and labour intensive proof-of-concept while facing an unpredictable migration outcome. Uncertainty remains and the upgrade enhances the risk for the business as it potentially effects the daily operations.

Wouldn’t it be nice to test drive an automated migration and get an exact project plan and budget calculation? With today’s technology that’s possible, eliminating risks and presenting a 100% predictable outcome to the business.

Remove uncertainty through automated migrations

Uncertainty in projects, especially for the migration of customized code, is highly undesirable. Both in time and budget. You want the freeze period to be as short as possible and no budget overrun caused by advancing insight. Even more importantly, you want to have all the insight before the start of the project.

Over the last few years upfront, automated analysis has become available and is offered by a variety of vendors, but what you really want is to automate the migration itself.

Automated migration is more than just automated analysis

An exact prediction of the outcome with automated analysis is only valuable if you can follow-up on the promise; to be able to deliver the full migration through automated transformation in a fixed price, fixed time manner. Only then will you dramatically reduce the risk, cost and cycle times for complex IT transformations.

Experiencing the added value of new enterprise software versions …right now!

The added value of using the newest versions of enterprise software is clear, the road to achieving this might be unsure and unpredictable. But, the possibility is there with automated transformation of custom code with drastically reduced costs and business risks, exceptionally high quality and very short freeze periods.

Companies should focus on the quickest possible way to benefit from new features and functions offered by their enterprise software supplier. Automated transformation is the way forward to quickly materialize the business value of the latest releases of enterprise software.

North America

+1-(917)-793-2500

Europe

+49-(621)-400-676-00

Asia-Pacific

+91-(80)-466-58999

Email

connect@smartshifttech.com

Read More

Boost from In Memory Revolution

SAP HANA is an in-memory product, designed to…

Read More

Quick Distributed Development

SAP systems are often mission critical. They support ongoing core operations of the companies that rely on them.These companies need to be able to support their production systems at all times, which includes addressing critical bugs and urgent enhancements in a timely manner.Stopping the process of production support for any extended period of time is usually not an option.Unfortunately many those same companies have a need to perform major transformations and upgrades of these SAP systems as they need to ensure that their systems keep up with the ever changing and accelerating pace of business. This includes SAP software upgrades to the latest available versions of the software like Suite on HANA or S/4. These upgrades and transformations are usually major projects that require many months to conduct, test, and deploy successfully.

While these transformation projects are ongoing the companies need to continue to support their production environments. They implement bug fixes and enhancements in a separate environment and release them directly to their production systems as needed.Unfortunately this creates a problem, as the bug fixes and critical enhancement do not automatically appear in the project environment. Unless they are recreated within the project these changes would get lost once the project goes life.

In response to this most SAP customers try to minimize the number of large, longer running projects they conduct, and they implement a manual process of tracking and re-implementing the production changes during the course of the project.This manual process, sometimes referred to as “retrofitting”, is laborious and prone to human error.What if there was a way to automate this process and ensure that 100% of the bug fixes get correctly applied to the project environment without human intervention?

Retrofitting

Software changes are done in one system and will be transported to the system landscape which is linked to this system. But sometimes it is necessary to implement these changes into another system landscape without using the import function of the transport requests. Imagine you want to implement a new functionality. You will use a second development system to work on this new implementation, because you don’twantto disturb the maintenance of the system being done in the original development system.

Retrofit is used to synch transports across landscapes, maintain transport dependencies and automate import of transports into landscapes. It reduces testing risk, timelines and defect cycles by ensuring dual maintenance changes are consistently applied to your landscape.

smartRetrofit

smartRetrofitsupports dual maintenance using an automated solution that can be run as a stand-alone or as an add-on to SAP Retrofit. Each change request implemented in the source (or upper) landscape is synchronized with the target (or lower) landscape with automated merges. The solution automatically merges the code and supports auto-import of the changes during standard Retrofit processby eliminating conflicts due to technical changes. It also provides Web-UI based smart comparison and merge features for developers to handle the actual “conflicts” by remediation.

Process Automation

What are the steps to be taken in the retrofit process? First aconflict analysis is performed by comparing source and target custom objects to classify objects asequal code, non-equal code, existing only in source system or existing only in target system. Then the solution handles various retrofit categories, re-defines the conflict status and converts every transport into auto-importable transports.smartShift’s Retrofit solution eliminates the manual work involved in dual maintenance. It mitigates the risk of development environments getting inconsistent, especially during a long running project requiring multiple parallel development releases.The solution is unique in its capability to support heterogeneous development environments, for example, performing retrofit between non-HANA and HANA environment.

While dividing development tasks improvesefficiency and maintaining multiple systems reduces production risk, it becomes a complex undertaking to merge these changes. Resolving any inconsistencies between systems in a risk free manner by using automated tools can help ensure a quick and efficient process.

North America

+1-(917)-793-2500

Europe

+49-(621)-400-676-00

Asia-Pacific

+91-(80)-466-58999

Email

connect@smartshifttech.com

Read More

Factory Model & Time to Market

Most companies face the continuous challenge of modernizing their…

Read More

Setting up S/4 Sandbox in Weeks

There is nothing wrong with having other priorities than to convert to SAP S/4HANA, but the lack of information…

Read More

S4 Migration: Take the 1st step into AI

“First the machines will do a lot of jobs for us and not…

Read More