DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Software Design and Architecture
  3. Integration
  4. My experience with ESB adoption.

My experience with ESB adoption.

Soa User user avatar by
Soa User
·
Apr. 21, 11 · News
Like (0)
Save
Tweet
Share
595 Views

Join the DZone community and get the full member experience.

Join For Free
Background
I work in a medium sized company which has several silos of applications. Seeing the popularity of ESB and its relavance to our setup, our architects decided to implement it in our company. It was believed that our existing enterprise architecture was a good candidate for ESB. In short, we had different web applications (implementing different products) and behind that were several services (it was a mixture of socket based, restful and soap based services). The web application depended on the services for data and services.

After evaluations it was decided to go with Apache Service mix ESB. The plan was to create biding components as a proxy to the backend services and database and then build workflows in ESB which utilze the internal ESB service endpoints. The web applications were still there but common workflow logic was shifted to ESB layer. So now our architecture looked something like this.

Services (Socket, Restful, SOAP)
---------
Apache Service mix (providing SOAP interface to web applications)
--------
Web applications


The advantage we saw was building new applications were easier for two reasons primarirly -
1. Most of the common business logic used by different applications were moved to ESB layer. So new applications can just reuse the required services in ESB layer.
2. The web applications can just use SOAP interface to invoke the services (as opposed to invoking different types of interfaces previously).


Problems
In production enviornment we had two ESB nodes one primary and the other one as a backup. After implementation things looked fine initially. Then we encountered a problem. We deployed this new Service engine in ESB which reads message from a queue and processes it and provides a SOAP interface expose the data. This Service Engine component had a memory leak issue which was uncovered a day after production deployment. Now due to malfunctioning of this particular Service Engine all other services on the ESB were impacted. Which means some other critical Web applications dependent on the ESB services were impacted too. Eventhough no changes were done on those services.
Ultimately we had to undeploy this particular SE to make things normal.Traditionally when we had silos of Web application each implementing its own business logic and when we had such issues with one of the Web application only that particular application was impacted during the release. Other applications are generally not impacted.

In hub and spoke model we say that hub represents single point of failure. So isn't the enterprise bus also a single point of failure in case of ESB. I know there are several other advantages but this was one of the problems that still remains and we are yet to find a solution for this. Since there were two ESB nodes the situation was brought to normallacy after flipping to the backup node.
Previously the level of testing done for various products depends on its business value. Now in this setup since the ESB may host some less critical (business wise) components we are now made to test these all these components irrespective of its business value. This is another overhead that I noticed.
Enterprise service bus application Web Service Adoption

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Why Every Fintech Company Needs DevOps
  • PostgreSQL: Bulk Loading Data With Node.js and Sequelize
  • Key Considerations When Implementing Virtual Kubernetes Clusters
  • Top Five Tools for AI-based Test Automation

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: