What is REST Web Service?

webserv_img

Ten or 15 years ago, when people talked about Web Services, you would immediately understand they were referring to SOAP. But these days, if someone says they have a Web Service interface, you need to follow up with the question: “What kind of Web Service – SOAP or REST? ” In fact,  REST is fast becoming the more visible application interface on the Internet.  This blog provides a quick overview of what REST is, and how it compares to SOAP.

Web Services

Firstly, like SOAP, REST is a Web Service, which by definition provides an Application-to-Application interface. So functionally, REST is similar to SOAP in that it enables a Client application to invoke an operation/method in a Server application . Furthermore, REST uses HTTP and HTTPS as the communication protocol, just as SOAP does. Their differences lie in what is underneath the cover.

webserver_flowchart

SOAP Web Service

One of the key underpinning of SOAP Web Service is the usage of XML in its:

  • Messaging protocol (SOAP)
  • Description of services (WSDL)
  • Actual data representation (payload)

webserver_flowdiaREST Web Service

Proponents of REST view XML as the major reason to move away from SOAP Web Service because of its verbosity: XML encoded data could increase the size of the message enormously.

So instead, REST Web Service embodies the following:

  • No standardized messaging protocol like SOAP
  • No standardized description of services like WSDL
  • Data are encoded in JSON (JavaScript Object Notation)

REST embraces the adoption of utilizing URL and HTTP protocol methods (verbs) to convey methods/operation.  So instead of using WSDL like in SOAP to convey exactly what the operation is, the standard HTTP verb is used “by convention” to convey what is needed.

UniformInterface

The perceived benefits of this approach are:

  • It eliminates the need of an XML Parser
  • JSON messages are smaller than XML messages
  • It eliminates the client application to understand how to handle SOAP protocol or interrupt the web service description

JSON_REST_HTTP_img

These are especially important factors in “lightweight” clients like mobile applications. This can be demonstrated by a simple example below, comparing a REST request with a SOAP request.

request

More to come

Does this mean that REST is always better than SOAP? Is REST limited to only mobile applications or JSON data? What is the significance of using REST with NonStop applications?

We will explore these and other questions in our next blogs.

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.

NonStop Boot Camp Technical Sessions 2015

One of the many great things about this year’s Boot Camp is the number of outstanding technical sessions. There were so many exciting topics it became difficult to choose just one when there were overlapping sessions.  I managed to break away from my booth duty (Thanks, Gaby!) and attended some of the sessions. I enjoyed all of them and would like to share with you my positive experience. I recommend that you download these presentations when they become available from Connect.

“Monitoring & Management of 100’s of JVM’s” – Larry Ruch, Pulse

One of the topics on many Java practitioners’ mind is “Java Garbage Collection”, which has often caused concern about its unpredictable impact on performance. Larry’s presentation guides us through the tools and methodology that he uses to manage the many, many JVM’s on  his NonStop systems. Very interesting and enlightening!

“OSS architecture overview” – John Zimsky, HPE

Many of us probably had talked to John at one point or another regarding an OS, Java or OSS issue. John is super knowledgeable and always very helpful.  It was great to sit in his session as he provided a quick overview of OSS architecture and some of its internal structures.

“Java Pathway Server Development using Spring”  – David Wiseman, TELUS

David’s Java presentations are always interesting  at Boot Camps. In his presentation this year, David covered not only  how he build his application on Spring, but also his use of the “Decorator Design Pattern”.  It is great to learn about customers like Telus using Java and modern tools to develop their NonStop applications.

“Jenkins: From Continuous Integration to Delivery on the NonStop” – Meg Watson, HPE

It  is always amazing to listen to Meg’s presentations to learn how she and her teammates have achieved extremely high performance with their Java projects on NonStop. This presentation focuses on the practice of “Continuous Integration” (CI) and the use of Jenkins, an open source tool on the NonStop.  The session was highly motivating and encouraged the rest of us to learn more and do more with open source tools on NonStop.

“Real-world Java Application Tuning on NonStop” – Franz Konig – HPE

