Design a good server-Mina, cxf, mule, JBoss/Geronimo

Source: Internet
Author: User
Tags sca glassfish jboss enterprise integration patterns ibm mq mule esb

Author: Jiangnan Baiyi, original article address: Yun

Assume that a Traveler wants to develop a good Java backend server on winter nights.

The so-called beauty is the high performance, tens of millions of users; high reliability, failover is still dead; high scalability, with the nearby tuxedo, ibm mq, WebService neighbors to deal well. This is a non-personalized requirement, almost every time.

The open-source world of Java has prepared Mina, cxf, mule, and JBoss/Geronimo for uneasy designers.

1,Mina

An excellent NiO framework. Ace-based NiO and thread models, filter chains mechanism, Io layer and protocol layer separation, designers can rely on the Development of High-performance custom protocol TCP/IP servers.

Other frameworks: grizzly, originated from the glassfish NiO framework, provide better performance than Mina.

2,Cxf

The predecessor is xfire, a complete Web service framework:

  • Transports of HTTP, JMS, and jabber
  • Binding of soap, rest and CORBA
  • Databinding of jaxb 2.0, XML beans, Castor and jibx
  • Support JAX-WS2.0, CORBA, SCA and jbi

It can be deployed in:

  • Standalone Java Server
  • Tomcat or spring-based lightweight container
  • J2EE containers for WebLogic, websphere, and JBoss
  • ServiceMix, jbi container of openesb
  • SCA container of Tuscany

Designers can learn about its dazzling mechanism, starting from a server with stand alone and ad hoc protocols to support more and more public endpoints, and taking themselves as a module, deploy the service to a larger and more robust server.

3,Mule

As an Enterprise Service Bus (ESB) and messaging broker, the capabilities are exaggerated:

  • Pluggable Connection Methods: such as WebService, JMS, Vm (embedded), JDBC, TCP, UDP, multicast, HTTP, Servlet, SMTP, POP3, file, XMPP.
  • Synchronous, asynchronous, request-Response Request mode.
  • The topology of Client/Server, peer-to-peer, and ESB.
  • A large number of routing and transform options
  • Enterprise integration patterns compliance.
  • The high-performance mode of the Seda processing model.
  • Integration of spring and BPM.

In the face of such an attractive ESB solution, it seems more appropriate than the previous cxf model. How can we apply it? The same as in the industry.

4,JBoss /Geronimo

We all know that this is two application servers. In particular, they all have a good plug-in mechanism to deploy the EJB container, servlet container, and JMS module to the server as modules, become a server capability.

Each service in JBoss is an mbean, Which is used with a service description file. Geronimo is also famous for using gbean as the underlying architecture. It gathers open-source community solutions in the repository directory and forms an application server that passes J2EE 1.4 certification.

Can we embed self-written services into JBoss/Geronimo through the same mechanism, so as to have all the other capabilities of the application server directly, just like JBoss web with jbossjta and JBoss cache capabilities built on JBoss microkernel? Labourey said: "microkernel is the heart of JBoss. Many telecommunications companies now use microkernel as the basis for their server application software. "It seems that they have not invented and created the following :(

Other servers: glassfish

5. other corners of the world

  • IBM and Bea jointly contributed to the open-source implementation of Tuscany SCA.
  • Esper event-driven application servers.
  • Gridgain open source grid computing platform, integrated with spring and JBoss.

6. Summary

Mina provides tools, mule/JBoss/Geronimo provides containers, and cxf/mule provides the mode, which is only the tip of the iceberg of the Java open-source community, looking back at the lonely world with only ice and ACE/Tao .......

Ii. Start:

1. Getting Started

  • Mina presentation materials
  • Cxf architecture Guide
  • Mule developers guide, mulecon 2007
  • Geronimo Architecture
  • The JBoss 4 Application Server Guide

2. Read the code
Reading is just to find out the architectures and patterns that are not described in the document. In fact, many patterns are very conspicuous in the Code. There are just those axes to come and go, so there is a possibility of a quick skimming, instead of reading the Apache source code, yugong migrated to the mountains and reclamation.

Well-designed Server Series articles:

  • Design a beautiful server-Mina, cxf, mule, JBoss/Geronimo
  • Well-designed server II-stand on JBoss microkernel
  • Lightweight, all users will write the service solution-rest and JSON
  • Well-designed server (4) -- Mule ESB notes

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.