24
Sun, Nov
1 New Articles

Chart a Client/Server Course

Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Client/server computing has simmered as a hot topic for a few years now. Clearly, the use of this technology has had mixed results. Although a few traditional RPG shops have jumped in and implemented client/server solutions, the vast majority of them have taken a wait-and-see approach. Like most topics in the realm of technology, the term client/server has numerous interpretations. For purposes of this article, client/server is defined as a software application that delivers a graphical, PC-based interface to data or logic on an AS/400. Much of the momentum behind this push for GUI applications has come from software users themselves. It is now common for typical corporate users to have more powerful PCs at home than they have at work, and they usually have more modern software, too. Driven by powerful interactive software such as Microsoft Office and the availability of increasingly dynamic Web content, the tremendous explosion of home computing has made the traditional AS/400 green-screen application seem prehistoric by comparison.

Unfortunately, few people outside the data center appreciate the fact that AS/400 applications never experience the common errors and downtime that plague the PC platform. Client/server solutions allow you to strike a bargain with these users. With client/server computing, they can have their intuitive point-and-click interface, and you can sleep well at night knowing you’ve secured your critical processes and data on your AS/400. This article explains the components that compose a client/server solution and provides steps to help traditional RPG shops on the path to client/server development.

Anatomy of a Client/Server Application

Client/server applications comprise three critical components: a front-end client, a back-end server, and hardware and software that connects the two.

The Front-end Client

The front-end client is the component of client/server computing that causes the highest level of anxiety for the traditional AS/400 professional. Clearly, the client side of development, which in most cases means learning a graphical, PC-based language,

presents new and sometimes painful challenges. For most AS/400 veterans, the idea of learning a whole new development language can seem overwhelming.

The Back-end Server

How important is a slick front-end if your organization’s data and business processes aren’t safe and secure? As an AS/400 shop, you already have a safe and reliable environment for your data and processes, so you have no reason to change your back-end processing and put your organization at risk. To design an effective client/server application, edits that protect the rules of your business should remain on the AS/400. If you limit your PC client applications to user presentation, which they do best, your organization will feel more secure about pursuing client/server solutions.

The Connection

How the front-end client works with the back-end server is especially critical in client/server applications. Because this conduit for your application must not cause a bottleneck in the flow of information between client and server, you should consider numerous options when selecting a connectivity method. A poor choice of connectivity methods can undermine your efforts by delivering poor performance to your users.

Six Steps to Client/Server

The traditional AS/400 development shop faces many challenges along the path to implementing client/server solutions. Consequently, some shops are more successful at implementing their solutions than are others. You can increase your chances of making a successful transition by following these six basic steps:
• Obtain senior management support.
• Do your homework.
• Get everyone involved.
• Develop standards.
• Focus on fundamentals.
• Start small.

Obtaining Senior Management Support

The first and most critical step toward client/server development has nothing to do with technology: You have to promote the idea of client/server development and sell it to corporate senior management, especially those with input into the prioritization of IS projects. In general, client/server projects take significantly more time to design, develop, and test than traditional green-screen projects. It is imperative to your success that senior management be continually prepared for the impact the learning curve has on programmer productivity.

Doing Your Homework

Just as you don’t build a house without detailed plans, it is equally important to have a detailed client/server plan. There are things to decide, such as what client language and connectivity method to use. These are major decisions that require a great deal of careful research and consideration. It may help you to talk with others who have already switched from traditional green-screen to client/server development. In addition, group gatherings such as COMMON and IBM technical conferences are ideal places to meet people who have also made that journey.

Choosing the right client language is probably the most difficult issue you face. Each language you consider has its proponents and its detractors. You can divide the most commonly used client languages into two broad categories: open languages and proprietary

Rapid Application Development (RAD) tools. Figure 1 lists a few of the more common options to consider.

Open languages can be described as languages designed to run on more than one type of platform. They have a recognized standard and are supported by more than one vendor. If your organization needs or wants to support clients running an operating system other than Windows, such as UNIX, an open language such as Java or C may be a good choice. Open languages afford you tremendous flexibility and protect your investment should your environment or requirements change, but expect the learning curve for these languages to be significant.

