Author:Casey Kochmer
As both an ASP and JSP programmer, I started a series of articles
to examine the differences between ASP and JSP. After I released
part one and part four of the articles, ASP+ was announced. ASP+
changes the game to the point that I delayed writing additional
articles until I could examine ASP+ in greater detail.
I am currently working on a JSP project and on a separate ASP
project. The ASP project itself is very interesting. It is
starting off in ASP 3.0 and will be translated into ASP+ by time
the project is be done. As a result of these projects I will be able
to examine ASP+ closely, providing solid ASP+ to JSP comparisons.
This article presents my early observations of ASP+ and the impact
it has on an average developer such as myself.
In an initial comparison of ASP+ and JSP I found the following:
1) Object Orientation:
ASP+ introduces C# as an object oriented language. In many respects
it will become Microsoft's version of a Java-like language. The
other fun fact about C# is that every object created automatically
becomes a COM object. What this all boils down to is, if C# lives
up to all or even 75% the marketing hype, it will give ASP+ Java-
like capabilities but with faster performance due to its tight
coupling with the Windows environment. C# is the single most
important improvement for ASP+ development.
Microsoft has engineered C# to be a stiff competitor of Java.
It is a major part of Microsoft's reinvention of their .Net
framework. I see C# as Microsoft's push to be the dominant player
in the programming market place. I expect to see Microsoft put its
full weight behind this product. As a result of all this, it's a
safe bet C# will become the language of choice for many programmers.
The consequence of C# will be the intensification of the battle
lines between the Sun and Microsoft product lines. This actually
will be of benefit to the consumer, as it will spur both Java
and C# to new improvements.
2) Database Connectivity:
The one place that ASP really shines is in the use of the ADO
Object, ODBC, OLE-DB and the Transaction Manager. Among all
these pieces it is very easy to build fast and simple ASP
database web applications. ASP+ takes all this and marches onward
to even more features, while ADO+ is being released with even
more enhancements and speed boosts. JSP and JDBC currently lag
behind in ease of use and features when compared to the current
implementation of ASP/ADO. With the new release of ASP+/ADO+ the
gap with JSP will widen even further. I personally hope SUN will
put serious effort into catching up with ASP+/ADO+ combination.
3) Large Scale Sites:
ASP+ will have better support for large web farms. In fact,
Microsoft is pushing this idea pretty hard. ASP+ wants you to
think in terms of multiple servers. As you need more power, just
add an extra server. The whole .Net framework has solidly embraced
this methodology. ASP+ introduces external session state support
providing built-in web farm support. In addition, since all the
components required to support a web farm are built fully optimized
with each other, it will be fast. The end result is that ASP+ will
now equal JSP in its ability to scale to large projects. In fact,
ASP+ will have a cost benefit over JSP since all the components
will be part of your server operating system from Microsoft. In JSP,
you currently need to purchase expensive Server Application servers
to achieve similar results.
4) ASP+ offers many other new features that I will review in more detail
in future issues. For example,
*Built-in object caching and page result caching.
*Built-in XML support for easy handling of XML data sets.
*Server controls which offer fuller interactive controls to
be used on the client page. Initial indications, however,
show these are costly items in terms of round trips to use.
I am finding that ASP+ truly expands what is possible in ASP.
My preliminary conclusion, after looking at ASP+, is the majority
of my future projects will still be Java and JSP based. The three
reasons for this are:
1) To really unlock the full potential of ASP+ you will need to use
C# or vb.net. These two languages will become the standard
scripting heart of ASP+.
This is a good thing for the future of ASP. I never liked
building com objects in the current version of Visual Basic.
The new scripting heart of ASP+ is a substantial improvement
over ASP and will really energize the possibilities of web
applications built within ASP+.
All of the new development in ASP+ is making it clear I need
to make a personal decision to choose the language into which I
desire to put the most time and effort. I learned Java back when
it all started and I feel Java is a language that will be around
for the rest of my programming career. As a result, JSP is my
primary choice for web development. When my current ASP project is
done, I will reconsider if C# convinces me to re-gear my programming
tool belt. As I am now a big JSP fan, if Microsoft converts me,
it has a real winner! I suppose I am taking the ASP+ challenge.
2) ASP+ is still pretty squarely locked into Microsoft's operating
system. JSP has a major edge over ASP+ in its flexibility to work
on other server configurations. Keeping in mind, however, the
rising predominance of the Windows 2000 operating system, this
won't be a problem for many developers.
3) I am not sure if I agree with aspects of the new ASP+ architecture.
I need to perform a more in-depth analysis on several issues before
feeling comfortable with ASP+. As a result, I am hesitant to plan on
using it for future projects. This may change after I have used it
for a month or two. After all, this is a high level overview of a
beta product. I will provided more information in a future in-depth
review of ASP+.
As an ASP developer, ASP+ gives me pause to think. The next eight
months are going to be a hard time to start a new ASP project. Why?
ASP+ and C# introduce a dilemma for development shops as they aren't
available yet and won't be introduced until the first quarter of
2001. This means if you are starting a new project now you are
faced with some seriously hard choices. I am in charge of setting
up the technical aspects of such projects and appreciate these
considerations.
Since ASP+ is only available as beta software it makes my first
choice easier. My current project will start in ASP 3.0. I consider
any beta language to be vaporware until the production release is
available.
I cannot ignore ASP+, however, as in six months it will be available
and it represents the future of ASP. Managers of ASP projects in
production now or in the near future should consider how to ensure
migration to ASP+ will occur as smoothly as possible. While a savvy
design will ensure a smooth upgrade to ASP+, the cost for development
increases as extra time is spent in creating and implementing the
design, as well as implementing the upgrade. This approach is sensible,
however, to prevent even higher costs over the long term when the final
upgrade does happen.
A side effect of all this is that it makes both PHP and JSP more
attractive alternatives to ASP for the near future. After all,
1) To use ASP+ you will need some extra time to learn new tools.
2) The new tools are still to be released, so why not look at
something that currently exists?
3) JSP already has many of the new features of ASP+.
4) ASP+ locks you down into a Microsoft-only architecture.
(I have read one news story about Microsoft porting .Net to
Linux, but I discount this as being unrealistic at this
point in time. Until the code is released, it fits in my
vaporware category.)
As a result, I predict quite a few people will make the leap into PHP
and JSP. However, I also feel many people will stay the course due to
the sheer excitement that ASP+ brings to the field. (I have never seen
such an explosion of material for any beta programming product). Below
is a VS.net article which nicely illustrates both of these points.
For something that started as freeware, ASP+ has grown to become a
cornerstone of Microsoft's .Net framework. Sun may find a lesson in
this. Extra caution and care, however, is warranted when upgrading
to ASP+ as it is being integrated with so many other products and
the overall size of the .Net framework is so large. I usually wait
for the first service pack of any product before assuming it is safe
to use in a production environment. So, even if ASP+ is released in
the first quarter of 2001, for planning purposes, I am not expecting
ASP+ to be ready for my production environment until second quarter
of 2001. Of course, since ASP+ has generated so much excitement, many
shops will switch over to ASP+ as soon as it becomes available. In fact
I have already come across ASP web sites using the beta release ASP+!
For example, the link to the ASP+ site I reference below is written in
ASP+, you can tell by the .aspx extension. All this suggests to me
that Microsoft will release the first service pack for ASP+ in record time.
The next year will be a very interesting time to watch the marketplace,
how Sun and Microsoft react to the current situation and what choices
programmers will make.
ADDITIONAL REFERENCES
First Look at VS.net (DevX 9/2000)
FAQ on ASP+ (ASPFree.com)
Another View on .Net (Jim Farley 8/2000) (A very good analysis of .Net)