Seasar

Last updated
Seasar
Operating system Cross-platform
Type Application framework
License Apache 2.0
Website Seasar.org

Seasar2 is an open-source application framework similar to the Spring Framework (Java). Initially, it was developed for the Java platform by Yasuo Higa, but .NET and PHP platforms are currently supported as well. Seasar2 has a large base of Japanese users, but there is a steady increase of non-Japanese users since English support was announced at the JavaOne 2005 Tokyo conference.

Contents

Seasar2 is currently supported by the Seasar Foundation, a non-profit open source organization.

History

Seasar was initially made public in August 2003 at SourceForge.jp as an application server using Jetty (web server) and HSQLDB. The name was coined by the initial developer Yasuo Higa after an Okinawan mystical creature Shisa.

In March 2004, Seasar was re-introduced as light weight dependency injection and AOP container and renamed Seasar2. Even though, development of Seasar came to a halt, the last release, seasarsetupV1Final With Nazuna, may still be downloaded from the Seasar2 site. In April 2005, Seasar2 obtained assistance from OSCJ.net (Open Source Collaboration Joint Network) and moved out from SourceForge.jp.

Introduction

Like other DI container frameworks, components are defined in external XML files. There is, also, a strong support for database and unit testing with JUnit.

The main difference with other frameworks is the support of the concept "Convention over Configuration" to reduce the XML configuration prominent when using framework such as Spring. The aim is to reduce the number or eliminate configuration files by making developers conform to programming and configuration conventions and letting the framework do the work. For example, if a property type is an interface and there is an object that implements this interface, dependency is configured by the container. If the test method name ends with a "Tx", a transaction is initiated before the unit test and rolledback after the test.

Modules

Seasar2 support of other open source software are prefixed with S2. Like most open source software, Seasar2 software may be divided into 3 major categories:

  1. Seasar2 core
  2. Related software
  3. Sandbox software - software still under development

Related software may further be subdivided into the following subdivision:

  1. Database related: S2DAO, S2Hibernate, S2Unit(JUnit)
  2. Presentation: S2JSF, S2Struts, S2Tapestry, Flash player
  3. Communication related: S2RMI, S2Axis
  4. Miscellaneous: Kijimuna

Seasar2 Core

Seasar2 core is the central software common to all Seasar2 related software. Transaction control module (S2Tx), database connection pooling (S2DBCP), and JUnit testing (S2Unit) are all bundled with this core.

Cross-Platform Support

Seasar is currently supported on Java/Java EE, PHP5, and .NET.

Future

On April 22, 2005, at Seasar Strategies Day 2005, project Kuina was announced as the next release of Seasar2. At the conference, it was announced that Kuina will support for EJB3.0 (JSR220) as well as J2SE 5.0 annotation.

From http://ml.seasar.org/archives/seasar-user-en/2010-March/000039.html  :

The language of all of our documents and error messages is Japanese, Japanese ML is very active, and all committers are Japanese.
[...]
Unfortunately, we don't prepare english documents for the current version(2.4).

Events

Seasar Foundation periodically holds "Karasawagi" conferences around Japan to allow developers and users to talk with each other. Seasar is also featured in JavaOne conference.

Related Research Articles

An application server is a server that hosts applications or software that delivers a business application through a communication protocol.

<span class="mw-page-title-main">Apache Ant</span> Java software tool

Apache Ant is a software tool for automating software build processes which originated from the Apache Tomcat project in early 2000 as a replacement for the Make build tool of Unix. It is similar to Make, but is implemented using the Java language and requires the Java platform. Unlike Make, which uses the Makefile format, Ant uses XML to describe the code build process and its dependencies.

<span class="mw-page-title-main">NUnit</span>

NUnit is an open-source unit testing framework for the .NET Framework and Mono. It serves the same purpose as JUnit does in the Java world, and is one of many programs in the xUnit family.

Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by the Apache Software Foundation, where it was formerly part of the Jakarta Project.

TestNG is a testing framework for the Java programming language created by Cédric Beust and inspired by JUnit and NUnit. The design goal of TestNG is to cover a wider range of test categories: unit, functional, end-to-end, integration, etc., with more powerful and easy-to-use functionalities.

<span class="mw-page-title-main">Apache Axis</span> Web service framework

Apache Axis is an open-source, XML based Web service framework. It consists of a Java and a C++ implementation of the SOAP server, and various utilities and APIs for generating and deploying Web service applications. Using Apache Axis, developers can create interoperable, distributed computing applications. Axis development takes place under the auspices of the Apache Software Foundation.

HttpUnit is an open-source software testing framework used to perform testing of web sites without the need for a web browser. HttpUnit supports HTML form submission, JavaScript, HTTP basic access authentication, automatic page redirection, and cookies. Written in Java, HttpUnit allows Java test code to process returned pages as text, XML DOM, or containers of forms, tables and links. HttpUnit is well suited to be used in combination with JUnit, in order to easily write tests that verify the proper behaviour of a web site.

<span class="mw-page-title-main">Google Web Toolkit</span> Free Java library

Google Web Toolkit, or GWT Web Toolkit, is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. It is licensed under the Apache License 2.0.

The Spring Framework is an application framework and inversion of control container for the Java platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE platform. Although the framework does not impose any specific programming model, it has become popular in the Java community as an addition to the Enterprise JavaBeans (EJB) model. The Spring Framework is open source.

Stripes is an open source web application framework based on the model–view–controller (MVC) pattern. It aims to be a lighter weight framework than Struts by using Java technologies such as annotations and generics that were introduced in Java 1.5, to achieve "convention over configuration". This emphasizes the idea that a set of simple conventions used throughout the framework reduce configuration overhead. In practice, this means that Stripe applications barely need any configuration files, thus reducing development and maintenance work. It has been dormant since 2016.

<span class="mw-page-title-main">PHPUnit</span> Testing software

PHPUnit is a unit testing framework for the PHP programming language. It is an instance of the xUnit architecture for unit testing frameworks that originated with SUnit and became popular with JUnit. PHPUnit was created by Sebastian Bergmann and its development is hosted on GitHub.

Turbo is a set of software products and services developed by the Code Systems Corporation for application virtualization, portable application creation, and digital distribution. Code Systems Corporation is an American corporation headquartered in Seattle, Washington, and is best known for its Turbo products that include Browser Sandbox, Turbo Studio, TurboServer, and Turbo.

<span class="mw-page-title-main">Spring Roo</span> Open-source software tool

Spring Roo is an open-source software tool that uses convention-over-configuration principles to provide rapid application development of Java-based enterprise software. The resulting applications use common Java technologies such as Spring Framework, Java Persistence API, Thymeleaf, Apache Maven and AspectJ. Spring Roo is a member of the Spring portfolio of projects.

<span class="mw-page-title-main">Play Framework</span> Open-source web framework written in Scala

Play Framework is an open-source web application framework which follows the model–view–controller (MVC) architectural pattern. It is written in Scala and usable from other programming languages that are compiled to JVM bytecode, e.g. Java. It aims to optimize developer productivity by using convention over configuration, hot code reloading and display of errors in the browser.

Canigó is the name chosen for the Java EE framework of the Generalitat de Catalunya.

<span class="mw-page-title-main">ColdBox Platform</span> Web application framework

ColdBox is a free, open-source, conventions-based, modular web application framework intended for building enterprise applications with ColdFusion (CFML) using a Hierarchical MVC approach.

Apache Attic is a project of Apache Software Foundation to provide processes to make it clear when an Apache project has reached its end-of-life. The Attic project was created in November 2008. Also the retired projects can be retained.

<span class="mw-page-title-main">Enterprise Architect (software)</span> Visual modeling and design tool

Sparx Systems Enterprise Architect is a visual modeling and design tool based on the OMG UML. The platform supports: the design and construction of software systems; modeling business processes; and modeling industry based domains. It is used by businesses and organizations to not only model the architecture of their systems, but to process the implementation of these models across the full application development life-cycle.