Friday, April 22, 2011

Siwpas, More than Apache Tomcat

Introduction 

Java™ EE 6 Web Profile specification defines the Java™ EE Web Profile (“Web Profile”), a profile of the Java™ Platform, Enterprise Edition specifically targeted at web applications. Siwpas™, (Simple Web Profile Application Server) is an application server aimed for implementing the Java™ EE Web Profile specification. In this article, the components of Siwpas, its current state and the level of compatibility regarding to the Web Profile Specification will be discussed.

Java EE 6 WEB PROFILE

Java™ EE Platform Specification consists of huge number of specifications (APIs). For platform provider companies, it is not easy to developfully compliant Java™ EE Platform that implements all of the required components of the Java™ EE Platform Specification. For application developers, it is not necessary to use all of the Java™ EE APIs for developing enterprise applications. Because of these observations, Java™ EE Expert Group (EG) has defined Profiles in Java™ EE v6 and first standard profile has been defined, “Java™ Platform, Enterprise Edition 6 (Java EE 6) Web Profile Specification”.

The Web Profile is aimed for developers of modern web applications. Aiming “modern” web applications then implies offering a reasonably complete stack, composed of standard APIs, and capable out-of-the-box of addressing the needs of a large class of web applications. Furthermore, this stack should be easy to grow, so as to address any remaining developer needs5. Web Profile stack has consisted of the following technologies;
  • Servlet 3.0
  • Java Server Pages 2.2
  • Expression Language 2.2
  • Debugging Support for Other Languages 1.0
  • Standard Tag Library for JSP 1.2
  • Java Server Faces 2.0
  • Common Annotations for the Java Platform 1.0
  • Enterprise Java Beans Lite 3.1
  • Java Transaction API 1.1
  • Java Persistence API 2.0
  • Bean Validation 1.0
  • Managed Beans 1.0
  • Interceptors 1.1
  • Context and Dependency Injection for Java EE 1.0
  • Dependency Injection for Java 1.0
As known, the Java™ EE Web Profile is a subset of the Java™ EE Platform specification. Lots of Java™ EE Platform specification required components are not contained in the Java™ EE Web Profile. For exampe, below components are not defined for Java™ EE Web Profile specification, JAX-WS, JAX-RPC, JAX-R, SAAJ, JAX-RS, JAX-B, JMS, JAAS, JASPIC, JACC, JCA, JavaMail, JSR77, JSR88.

APACHE EE PROJECTS

The Apache Software Foundation provides organizational, legal, and financial support for a broad range of open source software projects. The Foundation provides an established framework for intellectual property and financial contributions that simultaneously limits contributors potential legal exposure. Through a collaborative and meritocratic development process, Apache projects deliver enterprise-grade, freely available software products that attract large communities of users. The pragmatic Apache License makes it easy for all users, commercial and individual, to deploy Apache products.
In Siwpas, we use ASF Java™ EE projects for satisfying Java™ EE Web Profile required components. These projects and their correspondence to Web Profile components are shown below.
  • Apache Tomcat 7™ Servlet, JSP,EL and related components
  • Apache MyFaces 2™ Java Server Faces component
  • Apache OpenEJB™ EJB 3.1 Lite and related components : Siwpas EJB Lite container is powered by the OpenEJB.
  • Apache OpenWebBeans™ Dependency Injection components: Siwpas CDI container is powered by the OpenWebBeans.
  • Apache Bean Validation™ Validation component
  • Apache OpenJPA™ Persistence API component
MECHSOFT Siwpas Application Server

What is Siwpas

Siwpas (pronounced as Simple Web Profile Application Server) is a lightweight Java™ application server platform for developing enterprise quality Java EE web applications. Siwpas integrates above ASF Java™ EE based projects for providing Java™ EE Web Profile compatible runtime platform.
Siwpas View
Integrating different set of projects on the same runtime is not an easy task . MechSoft has been writing integration layer component to integrate Apache Tomcat 7 runtime with Siwpas EJB 3.1 Lite container runtime. Moreover, cool web based management console to manage all aspects of the Siwpas has been written.

Siwpas management console provides the following management operations.
  • Overall realtime view of the current running system
  • CPU, Memory, OS, JVM Heap size
  • Server configuration
  • Applications view and deployment operations
  • JMX, JNDI and ClassLoader views
  • Dashboards
  • Web and EJB Container runtime status 
  • And more...
Here is the login screen of the Siwpas Console
Siwpas Console

Why another server?

Nowadays, huge number of application developers and enterprise companies want to use lightweight application servers for deploying and running their web applications. They do not want to use heavyweight Java™ EE Servers that are fully compliant with Java™ EE Specifications. They do want to manage lightweight, cloud environment friendly servers. Nonetheless, they also need more techonlogy stack for implementing their web based applications, such as using “JPA, JSF, JTA , EJB etc.” Moreover, most of them deploy their critical enterprise web applications into the Apache Tomcat in their production systems.

Siwpas is aimed to provide lightweight application server runtime based on Apache Tomcat 7 . It also fills web applications technology requirements via ASF Java EE projects. In summary, Siwpas translates the Apache Tomcat 7 into more powerful enterprise web server.

The benefits of using Siwpas can be listed as follows;
  • It has lightweight but powerful runtime environment,
  • It is based on very-well known JSP & Servlet Container, Apache Tomcat 7,
  • It consists of Web Profile Specification technology stack,
  • It consists of powerful, commerical quality ASF Java EE Projects,
  • It is an open source project,
  • It is supported by MechSoft (7x24 enterprise support),
  • It is light and will be always light,
  • It has very cool JSF based administration console. 
Web Profile Compliance

Currently Siwpas is not claimed to be compatible (compliance) with Java™ EE Web Profile Specification becauase it has not been tested with Java™ EE Web Profile TCK. This does not mean that Siwpas will never be certified as a Web Profile Compliance application server. In order to test Siwpas with Java™ EE Web Profile TCK, MechSoft has to be licensee of Oracle and the issue is being discussed with Oracle to find a reasanable way to obtain TCK. As mentioned on the above paragraphs, except Apache OpenEJB, ASF Java™ EE projects are TCK compliant with their respective specificiations on themselves.

About JSR-299 and JSR-303 TCKs

Siwpas has passed "JSR-299 Web Profile TCK" and "JSR-303 TCK" succesfully. Therefore Siwpas provides JSR-299 and JSR-303 compatible CDI and Bean Validation runtime environment.
JSR-299 and JSR-303 TCKs are licensed by the Redhat as ASL v2. To get more information, visit
Siwpas Editions
There are two different editions of Siwpas
  • Community Edition
  • Enterprise Edition
Check Compare Editions page to get more details.

Summary

The Java™ EE Web Profile Specification is the first standard profile specification in the Java™ EE Profiles that is explained in the Java™ EE Platform Specification. Instead of using a full profile compatible Java™ EE servers, now developers are able to use more lightweight server runtimes for developing their Java™ based web applications. This does not mean that full profile application servers such as Apache Geronimo will be useless. Some enterprise applications still need to use other cool features of Java™ EE full profile, such as Remote EJB Invocation, Asynchronous Message Processing via JMS, CORBA Integration etc. In an incoming version of the Java™ EE platform, a more number of specific profiles can be seen.

Siwpas is a lightweight web application server based on the ASF Java EE projects. It provides Java™ EE Web Profile components with a powerful web based administration console. It is one of the lightweight application servers to implement Java™ EE Web Profile Specification.

Siwpas Home Page 

To get more information about Siwpas, visit http://siwpas.mechsoft.com.tr

MechSoft™ Mechanical and Software Solutions Announces the General Availability of Siwpas™, Simple Web Profile Application Server

MechSoft™ Mechanical and Software Solutions today announced the general availability of Siwpas™, lightweight Java based application server platform. Siwpas(pronounced as Simple Web Profile Application Server) is a fast and lightweight Java application server platform for running web applications that are implemented using the Java™ Platform, Enterprise Edition 6 (Java EE 6) Web Profile Technologies. Siwpas is powered by “The Apache Software Foundation™” Java EE 6 related projects for satisfying the Java EE Web Profile required components.
Why Siwpas?

Lightweight: Siwpas is specifically implemented for running web profile based web applications. It does not contain unnecessary technology complexity. Siwpas is light and will always be light.

Fast: Siwpas is started in seconds in a commonly used production servers. Siwpas also relieves developers from long testing cycles while developing their next enterprise web applications.

Easy to Use: If you know the Tomcat, you know the Siwpas. Deploying and running web applications is the same as Tomcat , but you get web profile technologies that are not contained in the Apache Tomcat.

Open Source: Siwpas Community Edition is available under a friendly open source license.
Siwpas is powered by “The Apache Software Foundation’s” Java EE projects.

Cool Administration Console: It is easy to manage the Siwpas via Java Server Faces based administration console. Easily view and manage the internals of the Siwpas.
7×24 Support: Siwpas Enterprise Edition is supported by MechSoft according to the different subscription levels.

No Upfront License Cost: Customers do not have to pay upfront license costs for running Siwpas. Only support subscriptions are needed to use Siwpas Enterprise Edition. Siwpas Community Edition is free of charge but it is not professionally supported by MechSoft Team.
Competitive Pricing: Siwpas Enterprise Edition subscription price is very competitive when it is compared with the other server alternatives.

Gurkan Erdogdu, Chief Technology Officer of Mechsoft said that “Nowadays, a huge number of application developers and enterprise grade companies would like to use lightweight application servers for deploying and running their web applications. They do not want to use heavy Java EE Servers that are hard to use and manage. They would like to use lightweight, cloud environment friendly application servers. Nonetheless, they also need more technology stack for implementing their web based applications, such as “Java Persistence, Java Server Faces, Java Transactions, Enterprise Java Beans and etc. Siwpas Enterprise Edition is the perfect fit for providing such a lightweight application server platform with all the features needed.”

Siwpas is now generally available. There are two editions of Siwpas, Siwpas Community Edition (CE) and Siwpas Enterprise Edition (EE). Siwpas CE is free of charge but it is not supported professionally by MechSoft Team. On the other hand, Siwpas EE has undergone complex QA testing, contains cool administration console, and the most importantly, is supported professionally by MechSoft Team according to the subscription levels.

About MechSoft Mechanical and Software Solutions

MechSoft Mechanical and Software Solutions is located in Ankara, capital of Turkey. It has two different branches, Mechanical Solutions Group and Software Solutions Group.

Mechanical Solutions Group is the main distributor of well-known CAD/CAM products in Turkey and also develops mechanical engineering projects. Software Solutions Group mission is to provide an open source, high quality software products that are backed by his technical experts and authorized partners. He is mainly specialized on Java Enterprise Edition and middleware technologies. Siwpas is one of the open source flagship product of Software Solutions Group. Software Group provides comprehensive services including Professional Support, Training, and Consulting around Siwpas Enterprise Edition.