<commit_before>---
title: 'Introducing Immutant'
author: <NAME>
layout: news
tags: [ announcement, first, beginning ]
---

# Introducing Immutant

So we should probably officially announce the Immutant
project. Immutant is going to be for Clojure what TorqueBox is for
Ruby: a true, enterprise-grade application server, encapsulating the
robust services provided by JBoss AS7 within intuitive Clojure API's.

Further, Immutant has inspired us to attempt to achieve a sort of
"polyglot cafeteria plan" of app serving. For example, your
"application" might consist of a Ruby web app in the front and Clojure
data mining services in the rear, loosely but securely coupled via
JSON-encoded asynchronous messages. You choose the JVM-based languages
and frameworks that make the most sense for each of your application
components. And Immutant will provide a uniform deployment platform
and the "glue", i.e. those critical enterprisey services like
messaging, security, transactions, clustering, etc. that all
successful applications eventually require.

# Why?

Because learning new programming languages is fun. Because no one
language is good for everything a non-trivial application needs to
do. Because JBoss wants to be "everywhere".

But mostly because we want to.

App servers get a bad rap -- and bad app servers deserve it -- but
simple deployment, clustering and messaging are all good
things. Embracing polyglot and enabling the choice of the right
language/framework for a specific job is a good thing. We hope to
deliver that goodness via Immutant.

# An Invitation

We just got started with this, and though still Clojure noobs, we're
learning fast. We have a lot to do, and we'd love to have you help
shape Immutant into something that'll best serve your needs.

In the coming weeks, we'll be publishing more articles about Immutant,
such as:

 - How to deploy your Clojure apps (hint: Leiningen plugin)
 - How to configure Immutant to serve both Ruby and Clojure apps
 - How to pass messages between Ruby and Clojure components
 - How to distribute Clojure message handlers across a cluster

Please join the mailing lists and hang out on IRC. It'll be fun!<commit_msg>Small wording change and linkification.<commit_after>---
title: 'Introducing Immutant'
author: <NAME>
layout: news
tags: [ announcement, first, beginning ]
---

The time has come for us to officially announce the Immutant
project. Immutant is going to be for [Clojure] what [TorqueBox] is for
[Ruby][Ruby]: a true, enterprise-grade application server, encapsulating the
robust services provided by JBoss AS7 within intuitive Clojure API's.

Further, Immutant has inspired us to attempt to achieve a sort of
"polyglot cafeteria plan" of app serving. For example, your
"application" might consist of a Ruby web app in the front and Clojure
data mining services in the rear, loosely but securely coupled via
JSON-encoded asynchronous messages. You choose the JVM-based languages
and frameworks that make the most sense for each of your application
components. And Immutant will provide a uniform deployment platform
and the "glue", i.e. those critical enterprisey services like
messaging, security, transactions, clustering, etc. that all
successful applications eventually require.

# Why?

Because learning new programming languages is fun. Because no one
language is good for everything a non-trivial application needs to
do. Because JBoss wants to be "everywhere".

But mostly because we want to.

App servers get a bad rap -- and bad app servers deserve it -- but
simple deployment, clustering and messaging are all good
things. Embracing polyglot and enabling the choice of the right
language/framework for a specific job is a good thing. We hope to
deliver that goodness via Immutant.

# An Invitation

We just got started with this, and though still Clojure noobs, we're
learning fast. We have a lot to do, and we'd love to have you help
shape Immutant into something that'll best serve your needs.

In the coming weeks, we'll be publishing more articles about Immutant,
such as:

 - How to deploy your Clojure apps (hint: Leiningen plugin)
 - How to configure Immutant to serve both Ruby and Clojure apps
 - How to pass messages between Ruby and Clojure components
 - How to distribute Clojure message handlers across a cluster

Please join the [mailing lists] and hang out on [IRC]. It'll be fun!

[Clojure]: http://clojure.org/
[TorqueBox]: http://torquebox.org/
[Ruby]: http://jruby.org/
[mailing lists]: /community/mailing_lists/
[IRC]: /community#irc
{'fraction_non_alphanumeric': 0.0513215859030837, 'fraction_numerical': 0.0004405286343612335, 'mean_word_length': 4.517618469015796, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4013756', 'n_tokens_mistral': 1247, 'n_tokens_neox': 1163, 'n_words': 675}