28
Sat, Dec
0 New Articles

State of the Tech: Web Application Servers

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

Which Web Application Server makes sense in today's technology landscape? You might be surprised.

 

The concept of a Web Application Server (WAS) has been around for a long time and has seen a lot of evolution. Earliest WAS implementations grew out of the attempt to use HTML, designed primarily as a way to serve static data on request, as a way to provide business application functionality. This can be done only if the requests can serve up dynamic data. In the end, this means touching a database of some kind, so perhaps the simplest definition of a Web Application Server is a method of allowing a user with a browser to interact with a database using business logic. We can come up with edge conditions and extreme cases, but in the line of business that we midrange programmers support, that characterization is almost universally applicable. This article will explore the state of today's technology as it pertains to that description of WAS.

 

A Little Terminology

I don't want to spend much time on terminology, but it's important to understand a few concepts.

 

First, application servers are not necessarily Web Application Servers and it's critical to know the difference when doing your due diligence. The thumbnail definition is that an application server will connect anything to the business logic, while a Web Application Server is optimized for browser access. With the headlong rush to mobile development, this delineation isn't as clear cut as it used to be, but for the purposes of this article, we're going to stick more to the browser (since, in the end, you can still use a properly designed browser application as a mobile app).

 

Next, once you narrow the field down to just Web Application Servers, you still have to choose implementations; that distinction generally comes down to Java or not Java. I suppose you might make a case for the Microsoft stack as a distinct subset, but to me the real difference is that Java is so rigorously standardized through the Java Specification Request (JSR) process. That standardization allows you the luxury of being able to implement a strategy, knowing that it won't suddenly take a turn in another direction and leave you with an orphan technology (can you say .NET?). It's ironic that IBM is both the best at this and at times the worst at it. The IBM i is the poster child of legacy value protection, and yet in the software world you get the diametrically different worlds of Eclipse and EGL, where one is embraced and the other is an afterthought. An interesting case is the PHP-based architecture that I like to call RAMP (RPG, Apache, MySQL, and PHP). Yes, I realize that MySQL is no longer really supported, but to replace it with DB2 (or Zend's DBi product) would mean I lose my nifty mnemonic; RADP just doesn't have the same ring to it. But that's actually illustrative of my point; less stable technologies have a tendency to disappear. PHP itself has a history of pretty massive changes; for example, the object model in PHP5 is fundamentally incompatible with the one in PHP4. And now that Zend has been purchased by Rogue Wave, it will be interesting to see where it goes. But let's focus now on the Java space for WAS.

 

To be sure, the concept of a Java WAS has evolved as much as anything over the years since it was introduced, as anything will over time. Historically, the Java WAS architecture is tied to the Java EE standard, which first appeared way back in 1999. Since then, a wide range of functionality has been added through additional JSRs with acronyms like JAXP and JPA and, of course, the dreaded EJB. And while there have been some rough patches (my use the word dreaded for EJB was not in jest), generally speaking, you can chart an orderly course from early versions of the Java EE standard to applications running today, with just about any technology required by a web application available to you as a Java EE package. And given the full-fledged embrace of Java by IBM and particularly the IBM i, I think it makes sense to concentrate there.

 

Three Tiers

This might seem to be a fairly arbitrary classification, but I think of any WAS as being in one of three tiers: Cadillac, Buick, or Kia. Actually, that's not entirely accurate, since the Kia while low-priced is hardly free. But indulge me while I present my category criteria. The Kia level is your standard open-source solution: everything in the stack is free software, with the only cost being your time (which is as valuable as you decide it is!). The Buick level is a standard proprietary version of the Kia, which typically includes easier packaging and deployment, some bells and whistles especially in development and debugging tools, and some level of support that usually varies depending on the amount you wish to pay. The Cadillac version is what you might expect: very expensive (perhaps to the point of it being the Bugatti option) but with complete support. It has features not easily reproduced or in some cases simply unavailable in the less expensive options, but that level of functionality comes at a steep price.

 

Java WAS options run the gamut of those options. You can easily put together an entirely free application stack using, as an example, the Apache offerings. This direction isn't without some peril. Apache has TomEE, which can probably be seen as the successor to Apache Geronimo, which in turn is the base of IBM's WebSphere AS Community Edition, which is no longer supported and has been replaced by WebSphere AS Liberty. Whew! The moral of this story is that the free community, even when supported by major players, is a very fluid environment. If you did a lot of development under Geronimo, you might have trouble moving to TomEE. A lot of that depends on how true you stayed to just the Java EE standards and how much you took advantage of Geronimo extensions. This tier has a lot of players with varying levels of support and development activity, but those levels can change pretty quickly. GlassFish, as an example, was the reference version for Sun's Java EE technologies, so you might have thought it would be around forever. However, Sun was purchased by Oracle, and Oracle also purchased BEA, which meant they had two servers: GlassFish and WebLogic. In the end, they decided one was enough, and that one is WebLogic; GlassFish is officially without commercial support. Welcome to the wild world of open-source software!

 

The second tier is the province of the commercial products such as the aforementioned WebLogic. WebLogic is a featured player in this space, but the more dominant choice is probably JBoss. Given its purchase by one of the most successfully commercial Linux implementations, the RedHat web application server is certainly one to be reckoned with. Along with the standard IBM WebSphere offering, you have a number of choices in the commercial middleware arena. This is probably the space that most businesses larger than a startup should occupy. Unless you have in-house development staff with some serious web development expertise, you're not going to be able to grow past the free stack without some serious consulting support. At that point, it's hard to argue against implementing a commercial offering, which already has the security and scaling built-in.

 

The Cadillac space is almost entirely taken up by the 800-pound gorilla of WebSphere and especially the WAS Network Deployment edition. With the ability to quickly run into millions of dollars in licensing and support costs, ND really is the Bugatti version. But to be sure, there are few options that even come close once you need that level of throughput. Of course, unless you're Walmart or Amazon, do you really need that level of throughput? That's a question only you and your board of directors can determine (if you don't have a board of directors, the answer is "no").

 

So which one is right for you? A lot depends on your growth path. If you never get past the free software stage, then really any of the solutions make sense, and as long as your applications stay vanilla (which they should be when you use free software!), you can move between the servers without too much trouble. If, however, you ever see going to a commercial package, then you should take a little more time with your selection process. If you're already an Oracle shop or heading that way, then WebLogic is the only logical choice, but that's the only reason to go that way. So unless you're heading off the IBM i, WebLogic doesn't make much sense. So now it's down to JBoss vs. WebSphere. You'd think this would be easy: WebSphere is an IBM product, so it's the best choice by default. However, the decision is a little more complex. If you're a shop that relies heavily on Linux, whether in standalone or virtual servers or as a partition on the IBM i, then JBoss has some obvious benefits. The initial cost is significantly lower, especially at the higher end of the spectrum, so if your primary driver is cost and you already have the prerequisite Linux support skills, JBoss may well be your best option.

 

There is another issue, though. IBM has been quite successful, especially in the last few years, in rationalizing their server line. The WAS Liberty platform scales from the free offering all the way up to the fully loaded enterprise capabilities of WebSphere ND. Applications developed at the lowest level can be deployed without change on the highest-end servers. This is not the case with JBoss; RedHat's entry environment is WildFly, and production is JBoss EAP. RedHat does not recommend developing on WildFly to deploy on EAP, so you have bifurcated development environment. You don't have to develop on WildFly; you can do your development on JBoss, but that's not as advanced from a standpoint of Java EE support. In fact, JBoss isn't even fully Java EE 6-compatible, so there's no clean way for you to develop with WildFly and then run that application on JBoss EAP. So any WAS product decision really must take your development cycle into account.

 

My final take? If you're more interested in price than leading-edge functionality and you have good Linux skills, then JBoss is the better choice. But absent those conditions, WebSphere Liberty provides the best development, deployment, and scaling solution for Java WAS solutions.

 

Non-Java Options

While IBM is clearly invested in Java as its primary language outside of the business logic space (where COBOL and our beloved RPG still reign supreme), you may be interested in the other options. I've already mentioned PHP. If you're willing to put in the effort, you can write your own WAS stack using PHP and your choice of ILE programming. PHP has a wide following both inside and outside the IBM i community, and the folks at Zend have worked diligently to make developing PHP code as uncomplicated as possible for RPG programmers. PHP was originally designed for creating web pages, so that part is straightforward. The rest of the architectural components, such as concurrency and failover and security, require a little more effort, but you should consider it as an option, especially if you already have in-house PHP expertise. One caution might be that a Cadillac version doesn't really exist for the PHP option; at the end of the day, you'll still have to roll your own for some of the more advanced features, but rest assured that there will always be someone willing to help you if the price is right.

 

And of course, I would be remiss if I didn't at least mention the Microsoft solution. You can always go that way, although I think the days of not being fired for picking Microsoft software have gone away. I think now you had better be able to justify your solution choice, and frankly the overall mood of the marketplace, at least as measured by Netcraft and the percentage of active sites for each technology, is not looking particularly rosy for the folks in Redmond. If your management is at all tech savvy, you might find Microsoft to be a harder sell these days.

 

What Could Have Been

I will always wonder what EGL (Enterprise Generation Language) might have been able to become had IBM stayed the course. The open-source version of EGL (called EGL Development Tooling, or EDT) stalled out, but before it did it offered a tantalizing glimpse of what a true tier-agnostic business language specification might look like. The ability to write in a single syntax in both the client and server tiers with the ability to move logic from one space to another is something I still don't see anywhere else. Add in the baked-in ability to pass data as records (something you just don't appreciate until you're forced to do without) and to seamlessly interact with objects outside the virtual machine (including any ILE program), and it was clear that EGL could have been the same sort of game-changer for web application design that Eclipse was in the IDE space. Alas, we'll never know, unless someone decides they have enough time to brush the dust off the EDT project.

 

In the meantime, I hope I've given you enough information to start your journey into the world of WAS and to make the decisions that best meet your company's business goals. I hope to provide more in the future!

 

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: