Make It Your E-business

Commerce - Other
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

If the AS/400 has suffered from one thing, it would be its own success. For years, it has provided a solid platform for the development and deployment of crucial business applications. The AS/400 has made it easy to bypass the waves upon waves of Internet technologies, each one promising to do something that is already done robustly on the AS/400 platform. The Internet, however, is rapidly maturing. It is fundamentally changing the model of business and the applications that automate that business. And while this new model, named e-business, does resemble the one that has enabled the AS/400 to be so successful, the differences and impact are such that we need to rethink how and what we are developing.


The E-business Runtime Environment


Key to any e-business application is the set of components that make up the application runtime environment. No longer is an application simply an RPG (or COBOL) program sending display files to a 5250 terminal and reading and writing logical files. An e-business application is a set of static Web pages, dynamic scripts, business objects, and, perhaps, even workflow documents collectively working together to provide the business functionality that a user would perceive as a single application. Each piece of the application executes on one or more of the components in the runtime environment.

One of the main things that distinguish an e-business application from traditional applications is that the user interacts with an e-business application via a Web client. The Web client displays screens to the user, who, in turn, uses the screens to view information, enter information, navigate through the application, and invoke application functionality. The Web client is usually a standard Web browser but can be any client-side application that communicates with a Web server using standard Internet protocols. Unlike a 5250 terminal, a Web client actually has the ability to perform some client-side processing, though that processing is limited to simple user-interface functionality such as field validation.

The Web client interacts with a Web server, which feeds the Web client screens and data. The Web client sends the Web server information that is entered by the user as well as requests for application screens and for application functionality. The client and server typically communicate using the HTTP or HTTPS (SSL-encrypted HTTP) protocol. While other protocols are acceptable, such as the Internet Inter-ORB Protocol (IIOP), for

example, HTTP is easier to deal with when the Web server requires a firewall. When HTTP is being used, the Web server sends the Web client HTML pages. As the standards mature, HTML pages will be replaced by Extensible Markup Language (XML) pages.

Next in the complex process behind an e-business application, the Web server passes requests for application functionality through either Common Gateway Interface (CGI) or servlets to either an application server or a workflow server. (For more information on these two technologies, see the article “Understanding CGI and Servlets” at Which one of these two servers is used depends on the task being performed. Application functionality that is best modeled with objects or functionality that is transactional in nature—such as entering customer information, taking orders, or viewing a build list—belongs in an application server. Application functions that are message- or document-based belong on a workflow server; administering a newsgroup and tracking an order approval process are good examples. Finally, modules implemented to execute on either the workflow server or the application server may, in turn, invoke functions on an existing system. For example, a module on the application server may process orders. That module, in turn, could tie back into an existing inventory system and order-fulfillment system.

E-business applications are well suited for an object-oriented architecture known as Model- View-Controller (MVC). With MVC, the modeling of the external world, the visual feedback to the user, and the handling of user interaction are explicitly separated and handled by three types of modules, each one of which is specialized for its task. The view manages the graphical and textual output of the application. The controller interprets the user input, commanding the model and the view to change as appropriate. Finally, the model manages the behavior and data of the application, responds to requests for information, and executes requested commands.

To see the MVC architecture at work, go to your favorite portal site on the Web. The total functionality of such a Web site is the application. It may let you search for sites and find out about local weather, television, and movies. Each HTML page executed by your browser is a view. When you click on a link or enter information that is sent to the Web server, whatever system responds acts as the controller. Sometimes, the Web server itself is the controller, as it is when a static page is requested. For more complicated requests, such as a search or request for local television listings, either a CGI program or a servlet acts as the controller. The CGI program or servlet interprets the posted data and then determines which application functionality to invoke. The code that implements the application functionality acts as the model.


Application Domains


Applications can be organized into either vertical domains or horizontal domains. Vertical domains are based on an industry, such as retailing, banking, or manufacturing. Horizontal application domains are grouped by the functionality they deliver. E-business requirements vary based on the horizontal and vertical domains of an application. Vertical domains have a rich history and support. Many applications already exist that satisfy vertical-domain requirements. The Internet has introduced several new horizontal categories. The five most common, for the sake of discussion, I will call storefront, marketplace, self-service, information distribution, and transaction service.




Simply put, a storefront Web application is one that lets a user purchase products. If you have purchased books, movies, or flowers over the Internet, then you have used a Web application that fits into the storefront application domain. is probably the most famous storefront application. Storefront applications support transactions between a




buyer and a seller where the application host is always the seller and the application user is always the buyer. The application user may be an individual consumer, or the user may act as a purchasing agent for a business. The application host uses the application primarily as an order-entry system and interfaces the application into an order-fulfillment process.

Storefront applications allow a user to browse a catalog of products, search for products by attribute, order products, pay for orders, and track orders. The payment process may be as simple as accepting credit card information and connecting to a payment gateway. If the user is a purchasing agent for a company, then the payment process may need to tie into a workflow process if quantities or order values exceed certain limits. Storefront applications may also use a workflow server to provide messaging services that keep users updated on order progress and allow users to send questions on their orders.

Storefront applications also interface with vertical legacy applications. The applications typically service the vertical domains of retailing and manufacturing. Storefront applications use these vertical applications for order fulfillment, inventory management, merchandising, and accounting.

As shown in Figure 1, a storefront application’s ordering process maps onto an e- business architecture. In this example, the user presses a button labeled Add to shopping cart on the view object, which is an HTML form. The view object executes in the user’s Web browser. When the user presses the button, the browser sends the application request to the Web server. The Web server is configured to pass all requests of this nature to the application server. The application server, in turn, invokes a controller object that accepts the function request. The controller looks up the model object that handles shopping-cart functionality. The controller then invokes a function that will add the requested product to the shopping cart. The model object may use a legacy connector to check available inventory in an existing inventory system. Once the model adds the product to the shopping cart, it returns a success code to the controller. The controller looks up or generates the success view, and that view is returned and displayed in the user’s browser.

The storefront application domain is the most mature of the domains discussed. Many off-the-shelf commerce servers provide the functionality to satisfy the needs of most storefront applications. These off-the-shelf packages provide model and controller objects that you use to build your application. Many even provide templates that you can use as a starting point for your view objects.




A marketplace application provides an environment for buyers and sellers of products to find each other. E*TRADE and eBay are examples of this type of application. As with storefront applications, marketplace applications support transactions between buyers and sellers. However, the application host need not be a buyer nor a seller. Instead, the application host acts as a clearinghouse for all the transactions. Users of the application act as buyers, sellers, or both. The application host may charge a subscription fee or a percentage of each transaction.

Online auctioning is the most common, but not the only, form of this application domain. One marketplace application host, for example, markets itself as a consulting agency. It provides application functionality that consultants use to enter information about themselves and their companies. It also provides functionality that companies use to find consulting services. The application host charges the consultants both an entry fee and a percentage on the consulting engagements. Online trading is yet another example of a marketplace application.

A marketplace application allows sellers to register products or services and allows buyers to find the sellers that have the products they wish to purchase. Because neither the buyer nor the seller may know much about each other, a marketplace usually authenticates the buyer and the seller or the transaction between them. Depending on the level of service

offered by an application host, the authentication process may be served best by a workflow server.

There are some off-the-shelf packages that can be used to build auctioning functionality. These packages, however, are still new in their development cycle and not yet proven. Because of this, if you need to build a marketplace application, you have to build the model, view, and controller objects from the ground up. The whole concept of a marketplace is one of the new concepts made possible by the Internet. Because of this, except for accounting needs, marketplace applications tend not to interface with existing systems.




The primary goal of a self-service application is to use the Internet to reduce support costs while increasing the level of support available. Shipping companies such as Fed Ex and UPS provide good examples. A self-service application allows users to find out information that they would otherwise find out from a person knowledgeable in the area of inquiry. An FAQ page is the simplest example of this type of application; shipment tracking is another example.

A self-service application allows users to enter an item of inquiry and submit searches. It may use a workflow server to track and satisfy the inquiries. Self-service applications are typically based on existing in-house legacy and workflow applications used by support staff. As is the case with a marketplace application, if you need to build a self- service application, you have to build the model, view, and controller objects from the ground up. The difference is that the controller and model objects are thin wrappers over the existing systems.


Information Distribution


An information distribution application collects data in a particular area and allows a user to find the information. Web portals, such as, are an example of this type of application; market-research sites and online magazines are other examples. Using the application, the host collects information on a subject and repackages it in a more meaningful way. The host may charge a subscription fee for the service or a fee for each information request or, as in the case of portals, charge partners or advertisers.

On the surface, information distribution applications and self-service applications appear similar. The primary difference is that the source of a self-service application tends to be an in-house system; the data is generated from within the application host. An information distribution application instead uses sources outside the application host. Its primary function is to collect information, package it, and present it for use.

The part of the information distribution application that collects information may be as simple as a screen that a source provider uses to enter information, or it may be a module that runs outside the application host and sends information about the source. Once the information is collected, the application packages the collected information. A portal site may index a database of Web sites and organize them into categories. In other types of sites, data may be dumped into a business-intelligence system where the users can find the information. The type of information distribution application being designed will determine how users access information. The access method could be anything from a search function to a push system that emails periodic reports to subscribers, and it might use a workflow server as a means of distributing the information.


Transaction Service


A transaction service application allows a user to request that a transaction (such as online banking, airline reservations and ticketing, and hotel reservations) be executed by the application host on the user’s behalf. is a good example. The application

host may execute the transaction yet may not always be the provider of the items or services purchased in the transaction.

Transaction service applications allow users to specify transaction parameters. These parameters may include a date when the user wishes to execute the transaction, a price that the user wishes to execute the transaction at, and a specification of what the user wishes to purchase. The application may allow a user to schedule recurring transactions. It may also help users find products and services that match their search criteria. The application may attempt to execute the transaction immediately or at some scheduled time. If the application executes the transaction at a later time, it may send a message to inform the user of the transaction’s status. It may also provide online reports on the transaction.

Organizations that offer a transaction service application typically have older reservation or ticketing systems that implement the core functionality. As a result, the model objects are usually thin wrappers over these existing systems. The view and controller objects simply map user interaction to the thin model objects.

As shown in Figure 2, an airline-ticketing e-business application could check for ticket availability. In this example, the user is presented with a view object that allows the user to enter information such as departure and destination cities, dates of travel, preferred airlines, seating preferences, and ticketing-class preferences. Once the user enters the information, he presses a check for availability button. The submitted form makes its way to a controller that finds the model object that can handle the request, and the model object takes the information entered by the user and packages it into a transaction request. That information is sent to an external airline reservation system such as Sabre. The model object caches the results of the transaction and returns a success value to the controller. The controller then uses a JavaServer Page (JSP), in conjunction with the model object, to generate an HTML form that lists available flights. The document, or view, is returned and displayed in a user’s browser.


Building an E-business Application


Although based on similar architectures, the processes of writing a traditional AS/400 program and writing an e-business application are quite different. In a traditional program, you specify the display files and the logical files. Then, you implement algorithms in RPG or COBOL that send display files to the terminal and use the logical files as a data store. A single engineer or a team of engineers who share a common set of skills perform these tasks. The same is not true for an e-business application.

An e-business application is a collection of model objects, controller objects, and view objects working together to provide a cohesive set of functionality. Model objects are typically implemented in RPG, COBOL, C++, or Java, depending on the application server used. If the application server is CGI-based, then the model objects are implemented in RPG, COBOL, or C++. If the application server supports servlets, then the model objects are implemented in Java. The same logic holds true for the implementation choice concerning controller objects.

View objects are typically generated by either the application server or a CGI process using some scripting language. (For more information, see the article “Making Use of Net.Data and JavaServer Pages” on the Web at On the AS/400, the scripting language used will be either Net.Data for CGI-based application servers or JSP for servlet-based application servers. The programmer responsible for view objects needs to understand both the HTML generated by the scripts and the scripting language itself.


Ready for E-business?


The question remaining, then, is, “How does e-business fit into your organization?” The AS/400 has always been a successful, robust platform. Supporting e-business may require upgrades to the hardware, operating systems, and software executing on the box. There is

always a risk when undertaking a change such as this. Moving to e-business architecture does mean training staff on technologies such as HTML, XML, JSP, Java, CGI, and servlets. Is it worth it, especially when the existing solutions satisfy current business needs? The answer depends on your business objectives. How important is Web enablement? Does the Internet offer new opportunities for your business? Does the Internet open competitive channels? In the end, most companies will need some sort of e-business solution. Fortunately for us, the AS/400, always a robust platform, provides the support that will allow us to take our solutions into the next generation of applications.



Support MC Press Online





  • White Paper: Node.js for Enterprise IBM i Modernization

    SB Profound WP 5539

    If your business is thinking about modernizing your legacy IBM i (also known as AS/400 or iSeries) applications, you will want to read this white paper first!

    Download this paper and learn how Node.js can ensure that you:
    - Modernize on-time and budget - no more lengthy, costly, disruptive app rewrites!
    - Retain your IBM i systems of record
    - Find and hire new development talent
    - Integrate new Node.js applications with your existing RPG, Java, .Net, and PHP apps
    - Extend your IBM i capabilties to include Watson API, Cloud, and Internet of Things

    Read Node.js for Enterprise IBM i Modernization Now!


  • Profound Logic Solution Guide

    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 companyare not aligned with the current IT environment.

    Get your copy of this important guide today!


  • 2022 IBM i Marketplace Survey Results

    Fortra2022 marks the eighth edition of the IBM i Marketplace Survey Results. Each year, Fortra captures data on how businesses use the IBM i platform and the IT and cybersecurity initiatives it supports.

    Over the years, this survey has become a true industry benchmark, revealing to readers the trends that are shaping and driving the market and providing insight into what the future may bring for this technology.

  • Brunswick bowls a perfect 300 with LANSA!

    FortraBrunswick is the leader in bowling products, services, and industry expertise for the development and renovation of new and existing bowling centers and mixed-use recreation facilities across the entertainment industry. However, the lifeblood of Brunswick’s capital equipment business was running on a 15-year-old software application written in Visual Basic 6 (VB6) with a SQL Server back-end. The application was at the end of its life and needed to be replaced.
    With the help of Visual LANSA, they found an easy-to-use, long-term platform that enabled their team to collaborate, innovate, and integrate with existing systems and databases within a single platform.
    Read the case study to learn how they achieved success and increased the speed of development by 30% with Visual LANSA.


  • The Power of Coding in a Low-Code Solution

    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:

    • Discover the benefits of Low-code's quick application creation
    • Understand the differences in model-based and language-based Low-Code platforms
    • Explore the strengths of LANSA's Low-Code Solution to Low-Code’s biggest drawbacks



  • Why Migrate When You Can Modernize?

    LANSABusiness 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.
    In this white paper, you’ll learn how to think of these issues as opportunities rather than problems. We’ll explore motivations to migrate or modernize, their risks and considerations you should be aware of before embarking on a (migration or modernization) project.
    Lastly, we’ll discuss how modernizing IBM i applications with optimized business workflows, integration with other technologies and new mobile and web user interfaces will enable IT – and the business – to experience time-added value and much more.


  • UPDATED: Developer Kit: Making a Business Case for Modernization and Beyond

    Profound Logic Software, Inc.Having trouble getting management approval for modernization projects? The problem may be you're not speaking enough "business" to them.

    This Developer Kit provides you study-backed data and a ready-to-use business case template to help get your very next development project approved!

  • What to Do When Your AS/400 Talent Retires

    FortraIT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators is small.

    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:

    • Why IBM i skills depletion is a top concern
    • How leading organizations are coping
    • Where automation will make the biggest impact


  • Node.js on IBM i Webinar Series Pt. 2: Setting Up Your Development Tools

    Profound Logic Software, Inc.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. In Part 2, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Attend this webinar to learn:

    • Different tools to develop Node.js applications on IBM i
    • Debugging Node.js
    • The basics of Git and tools to help those new to it
    • Using as a pre-built development environment



  • Expert Tips for IBM i Security: Beyond the Basics

    SB PowerTech WC GenericIn this session, IBM i security expert Robin Tatam provides a quick recap of IBM i security basics and guides you through some advanced cybersecurity techniques that can help you take data protection to the next level. Robin will cover:

    • Reducing the risk posed by special authorities
    • Establishing object-level security
    • Overseeing user actions and data access

    Don't miss this chance to take your knowledge of IBM i security beyond the basics.



  • 5 IBM i Security Quick Wins

    SB PowerTech WC GenericIn today’s threat landscape, upper management is laser-focused on cybersecurity. You need to make progress in securing your systems—and make it fast.
    There’s no shortage of actions you could take, but what tactics will actually deliver the results you need? And how can you find a security strategy that fits your budget and time constraints?
    Join top IBM i security expert Robin Tatam as he outlines the five fastest and most impactful changes you can make to strengthen IBM i security this year.
    Your system didn’t become unsecure overnight and you won’t be able to turn it around overnight either. But quick wins are possible with IBM i security, and Robin Tatam will show you how to achieve them.

  • Security Bulletin: Malware Infection Discovered on IBM i Server!

    SB PowerTech WC GenericMalicious programs can bring entire businesses to their knees—and IBM i shops are not immune. It’s critical to grasp the true impact malware can have on IBM i and the network that connects to it. Attend this webinar to gain a thorough understanding of the relationships between:

    • Viruses, native objects, and the integrated file system (IFS)
    • Power Systems and Windows-based viruses and malware
    • PC-based anti-virus scanning versus native IBM i scanning

    There are a number of ways you can minimize your exposure to viruses. IBM i security expert Sandi Moore explains the facts, including how to ensure you're fully protected and compliant with regulations such as PCI.



  • Encryption on IBM i Simplified

    SB PowerTech WC GenericDB2 Field Procedures (FieldProcs) were introduced in IBM i 7.1 and have greatly simplified encryption, often without requiring any application changes. Now you can quickly encrypt sensitive data on the IBM i including PII, PCI, PHI data in your physical files and tables.
    Watch this webinar to learn how you can quickly implement encryption on the IBM i. During the webinar, security expert Robin Tatam will show you how to:

    • Use Field Procedures to automate encryption and decryption
    • Restrict and mask field level access by user or group
    • Meet compliance requirements with effective key management and audit trails


  • Lessons Learned from IBM i Cyber Attacks

    SB PowerTech WC GenericDespite the many options IBM has provided to protect your systems and data, many organizations still struggle to apply appropriate security controls.
    In this webinar, you'll get insight into how the criminals accessed these systems, the fallout from these attacks, and how the incidents could have been avoided by following security best practices.

    • Learn which security gaps cyber criminals love most
    • Find out how other IBM i organizations have fallen victim
    • Get the details on policies and processes you can implement to protect your organization, even when staff works from home

    You will learn the steps you can take to avoid the mistakes made in these examples, as well as other inadequate and misconfigured settings that put businesses at risk.



  • The Power of Coding in a Low-Code Solution

    SB PowerTech WC GenericWhen 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:

    • Discover the benefits of Low-code's quick application creation
    • Understand the differences in model-based and language-based Low-Code platforms
    • Explore the strengths of LANSA's Low-Code Solution to Low-Code’s biggest drawbacks



  • The Biggest Mistakes in IBM i Security

    SB Profound WC Generic The Biggest Mistakes in IBM i Security
    Here’s the harsh reality: cybersecurity pros have to get their jobs right every single day, while an attacker only has to succeed once to do incredible damage.
    Whether that’s thousands of exposed records, millions of dollars in fines and legal fees, or diminished share value, it’s easy to judge organizations that fall victim. IBM i enjoys an enviable reputation for security, but no system is impervious to mistakes.
    Join this webinar to learn about the biggest errors made when securing a Power Systems server.
    This knowledge is critical for ensuring integrity of your application data and preventing you from becoming the next Equifax. It’s also essential for complying with all formal regulations, including SOX, PCI, GDPR, and HIPAA
    Watch Now.

  • Comply in 5! Well, actually UNDER 5 minutes!!

    SB CYBRA PPL 5382

    TRY 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.

    Request your trial now!

  • Backup and Recovery on IBM i: Your Strategy for the Unexpected

    FortraRobot automates the routine 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:
    - Simplified backup procedures
    - Easy data encryption
    - Save media management
    - Guided restoration
    - Seamless product integration
    Make sure your data survives when catastrophe hits. Try the Robot Backup and Recovery Solution FREE for 30 days.

  • Manage IBM i Messages by Exception with Robot

    SB HelpSystems SC 5413Managing messages on your IBM i can be more than a full-time job if you have to do it manually. 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:
    - Automated message management
    - Tailored notifications and automatic escalation
    - System-wide control of your IBM i partitions
    - Two-way system notifications from your mobile device
    - Seamless product integration
    Try the Robot Message Management Solution FREE for 30 days.

  • Easiest Way to Save Money? Stop Printing IBM i Reports

    FortraRobot 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:

    - Automated report distribution
    - View online without delay
    - Browser interface to make notes
    - Custom retention capabilities
    - Seamless product integration
    Rerun another report? Never again. Try the Robot Report Management Solution FREE for 30 days.

  • Hassle-Free IBM i Operations around the Clock

    SB HelpSystems SC 5413For over 30 years, Robot has been a leader in systems management for IBM i.
    Manage your job schedule with the Robot Job Scheduling Solution. Key features include:
    - Automated batch, interactive, and cross-platform scheduling
    - Event-driven dependency processing
    - Centralized monitoring and reporting
    - Audit log and ready-to-use reports
    - Seamless product integration
    Scale your software, not your staff. Try the Robot Job Scheduling Solution FREE for 30 days.