An application server can be either a software framework that provides a generalized approach to creating an application-server implementation, without regard to what the application functions are, or the server portion of a specific implementation instance. In either case, the server's function is dedicated to the efficient execution of procedures (programs, routines, scripts) for supporting its applied applications.
Most Application Server Frameworks contain a comprehensive service layer model. An application server acts as a set of components accessible to the software developer through an API defined by the platform itself. For Web applications, these components are usually performed in the same running environment as its Web server(s), and their main job is to support the construction of dynamic pages. However, many application servers target much more than just Web page generation: they implement services like clustering, fail-over, and load-balancing, so developers can focus on implementing the business logic.
In the case of Java application servers, the server behaves like an extended virtual machine for running applications, transparently handling connections to the database on one side, and, often, connections to the Web client on the other.
Other uses of the term may refer to the services that a server makes available or the computer hardware on which the services run.
Application Server History
The term "application server" was originally used when discussing early client - server systems to differentiate servers that contain application logic SQL services and middleware servers as distinct from other types of data-servers.
In the late 2000s, because of the ubiquity of the web-browser as an application deployment strategy, there is a mistaken belief that the term refers to a web application environment. However they do not realize that such applications are within the scope of application-server technologies.
Java application servers
Java Platform, Enterprise Edition or Java EE (was J2EE) defines the core set of API and features of Java Application Servers. The Web modules include servlets, and JavaServer Pages. Enterprise JavaBeans are used to manage transactions. According to the J2EE blueprints the business logic of an application resides in Enterprise JavaBeans - a modular server component providing many features, including declarative transaction management, and improving application scalability.
Some Java Application Servers leave off many Java EE features like EJB and JMS including Tomcat from Apache, and Jetty from Eclipse Foundation. Their focus is more on Java Servlets and JavaServer Pages.
There are many open source Java application servers that support Java EE including JOnAS from Object Web, JBoss AS from JBoss (division of Red Hat), Geronimo from Apache, TomEE from Apache, Resin Java Application Server from Caucho Technology, Blazix from Desiderata Software, Enhydra Server from Enhydra.org, and GlassFish from Oracle.
Commercial, non open-source, Java application servers have been dominated by WebLogic Application Server by Oracle and WebSphere Application Server from IBM.
A Java Server Page (JSP) executes in a Web container. JSPs provide a way to create HTML pages by embedding references to the server logic within the page. HTML coders and Java programmers can work side by side by referencing each other's code from within their own.
The application servers mentioned above mainly serve Web applications, and services via RMI, EJB, JMS and SOAP. Some application servers target networks other than web-based ones: Session Initiation Protocol servers, for instance, target telephony networks.
- Microsoft positions their middle-tier applications and services infrastructure in the Windows Server operating system and the .NET Framework technologies in the role of an application server.
- Mono (not fully .NET compatible), developed by Novell, Inc., licensed under GPL
- Base4 Application Server, an open source project
- TNAPS Application Server, freeware application server, developed by TN LLC
PHP application servers
- PHP application servers are used for running and managing PHP applications.
- Zend Server, built by Zend Technologies, provides application server functionality for PHP-based applications.
- Oracle iPlanet Web Server :
Oracle iPlanet Web Server
Oracle iPlanet Web Server is a web server designed for medium and large business applications. Oracle iPlanet Web Server builds on the earlier Sun ONE Web Server, iPlanet Web Server, and Netscape Enterprise Server products.
Oracle iPlanet Web Server is available on Solaris, Windows, HP-UX, AIX, GNU/Linux, supports JSP and Java Servlet technologies, PHP, NSAPI, CGI, and ColdFusion.
In January 2009, Sun open sourced core components of Sun Java System Web Server 7.0 under the BSD license as Open Web Server.
In 2010, Oracle renamed the product from Sun Java System Web Server to Oracle iPlanet Web Server, although documentation and links are still in the process of being updated to reflect this.
- Jetty (web server) :
Jetty (web server)
Jetty is a pure Java-based HTTP server and Java Servlet container. Jetty is developed as a free and open source project as part of the Eclipse Foundation. The web server is used in products such as ActiveMQ, Alfresco, Apache Geronimo, Apache Maven, Google App Engine, Eclipse, FUSE, Twitter's Streaming API and Zimbra. Jetty is also the server in open source projects such as Lift, Eucalyptus, Red5 and Hadoop. Jetty supports the latest Java Servlet API (with JSP support) as well as protocols SPDY and WebSocket.
Developed as an independent open source project, in 2009 Jetty moved to Eclipse. Jetty provides Web services in an embedded Java application and it is already a component of the Eclipse IDE. It supports AJP, JASPI, JMX, JNDI, OSGi, WebSocket and other Java technologies.
Originally developed in the Sydney suburb of Balmain by software engineer Greg Wilkins, Jetty was originally a HTTP server component of Mort Bay Server; Mort Bay being an area of Balmain.
Jetty was originally called IssueTracker (its original application) and then MBServler (Mort Bay SERVLet servER). Neither of these were much liked, so Jetty was finally picked.
Jetty was started in 1995 and was hosted by MortBay, creating version 1.x and 2.x, until 2000. From 2000 to 2005, Jetty was hosted by sourceforge.net where version 3.x, 4.x, and 5.x were produced. In 2005, the entire Jetty project moved to codehaus.org. As of 2009, the core components of Jetty have been moved to Eclipse.org, and Codehaus.org continues to provide integrations, extensions, and packaging of Jetty versions 7.x and 8.x (not 9.x)
- Apache Tomcat :
Apache Tomcat (or simply Tomcat, formerly also Jakarta Tomcat) is an open source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, and provides a "pure Java" HTTP web server environment for Java code to run in.
Apache Tomcat includes tools for configuration and management, but can also be configured by editing XML configuration files.
Tomcat 4.x was released with Catalina (servlet container), Coyote (an HTTP connector) and Jasper (a JSP engine).
Catalina is Tomcat's servlet container. Catalina implements Sun Microsystems' specifications for servlet and JavaServer Pages (JSP). In Tomcat, a Realm element represents a "database" of usernames, passwords, and roles (similar to Unix groups) assigned to those users. Different implementations of Realm allow Catalina to be integrated into environments where such authentication information is already being created and maintained, and then use that information to implement Container Managed Security as described in the Servlet Specification.
Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1 protocol for the web server or application container. Coyote listens for incoming connections on a specific TCP port on the server and forwards the request to the Tomcat Engine to process the request and send back a response to the requesting client.
Jasper is Tomcat's JSP Engine. Jasper parses JSP files to compile them into Java code as servlets (that can be handled by Catalina). At runtime, Jasper detects changes to JSP files and recompiles them.
As of version 5, Tomcat uses Jasper 2, which is an implementation of the Sun Microsystems's JSP 2.0 specification. From Jasper to Jasper 2, important features were added:
JSP Tag library pooling - Each tag markup in JSP file is handled by a tag handler class. Tag handler class objects can be pooled and reused in the whole JSP servlet.
Background JSP compilation - While recompiling modified JSP Java code, the older version is still available for server requests. The older JSP servlet is deleted once the new JSP servlet has finished being recompiled.
Recompile JSP when included page changes - Pages can be inserted and included into a JSP at runtime. The JSP will not only be recompiled with JSP file changes but also with included page changes.
JDT Java compiler - Jasper 2 can use the Eclipse JDT (Java Development Tools) Java compiler instead of Ant and javac.
Three new components were added with the release of Tomcat 7:
This component has been added to manage large applications. It is used for Load balancing that can be achieved through many techniques. Clustering support currently requires the JDK version 1.5 or later.
A high-availability feature has been added to facilitate the scheduling of system upgrades (e.g. new releases, change requests) without affecting the live environment. This is done by dispatching live traffic requests to a temporary server on a different port while the main server is upgraded on the main port. It is very useful in handling user requests on high-traffic web applications.
It has also added user as well as system based web applications enhancement to add support for deployment across the variety of environments. It also tries to manage session as well as applications across the network.
Tomcat building is additional components. A number of additional components may be used with Apache Tomcat. These components may be built by users should they need them or they can be downloaded from one of the mirrors.
Tomcat 7.x implements the Servlet 3.0 and JSP 2.2 specifications. It requires Java version 1.6, although previous versions have run on Java 1.1 through 1.5. Versions 5 through 6 saw improvements in garbage collection, JSP parsing, performance and scalability. Native wrappers, known as "Tomcat Native", are available for Microsoft Windows and Unix for platform integration.
Tomcat started off as a servlet reference implementation by James Duncan Davidson, a software architect at Sun Microsystems. He later helped make the project open source and played a key role in its donation by Sun Microsystems to the Apache Software Foundation. The Apache Ant software build automation tool was developed as a side-effect of the creation of Tomcat as an open source project.
Davidson had initially hoped that the project would become open sourced and, since many open source projects had O'Reilly books associated with them featuring an animal on the cover, he wanted to name the project after an animal. He came up with Tomcat since he reasoned the animal represented something that could fend for itself. Although the tomcat was already in use for another O'Reilly title, his wish to see an animal cover eventually came true when O'Reilly published their Tomcat book with a snow leopard on the cover.
Apache software is built as part of a community process that involves both user and developer mailing lists. The developer list is where discussion on building and testing the next release takes place, while the user list is where users can discuss their problems with the developers and other users.
Some of the free Apache Tomcat resources and communities include Tomcatexpert.com (a SpringSource sponsored community for developers and operators who are running Apache Tomcat in large-scale production environments) and MuleSoft's Apache Tomcat Resource Center (which has instructional guides on installing, updating, configuring, monitoring, troubleshooting and securing various versions of Tomcat).
Apache TomEE (pronounced "Tommy") is the Java Enterprise Edition of Apache Tomcat (Tomcat + Java EE = TomEE) that combines several Java enterprise projects including Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA, Apache MyFaces and others. In October 2011, the project obtained certification by Oracle Corporation as a compatible implementation of the Java EE 6 Web Profile.
- Apache TomEE :
Apache TomEE (pronounced "Tommy") is the Java Enterprise Edition of Apache Tomcat (Tomcat + Java EE = TomEE) that combines several Java enterprise projects including Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA, Apache MyFaces and others. In October 2011, the project obtained certification by Oracle Corporation as a compatible implementation of the Java EE 6 Web Profile.
Here a list of the open source components that are included in TomEE.
- Apache Tomcat HTTP server and Servlet container supporting Java Servlet and JavaServer Pages (JSP).
- Apache OpenEJB Open source Enterprise JavaBeans (EJB) Container System.
- Apache OpenWebBeans Open source Java Contexts and Dependecy Injection (CDI) implementation.
- Apache OpenJPA Open source Java Persistence API (JPA) 2.0 implementation.
- Apache MyFaces Open source Java Server Faces (JSF) implementation.
- Apache ActiveMQ Open source Java Message Service (JMS) implementation.
- Apache CXF Web Services frameworks with variety of protocols such as SOAP, XML/HTTP, RESTful HTTP.
- Apache Derby Full-fledged relational database management system (RDBMS) with native Java Database Connectivity (JDBC) support.
TomEE JAX-RS is a second distribution that adds support for Java API for RESTful Web Services (JAX-RS). The full TomEE Plus distribution adds additional support for Java API for XML Web Services (JAX-WS), Java EE Connector Architecture, and Java Messaging Service (JMS).
- Apache OpenEJB :
OpenEJB is an open source, embeddable and lightweight EJB Container System and EJB Server, released under the Apache 2.0 License. OpenEJB has been integrated with Java EE application servers such as Geronimo, and WebObjects.
OpenEJB was founded by Richard Monson-Haefel and David Blevins in December 1999. At the time there were new vendors moving in the enterprise Java space seemingly every week. Rather than join the space as a competitor, the project was focused entirely on providing these new platforms with a way to quickly get EJB compliance via plugging OpenEJB into their application server.
The first to integrate OpenEJB in this fashion was Apple's WebObjects in late 2000, released in 2001. When the project moved to Source Forge in 2002 an Apache Tomcat integration was created. Again rather than follow what most in the industry were doing and putting Tomcat into OpenEJB, the project decided to follow its vision and provide an integration that allowed Tomcat users to plug in OpenEJB to gain EJB support in the Tomcat platform. It was in this same vein of putting an EJB container into a Web server that the project developed the Collapsed EAR concept of putting EJBs inside the .war file.
As part of the work that OpenEJB did to prepare for the integration with Apple's WebObjects, a very large integration test suite was developed. The test suite was developed as a generic application since it would need to be run against both WebObjects and other platforms that integrated OpenEJB. For simplicity in the build the test suite, based on JUnit, was run with OpenEJB right inside the tests rather than as a separate process, which was easy to do as the container was designed to be plugged into other platforms and make as little assumptions about its environment as possible. It was from this work that the concept of combing an EJB application with plain unit tests and an embeddable EJB container was born. Originally referred to as a "local" EJB container and what lead the project to describe itself as being able to run in two modes: Local and Remote.
In August 2003 the project helped launch the Apache Geronimo application server. Originally a new version of OpenEJB was developed ground up based on Geronimo's GBean architecture and released as OpenEJB 2.0 which lived throughout the Geronimo 1.x cycle. In 2006 when EJB 3.0 was released which had a focus on simplicity, the project went back to its roots and revived the OpenEJB 1.0 codebase, ported select bits of the 2.0 codebase, and eventually brought it up to the EJB 3.0 spec level in what is now called OpenEJB 3.0.
Apache OpenEJB Versions
Supports EJB 3.0, 2.1, 2.0, 1.1 in all modes; embedded, standalone or otherwise.
- Partial EJB 3.1 support
- JAX-WS support
- JMS support
- J2EE connector support
- Can be dropped into Tomcat 5 or 6 adding various JavaEE 5 and EJB 3.0 features to a standard Tomcat install.
- CMP support is implemented over JPA allowing to freely mix CMP and JPA usage.
- Complete support for GlassFish descriptors allowing those users to embedded test their applications.
- Incredibly flexible JNDI name support allows you to specify formats at macro and micro levels and imitate the format of other vendors.
- Allows for easy testing and debugging in IDEs such as Eclipse, IntelliJ IDEA or NetBeans with no plugins required.
- Usable in ordinary JUnit or other style test cases without complicated setup or external processes.
- Validates applications entirely and reports all failures at once, with three selectable levels of detail, avoiding several hours worth of "fix, recompile, redeploy, fail, repeat" cycles.
- OSGi support
- Apache Geronimo :
Apache Geronimo is an open source application server developed by the Apache Software Foundation and distributed under the Apache license. Geronimo 2 is currently compatible with the Java Enterprise Edition (Java EE) 5.0 specification such as JDBC, RMI, e-mail, JMS, web services, XML, Enterprise JavaBeans, Connectors, servlets, portlets and JavaServer Pages. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Geronimo 3 is compatible with Java EE 6.0.
IBM has provided considerable support to the project through marketing, code contributions, and the funding of several project committers. In October 2005, IBM announced a free edition of its WebSphere application server named Websphere Application Server Community Edition, which is based on Geronimo. Other commercial supporters include AMD, Chariot Solutions, Simula Labs, and Virtuas.
Like an enterprise operating system, Geronimo is built on a kernel - a microkernel that lays the foundation for everything above it. Geronimo's kernel is Java EE agnostic. Its sole purpose is to manage Geronimo's building blocks. Geronimo is marked by an architectural design that is based on the concept of Inversion of Control (IoC) (sometimes called Dependency Injection), which means that the kernel has no direct dependency on any of its components. The kernel is a framework for services that controls the service life cycle and registry. The kernel is based on Java EE. It works with Java EE services and components to build specific configurations - one of which is a full Java EE solution stack.
A majority of the Geronimo services are added and configured through GBeans to become a part of the overall application server. A GBean is the interface that connects the component to the kernel. Each GBean can maintain state, depend on, and interrelate with other GBeans, and operate on events from the kernel and other GBeans. The GBeans interface makes it possible to switch between two servlet containers, for example Jetty or Tomcat, without affecting the whole architecture using a GBeans interface. This flexible architecture makes it possible for the Geronimo developers to integrate several existing field-tested open source software projects.
Here a list of the open source components that are included in the Geronimo project.
Apache Tomcat :
HTTP server and Servlet container supporting Java Servlet 2.5 and JavaServer Pages (JSP) 2.1.
HTTP server and Servlet container supporting Java Servlet 2.5 and JavaServer Pages 2.1 - an alternative to the Tomcat server.
Apache ActiveMQ :
Open source Java Message Service (JMS) 1.1 applications provider and supporter of message-driven beans (MDBs).
Apache OpenEJB :
Open source Enterprise JavaBeans (EJB) Container System and EJB Server that supports Enterprise JavaBeans at the 3.0 level, including Container Managed Persistence 2 (CMP2) and EJB Query Language (EJBQL).
Apache OpenJPA :
Open source Java Persistence API (JPA) 1.0 implementation.
Apache ServiceMix :
Open source Enterprise Service Bus (ESB) and component suite based on the Java Business Integration (JBI) standard on JSR 208.
Apache Axis and Apache Scout :
Axis is a Simple Object Access Protocol (SOAP) implementation, while Scout is a JSR 93 (JAXR) implementation. These provide support for Web Services and Web Services Interoperability Organization (WS-I) Basic Profile support.
Apache CXF :
Web Services frameworks with variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.
Apache Derby :
Full-fledged relational database management system (RDBMS) with native Java Database Connectivity (JDBC) support.
Apache WADI Clustering :
load balancing and failover solution for the web application container tier. (The project is currently in incubation under the Apache Incubator.)
Java Management Extensions that supplies tools for managing and monitoring applications, system objects, devices and service oriented networks.
- Apache CXF :
Apache CXF :
Apache CXF is an open-source, fully featured Web services framework. It originated as the combination of two open-source projects: Celtix developed by IONA Technologies (acquired by Progress Software in 2008) and XFire developed by a team hosted at Codehaus. These two projects were combined by people working together at the Apache Software Foundation. The name CXF derives from combining the "Celtix" and "XFire" project names.
The CXF key design considerations include:
- Clean separation of front-ends, like JAX-WS, from the core code.
- Simplicity with, for instance, the creation of clients and endpoints without annotations.
- High performance with minimum computational overhead.
- Embeddable Web service component: example embeddings include Spring Framework and Geronimo.
- CXF is often used with Apache ServiceMix, Apache Camel and Apache ActiveMQ in service-oriented architecture (SOA) infrastructure projects.
- CXF includes a broad feature set, but it is primarily focused on the following areas:
- Web Services Standards Support:
- JAX-WS API for Web service development
- Java first support
- WSDL first tooling
- JAX-RS (JSR 311 1.1) API for RESTful Web service development
- Maven tooling
- CORBA support
- HTTP and JMS transport layers
- Embeddable Deployment:
- ServiceMix or other JBI containers
- Geronimo or other Java EE containers
- Tomcat or other servlet containers
- Reference OSGi Remote Services implementation
- WildFly ( JBOSS ) :
WildFly ( JBOSS )
WildFly, formerly known as JavaBeans Open Source Software Application Server (JBoss AS, or simply JBoss) is an application server that implements the Java Platform, Enterprise Edition (Java EE).
JBoss is written in Java and as such is cross-platform: usable on any operating system that supports Java.
JBoss was developed by JBoss, now a division of Red Hat. Licensed under the terms of the GNU Lesser General Public License, JBoss is free and open source software.
The renaming to WildFly was done to reduce confusion. The renaming only affects the JBoss Application Server project. The JBoss Community or the Red Hat JBoss product line (with JBoss Enterprise Application Platform) all retain their names.
In 1999, Marc Fleury started a free software project named EJB-OSS (stands for Enterprise Java Bean Open Source Software) implementing the EJB API from J2EE (Java 2 Enterprise Edition). Sun Microsystems asked the project to stop using the EJB trademark within its name. EJB-OSS was then renamed to JBOSS, then JBoss later.
JBoss AS 4.0, a Java EE 1.4 application server, features an embedded Apache Tomcat 5.5 servlet container. It supports any Java Virtual Machine (JVM) between versions 1.4 and 1.6. JBoss can run on numerous operating systems including many POSIX platforms (like GNU/Linux, FreeBSD and Mac OS X), Microsoft Windows and others, as long as a suitable JVM is present.
JBoss AS 4.2 also functions as a Java EE 1.4 application server, but deploys Enterprise JavaBeans 3.0 by default. It requires the Java Development Kit version 5, and includes Tomcat 5.5.
JBoss AS 5.1, released in 2009, operates as a Java EE 5 application server. It is a minor update of the major release JBoss AS 5.0, which was in development for at least three years and was built on top of a new JBoss microcontainer. JBoss AS 5.1 contains a preview of some elements from the Java EE 6 specification.
JBoss AS 6.0, an unofficial implementation of Java EE 6, was released on December 28, 2010. Although JBoss AS 6 does not support the full Java EE 6 stack, it chose not to support this officially by obtaining an official certification from Oracle. It does, however, officially support the Java EE 6 Web Profile.
JBoss AS 7, was released on July 12, 2011, only six months after the last major release, JBoss AS 6. Unlike previous increments of the major versioning number, JBoss AS 7 supports the same Java EE specification as the last major release, namely Java EE 6. The Java EE profile is only partially implemented in JBoss AS 7, e.g. it includes MDBs, but listening to JMS destinations (which is mandated by the full spec) is not supported. It is, however, certified for the Web Profile. The software code has been completely rewritten for JBoss AS 7. Major changes visible to the user are the inability to define resources like JMS destinations and datasources inside archives (war/ear), the way datasources are defined, a much smaller size (less than half of JBoss AS 6) and a 10-fold reduction in startup time.
JBoss AS 7.1, the current stable version, was released in February 2012. The remaining parts of the EE spec were implemented, and this version was certified for the EE full profile.
WildFly 8 is the direct continuation to the JBoss AS project.
- Aspect-oriented programming (AOP) support
- Deployment API
- Distributed caching (using JBoss Cache, a standalone product)
- Distributed deployment (farming)
- Enterprise JavaBeans versions 3 and 2.1
- Failover (including sessions)
- Hibernate integration (for persistence programming; Java Persistence API or JPA)
- Java Authentication and Authorization Service (JAAS)
- Java EE Connector Architecture (JCA) integration
- Java Management Extensions
- Java Message Service (JMS) integration
- Java Naming and Directory Interface (JNDI)
- Java Transaction API (JTA)
- Java Authorization Contract for Containers (JACC) integration
- Java Server Faces 1.2 (Mojarra)
- Java Server Pages (JSP) / Java Servlet 2.1/2.5 (Tomcat)
- JBossWS (JBoss Web Services) for Java EE web services like JAX-WS
- Load balancing
- Management API
- OSGi framework
- RMI-IIOP (JacORB, contraction of Java and CORBA)
- SOAP with Attachments API for Java (SAAJ)
- Teiid data virtualization system
- JBoss Enterprise Application Platform :
JBoss Enterprise Application Platform
The JBoss Enterprise Application Platform (or JBoss EAP) is a subscription-based/open-source Java EE-based application server runtime platform used for building, deploying, and hosting highly-transactional Java applications and services. The JBoss Enterprise Application Platform is part of the JBoss Enterprise Middleware portfolio of software. Because it is Java-based, the JBoss application server operates cross-platform: usable on any operating system that supports Java. The JBoss Enterprise Application Platform was developed by JBoss, now a division of Red Hat.
Product components and features :
Key features :
- Eclipse-based Integrated Development Environment (IDE) is available using JBoss Developer Studio
- Supports Java EE and Web Services standards
- Enterprise Java Beans (EJB)
- Java persistence using Hibernate
- Object request broker (ORB) using JacORB for interoperability with CORBA objects
- JBoss Seam framework, including Java annotations to enhance POJOs, and including JBoss jBPM
- JavaServer Faces (JSF), including RichFaces
- Web application services, including Apache Tomcat for JavaServer Pages (JSP) and Java Servlets
- Caching, clustering, and high availability, including JBoss Cache, and including JNDI, RMI, and EJB types
- Security services, including Java Authentication and Authorization Service (JAAS) and pluggable authentication modules (PAM)
- Web Services and interoperability, including JAX-RPC, JAX-WS, many WS-* standards, and MTOM/XOP
- Integration and messaging services, including J2EE Connector Architecture (JCA), Java Database Connectivity (JDBC), and Java Message Service (JMS)
- Management and Service-Oriented Architecture (SOA) using Java Management Extensions (JMX)
- Additional administration and monitoring features are available using JBoss Operations Network
Key components :
- JBoss Application Server, the framework used to support the development and implementation of applications
- Hibernate, an object/relational mapping and persistence (ORM) framework
- JBoss Seam, a framework for building web applications
- JBoss Web Framework Kit, for building Java applications
Lists of components, features, and standards supported are available.
These products are part of the JBoss Enterprise Middleware portfolio of software, or are included with the JBoss Enterprise Application Platform software.
JBoss Enterprise Web Platform (or JBoss EWP)
This software is a lighter weight version of the JBoss Enterprise Application Platform. The key components are essentially the same as the full JBoss Enterprise Application Platform, but uses a slimmed down profile of the JBoss Application Server.
JBoss Enterprise Portal Platform (or JBoss EPP)
This software is an enterprise portal with the core portal features of presentation, master page objects, containers, and a repository, and also an optional site publisher.
JBoss Enterprise Application Platform - the software infrastructure
GateIn Portal - both an enterprise web portal and also a portal framework to build upon. GateIn Portal includes support for Web Services for Remote Portlets (WSRP), Java Content Repository (JCR), Single Sign-On (SSO), and OpenSocial gadgets.
JBoss Portlet Bridge - a non-final draft implementation of the JSR-301 and JSR-329 specifications that support JavaServer Faces (JSF) within a JSR-286 portlet. This software also supports other web frameworks such as JBoss Seam and RichFaces to run inside a portlet.
Site Publisher - web content management (optional) (by eXo) JBoss EPP implements the standards for Portlet 2.0 (JSR-286), JCR (JSR-170), OASIS WSRP 1.0, and OpenSocial.
The GateIn project is a merge of JBoss Portal 2.7 and eXo Portal 2.5 that produced GateIn Portal 3.0, and also the related projects GateIn Portlet Container, eXo JCR, and JBoss Portlet Bridge.
JBoss Enterprise Web Server (or JBoss EWS)
This software is a platform for lightweight Java applications, but also handles large scale websites. JBoss EWS may be deployed as a standard enterprise web server, a simple Java application server, or an enterprise open source application infrastructure.
Apache Tomcat - including Java Servlet and JavaServer Pages
Apache Web Server - including common modules and connectors for authentication, caching, proxying, filtering, and load balancing (mod_jk)
JBoss Web Framework Kit :
This software is a set of web frameworks used for building light and rich Java applications.
- Google Web Toolkit - framework for rich Internet applications
- RichFaces - framework for rich Internet applications
- Spring Framework - Java framework
- Apache Struts - Java framework
JBoss Cache (or JBC)
This software implements a cache for frequently accessed Java objects to improve application performance. The cache can be replicated and transactional. The cache can be replicated across one or more Java Virtual Machines (JVM) across a network. The cache can be transactional because a JTA compliant transaction manager can be configured and make any cache interaction transactional. The two types of JBoss Cache are Core and POJO, with the POJO library built on top the Core library.
This software is a New I/O (NIO) client-server framework for the development of Java network applications such as protocol servers and clients. The asynchronous event-driven network application framework and tools is used to simplify network programming such as TCP and UDP socket servers. Netty includes an implementation of the reactor pattern of programming.
- Oracle WebLogic Server :
Oracle WebLogic Server
- Owned by Oracle Corporation, Oracle WebLogic consists of a Java EE platform product-family that includes:
- a Java EE application server, WebLogic Application Server
- an enterprise portal, WebLogic Portal
- an Enterprise Application Integration platform
- a transaction server and infrastructure, WebLogic Tuxedo
- a telecommunication platform, WebLogic Communication Platform
- an HTTP web server
Prior to co-founding WebLogic, Inc., in September 1995, Paul Ambrose and Carl Resnikoff had developed (pre-JDBC) Oracle, Sybase, and Microsoft SQL Server database-drivers for Java under the name dbKona, as well as a "three-tier" server to permit applets to connect to these databases.
This WebLogic 1.48 server had the name T3Server (a corruption of "3-Tier Server"[dubious - discuss]). Concurrently, Laurie Pitman and Bob Pasker had worked on network-management tools written in Java. Pasker had written an SNMP stack in Java and a W32 native method for ICMP ping, while Pitman had worked on applets to display the management data.
The 1.48 server version had (among other hidden features) the ability to extend itself by modifying a dispatcher and adding a handler for different types of messages. Pasker talked Ambrose into sending him the source code for the server, and Pasker extended it so that applets could make SNMP and PING requests on the network, and display the results.
At this point, the founders worked together to pursue what eventually became the "Application Server".
In 1998, WebLogic appointed board member and angel investor Ali Kutay as President and CEO. Shortly there after, BEA Systems acquired WebLogic, Inc. in 1998, following which it became BEA WebLogic. Oracle acquired BEA in 2008, following which it became Oracle WebLogic. WebLogic servers has been included in Oracle Technology Product family. WebLogic show various editions, such as WebLogic Server Standard Edition, WebLogic Server Enterprise Edition, WebLogic Suite, and is supplemented with five WebLogic Suite Options and Application Server Enterprise Management packs.
Application Server Versions
12c Release 1 (12.1.1) - Dec 2012
WebLogic Server 11gR1 PS4 (10.3.5) - May 16, 2011
WebLogic Server 11gR1 PS3 (10.3.4) - January 15, 2011
WebLogic Server 11gR1 PS2 (10.3.3) - April 2010
WebLogic Server 11gR1 PS1 (10.3.2) - November 2009
WebLogic Server 11g (10.3.1) - July 2009
WebLogic Server 10.3 - August 2008
WebLogic Server 10.0 - March 2007
WebLogic Server 9.2
WebLogic Server 9.1
WebLogic Server 9.0 - November 2006
WebLogic Server 8.1 - July 2003
WebLogic Server 7.0 - June 2002
WebLogic Server 6.1
WebLogic Server 6.0 - file date March 2001 on an old CD
WebLogic Server 5.1 (code name: Denali) First version supporting hot deployment for applications (via command line)
WebLogic Server 4.0
WebLogic Tengah 3.1 - June 1998
WebLogic Tengah 3.0.1 - March 1998
WebLogic Tengah 3.0 - January 1998
WebLogic Tengah - November 1997
Oracle WebLogic Server forms part of Oracle Fusion Middleware portfolio and supports Oracle, DB2, Microsoft SQL Server, MySQL Enterprise and other JDBC-compliant databases. Oracle WebLogic Platform also includes:
- JRockit, a custom JVM.
- Korthal that includes Commerce Server and Personalization Server
- WebLogic Integration
- WebLogic Workshop, an Eclipse IDE for Java, SOA and Rich Internet Applications
- WebLogic Server includes .NET interoperability and supports the following native integration capabilities:
- CORBA connectivity
- COM+ Connectivity
- IBM WebSphere MQ connectivity
- Java EE Connector Architecture
- Native enterprise-grade JMS messaging
- WebLogic/Tuxedo Connector
Oracle WebLogic Server Process Edition also includes Business Process Management and Data Mapping functionality. WebLogic supports security policies managed by security administrators. The Oracle WebLogic Server Security Model includes:
application business logic separated from security code
complete scope of security coverage for all Java EE and non-Java EE components
- As of 2010, Oracle Corporation regards the following products as "core components" of Oracle WebLogic Server:
- Enterprise Grid Messaging
- JMS Messaging Standard
- Oracle Coherence, in-memory caching of frequently used data across multiple servers
- Oracle TopLink
- Oracle WebLogic Server Web Services
Supported Open Standards
- BPEL & BPEL-J
- Java EE 1.3, 1.4, 5, 6
- JPA 1.0 & 2.0
- JMX and SNMP
- Native support for:
- XSLT and XQuery
- GlassFish :
GlassFish is an open-source application server project started by Sun Microsystems for the Java EE platform and now sponsored by Oracle Corporation. The supported version is called Oracle GlassFish Server. GlassFish is free software, dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the classpath exception.
GlassFish is the reference implementation of Java EE and as such supports Enterprise JavaBeans, JPA, JavaServer Faces, JMS, RMI, JavaServer Pages, servlets, etc. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Optional components can also be installed for additional services.
GlassFish is based on source code released by Sun and Oracle Corporation's TopLink persistence system. It uses a derivative of Apache Tomcat as the servlet container for serving Web content, with an added component called Grizzly which uses Java New I/O (NIO) for scalability and speed.
Sun Microsystems launched the GlassFish project on 6 June 2005. On 4 May 2006, Project GlassFish released the first version that supports the Java EE 5 specification.
On 8 May 2007 Project SailFin was announced at JavaOne as a sub-project under Project GlassFish. Project SailFin aims to add Session Initiation Protocol (SIP) servlet functionality to GlassFish.
On 17 September 2007 the GlassFish community released version 2 (aka Sun Java System Application Server 9.1) with full enterprise clustering capabilities, Microsoft-interoperable Web Services.
On 21 January 2009 Sun Microsystems and the community released version GlassFish 2.1 (aka Sun GlassFish Enterprise Server 2.1) which serves as the basis for the Sailfin SIP AppServer project (aka Sun Communication Application Server).
On 10 December 2009 GlassFish v3 was released. Being the Java EE reference implementation, this was the first application server to completely implement Java EE 6 JSR 316. JSR 316 was however approved with reservations. In this version GlassFish adds new features to ease migration from Tomcat to GlassFish. The other main new features are around modularity (GlassFish v3 Prelude already shipped with an Apache Felix OSGi runtime), startup time (a few seconds), deploy-on-change (provided by NetBeans and Eclipse plugins), and session preservation across redeployments.
On 25 March 2010, soon after the acquisition of Sun Microsystems, Oracle issued a Roadmap for versions 3.0.1, 3.1, 3.2 and 4.0 with themes revolving around clustering, virtualization and integration with Coherence and other Oracle technologies. The open source community remains otherwise unaffected.
On 28 February 2011, Oracle Corporation released GlassFish v3.1. This version introduced support for ssh-based provisioning, centralized admin, clustering and load-balancing. It maintains its support for both the Web Profile and full Java EE 6 Platform specifications.
On 28 July 2011, Oracle Corporation released GlassFish v3.1.1. This is fix release for GlassFish v3.1 with multiple component updates (Weld, Mojarra, Jersey, EclipseLink, ...), JDK 7 support, AIX support and more.
On 29 February 2012, Oracle Corporation released GlassFish v3.1.2. This release includes bug fixes and new features including administration console enhancements, transaction recovery from a database and new thread pool properties.
On 17 July 2012, Oracle Corporation released GlassFish v188.8.131.52. This is a "micro" release to address some exceptional issues in the product.
On 12 June 2013, Oracle Corporation released GlassFish 4.0. This major release brings Java Platform, Enterprise Edition 7 support.
- JOnAS :
JOnAS is an open-source implementation of the Java EE application server specification, developed and hosted by the ObjectWeb consortium (ObjectWeb is a non-profit European consortium, founded by INRIA, Groupe Bull, and France Télécom). JOnAS is released under the LGPL open-source license.
Java EE Certification
JOnAS is Java EE 5 certified, as of March 17, 2009. It was the first open-source server certified for free, using a process known as "J2EE scholarship" and established by Sun for non-profit organizations. JOnAS is generally considered to be technologically superior. The new JOnAS 5 architecture is based on top of an OSGi framework which makes the development of dynamic components much easier than before.
Java EE Environment
JOnAS is an open source Java EE 5 application server. It provides a fully compliant EJB container through EasyBeans and is available with an embedded Tomcat or Jetty web container. Any 1.5 or 1.6 JVM is supported, and the attempts to run on a free stack with GNU Classpath are very promising. JOnAS can run on numerous operating systems including Linux, Windows, AIX, many Posix platforms, and others, as long as a suitable JVM is available.
As of its version 5, JOnAS is fully based on the OSGi framework; using either Apache Felix, Eclipse Equinox or Knopflerfish (though the default JOnAS packaging comes with Apache Felix). This means that all JOnAS components are packaged as bundles, for example the full JOnAS profile comes with more than 250 bundles.
The service layer is implemented using Apache iPOJO, therefore most Java-EE-certified JOnAS services (persistence, EJB, resources, ...) are directly available as OSGi services to all OSGi bundles deployed on JOnAS. The inverse is also true: for example, an EJB3 can directly access any number of OSGi services using dynamic injection.
- Adobe ColdFusion :
ColdFusion is a commercial rapid web application development platform invented by Jeremy and JJ Allaire in 1995. (The programming language used with that platform is also commonly called ColdFusion, though is more accurately known as CFML.) ColdFusion was originally designed to make it easier to connect simple HTML pages to a database. By Version 2 (1996), it had become a full platform that included an IDE in addition to a "full" scripting language. As of 2010, versions of ColdFusion (purchased by Adobe Systems in 2005) include advanced features for enterprise integration and development of rich Internet applications.
Originally a product of Allaire and released in July 1995, ColdFusion was developed by brothers Joseph J. "JJ" and Jeremy Allaire. In 2001 Allaire was acquired by Macromedia, which in turn was acquired by Adobe Systems Inc in 2005.
ColdFusion is most often used for data-driven websites or intranets, but can also be used to generate remote services such as SOAP web services or Flash remoting. It is especially well-suited as the server-side technology to the client-side Flex.
ColdFusion can also handle asynchronous events such as SMS and instant messaging via its gateway interface, available in ColdFusion MX 7 Enterprise Edition.
ColdFusion provides a number of additional features out of the box. Among them :
- Simplified database access
- Client and server cache management
- Client-side code generation, especially for form widgets and validation
- Conversion from HTML to PDF and FlashPaper
- Data retrieval from common enterprise systems such as Active Directory, LDAP, SMTP, POP, HTTP, FTP, Microsoft Exchange Server and common data formats such as RSS and Atom
- File indexing and searching service based on Apache Solr
- GUI administration
- Server, application, client, session, and request scopes
- XML parsing, querying (XPath), validation and transformation (XSLT)
- Server clustering
- Task scheduling
- Graphing and reporting
Simplified file manipulation including raster graphics (and CAPTCHA) and zip archives (introduction of video manipulation is planned in a future release) Simplified web service implementation (with automated WSDL generation / transparent SOAP handling for both creating and consuming services.
Other implementations of CFML offer similar or enhanced functionality, such as running in a .NET environment or image manipulation.
The engine was written in C and featured, among other things, a built-in scripting language (CFScript), plugin modules written in Java, and a syntax very similar to HTML. The equivalent to an HTML element, a ColdFusion tag begins with the letters "CF" followed by a name that is indicative of what the tag is interpreted to, in HTML. E.g.
to begin the output of variables or other content.
In addition to CFScript and plugins (as described), CFStudio provided a design platform with a WYSIWYG display. In addition to ColdFusion, CFStudio also supports syntax in other languages popular for backend programming, such as Perl. In addition to making backend functionality easily available to the non-programmer, (version 4.0 and forward in particular) integrated easily with the Apache Web Server and with Internet Information Services.
The first version of ColdFusion (then called Cold Fusion) was released on July 10, 1995. This first version was written almost entirely by one person, Joseph JJ Allaire.
All versions of ColdFusion prior to 6.0 were written using Microsoft Visual C++. This meant that ColdFusion was largely limited to running on Microsoft Windows, although Allaire did successfully port ColdFusion to Sun Solaris starting with version 3.1.
The Allaire company was sold to Macromedia, then to Adobe. Earlier versions were not as robust as the versions available from version 4.0 forward.
With the release of ColdFusion MX 6.0, the engine had been re-written in Java and supported its own runtime environment, which was easily replaced through its configuration options with the runtime environment from Sun. Version 6.1 included the ability to code and debug Shockwave Flash.
- Resin Server :
Resin is a web server and Java application server from Caucho Technology. Resin is provided in two versions, Resin Professional and Resin Open Source (GPL). Resin supports the Java EE standard as well as a mod_php/PHP like engine called Quercus.
Resin Open Source is an open source version of the open core Resin Professional version that Caucho describes as "suitable for hobbyists, developers, and low traffic websites that do not need the performance and reliability enhancements of Resin Professional."
There is some debate on whether or not Resin Open Source is crippleware or open core. March 2013, Techempower, independently picked Resin Open Source as the fastest open source application server, and then used Resin Open Source to compare Java web framework speed against non-Java web framework speed. Resin Open Source dominated the first five positions of every test. Being the best of breed implementation open source solution given a large open source competition would indicate that Resin is not in fact crippled, and is in fact an open core implementation, which implies what is released is useable, but additional features come with the non-open source version. Open core means an open source version of the proprietary version has been made available, and licensed in a manner that donates it to the software community at large for partial or complete re-use.
Resin Open Source lacks optimizations such as built-in caching and features such as clustering support, advanced administration, and the health system that includes HTTP session replication, Java Monitoring, distributed cache replication, and JMS queue replication. Many of these same features are lacking from Apache Tomcat, and Apache Tomcat is not deemed crippleware. While Caucho describes these as "features and enhancements commonly needed in a production environment", Resin Open Source is used without these features.
Within the "resin-admin" web-based management interface of Resin Open Source the majority of menu options return the message "This feature requires Resin Professional and a valid license. Please download Resin Professional and request a free evaluation license." when chosen. Setting many configuration file options and accessing many API methods do not work and generate log error messages to the same effect. Yet Resin Open Source was still useable enough to beat Apache httpd at serving files and independently picked by Techmepower to represent all Java web frameworks, and ran all of the most popular Java web frameworks on top of Resin Open Source due to its speed, including, Spring, Grails, JRuby, Wicket, and Tapestry, which showed that Java still has the highest overall throughput for web application development.
Resin market share might be small in the grand scheme of Java Application Servers, but many high traffic sites use Resin, including Toronto Stock Exchange, SalesForce.com, Condé Nast (parent company of Vogue, GQ), CNET. NetCraft's February 2012 Survey states Resin grew to 4,700,000 sites and Resin is used on a number of the Million Busiest Sites. Resin was the only Java-based web server mentioned in NetCraft's survey.
Caucho claims that Resin Pro and Resin Open Source is faster than Apache httpd (v 2.4), and therefore focuses on competing with nginx web server. Caucho claims Resin to have comparable speeds to nginx, and that this is one of the reasons for Resin's strong growth. Caucho now claims that Resin Pro is faster than NginX.
Although a Java based server, key pieces of Resin's core networking are written in highly optimized C. Caucho claims Java is the layer that allows Resin to be "full featured" while C provides the speed.
Resin, which was released in 1999, predates Apache Tomcat, and is one of the oldest application servers and web servers.
Product features :
- Elastic Clustering / Cloud support
- 3rd generation clustering optimized for Virtualization 2.0, EC2 and OpenStack deployments
- Session Replication
- Load balancing
- Distributed Cache
- Memcached wire protocol for Couchbase Server like caching
- Class compilation
- JIT Profiling and heap analysis
- No GUI required
- JUnit support
- Web Admin
- DevOps support via CLI and REST control of Resin
- Apache Ant/Maven/Ivy integration
- IDE integration
- Flexible project management
- Server Monitoring
- Deployment / Cloud deployment
- Versioned deployment
- Merge paths
- Troubleshooting aids
- Server health reports, baselining and post mortem reporting
- Java EE Web Profile certified,
- Java CDI
- standard Java dependency injection similar to Guice and Spring, part of Java EE
- Transaction support
- Static files/JSP/Servlet/JSF
- Extensible access logging
- URL rewriting
- Proxy caching (similar to Squid)
- Gzip compression
- Virtual Hosts
- Comet/Server push
- mod-php like support via Quercus
Quercus is a Java-based implementation of the PHP language that is included with Resin. According to a slideshow presented by Emil Ong (from Caucho), to a San Francisco Java Meetup Group in April 2008 pertaining to Resin 3.1, an essential difference in the operation of Quercus between the Resin Open Source and the Resin Professional editions is that in Resin Professional the PHP is compiled to Java bytecode whereas in the open source version PHP is executed by an interpreter.
Caucho states that Quercus is faster than standard PHP although this is only true for the JIT-compiled version in Resin Professional. Quercus ships with Resin.
- Orion Application Server :
Orion Application Server
Orion Application Server is a Java EE application server developed by Swedish company IronFlare AB, founded by Magnus Stenman and Karl Avedal. First released in 1999, Orion claims to be the first commercially available application server with full Java EE support. The current stable version is 2.0.7 which is compliant with Java EE version 1.3.
Oracle Corporation acquired license to the source of Orion in 2001, and developed it as Oracle Application Server Containers for Java EE (OC4J). OC4J and some of its documentation contains reference to the Orion server. Orion developers were involved in maintenance and enhancements of the source for Oracle.
IronFlare became an official Java EE licensee in 2003, which enabled them to access the Sun Microsystems compatibility testing tools to ensure correct implementation of the Java EE specification by Orion.
Orion is the only product of IronFlare, hence Orion has been marketed more than the company itself.
- Oracle Application Server :
Oracle Application Server
In computing, the Oracle Application Server 10g (the "g" stands for grid) (short Oracle AS), consists of an integrated, standards-based software platform. It forms part of Oracle Corporation's Fusion Middleware technology stack. The heart of Oracle Application Server consists of Oracle HTTP Server (based on Apache HTTP Server) and OC4J (OracleAS Containers for Java EE) which deploys Java EE-based applications. The latest version of OC4J offers full compatibility with the Java EE 1.4 specifications.
Oracle Application Server became the first platform designed for grid computing as well as with full life-cycle support for service-oriented architecture (SOA).
The current release of Oracle Application Server, 10g R3, does not feature a metadata repository tier, relying instead on metadata repositories provided in previous releases.
Following Oracle's acquisition of BEA Systems: key features will be integrated with WebLogic Server with seamless migration.
Oracle Corporation marketed its first application server using the name Oracle Web Server (OWS). A subsequent repackaging resulted in the Oracle Application Server (OAS). A later product, superseding OAS, became the iAS (Internet Application Server).
Oracle Corporation subdivides some of its products into varying "editions" - apparently to facilitate marketing and license-tracking. Available Oracle AS editions include:-
- Enterprise Edition
- Standard Edition
- Standard Edition One
- Java Edition
Oracle Corporation refers to its implementation of the Java EE specification as Oracle Containers for J2EE and abbreviates the concept as OC4J. OC4J, originally based on the IronFlare Orion Application Server, has developed solely under Oracle's control since Oracle Corporation acquired the source code.
- OC4J includes the following servers:
- Web Container
- Enterprise JavaBean Container
- JMS Server
Oracle Application Server can utilize an "Oracle AS Infrastructure Database" — an Oracle database instance supporting the Oracle AS Metadata Repository and/or Oracle Identity Management.
OPMN - the Oracle Process Management and Notification server - monitors components of the Oracle Application Server.
- SAP NetWeaver Application Server :
SAP NetWeaver Application Server
SAP NetWeaver Application Server or SAP Web Application Server is a component of the NetWeaver solution which works as a web application server to SAP solutions. From the SAP point of view the Web AS is the foundation on which most of their product range runs.
All ABAP application servers including the message server represent the application layer of the multitier architecture of an ABAP-based SAP System. These application servers execute ABAP applications and communicate with the presentation components, the database, and also with each other, using the message server.
The architecture of SAP Web Application Server can be separated into 5 areas:
In the presentation layer, the user interface can be developed with Java Server Pages (JSP), Business Server Pages (BSP), or with Web Dynpro technology. The underlying business layer provides the business content in Java or ABAP.
The business layer consists of a J2EE certified run-time environment that processes the requests passed from the Internet Communication Manager (ICM) and dynamically generates the responses. The business logic can be written either in ABAP or in Java based on the J2EE standard. Developers can implement business logic and persistence with Enterprise JavaBeans (EJB) using the J2EE environment. Developers can also access the business objects of applications running in the ABAP environment to benefit from their business logic and persistence.
Integration Layer :
The local integration engine is an integral part of SAP Web AS and allows instant connection to SAP XI. The local integration engine provides messaging services that exchange messages between the components that are connected in SAP XI.
Connectivity Layer :
The Internet Communication Manager (ICM) dispatches user interface requests to the presentation layer and provides a single framework for connectivity using various communication protocols. Currently, modules are available for Hypertext Transfer Protocol (HTTP), HTTPS (extension of HTTP running under the Secure Socket Layer (SSL)), Simple Mail Transfer Protocol (SMTP), Simple Object Access Protocol (SOAP), and Fast Common Gateway Interface (FastCGI).
The persistence layer supports database independence and scalable transaction handling. Business logic can be developed completely independent of the underlying database and operating system. Database independence is also made possible by support for open standards. The database interface ensures optimized data access from within the ABAP environment through Open SQL. SAP propagates the outstanding capabilities of Open SQL for ABAP to Open SQL for Java and offers a variety of standard Application Programming Interfaces (APIs) to application programmers, such as SQLJ. Other technologies, such as Java Data Objects (JDO) and Container-Managed Persistence (CMP) for EJB, or the direct use of the Java Database Connectivity (JDBC) API, are also supported.
The SAP NetWeaver AS can accept multiple forms of authentication:
SAP Logon Ticket with appropriate configuration.
Other single sign-on technology that utilizes x.509 certificates and the combination of Secure Network Communications (SNC) and Secure Socket Layer (SSL) for one standardize authentication platform.
The SAP NetWeaver Application Server's connectivity layer supports HTTPS which is required for encrypted communications via Secure Socket Layer. It is possible to enable SSL using the SAP Cryptographic Library. If a company is running with traditional SAP systems that only uses RFC and DIAG protocols, Secure Network Communications is required for encrypted communications as well.
- IBM WebSphere Application Server :
IBM WebSphere Application Server
WebSphere Application Server (WAS) is a software product that performs the role of a web application server. More specifically, it is a software framework and middleware that hosts Java based web applications. It is the flagship product within IBM's WebSphere software suite. It was initially created by Donald Ferguson, who later became CTO of Software for Dell and the first version was launched in 1998.
WAS is built using Open standards such as Java EE, XML, and Web Services. It is supported on the following platforms: Windows, AIX, Linux, Solaris, i/OS and z/OS. Beginning with Version 6.1 and now into Version 8.5, the open standard specifications are aligned and common across all the platforms. Platform exploitation, to the extent it takes place, is done below the open standard specification line.
It works with a number of Web servers including Apache HTTP Server, Netscape Enterprise Server, Microsoft Internet Information Services (IIS), IBM HTTP Server for i5/OS, IBM HTTP Server for z/OS, and IBM HTTP Server for AIX/Linux/Microsoft Windows/Solaris. It uses port 9060 for connection as the default administration port and port 9080 as the default website publication port. In case you install more WebSphere instances these values will be changed.
IBM WebSphere Features :
WebSphere Application Server V8.5 offers the same Java EE 6 and Java SE 6 (by default) as V8.0 and also provides - and can be configured to run on - Java SE 7. The primary new capabilities in V8.5 are the Liberty profile of WebSphere Application Server and the intelligent management features.
The Liberty profile of WebSphere Application Server is included with all the commercial editions of the server, providing a lightweight profile of the server for web, mobile and OSGi applications. It is a functional subset of the full profile of WebSphere Application Server, for both development and production use, with an install size of under 50 MB, a startup time of around 3 seconds and a new XML-based server configuration which can be treated as a development artefact to aid developer productivity. Server capabilities are engaged through the set of features defined in the server configuration; features are added and removed dynamically through internal use of OSGi services. A new model is provided for moving applications through the pipeline from development to production as a packaged server; this is a complete archive of the server, server configuration and application for unzip deploy. A centralized managed install is optionally available through the Job Manager component of WebSphere Application Server Network Deployment edition.
Intelligent management capability is added in the Network Deployment and z/OS editions of WebSphere Application server. This integrates operational features that were previously available in the separate WebSphere Virtual Enterprise (WVE) offering: application editioning, server health management, dynamic clustering and intelligent routing.
This version was released on September 9, 2008. It is a Java EE 5 compliant application server.
Following are the flagship features introduced by WebSphere Application Server Version 7:
Flexible Management facilitates administration of a large number of WebSphere Application Server base edition and Network Deployment topologies that might be geographically distributed.
Business-Level Application is used for managing application artifacts independent of packaging or programming models.
Property Based Configuration
The Property Based Configuration feature simplifies the experience of automating administration: an administrator can update the WebSphere Application Server Version 7 configuration using a simple property file.
Between the general availability of WebSphere Application Server V7 and WebSphere Application Server V8 (in 2011), a number of additional capabilities were made available for V7 in the form of feature packs which are optionally added to a V7 install. Feature Pack content has the same quality and support as main release content - the purpose of a feature pack is to deliver new innovation before the next major release. The following feature packs were provided for WebSphere Application Server V7:
- Feature Pack for Modern Batch
- Feature Pack for OSGi Applications and JPA 2.0
- Feature Pack for SCA
- Feature Pack for Web 2.0 and Mobile
- Feature Pack for XML
- Feature Pack for Communication Enabled Applications
This version was released on June 30, 2006. On September 11, 2012, IBM extended the end of service for V6.1 by a full year, to September 30, 2013, and announced new version-to-version migration incentives and assistance. It is a Java EE 1.5 compliant application server and includes the following function:
- Support for Java Standard Edition 1.5
- Support for running JSR 168 Portlets in the application server
- Session Initiation Protocol (SIP) Servlets
- Enhancements to the WebSphere Install Factory
- IBM Support Assistant
- IBM JSF Widget Library
- Simplified Administration
- Improved Certificate and Key Management
- Security Enhancements
- Administration of IBM HTTP Server from WebSphere Admin Console
- Support for (pre-OASIS) WS-Security 1.0
- Support for Web Services Resource Framework and WS-BusinessActivity (WS-BA)
- Support for JSR160 JMX Remote Connections (From IBM Agents Only)
- Administrative Console Jython Command Assistance
- Enhanced scripting. This version started the deprecation process for the Jacl syntax.
- 64-bit servants and a new Apache-based IBM HTTP Server for z/OS
Support for the EJB 3.0 technology and support for some webservices standards were provided by the EJB feature pack and the webservices feature packs, respectively. These function in these feature packs has been folded into the main product in version 7. Functions in the webservices feature pack include:
- Multiple Payload structures
- StAX (Streaming API for XML)
- WS-RM (Limited functional support)
- Support for (OASIS specified) WS-Security 1.0.
- WS-Addressing (Limited functional support)
- JAX-B support
- Policy Set (Limited functional support)
- Secured thin client (Limited functional support)
- SOAP (protocol) Message Transmission Optimization Mechanism (MTOM)
- Supports CGI and CORBA
- IBM Rational Application Developer :
IBM Rational Application Developer
IBM Rational Application Developer for WebSphere Software (RAD) is a commercial Eclipse-based integrated development environment (IDE), made by IBM's Rational Software division, for visually designing, constructing, testing, and deploying Web services, portals, and Java Enterprise Edition (JEE) applications.
Rational Application Developer is an integrated development environment that helps Java software developers design, develop, and deploy their applications. It contains specialized wizards, editors, and validators for a variety of technologies:
Java Platform, Enterprise Edition (Java EE): This architecture is used to build distributed Web and enterprise applications. Java EE applications include: Enterprise Java beans (EJB) applications for distributed, secure applications with transactional support, Java Persistence API (JPA) applications to access persistent data, and JavaServer Pages (JSP) or JavaServer Faces (JSF) for developing presentation logic.
Web services: A Web service is a self-contained, self-describing, modular application that can be published, located, and invoked across the Internet. Web service tools enable software developers to discover existing Web services for integration, create Web services from existing artifacts or from Web Services Description Language (WSDL) files, and to deploy Web services to a variety of environments.
Service Component Architecture (SCA): SCA enables software reuse by assembling a set of services into a composite application. SCA development tools provide graphical wiring of components to form composite services, associate protocol bindings and quality of service intents to SCA components, and package SCA assets for deployment.
Extensible Markup Language (XML): XML is a generic language that can be used to describe any kind of content in a structured way. XML is used extensively to create Web services. XML tools include DTD, XSL, schema, and mapping editors.
Java EE Connector (J2C): J2C tools enable applications to access operations and data on enterprise information systems such as CICS or IMS. Wizards assist with file importing, data mapping, and the creation of Java classes and methods to access data.
Rational Application Developer includes tools to improve code quality. A Java profiling tool helps to analyze an application's performance, memory usage, and threading problems. A software analysis tool identifies patterns and antipatterns in application code, and compares code to coding standards.
To manage source code, a development team can configure Rational Application Developer to work with a source code repository system. The product ships with connectors to IBM Rational ClearCase for source control and IBM Rational ClearQuest for defect management. It also ships with a Rational Team Concert client that can be used for both source control and defect management.
The workbench includes tools for deploying an application to a local or remote server. It contains test environments for IBM WebSphere Application Server and IBM WebSphere Portal. It also supports Apache Tomcat. Using these tools, a software developer can test their application locally before publishing it to a production server. Cloud computing capability is provided for the IBM SmartCloud Enterprise and the IBM Workload Deployer.
Because Rational Application Developer is Eclipse-based, it can support the third-party plug-ins for Eclipse, as well as plug-ins specifically for Rational.
- IBM WebSphere Application Server Community Edition :
IBM WebSphere Application Server Community Edition
WebSphere Application Server Community Edition (from now on WASCE) is a free, certified Java EE 6 application server for building and managing Java applications. It is IBM's supported distribution of Apache Geronimo that uses Tomcat for servlet container and Axis 2 for web services. Other difference from Apache Geronimo is that WASCE comes with DB2 and Informix database drivers, better XML parser libraries (XML4J and XLXP) and contains the latest patches from unreleased upstream versions. Over 30 WASCE developers are committers in the Apache Geronimo project.
- Java EE 6 programming model.
- Eclipse plug-in for developers.
- Embedded Apache Derby database.
- External database support for IBM DB2, Informix, Oracle, Microsoft SQL Server, PostgreSQL and MySQL.
"Customizable application server software that features a small footprint, making it easier to download and manage", saving on system resources and improving performance by allowing you to dynamically enable GBean-based components.
Centralized user management to support systems administration and deployed applications based on Java Authorization Contract for Containers (JACC) and Lightweight Directory Access Protocol (LDAP) authentication.
- J2ee Solutions
- Spring -Spring Mvc-Hibernate
- Java Server Faces-Hibernate
- Struts 1.3 - Hibernate
- Struts 2.0 - Hibernate
- Xml based Web Services
- Liferay Portal - Hibernate
- Php Joomla - Mvc Framework
- Socket Prog - Swings/JFace
- RMI - Swings/Swt/JFace
- EJB 2.0 - Swings/Swt/JFace
- EJB 3.0 - Swings/Swt/JFace
- Jms - Ejb -Swings/Swt/JFace
- CORBA - JCA - Swings
- Spring Remote Access
- Active JDBC
- iBATIS / MyBatis
- Java Data Objects (JDO)
- Java Object Querying (jOOQ)
- Java Persistence API (JPA)
- Apache Tomcat
- Apache Geronimo
- Sun One
- BEA Weblogic
- IBM Websphere
- SAP Netweaver
- Jasper Reports
- Eclipse Birt
- JFree Report
- Open Reports
A solid working knowledge of productivity software and other IT tools has become a basic foundation for success in virtually any career. Beyond that, however, I don't think you can overemphasise the importance of having a good background in maths and science.....
"Every software system needs to have a simple yet powerful organizational philosophy (think of it as the software equivalent of a sound bite that describes the system's architecture)... A step in thr development process is to articulate this architectural framework, so that we might have a stable foundation upon which to evolve the system's function points. "
"All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change"
"The ultimate measurement is effectiveness, not efficiency "
"It is argued that software architecture is an effective tool to cut development cost and time and to increase the quality of a system. "Architecture-centric methods and agile approaches." Agile Processes in Software Engineering and Extreme Programming.
"Java is C++ without the guns, knives, and clubs "
"When done well, software is invisible"
"Our words are built on the objects of our experience. They have acquired their effectiveness by adapting themselves to the occurrences of our everyday world."
"I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby. "
"The best way to predict the future is to invent it."
"In 30 years Lisp will likely be ahead of C++/Java (but behind something else)"
"Possibly the only real object-oriented system in working order. (About Internet)"
"Simple things should be simple, complex things should be possible. "
"Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines."
"Model Driven Architecture is a style of enterprise application development and integration, based on using automated tools to build system independent models and transform them into efficient implementations. "
"The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs. "
"Software Engineering Economics is an invaluable guide to determining software costs, applying the fundamental concepts of microeconomics to software engineering, and utilizing economic analysis in software engineering decision making. "
"Ultimately, discovery and invention are both problems of classification, and classification is fundamentally a problem of finding sameness. When we classify, we seek to group things that have a common structure or exhibit a common behavior. "
"Perhaps the greatest strength of an object-oriented approach to development is that it offers a mechanism that captures a model of the real world. "
"The entire history of software engineering is that of the rise in levels of abstraction. "
"The amateur software engineer is always in search of magic, some sensational method or tool whose application promises to render software development trivial. It is the mark of the professional software engineer to know that no such panacea exist "
Core Values ?Agile And Scrum Based Architecture
Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration.....more
Core Values ?Total quality management
Total Quality Management / TQM is an integrative philosophy of management for continuously improving the quality of products and processes. TQM is based on the premise that the quality of products and .....more
Core Values ?Design that Matters
We are more than code junkies. We're a company that cares how a product works and what it says to its users. There is no reason why your custom software should be difficult to understand.....more
Core Values ?Expertise that is Second to None
With extensive software development experience, our development team is up for any challenge within the Great Plains development environment. our Research works on IEEE international papers are consider....more
Core Values ?Solutions that Deliver Results
We have a proven track record of developing and delivering solutions that have resulted in reduced costs, time savings, and increased efficiency. Our clients are very much ....more
Core Values ?Relentless Software Testing
We simply dont release anything that isnt tested well. Tell us something cant be tested under automation, and we will go prove it can be. We create tests before we write the complementary production software......more
Core Values ?Unparalled Technical Support
If a customer needs technical support for one of our products, no-one can do it better than us. Our offices are open from 9am until 9pm Monday to Friday, and soon to be 24hours. Unlike many companies, you are able to....more
Core Values ?Impressive Results
We have a reputation for process genius, fanatical testing, high quality, and software joy. Whatever your business, our methods will work well in your field. We have done work in Erp Solutions ,e-commerce, Portal Solutions,IEEE Research....more
Why Choose Us ?
The intellectual commitment of our development team is central to the leonsoft ability to achieve its mission: to develop principled, innovative thought leaders in global communities.Read More
Today's most successful enterprise applications were once nothing more than an idea in someone's head. While many of these applications are planned and budgeted from the beginning.Read More
We constantly strive to redefine the standard of excellence in everything we do. We encourage both individuals and teams to constantly strive for developing innovative technologies....Read More
If our customers are the foundation of our business, then integrity is the cornerstone. Everything we do is guided by what is right. We live by the highest ethical standards.....Read More