Apache ServiceMix
Encyclopedia
Apache
ServiceMix is an enterprise-class open-source
distributed enterprise service bus
(ESB) and service-oriented architecture
(SOA) . It was built from the ground up on the semantics and APIs
of the Java Business Integration
(JBI) specification JSR
208 and released under the Apache License
. ServiceMix 4 also fully supports OSGi
.
ServiceMix is lightweight and easily embeddable, has integrated Spring support and can be run at the edge of the network (inside a client or server), as a standalone ESB provider or as a service within another ESB. You can use ServiceMix in Java SE
or a Java EE
application server
.
ServiceMix uses ActiveMQ
to provide remoting, clustering, reliability and distributed failover. The basic frameworks used by ServiceMix are Spring and XBean.
ServiceMix is often used with Apache ActiveMQ
, Apache Camel
and Apache CXF
in SOA infrastructure projects.
Enterprise subscriptions for ServiceMix is available from independent vendors including the FuseSource Corp. The FuseSource team offers an enterprise version of ServiceMix called Fuse ESB
that is tested, certified and supported.
Characteristics of an ESB include:
It was made an official Apache project by the ASF Board of Directors on September 19, 2007.
Apache Software Foundation
The Apache Software Foundation is a non-profit corporation to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and incorporated in Delaware, U.S., in June 1999.The Apache Software Foundation is a decentralized community of developers...
ServiceMix is an enterprise-class open-source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
distributed enterprise service bus
Enterprise service bus
An enterprise service bus is a software architecture model used for designing and implementing the interaction and communication between mutually interacting software applications in Service Oriented Architecture...
(ESB) and service-oriented architecture
Service-oriented architecture
In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...
(SOA) . It was built from the ground up on the semantics and APIs
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
of the Java Business Integration
Java Business Integration
Java Business Integration is a specification developed under the Java Community Process for an approach to implementing a service-oriented architecture . The JCP reference is JSR 208 for JBI 1.0 and JSR 312 for JBI 2.0....
(JBI) specification JSR
Java Community Process
The Java Community Process or JCP, established in 1998, is a formalized process that allows interested parties to get involved in the definition of future versions and features of the Java platform....
208 and released under the Apache License
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....
. ServiceMix 4 also fully supports OSGi
OSGi
The Open Services Gateway initiative framework is a module system and service platform for the Java programming language that implements a complete and dynamic component model, something that does not exist in standalone Java/VM environments...
.
ServiceMix is lightweight and easily embeddable, has integrated Spring support and can be run at the edge of the network (inside a client or server), as a standalone ESB provider or as a service within another ESB. You can use ServiceMix in Java SE
Java Platform, Standard Edition
Java Platform, Standard Edition or Java SE is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use...
or a Java EE
Java Platform, Enterprise Edition
Java Platform, Enterprise Edition or Java EE is widely used platform for server programming in the Java programming language. The Java platform differs from the Java Standard Edition Platform in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier...
application server
Application server
An application server is a software framework that provides an environment in which applications can run, no matter what the applications are or what they do...
.
ServiceMix uses ActiveMQ
Apache ActiveMQ
Apache ActiveMQ is an open source message broker which fully implements the Java Message Service 1.1 . It provides "Enterprise Features" like clustering, multiple message stores, and ability to use any database as a JMS persistence provider besides VM, cache, and journal persistency.Apart from...
to provide remoting, clustering, reliability and distributed failover. The basic frameworks used by ServiceMix are Spring and XBean.
ServiceMix is often used with Apache ActiveMQ
Apache ActiveMQ
Apache ActiveMQ is an open source message broker which fully implements the Java Message Service 1.1 . It provides "Enterprise Features" like clustering, multiple message stores, and ability to use any database as a JMS persistence provider besides VM, cache, and journal persistency.Apart from...
, Apache Camel
Apache Camel
Apache Camel is a rule-based routing and mediation engine which provides a Java object-based implementation of the Enterprise Integration Patterns using an API to configure routing and mediation rules...
and 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 and XFire developed by a team hosted at Codehaus. These two projects were combined by people working together at the Apache...
in SOA infrastructure projects.
Enterprise subscriptions for ServiceMix is available from independent vendors including the FuseSource Corp. The FuseSource team offers an enterprise version of ServiceMix called Fuse ESB
FUSE ESB
Fuse ESB is an open source integration platform based on Apache ServiceMix that supports JBI and OSGi for use in enterprise IT organizations. It is certified, productized and fully supported by the people who wrote the code...
that is tested, certified and supported.
Characteristics of an ESB include:
- Federation, clustering and container provided failover
- Hot deployment and lifecycle management of business objects
- True vendor independence by license compliance with the JBI specification
It was made an official Apache project by the ASF Board of Directors on September 19, 2007.
See also
- Mule ESB
- Open ESBOpen ESBOpen ESB is a Java based open source enterprise service bus. Open ESB can be used as a platform for both Enterprise Application Integration and SOA. Open ESB is built on open standards....
- PEtALS ESBOW2 PEtALSPetals ESB is an open source ESB developed by the OW2 Consortium. It is a tool for implementing a service-oriented architecture . It is standard, modular, and physically distributed, to adapt to large scale infrastructures....
- Enterprise service busEnterprise service busAn enterprise service bus is a software architecture model used for designing and implementing the interaction and communication between mutually interacting software applications in Service Oriented Architecture...
- Enterprise Integration PatternsEnterprise Integration PatternsEnterprise Integration Patterns is a book by Gregor Hohpe and Bobby Woolf and describes a number of design patterns for the use of enterprise application integration and message-oriented middleware....
- Enterprise messaging systemEnterprise messaging systemAn enterprise messaging system is a set of published Enterprise-wide standards that allows organizations to send semantically precise messages between computer systems. EMS systems promote loosely coupled architectures that allow changes in the formats of messages to have minimum impact on...
- Message-oriented middlewareMessage-oriented middlewareMessage-oriented middleware is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple...
- Apache ActiveMQApache ActiveMQApache ActiveMQ is an open source message broker which fully implements the Java Message Service 1.1 . It provides "Enterprise Features" like clustering, multiple message stores, and ability to use any database as a JMS persistence provider besides VM, cache, and journal persistency.Apart from...
- Apache CamelApache CamelApache Camel is a rule-based routing and mediation engine which provides a Java object-based implementation of the Enterprise Integration Patterns using an API to configure routing and mediation rules...
- Apache CXFApache CXFApache 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 and XFire developed by a team hosted at Codehaus. These two projects were combined by people working together at the Apache...
- OSGiOSGiThe Open Services Gateway initiative framework is a module system and service platform for the Java programming language that implements a complete and dynamic component model, something that does not exist in standalone Java/VM environments...
- SpagicSpagicSpagic is a Universal Middleware, characterized by an innovative approach to the governance and realization of SOA solutions, which are highly modular and configurable around an OSGi kernel....
- Service-oriented architectureService-oriented architectureIn software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...
- Event-driven SOAEvent-driven SOAEvent-driven SOA is a form of service-oriented architecture , combining the intelligence and proactiveness of event-driven architecture with the organizational capabilities found in service offerings...
- Guaraná DSLGuaraná DSLGuaraná DSL is a Domain-Specific Language to design enterprise application integration solutions at a high-level of abstraction. The resulting models are platform-independent, so engineers do not need to have skills on a low-level integration technology when designing their solutions...