Performance has always been important to NonStop Users, and  how to tune Java application performance is an especially important topic. Franz offered some practical tips on how to tune the Java environment, but also reminded us to apply some of the tried-and-true NonStop tuning fundamentals.

“Modernization Through Integration” – NuWave
Gabrielle Guerrera, Dave Belliveau – NuWave. Damian Ward-VocaLink

This NuWave presentation focused on their LightWave REST/JSON product on the NonStop. What made it unusual is that the guest speaker Damian Ward from VocaLink demonstrating a Minecraft game interfacing to NonStop using LightWave! It was refreshing to see the creative use of an API from any platform (including from a game platform) to interconnect with NonStp applications. Really thinking outside the box!

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.

Modernization with TIC Software

modernization3.0

Founded in 1983, TIC Software has been designing, developing and distributing IT solutions to address the technical challenges of modernizing legacy applications for over three decades and counting! We’re proud of our history – helping our clients maintain the highest standards with innovative solutions that keep their business IT infrastructure running smoothly.

Our products and services provide our customers with solutions that optimize: data flow and reporting, gateway and communication development, business intelligence and, of course, legacy application development. We’ve been modernizing legacy applications for a variety of companies in myriad industries such as financial services, healthcare and wholesale distribution. We work with technology partners to leverage the most up-to-date IT innovations – to best serve our clients – many of whom have been with us since day one! Continue reading

Reporting with Report.Web

Better Business Intelligence & Reporting with Report.Web

image_RW_face

One of the challenges organizations face today is capitalizing on the sheer volume of information available and how to best leverage what’s pertinent to help make optimal business decisions. Company databases are filled with a variety of information about clients, prospects, revenues, costs and market trends – but often this data isn’t used to its fullest potential – and one of the firm’s biggest assets isn’t exercised to help the organization grow and prosper.

The vast amounts of raw data collected and stored in a firm’s data repository can be daunting – and attempting to gather this information into an organized report that may be distributed across the enterprise can seem like a Herculean task – especially when dealing with multiple computer architectures. What is needed is a solution that speaks to the many computing environments found in business today for data access and compilation, and then provides a universally readable reporting format via Web-based distribution; in other words Report.Web. Continue reading

Modernize or Migrate? That is the Question…

Organizations that have implemented mainframe computing solutions in the past have two viable IT options as time passes and technology evolves. One option is to keep their systems in synch through modernization – adding current application software, firmware and tangential hardware – to integrate newer features and benefits into existing platforms. Alternatively, they can move away from their existing systems and migrate to a new platform. We’ll take into consideration the challenges (as well as the pros and cons) of these choices as we examine some of the factors to consider when deciding upon which path to take:

• System Upgrade Requirements to Address Ongoing Business Needs
• Costs & Resources Needed to Continually Meet Business Goals
• Clearly Defined Strategy & Road Map to Correctly Guide Efforts Continue reading

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 3: Blu Age Methodology

Part 3: Blu Age Methodology

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 Part 2, we talked about how to approach these business logic embedded programs via re-engineering and the benefits of using a tool like Blu Age.

In this Part 3 installment, we will review how one can ensure a successful modernization project by using the Blu Age tool according to its effective methodology.

Bluage logo

Modernization Methodology

Blu Age is not just a tool suite. It offers a  set of best practice that will facilitate your  modernization process. Here is an overview of the Blu Age methodology.

Establish the blueprint

Re-engineering your SCOBOL program is like redesigning your home in a home improvement project. You wouldn’t remodel your home without having your blueprints at hand, just as you wouldn’t re-engineer your SCOBOL program without first building the model that represents it. You specify the new blueprint of your application in UML by using Blu Age’s MagicDraw tool. This specification includes the all the screen and storage data elements, user interaction, screen flow, and process logic. This represents your “vision” of the new final product, which could include some or all of the functions, features and business logic of the original SCOBOL program.

Blog BA 1

A properly reengineered application carries many benefits, including:

  • Maintainability
    Creation of the 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.
  • Adaptable
    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.

 Analysis

Building a new SCOBOL program model starts with you feeding the SCOBOL program source into the Blu Age tool suite, where it is analyzed, and incorporated into a special knowledge base. One important use of this knowledge base is to help you find repeating patterns of code that you may choose to model, or to ignore and leave behind.

Blu Age’s built-in editor also includes very powerful search and cross reference capability that enables you view code relationship, data attributes, called paragraphs, etc. in multiple windows by clicking on links.

Blu Age can also take the SCOBOL SCREEN SECTION and automatically generate a mock-up version of the user interface in web format. This allows you to visualize the existing user interface, and apply design changes in the process.

Blog BA 2 Mockup

 

Annotation

Once the knowledge base is initialized, you begin to browse the SCOBOL code, looking for paragraphs that contain valuable business rules, calculations, and other key artifacts you want to preserve. The process of browsing and marking your code as “Keep” or “Ignore” is called annotation.

Blog BA 3 Annotation

Blu Age has a built-in capability that facilitates the browsing process and helps you keep track of the progress of your code review of the program. For example, the picture below shows how much of the original program has been reviewed and annotated in the modernization process.

Blog BA 4 Statistics

Patterns

As you identify SCOBOL “keepers”, Blu Age updates the knowledge base to reflect the patterns you identify. The patterns are more than simple text matches. The knowledge base uses artificial intelligence (AI) techniques to help you find other similar code that is similar to a “keeper”, even if it is not identical to your first “keeper”.

This is particularly beneficial because it enables any pattern that you have identified once to be automatically applied to other programs. For example, as we know, many SCOBOL programs were actually “derived” from only a handful of original programs. As you identify and store a paragraph pattern in one SCOBOL program, Blu Age can automatically scan other program sources in the repository and apply the same defined rules to the paragraphs in those programs. This automated process will accelerate your transformation effort dramatically.

Blog BA 5 Patterns

Extracting business logic

TransModeling is the point when the “magic” happens. Once patterns have been identified as useful to retain in the modernized system, you can select any particular code segment for Blu Age to generate an equivalent UML2 model from it. You and your business rule and business calculation experts will review the model diagram to ensure that the right rules and calculations have been properly represented and staged for modernized development. You can also modify the model to remove any obsolete logic or to add some enhancements to it. The end result is a complete model of the new application that includes the business logic of the original SCOBOL program that you have decided to keep.

Blog BA 6 Forward

Forward Engineering

This is the easy part! Once you approve the model developed from your legacy SCOBOL program, Blu Age ingests the model diagram and other information in the knowledge base to produce your modernized code (Java or .Net). The modernized code is now ready for incorporation into the systems engineering build process that is managed by the Blu Age Deliver (BDE) portion of the Blu Age tool suite. You are now on your way to replacing SCOBOL with a state of the art presentation layer, and all business rules and calculations properly located within a modern layered architecture.

Blog BA 7 Forward Engineering 2

Conclusion

Modernizing NonStop applications is a cost effective investment that enables an organization to reduce risk, reduce costs, and to increase agility. Web enabling SCOBOL represents an important part of modernizing an existing Pathway application, as a new GUI will usher a new wave of increased productivity and higher service levels.

Depending on your need and scope, there are different approaches in migrating the UI from green screen to web browser. If your SCOBOL programs include a fair amount of business logic, then you should consider using automated tools to facilitate the modernization process. With Blu Age, you will be able forge ahead  to incorporate important business logic of the existing programs into your new programs, using modern language, framework and methodology.

Like any tool, Blu Age can produce the best result only when it is properly used and well managed. Our advice is to start with a Proof of Concept (POC), which will allow you to better understand the project scope and required effort. Also, seek out professional services assistance from Blu Age and their partners like TIC Software and HP Enterprise Services to help you jump start your initiative.

Based on what you learn from your POC, you and your team will now be ready to plan out the rest of the necessary steps to ensure a successful full scale modernization project.

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.