23
Mon, Dec
3 New Articles

Weaving WebSphere: WebSphere and .NET, and What's a Longhorn, Anyway?

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

"Down she came, 1,500 pounds of longhorn beef with a speckled red hide, four feet of horns, and a majestically glowering look in her red-rimmed eyes."
--Wayne King

I couldn't help myself. There aren't a lot of quotes about longhorn cattle out there, but this one hit me pretty squarely. "Majestically glowering" is a pretty good description of a .NET programmer in a roomful of WebSphere folks--or vice versa.

So What's This All About?

Over the last few months, we've done a good job of cutting through the hype that hindered objective comparisons of Java, SQL, and RPG. Clearheaded analysis showed that each tool has its place. Some shops will never need Java. Most should consider a combination of RPG and servlets. Under certain circumstances, some new applications might best be written in 100% Pure Java. However, anyone telling you to toss your existing (working!) RPG systems into the trash and rewrite them in Java is simply looking for the fastest path to your wallet.

So, now that we have a clearer indication of where Java, SQL, and RPG are most useful, it's time to turn to that other great question surrounding Web development today: J2EE or .NET? Interestingly, this issue has in many minds become "WebSphere vs. .NET" or even "IBM vs. .NET," but it really depends on the context. When you're talking about the Java language itself and the specifications that drive it, you're talking about Sun and the Java Community Process. However, as the specifications have passed from a technical description of a language to a more theoretical interpretation of application design, Sun has left more and more out of the specifications, remarking only that they are "left to the implementation." This is the void into which IBM and particularly WebSphere have leapt, thus blurring the line between Java, J2EE, Sun, IBM, and open source.

Because of all of this, answers here are going to be a bit murkier than in our previous topic. While common sense and a couple of benchmarks made it clear where the strengths of Java, SQL, and RPG each lie, the question of J2EE and .NET is more complex. Not only that, the question is growing more difficult as the companies attempt to differentiate themselves in the market while at the same time the technologies evolve closer to one another from a feature/function standpoint. And because of my familiarity with the WebSphere, I'm going to focus on WebSphere vs. .NET.

In order to make a first-pass comparison, in this article I will compare...

  • The basic features of the two technologies
  • The security models
  • The tools
  • The philosophies
  • The companies

The Features

As the two platforms evolve, functionally they actually converge more than diverge. There are very few features you can point to in one technology that don't exist on the other. JavaServer Pages (JSP) for J2EE is the equivalent of Active Server Pages (ASP.NET). Component Object Model (COM+) technology is the same as Enterprise JavaBeans (EJB). In some places, the differences are larger: Thick-client programming is a lot different in the two languages, and Windows has the clear advantage, although the Eclipse Rich Client Platform (RCP) is a great advance in that area for J2EE applications. In other places, the differences are getting smaller: Active Data Objects (ADO.NET) now includes a try/catch syntax for error handling that is a carbon copy of the corresponding Java syntax, right down to the curly braces.

As to functional comparisons, the facts are somewhat thin. Performance and scalability tests seem to be equivocal; studies underwritten by Microsoft show .NET besting WebSphere, while IBM-funded benchmarks show WebSphere at the top of the pack. Simple comparisons degrade into finger-pointing and name-calling, with each side insisting that the other is wrong and the press merrily publishing whatever gives them the most exposure.

This last point is getting to be horrendous. For example, The Middleware Company recently published a document "leaked to the press purported to be from IBM." The document still isn't verified to be an IBM document, but it's out there online for the reading, including Microsoft's response to the alleged IBM document. Who publishes unattributed documents? Who responds to them? Oh yeah, the entire "blogsphere," that's who. In this world of instant Internet access, anybody can publish anything, and it's guaranteed that the story will be picked up by some other yahoo with a PC and a modem. Suddenly the story has "multiple sources," so it must be credible. Oh, don't get me started.

The Security Models

This topic is interesting. Security is a huge deal in the Web world, thanks to the multi-billion-dollar virus industry, and the approaches to the issue are quite complex. Java was designed from the ground up for security, and because of that it generally exceeds .NET security capabilities. For example, .NET runs compiled code, while the Java Virtual Machine (JVM) always runs bytecode. And while the HotSpot compiler in the JVM eventually compiles code down to machine level, it keeps all the bytecode security information in place and thus is technically more secure than the compiled .NET code.

On the other hand, .NET continues to catch up and even pass J2EE in some areas, particularly application areas such as user authentication.

Many of the issues are design issues that ultimately boil down to business decisions. You can easily change your Java security settings using command line switches. This makes it easier to have different security policies on the same machine, but it also opens a door of vulnerability to knowledgeable programmers. .NET on the other hand tends to have security for the entire machine set by configuration files, which disallows some of the flexibility of the Java approach but also makes it easier to lock down an individual's access.

The Tools

This topic by itself can begin a war. The entire issue of Visual Studio versus WebSphere Studio is a bitterly contested one, and I have yet to see a person who has taken an "either/or" position. I'm a big fan of the WebSphere tools primarily because of their incredible integration with the iSeries. Plus, the Microsoft offering is getting quite complicated; Visual Studio has splintered into over half a dozen different offerings, many of which you cannot even beta test without a subscription to the Microsoft Developer's Network. Ironically, the smaller versions that you can download without cost are called "Express" editions. And in order to access even those, you have to join Microsoft Passport. I'm quite averse to joining any Microsoft offering and especially Passport after the credit card information debacle of a few years back, but I may have to do so pseudonymously in order to get a look at the new 2005 editions.

In recent history, especially as IBM was floundering between various architectures for its tools (such as CODE/400 and VisualAge), it was evident that Microsoft had a lead when it came to its toolset integration. Microsoft has a look and feel that has evolved over time to include all of its products, and it's likely that the 2005 version will continue to provide that sort of common user experience. This is not insignificant; the better the integration, the shorter the learning curve and the easier a programmer can incorporate new languages. Since the .NET philosophy centers around multiple languages, it's easy to see why this is an important goal of Visual Studio.

At the same time, IBM standardization on the Eclipse framework and the steady advances being made there may allow it to meet or even exceed the integration capabilities of Visual Studio. Already, the Eclipse RCP allows developers to write fast, powerful applications that perform well and look good across platforms. If the RCP look and feel become accepted, that will only be more momentum for the Eclipse platform and consequently for the WebSphere Studio products built on top of it.

Finally, the plug-in capabilities of Eclipse currently vastly exceed those of Visual Studio .NET. The sheer number of plug-ins for Eclipse is unmatched by any other development environment.

Comparing the Philosophies

The big question--really, the only question--is how each company's approach affects your business in the long run. Unfortunately, it's not easy to distinguish the effects of each approach. Except for Sun, which seems to have no direction, the other companies seem to be pushing toward a future where there are no independent computer programmers and you lease your software the same way you subscribe to cable TV. Let's see how they intend to get there.

Sun

I'm still unsure as to what Sun's philosophy is. The company seems stuck between a commercial future for Java and a full acceptance of the open-source community. It wants to claim Java as an open product, yet exercise complete control over its direction. This is a company that can't figure out how to make money off the most successful computer language ever designed. Run away quickly, with your hand over your wallet.

Microsoft

The Evil Empire, Microsoft has always had the same view: Crush all competition and then squeeze every penny out of customers. Nothing has changed, except perhaps the introduction of "leased software." This would be the ultimate Microsoft future. With no competition, you'd be forced to use whatever software Microsoft pushed on you. The software would be "free" on your PC; in fact, you wouldn't be able to remove it. After you were completely locked into this "free" software, Microsoft would announce a "transaction fee" as well as a "software maintenance fee." For this price, you'd get new releases of the free software and a 1-800 number for phone support. New releases would break old releases, requiring more purchases. Also, the new Palladium chips would continuously broadcast who you are to Microsoft to make sure you are paying your transaction fees.

Microsoft will continue to push a transaction-based economy, with both hardware and software as commodities.

IBM

Interestingly, IBM's goal is not so different. While the company may indeed hook you up with Business Partners for custom software, it's just as happy to sell you Java-based off-the-shelf solutions that run on any of its servers. You'll just be charged for additional capacity as your needs ramp up. IBM will also sell you new or additional servers of whatever type strikes your fancy. Why not? The new WebSphere J2EE applications will run on any of them.

Both IBM and Microsoft see software as a commodity. In fact, the only real difference between Microsoft and IBM is that Microsoft wants one operating system that supports many languages, while IBM is shooting for a single language that runs on virtually any hardware and any operating system.

The Companies

As I've shown, there are huge differences between J2EE and .NET. In the end, though, the two technologies seem to be merging in many ways, at least from a functional standpoint. J2EE provides things one way, Microsoft another, but the same tools seem to emerge. Because of this, it may finally just boil down to the companies and their philosophies. Unlike the iSeries, which is a clear winner over any other platform for business transactions, there is no such clear distinction between J2EE and .NET. Therefore, you have to take a "bigger picture" view to provide you with some distinctions.

Sun

One thing about Sun is that it's been remarkably consistent over the past five or six years. New releases of Java keep coming out, and both the language and the platform have seen enhancements. My biggest problem with Sun has been the lack of movement in the Java language itself; the relatively minor syntax enhancements (such as generics) in the new Tiger release should have been made over a year ago. It looks to me like the Java language is inextricably linked with the Java platform, and they fight over a finite pool of resources. Because of this, one side or another is often getting the shallow end of the resource pool, and for the last several years, it's been the language.

At the same time, from what I've been able to deduce, the platform side isn't exactly blinding anyone with its forward acceleration. Windows continues to catch up on many fronts, at least theoretically (an issue I'll address in a moment). Of course, that's a standard Microsoft technique: Wait until somebody invents something and then re-implement it in a slightly better fashion that just happens to be Windows-specific.

Microsoft

Sun takes too long getting good ideas agreed upon, much less designed, developed, and delivered. On the other hand, Microsoft does the opposite: It promises great things and then delivers questionable releases. Longhorn is the codename for the next version of Windows. Longhorn has been slated for release on numerous occasions, and exactly what is in the package has also been subject to change. And I don't mean little changes like whether or not it will support handhelds; I mean fundamental changes, such as whether there will be a server version and whether it will include the new WinFS file system (current answers: yes on server and no on WinFS).

This software has been in development for years, and it's slated for "beta" release in 2005 with "release" in 2006. Unless Microsoft makes some huge changes in quality control, that means the software will actually be roughly of beta quality in 2006. And since this software includes major upgrades in everything from UI to security, it seems unlikely to me that the software will be without major problems once it hits the real world. Add the introduction of a new file system soon after that, and it seems to me that 2006 is going to a very interesting year for early adopters of Microsoft products (and 2005 will be a long year as they wait for things to appear).

IBM

IBM has been anything but complacent. Its embrace of Java and Linux has been nothing short of astounding, and the long-term vision seems clear: IBM wants the world to consist of completely platform-independent software that can run on any of its machines. IBM still wants to sell machines, and software that can run on any of its machines is a plus. Those of who understand that software that runs everywhere typically runs badly everywhere or who love the unique capabilities of the iSeries are not particularly enamored of that view of the future.

So Is There an Answer?

When I ask my Magic 8-Ball if there's an answer to this conundrum, it keeps coming up "Reply Hazy, Try Again." I think I got an outsourced 8-Ball. In any case, the question really comes down to which philosophy better fits your vision of the future. Are you comfortable in a completely homogeneous Microsoft environment where you pay for each transaction and for every user, or do you prefer the IBM philosophy of multiple hardware options, with the ability to lease extra power as you need it? Do you want multiple languages all ultimately doing the same thing or one language across your entire enterprise? Would you rather go with a company that continues to push the open-source movement, driving software prices to commodity levels (by the way, as an ISV, I don't think this is a good direction), or a company that does everything it can to lock you into a single platform that it can then set prices on like a software version of OPEC?

Whom do you trust?

Joe Pluta is the founder and chief architect of Pluta Brothers Design, Inc. He has been working in the field since the late 1970s and has made a career of extending the IBM midrange, starting back in the days of the IBM System/3. Joe has used WebSphere extensively, especially as the base for PSC/400, the only product that can move your legacy systems to the Web using simple green-screen commands. Joe is also the author of E-Deployment: The Fastest Path to the Web, Eclipse: Step by Step, and WDSC: Step by Step. You can reach him at This email address is being protected from spambots. You need JavaScript enabled to view it..

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: