Resultados de la búsqueda

Author Archive

Sockets in RPG

abril 11th, 2014 | Posted by Matias Hapanowicz

One of the basic and most popular methods of systems integration is the use of communication between systems via TCP/IP Sockets (http://www.faqs.org/rfcs/rfc147.html). In fact, this methodology is so popular that it is the backbone of the Internet and the vast majority of communication networks on a global level.

One of the myths that most runs around the RPG programrs is that it is difficult manage them right from within the language…. Incorrect! 

Here I leave a simple library that I wrote to handle them. C has a module that must be integrated into the programs, and then the use is very simple:

Download: zutrssfh.c

The objective of this module is to export functions that may be used inside of an RPGLE program to handle sockets in a simple way.

For use within an RPGLE program, will have to import the definition of these functions :

socket01

OK, all very nice until here… but how do I use in a practical way?

Here I leave two RPGLE programs of example:

• An example of Server (this program opens the socket connections and expected):

Download: server.rpgle

• An example of Client (This program connects to the open socket by the previous and sends data):

Download: cliente.rpgle

After you compile and run these two programs (remember that they must be created first with CRTRPGMOD and then with CRTPGM, to bind both the program and the library), the result should be similar to the following:

socket02

 

Seeing in a DSPLY the response message from the socket.

As you will see, after this, we can dispel the myth.

I hope you have enjoyed and above all has been served. See you!

 

AS/400: Thinking in Integration

abril 10th, 2014 | Posted by Matias Hapanowicz

Of all the technical books I read, here are two that helped me greatly to learn technologies. “Thinking in Java” and “Thinking in Patterns” are two books by Bruce Eckel (http://mindviewinc.com) that opened my mind, not only by the technology that cuold be explained, but in the simple way the author has to explain things.

It is no accident the title of this post. I speak as an introduction to the concept of integration between IBM i and open technologies as an extension of what I wrote in my previous post.

When AS/400 changed its technology from CISC to RISC processors back in the ’90s, used the fact that its own operating system runs on the “Virtual Machine” Technology Independent Machine Interface (TIMI), and generated a series of automatic routines OS/400 to convert programs compiled in CISC to adapt to RISC: There was no need to reprogram anything! And only had to recompile the 5% of the code that Was working in the AS/400 of the moment. It was a masterful move by the giant blue And it is still today the change in technology more “clean” in the history of computing. Such was the impact of this, that was the “workhorse” from all the lectures of Frank Soltis Chief Engineer at IBM, responsible for the AS/ 400, who even went so far as to scorn of Intel, which made a change in technology of 32-bit to 64-bit so cumbersome, that today there are still thousands of commercial systems that still cannot make the conversion, because the cost is retyping completely.

integration

When IBM gave account of the technological leap that should make its formerly called AS/400 to enter the competitiveness of the current world of the requirements Express, said “Hey! Why can’t we help our customers as we did before? Let us give them a tool to convert all your screens to green Web! “. As happens in the cinema, where the second parts are not as good as the first, this second attempt of IBM resulted in a true disaster.

What was the problem? In the first case, the development paradigm was intact, only change the processor technology. This means that the mode of the program does not change, nor the languages, or the screens. In the second case… the paradigm changes completely! There is no longer interactive programs, because the philosophy of the Web is that everything (incredibly) is Batch! There is no equivalent to a Display file in any side! And therefore there is no equivalent to the old familiar EXFMT of RPG! This was the first reason for which the tools of transformation of IBM (Web facing, and then its evolution HATS) failed miserably.

The second reason, is that the Web tends to be “functionally correct” (by this I do not mean to pretty colors and nice images, but to the organization of each button, text box or table, which is designed to be functional! If you do not agree, they come to see Facebook, Twitter, or any of the interfaces of Google! They are not beautiful … are comfortable and intuitive). Think this through for a second: How is it possible that a user interface of 80×24 characters, which only supports text, compete in appearance and functionality with an interface designed to fill the entire monitor in a resolution of 1024×768 pixels, which supports interactions in real time each time it is passed a Mouse above or by pressing a special key?

There is no case. There is no software tool can be inferred, that in a green screen is wanted to put a autocomplete function in a text field, or you want to see an explanatory table when you pass the mouse over a keyword, or you want to reorder fields in a subfile with a click of the Mouse… software tools do not think. Developers may do so. For this reason, is that no conversion tool of the Web that could propose IBM (or any of its competitors, of which there are many on the Internet) will be able to compete with the results of a Web development plan for the Web, and with the head start in the functionality.

This is without counting the number of database fields that, because of a lack of the appropriate data types in his time, took no sense in the database but in the logic of the programs. For example, this is a typical case of the date fields of the IBM API, that does not use a Date data type, but a Packed: Whoever can guess that a numeric field with the 1120205 content actually means “February 5,2012 “?

Then, if the conversion tools do not meet the expectations of senior management, the solution is to throw everything to the trash and start over again on another platform? Unfortunately, many companies thought that yes, either by disinformation, or stubbornness of IBM to sell hats. I propose another solution, which was tested with success in several places more “avant-garde”: Do not pull the AS/ 400… seize everything that they have there and integrate the same with the platforms that are designed for this type of functionality! I do not agree with the idea of converting to the specialists on the AS/400 to new technologies such as Java, HTML, and frameworks several, But I do think that the specialists on the AS/400 know the logic of the business and the customer is internal or external, therefore they should be the analysts, the “owners” of the data. Reality demonstrates to me that for the management of the requirements of user interface or connectivity with external systems, the best business that a company can do to stay technologically viable is to hire a specialist in these topics, And let the iSeries developer perform what should: Handle the core of the business.

My goal for the next few posts, will be to provide an introduction to the frameworks and methodologies of connectivity to be able to integrate the team of developers AS/400 with a team of developers of open technologies for power, between the two, having the best upgrade option of the technological infrastructure that have And at the same time receive less “why it takes so much time to make a requirement? “… or “I have to settle with a green screen if my competition has something else? “.

AS/400… Old?

abril 9th, 2014 | Posted by Matias Hapanowicz

In the era when 75 percent of the systems are developed in Java, PHP or. NET, hundreds of companies still base their core infrastructure on IBM i (or as the old litter we call it… AS/400).

These companies are mostly financial institutions and manufacturing that evolved from the ’70s, some migrating from the old IBM S/34, S/36, S/38 and then commiting to the great promise of late ’80s IBM AS/400 (Application System 400). What was so attractive for companies to enter in the 400 world? It was very simple: IBM promised that everything that worked on S/36 and S/38, will still work on AS/400, but more efficiently. This means that moving to this platform would incur minimal cost from the point of view of development for companies that decide to migrate, and at the same time, remain under the “Standard” of IBM. At the same time, Unix was still an operating system more oriented to the academic world than business, and Intel-based servers were really in its infancy, so the “Mid Range” market (which did not justify the cost of a mainframe and at the same time did not have enough with what low-end computers offered ) was seduced very convincingly to become an AS/400 user.

This was intended to be a success story, had it not been for the late ’90s began a technological revolution that IBM had not planned: Microsoft began to settle as a possible competitor with the release of Windows NT Server to companies.

Let us agree that IBM was so blinded to their business that missed opportunities which, in the opinion of several experts, could have stopped the progress of their competitors. An IBM AS/400, while not as expensive as a mainframe, was more expensive (both hardware and software) than their counterparts at Intel. Students and independent engineers could not afford a piece of hardware like this, while IBM did not generate sufficient agreements with universities so that their own academies could provide these computers to “hungry” technology researchers. But hey… they could pay Intel machines.

Miss this opportunity, was a heavy blow to IBM and its Platform. Scholars became professionals and their companies employed technologies different to AS/400. The increased demand for these technologies introduced a lot of capital to the companies that produced them, and became direct competitors: growth of intercommunication between the platforms, development of open standards, Internet … all these points were developed without having AS/400 into account. By the time IBM realized this, his popularity was already very low. Worse still, they didn’t really made ​​an effort to integrate these technologies until mid 2000.

as400old

For more IBM tried to force changes in its platform (enhancements to RPG programming language, integrated environments through PASE, including name changes, to move from AS/400 to iSeries, then System i5, and now IBM i), the popular view remained tied to “AS/400”.

Today we often listen terms like SOA, XML, Agile Methodologies, Web 2.0 … but those terms are mostly specialists away from the IBM i. While systems require faster changes every time, integration with other platforms and services, and a brand new Web front end, the AS/400 was framed in the collective unconscious as a “Green Screen” platform. Increasingly, managers of companies with IBM i think “Why can my competitor have a sales system so dynamic, web screens accessible from their cell phones, and I only have to offer to my business a Green Screen?”. Others may think “Why does my computer department take so long to build this or that report, and when they made it and I ask for a change they say it would take at least a week to do it?”. Never heard such comments? Well, the answer (no matter how crude it seems) can be summarized in these points:

• While the “open” systems (based on Java,. NET, PHP, etc …) were released since a relatively short time (no more than 10 or 15 years), it is common for systems that are running today in an AS/400 that they have great pieces of code written over 30 years ago… when the requirements and vision of what comprised a computer system were completely different from today.

• IBM, with all the possibilities of backward compatibility, and its separation from the academic world, indirectly make most specialists in the platform reluctant to changes and new technologies (“If it works fairly well … for why touch it? “).

• There is also a matter of age: According surveys of AS/400 professionals (http://www.teknodatips.com.ar/encuestas/18-as400/156-encuestaedadas400.html), 50% of the current iSeries professionals will be retired within 10 years, so they are people who are more concerned with how to “round” their last years of profession, than to learn new technologies.

SH%$@T! This means that the picture is so unfavorable that I should leave the platform? NO! These are just some of the facts. Let’s see the other side of the coin: What is positive with AS/400?

• While most of the developments on open platforms are trying to standardize their databases, AS/400 platform was the first operating system integrated into a comprehensive relational database (DB2/400).

• While most of the Open Systems integration is being performed in Middlewares (Message Queues, WebServices, etc.). AS/400 was the first, also from its operating system, to manage the concept of Data Queues, DDM, and ICF, which is the basis of what later evolved into standards such as JMS, Web Services, and RPC.

• While the current system infrastructure is standardizing concepts such as Virtualization, Virtual Machines, and Containers, AS/400 was the first to integrate LPARs, the Machine Interface and Subsystems, also within its the Operating System.

• The cake cherry: Most of the Core Software of companies that currently have IBM i, is in the IBM i.

So if AS/400 integrated so many years the origins of these concepts, which are the basis of modern software architectures … obviously it can’t be all lost.

The advice I most often give to my clients is make the most with what they now have: If human resources are AS/400 aged over 40 years, and they know the Core system by several years of ongoing maintenance, it is really unproductive to try to “modernize” them… but they have a huge “Know How” of how business operates, and which things are necessary to transform their systems. And above all, they know the user and their needs very well. Do not try to transform them, take them as functional analysts because they are the best resources you have to get this task done.

And what to do with the new coming requirements, and with the managers requests? The secret is integration. The “i” of the new names of the platform (iSeries, System i5, IBM i), stands for integration. The golden opportunity offered by the IBM i today that can be fully exploited is to integrate the technology thank “always worked well”, with agile methodologies that get faster results and implementation.

I’ll never say this is easy … but I can assure you from personal experience that this is the most effective way. The purpose of this blog is to give an overview of the steps to enter the to the XXI century maelstrom, without getting rid of our “AS/400”.

Client Acces

If you have no data access, contact your advisor account.