Proactive Measure to Alert Application Issues

dashboard_gauges

Drivers rely on their dashboard gauges, warning lights and alarms to keep them apprised of any potential issues – so shouldn’t the same theory apply for monitoring
your important business applications? Being forewarned at the first sign of trouble puts one in the best position to address the problem before further issues arise.
Like this guy who neglected to monitor his dashboard:

broken_car

It’s important to not only be warned of an application error – but also to be informed as soon as possible so corrective action may be taken in as timely a manner as possible. Paying attention to important information that the applications are writing to the logs is critical. Continue reading

Java SE8 is here!


Java SE 8 lands with Lambda expressions making coding easier for multi-core processors

Lets developers treat functions as method arguments or code as data. By Lee Bell

SOFTWARE VENDOR Oracle has released its Java Platform Standard Edition 8, Java SE 8, as well as the latest Java SE
Development Kit, JDK 8. The release of the updated Java software has been anticipated for some time, but was delayed by Oracle as it worked on making the software more secure and some additional features.

Oracle said that Java SE 8 delivers “enhanced developer productivity and significant application performance increases” through reduced boilerplate code, improved collections and annotations, simpler parallel programming models and better use of multi-core processors in more efficient ways.

One of Java SE 8’s biggest new features is support for Lambda expressions, a new language feature in Java borrowed from LISP that lets developers treat functions as method arguments or code as data. Lambda expressions also allow users to express instances of single-method interfaces, referred to as functional interfaces, more efficiently.

IDC analyst Al Hilwa said that Lambda support in Java SE 8 makes it an important milestone for the language and platform because it will make it easier for developers to write code for multicore processors, but he also noted other Java 8 features that mark significant language improvements.

“There are a variety of interesting things in [Java] SE 8, like the Streams API focused on parallel processing large data sets, Project Nashorn’s faster Javascript engine, and of course implementing Lambda expressions,” Hilwa added.

“These are significant changes to the language that will have a long-term impact as we shift into a highly parallel world populated with multi-core devices and big data. To see the team do this while simultaneously investing heavily in securing the platform in the face of escalating malware attacks everywhere is a huge achievement.”

Among the list of new features are a new Date/Time API, Type Annotations, and a set of Compact Profiles, which allow Java SE 8 implementations to be scaled down more easily.

Modernizing SCOBOL Programs Part 2: Re-engineering using Blu Age

In Part 1 of this blog series, we discussed the benefits of modernizing SCOBOL requesters, and the challenge of handling programs with extensive business logic..
In this Part 2 installment, we will talk about how to approach these business logic embedded programs via re-engineering and the benefits of using a tool like Blu Age.
Re-engineering using framework

Re-engineering is a better approach to application modernization. Instead of selectively rewriting certain portions of the business logic to fit into a random mix of components (e.g. HTML, Java and JavaScript, etc.), re-engineering advocates redesigning the application from the ground up. By re-engineering, we mean applying a combination of human insight and automation power to migrating business logic (e.g. calculations, business rules)
to a modern technology framework.

Re-engineering wheels

A properly re-engineered application carries many benefits, including:

  • Maintainability
    Creation of code based on the new design blueprint using modern development methodology ensures there are readily available resources and tools for it to be maintained easily.
  • High performance
    Test tools are readily available in Open Source or commercial market to measure and tune applications designed with modern framework.
  • Adaptability
    Once an application has been modernized, there is a good chance that its functions will continue to evolve. Adopting a proper design framework will ensure that the new application will continue to adapt to new requirements and can be enhanced easily.

But the challenge remains the same by taking the re engineering approach: You still need to migrate the business logic in the original programs to the new code. This is where a tool like Blu Age can facilitate the process.

Introducing Blu Age – A Powerful MDA Tool

Firstly, as the saying goes:“There is no free lunch.” If you are looking for a magical “EASY” button, Blu Age is not it. Blu Age is not an automatic translator. It does not make the end product magically for you by your clicking a button. But it is a tool that can help you get the job done more easily and more quickly.

Blu Age is a tool that:

  • Helps you analyze your program source with built-in visual tools and annotation features
  • Enables you to define reusable code patterns to automate intelligent code segment identifications and conversions
  • Extracts the business logic from your code
  • Assists you in transforming the business logic to new code in Java or .NET

Re-engineering

What is Blu Age?

Blu Age is a commercial software re-engineering and modernization tool suite that follows the Model-Driven Architecture (MDA) approach to generating program code from Unified Modeling Language (UML2) diagrams. MDA is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. It a standard that was launched by the Object Management Group (OMG) in 2001. Blu Age provides all of the re-engineering capabilities discussed earlier, and more. All of Blu Age’s power is based on generating and approving human-readable models that Blu Age then converts into modern code.

Re-engineering

In short, you use UML diagrams to design your application in Blu Age, and it generates the application for the targeted framework according to your specifications .

Blu Age Components
Blu Age is a tool suite built on Eclipse and contains modules that address different components of the modernization process.

Re-engineering

Blu Age Reverse Modeling (BRM)
  • It automates the process of reading your original code (e.g. SCOBOL source) and identifying the interesting and necessary business logic that it will then convert into the diagrams of your model.
  • As you interact with BRM, it identifies and extracts business rules, calculations, and business logic into Unified Modeling Language (UML2) models, ready for you to review and approve.
  • Once approved, your models feed Blu Age’s Forward Engineering (BFE) with accurate business logic functional specifications.
Blu Age Forward Engineering (BFE)
  • Blu Age then applies its code-generation capabilities to automatically transform your models into complete, modern, high-quality application code in Java or .Net.
Blue Age Delivery (BDE)
  • This ensures the quality of the code delivered by BFE. BDE operates in a modern continuous integration and testing environment that is consistent with the today’s best software engineering practices

Blu Age re-engineering approach is different from both rewriting and translating. Rewriting is a laborious set of tasks, the success of which depends of learning ad properly applying new computer languages and new software engineering techniques. Blu Age lets you focus on ensuring the right business logic is transferred from your SCOBOL program to the new target platform.

Blu Age also differs markedly form automated translators. Automated translator converts the SCOBOL program wholesale, leaving you to read through unfamiliar modern code to determine whether the translation appears successful.

Blu Age puts you in the driver’s seat to determine the steps in mapping over the business logic, while relieving you of the burden of coding in a new unfamiliar language, or trying to make sense of automatically translated code.

So, how does Blu Age methodology work? Read about it in our next blog:

Modernizing SCOBOL Programs Part 3: Blu Age Methodology

moreinfo_icon

Feedback please

Do you find this tutorial blog helpful? Let us know what you think, and how we can make it even better. Don’t forget, you can subscribe to our blogs (top right-hand corner of the home page) to get automatic email notification when a new blog is available.

Phil LyPhil Ly is the president and founder of TIC Software, a New York-based company specializing in software and services that integrate NonStop with the latest technologies, including Web Services, .NET and Java. Prior to founding TIC in 1983, Phil worked for Tandem Computer in technical support and software development.

Modernizing SCOBOL Programs Part 1: The Challenge

Part 1: The Challenge

Why Modernize?

The pace of application modernization initiatives on NonStop has accelerated in the past several years, as more users and organizations have started to consider the importance of NonStop’s strategic values. The objectives of application modernization are to reduce risk, reduce costs, and to increase agility. These objectives align with the priorities of all organizations’ IT management.

Migrating Existing Legacy Programs 

Most discussions on application modernization focus on how to develop new applications on NonStop using new technology, such as Java, SOAP, open source frameworks such as SASH. Yet, one of the most common problems faced by IT management is not about the development of new programs, but rather with the challenge of how to migrate existing legacy programs containing complex business logic to a  new programming platform.SCOBOL2

This blog series focuses on this last topic and uses SCOBOL as an example. We show how it is possible to extract business logic from a legacy SCOBOL program and incorporate it in a modern version of the program using a software engineering tool called Blu Age.

The Challenge – Embedded Business Logic

Business LogicSCOBOL was originally designed for handling the UI, and the recommended best practice was to avoid business logic in SCOBOL programs. In reality, developers commonly exploit SCOBOL’s capabilities by putting business logic in their programs. These business logic routines may range from something simple like checking input fields for certain values, to extensive logic that cross-references multiple screen fields. With all this embedded logic, the SCOBOL programs become very function-rich and work beautifully in the native Pathway environment. However, when the time comes to migrate the program to a new environment such as a web browser, embedded logic becomes an obstacle in the migration effort. In the browser and application server environment, you will need to understand where the business logic is in the existing program, and how to replicate this business logic in the new program.

Dealing with programs with business logic

Let’s say that you have SCOBOL programs with business logic that you want to transform into to a web graphical user interface (GUI) application. Here are some of your available options in handling the embedded business logic:

Rewriting

programming teamOne instinctive approach would be: “Let’s rewrite the business logic into a modern equivalent.” While that sounds straightforward, the skill sets required to faithfully reproduce the business logic embedded in the legacy UI in a modern form are considerable.

Here are some of the challenges:

  1. There is usually no adequate documentation of the existing code. The only thing available is the source code.
  2. That means someone needs to understand how to read SCOBOL code, and someone else with expertise in the new programming environment to assist in the migration.
  3. SCOBOL programming expertise doesn’t necessarily translate to a clear understanding of the business logic in someone else’s code. In most organizations, chances are that the original coder is no longer available.  In some cases, this could be further complicated by the fact that the program had been modified by multiple developers over the years.
  4. Finally, you must verify that all the functions are rewritten correctly.

CautionCaution: Rewriting by hand sounds easier than it really is.

Language Translator

translateUsing an automated language translator is another approach to modernizing legacy programs with business logic. A language translator is a program that can read in a SCOBOL program source and output a program in a target computer language like Java or C#, along with all the other technology pieces needed to provide equivalent functionality to the SCOBOL program.

The HP Pathway/iTS product is an example of this kind of translator product. It reads in the SCOBOL source, and generates equivalent Java applet code that will run in the web browser and communicate with the Pathway TCP. There are other commercially available COBOL translator products and services in the market that work similarly on different COBOL variants on different platforms.PathwayiTS

While this sounds good in theory, the result usually falls far short from ideal.

  • This translator would face all the challenges of human “rewriter” without the human’s intelligence. A translator is a black box to its users, and “tuning” by vendor experts is required to produce a successful translation. SCOBOL programming style changes (e.g. two different programmers’ coding styles) may befuddle the translator, requiring expert vendor intervention to keep things moving.
  • Most translators can deliver only somewhere between 50%-70% success rate at best, and the result varies depending on the complexity of the original program. The rest requires additional manual tweaking by an expert of the tool and could take a fair amount of time.
  • Experience with program translators shows they can be brittle. Even if the translated program is functional, most likely the generated source code cannot be maintained manually by a developer.
  • Translated code usually does not perform well, as the vendor of the translator tool focuses more on delivering an output that functions correctly, without regard to performance

CautionCaution: Translators sound great but have severe practical limitations.

So, what would be a better approach? Read about it in our next blog:

Modernizing SCOBOL Programs Part 2:  Re-engineering using Blu Age

moreinfo_icon

Feedback please

Do you find this tutorial blog helpful? Let us know what you think, and how we can make it even better. Don’t forget, you can subscribe to our blogs (top right-hand corner of the home page) to get automatic email notification when a new blog is available.

Phil LyPhil Ly is the president and founder of TIC Software, a New York-based company specializing in software and services that integrate NonStop with the latest technologies, including Web Services, .NET and Java. Prior to founding TIC in 1983, Phil worked for Tandem Computer in technical support and software development.

Application Rationalization

Application Rationalization 101

imagescaojxf86

Application Rationalization is a managed process that reviews and evaluates applications in the IT Application Portfolio on a rational basis, to determine which should be preserved and enhanced, redeveloped and re-platformed, replaced with alternative solutions, or simply retired.

The goal of application rationalization is two fold.

  1. To Identify candidate applications for modernization action that might include enhancing, transforming or migrating to newer technology platforms, replacing with new solutions available as COTS or Cloud offerings, or simply retiring with no replacement.
  2. To initiate action based on the rationalization plan, and begin the modernization effort.

What follows is a brief discussion of application rationalization, beginning with scoping, and following through to taking action on the rationalization plan.

Scoping

To begin the rationalization process, you and TIC Software develop an action plan to decide on the scope of the application rationalization effort, considering such drivers as:
imagescafujf1s

  • Which business unit generates the highest IT costs?
  • What class of technology generates highest support costs, (e.g. NonStop)?
  • Which Line of Business (LOB) was most recently acquired and is now least integrated with the balance of the portfolio?

