Web Services-Enhanced Agile Modeling and Integrating Business ProcessesMustafa Salam
We propose a model-driven approach, based on Web services standards, for modeling and integrating agile business processes using Web services. The choice of focusing on Web services technology was not arbitrary. The large and broad adoption of this technology by enterprises will lead most business processes to be performed using Web services. Besides, the added value of Web services and their great interest to business process management are beyond doubt. Web services produce, on the one hand, loosely coupled applicative components.
On the other hand, they are the most widely used implementation technology of SOA (Service-Oriented Architecture), which is based on the large experiences of software and distributed component technologies. Being founded on the XML (eXtensible Markup Language) language, the SOAP (Simple Object Access Protocol) protocol and the UDDI (Universal Description Discovery and Integration) repository, this technology can be considered as an appropriate mean to ensure interoperability, data exchange and the publication and discovery of business processes when they can be implemented as Web services.
Many small and medium scale industries could not afford the expensive enterprise software either
on premise or through Application Service Providers as it incurred heavy installations cost, maintenance cost.
Mean while the development of social, economic, increasing Internet technology lead to the evolvement of Cloud
computing Technology which allowed the users to share the resources across the Internet. This development brought
about a radical change in the computing technology posing new challenges as the requirements of the users kept on c
hanging frequently and such an installed Application Service Providers on the premise of the user made it difficult to
meet these changed user requirement. Thus the vendors developed a new architectural style based upon the
constructional forms and changing the way the functionalities are delivered to the user. This shift in the way of
delivery of software created a new business market. In this the user is freed from the need of installation of the
software thus shifting the maintenance cost to the vendor. This type of business model is termed as Software as a
service which is one-to-many model based on “on use pay” (subscription) basis. SaaS not much different from
traditional ASP has some SaaS specific functions added to it like registry, billing etc. This paper reviews th is
business model comparing it with the traditional ASP application and the Service Oriented Architecture. It describe
the life cycle of SaaS by covering its maturity model and its architecture. It also highlights the advantages of SaaS
along with some of the characteristics required / desired in any SaaS application.
Software as a Service (SaaS) becomes in this decade the focus of many enterprises and research. SaaS
provides software application as Web based delivery to server many customers. This sharing of
infrastructure and application provided by Saas has a great benefit to customers, since it reduces costs,
minimizes risks, improves their competitive positioning, as well as seeks out innovative. SaaS application is
generally developed with standardized software functionalities to serve as many customers as
possible.However many customers ask to change the standardized provided functions according to their
specific business needs, and this can be achieve through the configuration and customization provided by
the SaaS vendor.Allowing many customers to change software configurations without impacting others
customers and with preserving security and efficiency of the provided services, becomes a big challenge to
SaaS vendors, who are oblige to design new strategies and architectures. Multi-tenancy (MT) architectures
allow multiple customers to be consolidated into the same operational system without changing anything in
the vendor source code. In this paper, we will present how the configuration can be done on an ERP web
application in a Multi-Tenancy SaaS environment.
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMijseajournal
The increase in the significance of service orientation in system development is accelerating with an increase in demand for qualitative and cost-effective systems. Service-Oriented Architecture (SOA) is one of the established structural designs used for developing and implementing flexible, reusable, rapid and low-cost service-oriented systems. The established testing and evaluation methods don’t work well for systems that are made-up of services (service-oriented system). As a result, several testing and evaluation metrics for service-oriented systems were proposed. However, these metrics were created based on preceding software development approaches that offer insufficient focus to service-oriented systems thereby lacking the efficiency to evaluate these systems. Furthermore, Lack of access to source code also frustrates classical mutation-testing approaches, which require seeding the code with errors. This paper discusses different testing and evaluation metrics available for SOS and proposed a theory-grounded framework for testing and evaluation of service-oriented systems with the aim of decreasing cost and increasing the quality of the SOS. Then, the proposed framework is validated theoretically to check its usability and applicability for testing and evaluation of SOS. The results show that the proposed framework is able to decrease cost and increasing the quality of the SOS.
It is a presentation of a research paper on Component Based Software Engineering vs Service Oriented Architecture. It deals with basic comparative study of CBSE and SOA , SOA technologies and Service Components, Modern Components. It also covers discussions and justifications of performance issues of web services.
Study on Use Case Model for Service Oriented Architecture Developmentijwtiir
The recent trends in the computer industry are the one
and only thing i.e., web services. Because of the common
availability and open technologies web services are relevant to
all. Service-oriented architecture (SOA) helps organizations to
transform their business processes for high performance by
simplifying the underlying information systems. The most
challenging aspect of building successful software applications is
clearly understanding and specifying the requirements that an
application must satisfy. Use case modeling is an increasingly
popular approach for identifying and defining requirements for
software applications of all types. Use cases describe the
behavior of the system as its users interact with it. This approach
helps to place the software requirements in the framework of a
user doing some useful work with the system. This type of
approach helps to map software requirements to the relevant enduser business processes, a very powerful concept. This paper
presents how the relationship between use case model and
Service oriented architecture.
Web Services-Enhanced Agile Modeling and Integrating Business ProcessesMustafa Salam
We propose a model-driven approach, based on Web services standards, for modeling and integrating agile business processes using Web services. The choice of focusing on Web services technology was not arbitrary. The large and broad adoption of this technology by enterprises will lead most business processes to be performed using Web services. Besides, the added value of Web services and their great interest to business process management are beyond doubt. Web services produce, on the one hand, loosely coupled applicative components.
On the other hand, they are the most widely used implementation technology of SOA (Service-Oriented Architecture), which is based on the large experiences of software and distributed component technologies. Being founded on the XML (eXtensible Markup Language) language, the SOAP (Simple Object Access Protocol) protocol and the UDDI (Universal Description Discovery and Integration) repository, this technology can be considered as an appropriate mean to ensure interoperability, data exchange and the publication and discovery of business processes when they can be implemented as Web services.
Many small and medium scale industries could not afford the expensive enterprise software either
on premise or through Application Service Providers as it incurred heavy installations cost, maintenance cost.
Mean while the development of social, economic, increasing Internet technology lead to the evolvement of Cloud
computing Technology which allowed the users to share the resources across the Internet. This development brought
about a radical change in the computing technology posing new challenges as the requirements of the users kept on c
hanging frequently and such an installed Application Service Providers on the premise of the user made it difficult to
meet these changed user requirement. Thus the vendors developed a new architectural style based upon the
constructional forms and changing the way the functionalities are delivered to the user. This shift in the way of
delivery of software created a new business market. In this the user is freed from the need of installation of the
software thus shifting the maintenance cost to the vendor. This type of business model is termed as Software as a
service which is one-to-many model based on “on use pay” (subscription) basis. SaaS not much different from
traditional ASP has some SaaS specific functions added to it like registry, billing etc. This paper reviews th is
business model comparing it with the traditional ASP application and the Service Oriented Architecture. It describe
the life cycle of SaaS by covering its maturity model and its architecture. It also highlights the advantages of SaaS
along with some of the characteristics required / desired in any SaaS application.
Software as a Service (SaaS) becomes in this decade the focus of many enterprises and research. SaaS
provides software application as Web based delivery to server many customers. This sharing of
infrastructure and application provided by Saas has a great benefit to customers, since it reduces costs,
minimizes risks, improves their competitive positioning, as well as seeks out innovative. SaaS application is
generally developed with standardized software functionalities to serve as many customers as
possible.However many customers ask to change the standardized provided functions according to their
specific business needs, and this can be achieve through the configuration and customization provided by
the SaaS vendor.Allowing many customers to change software configurations without impacting others
customers and with preserving security and efficiency of the provided services, becomes a big challenge to
SaaS vendors, who are oblige to design new strategies and architectures. Multi-tenancy (MT) architectures
allow multiple customers to be consolidated into the same operational system without changing anything in
the vendor source code. In this paper, we will present how the configuration can be done on an ERP web
application in a Multi-Tenancy SaaS environment.
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMijseajournal
The increase in the significance of service orientation in system development is accelerating with an increase in demand for qualitative and cost-effective systems. Service-Oriented Architecture (SOA) is one of the established structural designs used for developing and implementing flexible, reusable, rapid and low-cost service-oriented systems. The established testing and evaluation methods don’t work well for systems that are made-up of services (service-oriented system). As a result, several testing and evaluation metrics for service-oriented systems were proposed. However, these metrics were created based on preceding software development approaches that offer insufficient focus to service-oriented systems thereby lacking the efficiency to evaluate these systems. Furthermore, Lack of access to source code also frustrates classical mutation-testing approaches, which require seeding the code with errors. This paper discusses different testing and evaluation metrics available for SOS and proposed a theory-grounded framework for testing and evaluation of service-oriented systems with the aim of decreasing cost and increasing the quality of the SOS. Then, the proposed framework is validated theoretically to check its usability and applicability for testing and evaluation of SOS. The results show that the proposed framework is able to decrease cost and increasing the quality of the SOS.
It is a presentation of a research paper on Component Based Software Engineering vs Service Oriented Architecture. It deals with basic comparative study of CBSE and SOA , SOA technologies and Service Components, Modern Components. It also covers discussions and justifications of performance issues of web services.
Study on Use Case Model for Service Oriented Architecture Developmentijwtiir
The recent trends in the computer industry are the one
and only thing i.e., web services. Because of the common
availability and open technologies web services are relevant to
all. Service-oriented architecture (SOA) helps organizations to
transform their business processes for high performance by
simplifying the underlying information systems. The most
challenging aspect of building successful software applications is
clearly understanding and specifying the requirements that an
application must satisfy. Use case modeling is an increasingly
popular approach for identifying and defining requirements for
software applications of all types. Use cases describe the
behavior of the system as its users interact with it. This approach
helps to place the software requirements in the framework of a
user doing some useful work with the system. This type of
approach helps to map software requirements to the relevant enduser business processes, a very powerful concept. This paper
presents how the relationship between use case model and
Service oriented architecture.
Getting started with Enterprise Application Integration (EAI) using Enterpris...Tamim Khan
Hybrid Integration is the concept of federated on-premises and cloud-based integration combined with the improved interoperability of existing and new middleware silos of application, business-to-business (B2B), business process management (BPM), business events, business rules, and data integration.
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAASijseajournal
This work is based on two major areas, the Multiview Service Oriented Architecture and the combination between the computing cloud and MV-SOA. Thus, it is suggested to extend firstly the service oriented architecture (SOA) into an architecture called MV-SOA by adding two components, the Multiview service generator, whose role is to transform the classic service into Multiview service, and the data base, this component seeks to stock all of consumer service information. It is also suggested to combine the computing cloud and Multiview Service Oriented Architecture MVSOA. To reach such combination, the
MVSOA architecture was taken and we added to the client-side a private cloud in SaaS and DaaS.
BUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTUREIJCSEA Journal
Agile integration satisfies the business agility and provides solutions for maintaining business changes and ensures that the enterprise survives in the current competition. Any business should be robust enough to respond to end user request. Existing traditional enterprise applications are in-capable of integrating with
different business silos lacks to improve the business agility. To address this issue, this paper is about the agile integration of different business silos using “Service Oriented Architecture” and its core technologyenables the business enterprise systems flexible, loosely coupled and improves agility. Enterprise business
systems have to adopt Service Oriented Architecture (SOA) as it promises to help them respond more rapidly to changing business requirements by composing new solutions from existing business services. Here the definition of SOA, its layers and the core technologies have been discussed.
The document is for beginners who are going to make their careers in Middleware technologies. It will provide the information regarding implementation of integration before EAI and what were the disadvantages which are overcome by EAI.
Similar to 15 falko menge--_enterpise_service_bus (20)
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Strategies for Successful Data Migration Tools.pptxvarshanayak241
Data migration is a complex but essential task for organizations aiming to modernize their IT infrastructure and leverage new technologies. By understanding common challenges and implementing these strategies, businesses can achieve a successful migration with minimal disruption. Data Migration Tool like Ask On Data play a pivotal role in this journey, offering features that streamline the process, ensure data integrity, and maintain security. With the right approach and tools, organizations can turn the challenge of data migration into an opportunity for growth and innovation.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Globus Connect Server Deep Dive - GlobusWorld 2024
15 falko menge--_enterpise_service_bus
1. FREE AND OPEN SOURCE SOFTWARE CONFERENCE 2007 1
Enterprise Service Bus
Falko Menge
Abstract— This paper is a comprehensive introduction to the
Enterprise Service Bus (ESB), which is a new type of integration
infrastructure. Therefore it gives a detailed introduction into
the background of Enterprise Application Integration (EAI) and
explains Message-Oriented Middleware (MOM) and Service-
Oriented Architecture (SOA) which are the technologies the
Enterprise Service Bus evolved out of. After discussing core ESB
concepts and typical features, the open source ESB solution Mule
will be presented. An example application will demonstrate how
different features of an ESB are used.
Index Terms— Enterprise Service Bus (ESB), Service-Oriented
Architecture (SOA), Web Services, Enterprise Application Inte-
gration (EAI), Message-Oriented Middleware (MOM).
I. INTRODUCTION
THE Enterprise Service Bus (ESB) is a relatively young
term in the software industry. It is an exciting topic
because the most interesting question is the first, one would
ask: What is an Enterprise Service Bus?
The question is hard to answer since there is no general
consensus about a common definition of the term. There are
many discussions on which features have to be included or
which technologies should be used when realizing an Enter-
prise Service Bus. In contrast to that there are many vendors in
the market who state that their solutions are Enterprise Service
Buses or base on Enterprise Service Bus principles. There are
vendors who are specialized in developing Enterprise Service
Bus products like Cape Clear Software, Fiorano Software or
Sonic Software and most of the big vendors of integration
middleware products like Oracle, BEA Systems, IONA Tech-
nologies, Sun Microsystems or IBM have Enterprise Service
Bus solutions in their product portfolios.
This uncommon situation originates from the term Enter-
prise Service Bus being originally coined by analysts from
Gartner in 2002. The need for a new form of infrastructure
which combines Message-Oriented Middleware (MOM), web
services, transformation and routing intelligence as a backbone
for Service-Oriented Architecture (SOA) was identified and
different approaches have been tried to realize that idea. Some
products evolved from web services infrastructure solutions
or lightweight messaging products, while others evolved from
EAI suites having added support for SOA.
Although there are multiple definitions and approaches, the
central ideas are similar to each other and will be explained
and demonstrated in this paper.
II. BACKGROUND AND DOMAIN
In order to understand the benefits of an Enterprise Service
Bus one has to examine the infrastructure requirements that
large enterprises have. A typical scenario is that an enterprise
runs hundreds or thousands of applications, which could be
custom built, acquired from a third party or parts of legacy
systems, e.g. a company may have three installations of SAP,
30 different websites and countless individual solutions in
different departments. These applications should be able to
communicate and exchange data with each other in order to
work together for the business of the company. The problem is
not the number of applications itself. There are good reasons
for having combinations of many different applications. First,
it is nearly impossible to develop one huge application which
performs all business functions of a typical enterprise because
there are far too many requirements. The second reason is that
running multiple applications gives IT managers flexibility to
select solutions which are the best for their particular purpose.
That means that integration is not a temporary problem which
currently has to be solved. It is a fundamental requirement that
enterprises will also have in the future. The task, commonly
called Enterprise Application Integration (EAI), becomes even
more interesting if applications of external business partners
are to be integrated. Furthermore the selection of applications
is not fixed. Applications may be exchanged or new applica-
tions may be deployed so that the integration infrastructure
has to be able to handle new scenarios.
A. Message-Oriented Middleware
The traditional solution for Enterprise Application Integra-
tion is to use Message-Oriented Middleware (MOM). That
means that asynchronous messaging is used to decouple the
applications from each other. MOM products are typically built
around a central message queue system often called message
broker. All applications are connected to the message broker
using a unified interface for sending and receiving messages.
Fig. 1. Simplified architecture of a Message-Oriented Middleware.
The message broker is able to store the messages so that
sender and receiver do not need to be connected at the same
time. Within this middleware layer messages can be routed
which makes it possible to deliver a single message to more
than one recipient. Furthermore messages cold be transformed
by the message broker to fit the requirements of the receiving
application. The transformation facilities allow the connected
applications to use their own native message formats.
2. 2 FREE AND OPEN SOURCE SOFTWARE CONFERENCE 2007
A big problem of MOM solutions is that they often use
proprietary protocols and platform specific interfaces and de-
ployments. This leads to a total dependency of the applications
on the infrastructure and causes interoperability problems with
MOM products of alternative vendors. As a result islands of
MOM based infrastructures can often be found.
B. Service-Oriented Architecture
Service-Oriented Architecture (SOA) is an architecture con-
cept which defines that applications provide their business
functionality in the form of reusable services. A service in
that context is a self-contained and stateless business function
which is accessible through a standardized, implementation-
neutral interface. Services are used by other applications which
could also be implementations of services. With this approach
complex business processes are implemented through combi-
nation of several services. This is called service orchestration.
Figure 2 shows the typical scenario of a SOA application.
Service providers register their services to a central naming
service. A consumer application can use this naming service
to discover available services and retrieve information on how
to connect to a particular service provider. Then the consumer
application is able to obtain a service description which defines
how the service can be used.
Fig. 2. A typical Service-Oriented Architecture.
SOA can be implemented using any service-based technol-
ogy. Typically web service technologies like SOAP or REST
are used.
SOA allows complex enterprise applications and end-to-end
business processes to be composed from these services, even
when the providers of those services are applications hosted
on disparate operating system platforms, written in different
programming languages or based on separate data models.
This flexible composition supports the fundamental goals of
business integration, which are linking business systems across
the enterprise and extending business services to customers
and trading partners.
The adoption of SOA in business-critical applications is oc-
curring only incrementally. Refactoring, wrappering or replac-
ing legacy applications with new standards-aware equivalents
is due to be a slow process. That implies that an integration
infrastructure can not be purely service-based.
Today enterprises need powerful integration solutions but
they want them to be based on open standards and to support
Service-Oriented Architecture. Exactly those requirements led
to the idea of an Enterprise Service Bus.
III. WHAT IS AN ENTERPRISE SERVICE BUS?
An Enterprise Service Bus is an open standards, message-
based, distributed integration infrastructure that provides rout-
ing, invocation and mediation services to facilitate the inter-
actions of disparate distributed applications and services in a
secure and reliable manner.
ESBs are usually realized through service containers dis-
tributed across a networked environment. These containers
host integration services like routers, transformers, application
adapters or MOM bridges and provide them with a broad
range of communication facilities. In today’s ESB solutions
the messaging infrastructure is typically built on top of JMS-
based1
middleware systems which guarantee message deliv-
ery. Applications are connected to the bus using application
adapters or one of the supported messaging mechanisms. In
order to support SOA the ESB service containers have to in-
clude all important web service technologies. The components
of the ESB as well as the mechanisms for connecting resources
must be based on open standards to ensure interoperability and
protection of investment.
Fig. 3. A simple ESB scenario. Although not depicted here, a container can
host multiple services and components.
The ESB must coordinate the interactions of the various
resources and provide transactional support. A general goal is
to provide messaging and integration without writing code.
Therefore generic components are provided which can be
configured to realize a desired scenario.
An ESB is an ideal backbone for implementing service
oriented architectures because it provides universal mechanism
1Java Messaging Service (JMS) specifies a standardized API for reliable
messaging. JMS is widely supported in messaging middleware systems and
is developed as JSR 914 [12]
3. FALKO MENGE: ENTERPRISE SERVICE BUS 3
to interconnect all the services required in the composed
business solution without compromising security, reliability,
performance and scalability.
IV. TYPICAL ESB FEATURES
A. Invocation
Invocation is the ability of an ESB to send requests and
receive responses from integration services and integrated
resources. That means that an ESB has to support the standards
for web service communication including SOAP [14], the
Web Services Description Language (WSDL) [15], Universal
Description, Discovery and Integration (UDDI) [16] and the
WS-* family of standards. Furthermore the Java Message
Service (JMS) API [12] and the J2EE Connector Architecture
(JCA) [13] should be implemented for integration with MOM
systems and application servers. Of course an ESB must also
be able to handle the underlying protocols like TCP, UDP,
HTTP or SSL. Additional communication mechanisms could
be JBI, RMI, JDBC, SMTP, POP3, FTP or XMPP.
B. Routing
Routing is the ability to decide the destination of a message
during its transport. Routing services are an essential feature
of an ESB because they allow to decouple the source of a
message from the ultimate destination.
To enable routing and other communication features dis-
parate messaging endpoints have to be referenced. The com-
mon standard for addressing is to use Uniform Resource
Identifiers (URIs). Additionally WS-Addressing [17] may be
implemented in ESB solutions to describe web service end-
points in a transport-neutral manner.
The decision to which destination a message is sent can
be made based on several conditions which leads to different
types of routers.
A content-based router inspects the content of messages
and forwards them to different channels depending on the
content of the message. This allows a sender to send messages
without specifying an exact destination. For XML messages
content-based routing can be implemented using the XML
Path Language (XPath) [19] for addressing parts of a message
which are needed for the routing decision. A special form of a
content-based router is a message filter. It forwards a message
only if the content matches a certain criterion. Otherwise, the
message will be deleted.
Of course there are integration scenarios where one message
is to be sent to multiple recipients. This could be achieved by
using a recipient list router which either computes a list of
destinations or has a static configuration for multiple receivers.
If messages are composed of multiple parts, a splitter may
be used to split a single message into a series of individual
messages. A splitter for XML messages may utilize XPath
for addressing the parts and transformations based on the
Extensible Stylesheet Language (XSL) [18] for generating
separate messages.
The opposite of a splitter is an aggregator which collects
and stores individual messages. If it receives a complete set
of related messages, the aggregator sends a single message
distilled from the individual messages to the configured des-
tination. A resequencer is a router which collects related but
out-of-sequence messages and forwards them in the correct
order. For the resequencer to function, each message needs a
unique sequence number.
The different routers can be combined to create complex
message flows. All routers can be implemented as so called
dynamic routers. That means the router is able to reconfigure
its routing rules based on special configuration messages
which can be sent by participating destinations.
C. Mediation
Mediation refers to all transformations or translations be-
tween disparate resources including transport protocol, mes-
sage format and message content. These transformations are
very important for integration because applications rarely
agree on a common data format. Again XSL and XPath
are powerful tools for working with XML messages. Those
standards allow an ESB to provide generic XML transformer
components which are configured through an XSL stylesheet.
More complex transformers may invoke other resources which
are connected to the bus e.g. a database in order to augment
additional information to a message. Special forms of trans-
formation services are normalizers, content enrichers, content
filters or envelope wrappers.
D. Adapters
Many ESB solutions provide a whole range of application
adapters. This can be adapters for popular application packages
such as Enterprise Resource Planning (ERP), Supply Chain
Management (SCM) and Customer Relationship Management
(CRM). Those adapters connect to the native transaction inter-
faces, APIs and data structures that these business applications
expose and present a standard interface, which makes it easy
to reuse business logic and data. Typically most adapters of
a particular vendor operate the same way which minimizes
the skills required to use each connected system. Using
prefabricated adapters reduces the work required to integrate
applications into a Service-Oriented Architecture.
E. Security
An enterprise class integration infrastructure has to provide
secure messaging. That means for an ESB to be able to encrypt
and decrypt the content of messages, handle authentication
and access control for messaging endpoints and to use secure
persistence mechanisms.
F. Management
An ESB has to provide audit and logging facilities for
monitoring infrastructure and integration scenario and possibly
also for controlling process execution. There must be a central
mechanism for configuration and administration of the bus.
Additionally tools for usage metering may be included.
4. 4 FREE AND OPEN SOURCE SOFTWARE CONFERENCE 2007
G. Process Orchestration
An Enterprise Service Bus may include an engine to execute
business processes described with the Web Services Business
Process Execution Language (WS-BPEL) [11]. This engine
controlled by the process description then coordinates the
collaboration of the services connected to the bus.
H. Complex Event Processing
An asynchronous message can be seen as an event especially
when using a publish-subscribe channel. Thus an ESB may
include mechanisms for event interpretation, event correlation
and event pattern matching which enable event-driven archi-
tectures.
I. Integration Tooling
For professional development with an ESB graphical
design-time tooling as well as deployment and testing tool
should be available.
V. MULE: AN OPEN SOURCE ESB
Mule is a lightweight open source messaging platform based
on ESB concepts. The central component of Mule is a service
container for so called Universal Message Objects (UMOs).
This container which is a highly distributable object broker is
able to handle a rich variety of communication mechanisms
including JMS, SOAP, REST, HTTP, FTP, TCP, UDP, SSL,
XMPP, SMTP, POP3, IMAP, JDBC, RMI and others to come.
Fig. 4. Simplified view of a Mule instance. [source: [10]]
The Universal Message Objects are plain old Java objects
which can transparently use the communication facilities of
the container trough a generic message endpoint interface. As
shown in figure 4 they are able to connect to external applica-
tions, other UMOs or other Mule instances. This unified and
technology independent method for interacting with disparate
resources makes it very easy to use UMOs for integrating
applications with each other or implementing own application
adapters.
A typical Mule application consists of multiple Mule in-
stances distributed across the network which can be intercon-
nected using any of the supported communication mechanisms
or even a combination of them. Several UMOs can work
together in oder to realize a complex message flow among
different external applications.
Fig. 5. A typical Mule application. [source: [10]]
The Mule container provides all integration services which
are essential to an ESB. That includes support for transactions,
transformations, routing, logging, auditing, management, se-
curity, event processing and even process orchestration using
WS-BPEL. Mule can run standalone or integrated with another
containers, e.g. Spring, PicoContainer or Plexus. Therefore it
separates object construction from management so that service
objects can be constructed by other containers. Mule avoids
to reimplement communication technologies and instead uses
stable and widely-accepted implementations, e.g. the Axis and
Glue SOAP stacks.
The simple integration scenario in figure 6 shows the
message flow between two applications through a UMO com-
ponent. A message receiver listens on the incoming endpoint
for a message from the sending application. The connector
handles the particular transport mechanism and after that a
transformer may transform the message, e.g. into a Java object.
The so called inbound router of the involved UMO may
be a message filter, aggregator or resequencer. The UMO
may perform some business logic on the message and then
the outbound router which could be a content-based router,
message filter, splitter or recipient list forwards the message
to one or more transport providers which again consist of a
transformer, connector and in the outgoing case a message
dispatcher. The message dispatcher sends the message to the
receiving application.
Mule is designed for fast development of distributed service
networks. Therefore it is an ESB server which is highly
scalable, lightweight, fast and simple to adopt. Mule allows
smaller projects to leverage enterprise level service architec-
tures, especially when resources, development cost and TTM
need to be kept to a minimum.
VI. AN ESB EXAMPLE APPLICATION WITH MULE
An important principle of an ESB is to use as much
declaration and configuration as possible and avoid writing
code. Thus the most important artifact of a mule application
is its XML configuration file in which the connectors, routers,
5. FALKO MENGE: ENTERPRISE SERVICE BUS 5
Fig. 6. Integration of two applications with Mule. [source: [10]]
transformers, message endpoints and UMOs are declared. The
communication mechanisms actually used by and application
are simply configured through the endpoint URIs. In addition
to that only UMOs and maybe own object transformers or
routers have to be programmed.
The sample application which will be discussed in this
section is a very popular example taken from the Enterprise
Integration Patterns book [1]. The example is often used to
demonstrate features of messaging systems and so Ross Mason
implemented the application in different flavors for Mule. The
version shown here uses an ESB architecture and can be
obtained from the mule website [10].
Fig. 7. Mule example application: A loan broker acting as intermediary for
a consumer talking to banks in order to get a loan quote. [source: [1]]
The usage scenario is a customer who wants to obtain a loan
quote. Therefore he wants to compare offers from different
banks. A loan broker is used to communicate with the banks
and send the best offer back to the customer.
Fig. 8. Mule example application: Design of the application. [source: [1]]
As seen in figure 9 the sample application uses a JMS
message broker to connect the different components on the
bus, which is cofigured through the following connector
deklaration:
<connector name="jmsConnector"
className="org.mule.providers.jms.JmsConnector">
<properties>
<property name="connectionFactoryJndiName"
value="ConnectionFactory"/>
<property name="jndiInitialFactory"
value=
"org.activemq.jndi.ActiveMQInitialContextFactory"
/>
<property name="specification" value="1.1"/>
<map name="jndiProviderProperties">
<property name="brokerURL"
value="tcp://localhost:61616"/>
</map>
</properties>
</connector>
At the beginning the Client application makes a request
sending a CustomerQuoteRequest message to the LoanBroker
via a RESTful web service. The LoanBroker which is a
UMO creates a LoanQuoteRequest message which is the
common message format on the bus. The following part of
the configuration shows how different message endpoints are
attached to the LoanBroaker UMO:
<mule-descriptor name="LoanBroker"
implementation=
"org.mule.samples.loanbroker.esb.LoanBroker ">
<inbound-router>
<endpoint
address="LoanBrokerRequestsREST"
transformers="RestRequestToCustomerRequest"/>
<endpoint
address="LoanBrokerRequests"/>
</inbound-router>
<outbound-router>
<router className=
"org.mule.routing.outbound.OutboundPassThroughRouter">
<endpoint address="CreditAgencyGateway"/>
</router>
</outbound-router>
<response-router timeout="1000000">
<endpoint address="LoanQuotes"/>
<router className=
"org.mule.samples.loanbroker.esb
.routers.BankQuotesResponseAggregator"
/>
</response-router>
</mule-descriptor>
Mule sends the message to the so called Credit Agency
Gateway via JMS. The Gateway is an envelope wrapper which
marshals the request and invokes a CreditAgency EJB. A
prefabricated message enricher component called Reflection-
MessageBuilder automatically attaches a CreditProfile to the
LoanQuoteRequest message. Then Mule sends the Message
to the Lender Gateway via JMS. This Gateway uses the VM
transport to invoke the Lender Application which is a simple
6. 6 FREE AND OPEN SOURCE SOFTWARE CONFERENCE 2007
Fig. 9. Mule example application: LoanBroker ESB. [source: [10]]
Java Bean. Again Mule forwards the message via JMS - now
to the Banking Gateway. The Banking Gateway realizes the
Scatter-Gather integration pattern [1]. Based on a recipient
list a router forwards a request via SOAP to several bank
web services. The response messages are collected by an
aggregator specified in the ReplyTo address provided by the
Banking Gateway. The ResponseRouter on the LoanBroker
UMO receives the responses. Finally the LoanBroker selects
the lowest quote received for the request and returns it to the
client.
VII. CONCLUSION
An Enterprise Service Bus (ESB) is a message based,
distributed integration solution which provides integration
services. Basic integration services are routing, invocation,
mediation, support for transactions, logging, auditing, man-
agement and security services. Furthermore event processing
and process orchestration may be supported by an ESB.
Today an Enterprise Service Bus is the most popular infras-
tructure for implementing Service-Oriented Architectures.
Mule as a light-weight open source ESB includes the
most important features and is an ideal entry point for ESB
adoption.
REFERENCES
[1] Gregor Hohpe and Bobby Woolf, Enterprise Integration Patterns: Design-
ing, Building and Deploying Messaging Solutions Pearson Education,
Inc., 2004.
[2] Architectural Overview for Enterprise Integration, Version 1.0 Cape
Clear Software, March 2003.
[3] Dirk Krafzig, Karl Banke and Dirk Slama, Enterprise SOA: Service-
Oriented Architecture Best Practices Prentice Hall PTR, 2004.
[4] Tony Baer, The road to SOA CBR Research, 2006.
[5] David A. Chappell, Enterprise Service Bus O’Reilly, 2004.
[6] Mike Gilpin and Ken Vollmer, The Forrester Wave: Enterprise Service
Bus, Q4 2005 Forrester Research, Inc., November 15, 2005.
[7] Cape Clear’s Enterprise Service Bus (ESB), Whitepaper Cape Clear
Software, May 2005.
[8] Principles of BPEL, Orchestration, and the ESB, Whitepaper Cape
Clear Software, 2004.
[9] Bruce Silver Enterprise Service Bus Technology for Real-World Solutions
Bruce Silver Associates, August 2004.
[10] Official website of the Mule project.
http://mule.codehaus.org
[11] Web Services Business Process Execution Language (WS-BPEL) Version
2.0 OASIS, Decmber 21, 2005.
http://www.oasis-open.org/committees/uddi-spec/doc/spec/v3/uddi-
v3.0.2-20041019.htm
[12] JSR 914: Java Message Service (JMS) API
http://www.jcp.org/en/jsr/detail?id=914
[13] JSR 112: J2EE Connector Architecture 1.5
http://www.jcp.org/en/jsr/detail?id=112
[14] SOAP Version 1.2 specification, W3C Recommendation World Wide
Web Consortium (W3C), June 24, 2003.
http://www.w3.org/TR/soap/
[15] Web Services Description Language (WSDL) 1.1, W3C Note World
Wide Web Consortium (W3C), March 15, 2001.
http://www.w3.org/TR/wsdl/
[16] Universal Description, Discovery and Integration v3.0.2 (UDDI)
OASIS, Oktober 19, 2004.
http://www.oasis-open.org/committees/uddi-spec/doc/spec/v3/uddi-
v3.0.2-20041019.htm
[17] Web Services Addressing (WS-Addressing), W3C Member Submission
World Wide Web Consortium (W3C), August 10, 2004.
http://www.w3.org/Submission/ws-addressing/
[18] Extensible Stylesheet Language (XSL) Version 1.1, W3C Candidate
Recommendation World Wide Web Consortium (W3C), February 20,
2006.
http://www.w3.org/TR/xsl11/
[19] XML Path Language (XPath), W3C Recommendation World Wide
Web Consortium (W3C), November 16, 1999.
http://www.w3.org/Submission/ws-addressing/