Non-technology Drivers for Selection of Application Server

Purchase and licensing costs
Support costs
Viability of company or OSS project
Adoption by vendors
Open Standards, Open Source and “Free” Software
The greatest motivation for open standards in the development of application server programs is the portability of the code. For example, a JSP (Java Server Page) written to the J2EE Servlet APIix will be directly executable on any compliant server. This is true as long as no product specific features are called. For this reason, it is vital that developers at Stanford University only write standards based code. Sometimes this may require a programmer to ignore “shortcuts” offered by a specific vendor (e.g. a non-standard based Java class offered).
Just because a product is opensource software (OSS), this does not mean that it was necessarily written to open standards or that it is well architected. By open standards, it is meant a non-proprietary, consortia contributed, peer reviewed and documented technology and protocol standard. However, there is certainly a trend for ITSS to consider and adopt OSS when it’s as good as the competition.
No software is free. OSS or vendor donated software must be integrated, deployed and maintained. All these factors will be considered in the consideration by ITSS of any software for enterprise use at Stanford University.
Implementations and Products: Keep It Simple...
The J2EE multi-tier architecturex is prevalent for most web applications (fig. 1). For sustainability, the most simple standard architecture and implementation that will satisfy the application requirements should be employed. Currently for ITSS, there are few if any such requirements identified which justify the use of Enterprise Java Bean (EJB) technology. This technology, while elegant and powerful, adds considerable complexity to design and support.
Figure 1
Support Issues
Given the selection of Tomcat as the platform of J2EE standard choice for ITSS, it is additionally important that a limited set of versions of this product be used for development and production. It is therefore important that a centrally offered version be maintained by TSS as reference for use by all ITSS. The selection and review of this standard version will be performed by the ITSS Application Architectxi on an as needed basis.
Currently, it is very unlikely that a particular support question could not be answered through the extensive network of contributors and user communities that collectively support Tomcat today. However, it is conceivable that some vendor support will be required and the access to such support should be explored as needed.
Only maintain state info for info you can afford to lose.
LB discussions…very useful for web apps and for sticky sessions.
Summary
Tomcat is currently the product that should be supported and deployed as the ITSS standard for J2EE web applications. It is the official standard implementation of the Java Servlet API and offers broad adoption, good performance and tracks the specifications of J2EE.
The use of EJB’s should be strictly limited to demonstrated need and will be reviewed for that need by a IT architectural reviewxii. As of this writing, BEA WebLogic is the Application Server product that should be used in support of EJB’s in ITSS when this technology is required. Enterprise applications which are being built (in-house or by a third-party) should adhere to the same standards and their use will also be reviewed by the same IT architectural review described above.
Enterprise applications that are being considered for purchase and which already diverge from these standards should have additional ongoing support and complexity costs budgeted. Projects which select or otherwise implement a product other than Tomcat as an J2EE application servers will be required to fund the support of this choice outside the standard systems administration model. Also, enterprise application vendors should be interviewed by ITSS IT architects for the actual reliance upon a specific product other Tomcat.
i http://java.sun.com/j2ee/
ii http://www.omg.org/gettingstarted/specintro.htm#CORBA
iii http://www.microsoft.com/com/tech/DCOM.asp
iv http://www.oracle.com/ip/deploy/ias/index.html
v http://www.macromedia.com/software/jrun/
vi http://jakarta.apache.org/tomcat/index.html
vii http://www.jboss.org/index.html?module=html&op=userdisplay&id=overview
viii http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/server
ix http://java.sun.com/products/servlet/index.html
x http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/introduction/introduction3.html
xi Elected by the ITSS Technology Strategist
xii Overseen by the Technology Strategist for ITSS
|