Then, we capture the following information, used to scope the Application Rationalization effort:

  • A count of applications to be reviewed,
  • The quantity and availability of supporting application documentation and support records
  • The report and presentation process that will follow from the rationalization effort (high-level, high-impact supported by detail roll-up

We will be grading applications on their cost, and the value they deliver, both now and in the future. Therefore we will need your agreement on how forward-looking we should be.

Rationalizing

imagescafbx311

The key drivers for the rationalization are typically

  • Enabling a “do more with less” attitude by identifying IT portfolio bloat and reducing it, thereby freeing funds
  • Bring transparency to IT by portraying IT spend in a meaningful (e.g. business and value-oriented) way, and
  • Establishing business ownership of IT assets (applications, data) through the Application Rationalization effort

To understand cost and value, we will gather and evaluate information within the scope of the effort. Here are some examples of what we would examine…

  • Where is your organization or individual business unit, if that is our scope going as a business
  • What are the desired principles of IT’s operation to support client’s business direction
  • What is the history and projection of annual support, license, and enhancement costs (people and technology) by application, considering direct costs first, and indirect from client’s rational basis of overhead allocation
  • What do Business and Technical Stakeholders think about the application suites under review, compiled through interviews and completed surveys

Understanding

whereis-resized-600The Application Rationalization process gives insight into the value that applications deliver and the costs and risks associated with that delivery. Delivered value can be understood as profits derived from business functions directly supported by application suites under review. However, there is a deeper meaning to delivered value, having to do with key strategic alignments, discussed following.

Alignment between Business Processes and Applications

Proper alignment means that the time and effort you spend running your business is devoted to productive work, not work-around. Misalignment means extra work such:

  • Is each business process is supported by multiple applications? This gives insight into redundant user interfaces among applications, identifies the use of application integration, and also identifies the number of applications that must be modified when the business process changes.
  • Are business activities are supported by a single application?
  • Are critical business processes/activities supported by different applications than the noncritical business processes/activities? This helps to identify less critical applications that might be replaced or retired
  • Does each application’s functionality support at least one business process activity? Applications that play no role in supporting the business should disappear

Alignment between Business Processes and their Data

Business and Data alignment means that business people have the information they need – accurate information, with the right level of detail, and on time. Misalignments make it difficult to get information that is relevant for the business.

We perform a technology and business process review to answer questions such as…

  • Is every data attributes used by at least by one business process?
  • Are all data entities meaningful to their business users?
  • Is the organization using standard, off the shelf applications for generating ad-hoc reports, inquiries, and graphs, or are custom-written applications doing this work?
  • How well is data lineage (origin, and update path) of data entities tracked?
  • Are business people responsible for overseeing the quality and relevance of data content?
  • Does the organization use an Information Architecture with published principles and rules? If so, which data entities are in compliance, and which are not?

Alignment between Applications and Data

Application and Data alignment means that IT experts expend coding effort coding business functions and logic, rather than on data repair, conflation, and extra transformation. We perform a technology and business process review to answer questions such as…

  • Is data entity managed by only one application? This means that entities are identified, created and reused by a single application, simplifying information management
  • Are data entities created with null values present, or with plugged values, when real values are not available?
  • Are there vocabulary and semantics organization standards so data from one business entity can be easily shared with others?
  • Do standards exist for data interchange formats across the organization? Are they used, or ignored?

Acting

imagesca431vbc

Our application rationalization offering brings focus on the business value delivered by client application suites vs. the cost and risk associated with that value delivery.

No matter how complete the go-forward plan, or how compelling the analysis for modernization, retirement, or replacement of applications, clients will only derive real benefit by putting the rationalization plan into action. Successful implementation of a rationalization plan will require buy-in from all in-scope business and technology stakeholders. Therefore, selecting the right initial application suite, engaging stakeholders, and selecting the right modernization partner, are all crucial to success.


moreinfo_icon
To learn more about TIC, Application Rationalization, Modernization with BluAge, and what it means for your NonStop environment, schedule a conversation by emailing us to TIC Sales .

Feedback please

Do you find this tutorial blog helpful? Let us know what you think, and how we can make it even better. Don’t forget, you can subscribe to our blogs (top right-hand corner of this page) to get automatic email notification when a new blog is available.

stu_selip-resized-600Stuart Selip owns and operates Principal Consulting, LLC, an IT Strategy consulting firm that is a business partner of TIC Software. Prior, as the Chief Executive Officer of Luxoft’s Consulting Strategies unit, he managed delivery of IT Strategy consulting to Fortune 500/Global 2000 firms in the Financial Services, Insurance, and Media industries.