Unlike open languages, RAD tools are designed primarily for a specific platform or group of platforms. They consist of a programming language surrounded by a development environment supplied by a single vendor. Not surprisingly, the predominant proprietary RAD languages include Microsoft offerings such as Visual Basic and Visual J++. This means that the future of the tools rests with a single vendor. In this scenario, the tool is designed to enforce the provider’s corporate agenda. For example, tools like Visual Basic are designed around Microsoft standards such as ActiveX. However, the learning curve for RAD tools compares favorably with that of open languages, so if you are standardized on a Windows platform and desire a reduced learning curve, a RAD tool may be a good choice for you.

Getting Everyone Involved

To be successful in your client/server effort, you need the support and cooperation of your entire staff, but a question to consider is whether you have the staff necessary to learn the new concepts. If your budget allows it, you may want to hire a programmer with the experience you desire to help you get started. You especially want to consider potential programmers’ personalities because you will expect them to share their personal expertise with the other staff members.

Introducing a totally new technology into an existing IS shop presents interesting challenges. In a small- or medium-sized shop, one programmer typically leads the way. Although this is necessary to get the ball rolling and build momentum within the department, it can also lead to resource problems if the majority of your staff doesn’t come up to speed. Expect programmers on staff to react differently to new concepts. Some will get excited about the challenge and spend weekends and evenings learning on their own, but other programmers will resist jumping in for fear of failure. Murphy’s Law will ensure that if only one person on staff becomes your specialist, your systems will fail when that person is on vacation.

Staff training can be formal or informal. Training classes in the language you choose can be an effective way to get your staff started, but there is no substitute for hands- on practice. You may want to consider allocating some time out of the production schedule to assign specific practice exercises to each programmer.

Developing Standards

Programmers accustomed to green-screen development are simply not prepared to face the new visual design aspect that constitutes a major part of client/server front-end development. Nothing in their background has prepared them for this challenge. Graphical design requires numerous decisions concerning the size and placement of each screen element. In addition, fonts, colors, and other graphical elements further complicate your design effort. The point is that, if you allow each programmer to design without a set of guidelines, you will end up with a hodgepodge of inconsistent applications. Developing and enforcing standards can be difficult and time-consuming, but a good approach is to choose an interface you find effective, such as Windows 98, and use it as a pattern to emulate.

Focusing on Fundamentals

Where does all the time go? You’d be amazed at how much time you can spend tinkering with the design of a graphical front-end. This underscores the need to put extra emphasis on fundamental project management. Setting frequent project milestones with specific deadlines can assist you in keeping things from getting bogged down.

Because client/server applications have more points of potential failure than do typical green-screen applications, their testing requires additional attention and planning. Scripting a formal test plan for client/server projects is a good way to ensure the application is thoroughly tested.

When first presented with the challenge of client/server development, programmers naturally tend to focus on underlying technology. Details such as connectivity methods and visual appearance can dominate a programmer’s attention, but it is important not to overlook fundamentals such as identifying and analyzing the needs of the user. Users have little appreciation for underlying technology and have no problem discarding an application that doesn’t meet their basic needs, regardless of how attractive it looks.

Starting Small

Do you remember the first program you wrote on the AS/400 in RPG or COBOL? It was probably just a simple report or a few lines of maintenance to get your feet wet but not overwhelm you. It is equally important to bring along your programmers’ client/server skills slowly. Too many shops wait until a large, mission-critical project builds momentum within the organization for their programmers to learn client/server skills. They start with a huge budget, a tight deadline, and no clue where to begin. This is a recipe for disaster. Having each programmer create simple programs, such as file transfer utilities or data reports, allows them to develop their skills on harmless yet useful applications. It is important to start developing your staff’s skills now, before the organization clamors for a mission-critical client/server application.

The Payoff

With all the cautionary words I’ve used in this article, you may wonder whether moving to client/server development is a risk worth taking. If implemented slowly as part of a well- researched plan, client/server development can revolutionize your department. The bottom line is that you can greatly expand the services your department can offer, making you all the more valuable to your organization.

Open Programming Languages Rapid Application Development

(RAD) Tools

C Visual Basic

C++ Visual J++

Java Powerbuilder

Delphi

Figure 1: These are some of the most common open languages and RAD tools

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: