Hi,

We at my firm have been debating for several weeks over which platform the next generation of our product should be developed on.

Among the contenders were ASP.NET, JSP and Perl (mod_perl + Apache::ASP).

All of them have their "pros" and "cons", so it was no easy choice for anyone.

->> The bosses wanted an established technology with substantial mindshare, security and scalability. Price was also a factor.

->> The developers wanted a well-documented, extensible toolkit that could do anything with minimal effort, and adapt to unforeseen changes down the road, as well as a rich collection of add-on components for enhanced functionality.

->> The network engineers wanted something that wouldn't tax the servers or the network more than necessary, and took into account serious issues like security, load-balancing, clustering, failover scenarios, deployment and upgrades.

So we looked at the big application servers for Java: WebSphere ($15,000/processor) and BEA WebLogic ($4,200). These products do not have a reputation for being cheap or easy. Those of us who had worked with them before only had nightmare stories to tell.

Java: Close, but no cigar.

Then we looked at Microsoft's ASP.NET and the .NET Framework.
Pros: Cons:
The features we need, while seemingly advanced, are not new concepts. Java has some of them, but at too great a price in terms of performance and overhead. .NET will have a hackneyed implementation of them with its next release.
The features in question are:

We knew what the application should look like, it was a matter of what tools would help us get the job done on-time and under-budget.

These features are definitely outside the scope of most web applications, but they are the minimum requirements for what we are building.

Fortunately we were able to find a tool with all of these features, as well as the pros .NET had to offer, just to name a few. Perl.

Through an XML API, we are able to support clients running on any platform, but the core itself and the initial client package will be written in Perl.

Maybe a future release of .NET will support all the features the design depends on, but for now it looks like we would end up doing too much extending to make things work the way we need them to.

To be sure, ASP.NET is an excellent way to build websites and web applications, and its event-driven model helps simplify some things that would be difficult to produce otherwise. IIS6 has several great new features, but we're still stuck without direct access to the server API (unless you consider ISAPI DLLs direct access), runtime generation of new classes and/or methods, and abstracted discovery of remote methods/etc.

<UPDATE: Here are the Pros & Cons we were looking at.>
Perl also has its Pros and Cons.
Pros:


Cons:
</UPDATE>

I'm just glad we didn't have to compromise our design to fit inside our toolset's box.


In reply to Choosing a Platform by drago99

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.