Trends & Technologies
ASP-J2EE: The Open Future
Martin Vlček, Amaio Technologies; Vladimír Lahoda, Amaio Technologies
"Application services providing" is the new name for a concept as old as computers themselves. The idea of an application
in a data center with remote access clients was sometimes common, sometimes obsolete and sometimes revolutionary. It seems
today there are no doubts about future domination of this model of application software distribution and administration.
"Java 2 Enterprise Edition" is the specification published by Sun Microsystems at the end of nineties. It is an
enabling creation of the distributed component applications independent on hardware and operational platforms. Nowadays, the
applications creators are facing many challenges. J2EE offers various possible answers and could become significant tool in
bringing the ASP services closer to the wide range of customers
What now, what next
Since the end of 1980s we have been learning to think of a
computer as of a magic box standing on the desk and knowing so many useful things how many programs are installed in it. We
accepted the fact that in some cases the ability to ”know the program” is delegated to some other computer down there and my PC
is connected to it through the local area network. As end users, we were grateful for the newly acquired autonomy and willingly
learned to install programs form floppy disks and CD ROMs.
In the mid-nineties thanks to Internet our magic boxes learned to communicate with the outside world and our
user freedom grew substantially, as well as our understanding of what can be done with computer. Growing hardware output and
increasing connection bandwidth has allowed our magic boxes to learn faster and more effectively. Majority of common
application software is no longer to be purchased in stone warehouses and can be downloaded and installed directly from
That’s our current reality. Now, let us make one more step and ask the question:
Eventually, why the application software should be purchased and install locally? Couldn’t we just run it
The answer to this question is called ASP.
What is ASP
Most definitions used by research companies and dictionaries
are close to this:
”Application service provider is a 3-rd party service firm, which deploys, manages, and remotely hosts a
software application through centrally located servers in a rental or lease agreement. (Cherry Tree & Co.)”
How does it work in practice? Standing in the center is the application service provider that owns or rents
computing, storage, and bandwidth capacity in a data center and all the services that are necessary to secure smooth
operations of the data center. The ASP installs both the infrastructure and application software. When the services get
available, the ASP contacts prospective customer and closes the deal. Depending on the nature of the application, the
service is started immediately or after some initial setup and the end-user training. ASP then secures routine maintenance
and takes care of customer relations. The customer pays the ASP a monthly fee based on number of users accessing the
application. This is a general and rather simplified view of an ASP service. But it is sufficient to point to several key
points characterizing the ASP and its operations:
What ASP sells is the not the application in terms of licenses
but rather in terms of its functionality. The customer does not own the application; he just makes use of it.
The services are supplied over wide area network rather than
locally. Depending on the nature of the application the provider does not even has to enter the customer’s ground.
To achieve maximum economic effect, the ASP tend to supply the
same service to as many customers as possible rather than maintaining a proprietary solution in favor of one exclusive
Application providing is very complex and requires involvement
of several parties. The ASPs that run the data center, develop the applications, and manage customer relations on their own are
exceptional and will be even more exceptional in the future.
Among all the parties involved in the application providing
(=data center, software vendors, network infrastructure providers, application consultants, etc.) the ASP is the party that
integrates all the services and manages customer relations.
But do not get mistaken. No matter what we have just said, you can meet dozens of companies that do not fit
the above definition and still use the ASP label. The ASP segment is in very early stage where constituting concepts are
reconsidered every day and the market players have to bit through the great deal of hype. So in daily practice an ASP can be
anything including an application outsourcing company, an infrastructure hosting provider or an Internet portal.
Today there are over 150 companies defining themselves as ASPs. Not surprisingly most of them operate in the
USA, some can be found in Europe, and a few are active in Asia and Australia.
An average ASP today is a privately held company with about 15 months experience employing between 50 – 200
employees. However, the largest ASPs employ up to 1000 people, are traded on stock markets, employ up 1.000 people
(USInternetworking and Interliant).
Portfolio of applications offered by today’s ASPs is pretty wide. It covers all types of software from
collaboration, through office applications, to business information systems from manufacturing, through healthcare,
government, to services, etc.
Why is ASP vision so appealing
ASP is one of the rare cases where researchers, IT
professionals, and journalists are unanimously positive about bright future of the market segment. They may not agree in how the
market will be structured, which applications will stimulate customer demand, and how fast it will grow, but they are all in
perfect harmony in that the ASP market has tremendous potential. Just this general belief is enough to make the ASP bonanza
Depending on the level of their optimism the research companies predict the ASP market to reach 6 to 20
billion USD in 2003.
The pace of growth of the data centers capacity supports this estimate. Next year total surface area of
operating data centers all around the world should exceed 10 million square feet, or triple of 1999 capacity. It looks like
ASP vision is really appealing.
Why that? What makes ASP so appealing?There is a great promise of simplicity, time efficiency, and
- software service instead of ownership
- pay for what you actually use, do not pay for something you may or may not use two years from now.
- software upgrading –
the ASP takes care of improving functionality, you do not have to purchase boxes and install software on every single
workstation in your company.
- central computing and storage facility –
you as a customer are not using only the application in ASP model, but also part of computing and storage capacity, and
network infrastructure. What you rent from your ASP you do not have to purchase.
- scalability –
at some point adding one more user may become a troublesome task. Now your ASP takes care. Similarly with
- security management
- reliability –
to take care of these in conditions of complex network environment and distributed operations requires variety of top
level professional skills. It costs money but first of all you have to find the people. And it is a real problem.
- IT staffing
– delegate it to your ASP. Do not build your IT kingdom internally, let someone else care.
Simply ASP is the Promised Land. You as a client company benefit on every corner. You get immediate access to
best technologies, serviced by the best professionals, your total cost of IT ownership decreases. Consequently, you have one
less problem to take care of, so that you can concentrate on the core activities of your business.
The issues to be solved in ASP applications:
- Time to market
– ability to create the end user solution in shortest possible time
- Continuous development
– the application has to be able to grow with the needs of the customer
- Easy to maintain
– in the ASP model there is no space for installation of client applications. Thin, zero-maintenance clients are a
matter of course
- Collaboration with other applications
– building the end user solution by integrating several products substantially reduces time-to-market and decreases the
cost of development
- Run anywhere on the net
– the application must be agnostic to the hardware and operating platforms. The basic environment is the network. Here
we get close to the famous ”Network is the computer” statement.
– adding new users without slowing the system down must be a routine task.
– we will hear proclamation like 24/365 more and more frequently. There is no night on the Internet, therefore there is
no time for maintenance of crash shutdowns.
– does not need any explanation.
We believe that the most suited to solve these tasks is the new category of component-based applications
built upon open standards. Such applications allow for very high measure of code reuse, increased development speed, and an
efficient maintenance throughout the whole life cycle of the application. Moreover, unlike the previous black-box
application solutions they naturally open door to involvement of third parties’ and their products.
We are persuaded that the key role in this movement will play the set of industrial standards collected under
a common roof of J2EE.
Java is a development language widely known for its
abilities to create applications running on any operating system without porting. Java 2 Enterprise Edition (J2EE) is a
specification developed by Sun Microsystems that makes Java ideal foundation for large open server side systems.
To reduce costs and fast-track enterprise application design and development, the J2EE platform provides
- component-based approach to the design, development, assembly, and deployment of enterprise applications.
- The J2EE platform gives you a multitiered distributed application model,
- the ability to reuse components,
- unified security model, and
- flexible transaction control.
Not only can you deliver innovative customer solutions to market faster than ever, but your
platform-independent J2EE component-based solutions are not tied to the products and APIs of any one vendor.
The title of this presentation was advertised as ”When the vision becomes reality”. In theory, the benefits
you see at this screen should be appropriate more than enough to fulfil the needs of the ASP providers. In the following
couple of slides I will go through the inventory of the items which J2EE provides and try to look at it from the perspective
of ASP developer.
First on stock we have the reusable components. The J2EE
specification defines several kinds of components, as you can see at this slide.
J2EE components are bundled into modules and delivered in Java Archive files. Using modules should make it
possible to assemble a number of different J2EE applications using some of the same components.
For example, a web version of a J2EE application can have an enterprise bean component coupled with a JSP
page component. The same enterprise bean component can be coupled with an application client component to make the non-web
version of the same application. No extra coding is needed; it is just a matter of assembly and deployment.
Also, reusable components make it possible to divide the application development and deployment process into
distinct roles so different people or companies can perform different parts of the packaging and deployment process.
This sounds very promising. The problems here arise when you need to extend or update some of the used
components. The rest of the application must be kept in sync with the changes and this can be very cumbersome task,
especially when you combine components from different vendors. There is a strong need for some consistent way in which the
components interact with each other.
A multitiered distributed application model means the
application logic is divided into components according to function, and you can install the different application components
that make up a J2EE application on the same or different servers. Where an application component is installed depends on which
tier in the multitiered J2EE environment the application component belongs to. You can see the typical division of the tiers at
this slide. I think the text there is quite self-explanatory.
This distribution model gives the ASP developer great level of flexibility which is the main benefit of using