A lot has been said about how SOA and EDA are unique "architecture styles". It seems like only one or the other architectural principle is considered in proposing architectural solutions. However, there is a distinct benefit to using both paradigms in unison in solving business problems!!
Business events are the "core concept" that drive any EDA implementation. On the other hand, decoupling business applications and the business functions/ business processes embedded in these business applications is the core theme of SOA. SOA implementations rely on the use of standards based web services technology stack and that of canonical business documents (XML) .
However, it is my contention that an enterprise that does not invest in the web services or ESB technology can still leverage EDA style business events to implement loosely coupled business services provided it makes an effort to analyze its' business events and creates canonical representations of these key business events. This could mean defining business events that encapsulate a business concept that have an associated business concept state indicator or a business action indicator. Further, these business events can be used to trigger constructs such as event handlers that act as a facade or layer of indirection to execute a business function via the use of an application API.
It must be noted that the terms event producers and event consumers or publishers/ subscribers are being used loosely to denote the initiator of the event and the owner of the business behavior that "knows" how to deal with the event. In a SOA realm this would be the service consumer and the service provider respectively.
The key to this model in leveraging SOA is the use of self-describing canonical business events that are subscribed to by independent event listeners. These event listeners and/or event handlers that are delegated to by these event listeners help insulate the event producers and event consumers from the complexity of knowing how to interpret the events. Here the event producers/ publishers and event consumers/ subscribers are decoupled from one another via the use of canonical business events as well as messaging technologies.
Please feel free to drop me a note.
thanks.
surekha -
Business events are the "core concept" that drive any EDA implementation. On the other hand, decoupling business applications and the business functions/ business processes embedded in these business applications is the core theme of SOA. SOA implementations rely on the use of standards based web services technology stack and that of canonical business documents (XML) .
However, it is my contention that an enterprise that does not invest in the web services or ESB technology can still leverage EDA style business events to implement loosely coupled business services provided it makes an effort to analyze its' business events and creates canonical representations of these key business events. This could mean defining business events that encapsulate a business concept that have an associated business concept state indicator or a business action indicator. Further, these business events can be used to trigger constructs such as event handlers that act as a facade or layer of indirection to execute a business function via the use of an application API.
It must be noted that the terms event producers and event consumers or publishers/ subscribers are being used loosely to denote the initiator of the event and the owner of the business behavior that "knows" how to deal with the event. In a SOA realm this would be the service consumer and the service provider respectively.
The key to this model in leveraging SOA is the use of self-describing canonical business events that are subscribed to by independent event listeners. These event listeners and/or event handlers that are delegated to by these event listeners help insulate the event producers and event consumers from the complexity of knowing how to interpret the events. Here the event producers/ publishers and event consumers/ subscribers are decoupled from one another via the use of canonical business events as well as messaging technologies.
Either of the two layers i.e. the event publisher or event subscribers can be altered long as the contract is adhered to in terms of the canonical business events. Also, messaging technology oriented configuration consoles allow the definition of the event publisher/ subscribers to be connected via metadata as opposed to hard-wiring these in code. Event handlers act as event adapters in that these could translate the event and invoke the required API call to deal with the event. The event handlers act as a business facade that hide the workings of the business application and allows the business application to change without affecting the event producers.
To recap, if loose-coupling is a core SOA principle that promotes business agility then the use of event handlers invoked using messaging technology and canonical business events can be used to deliver this goal. The enterprise does not need to invest in a SOAP stack right away to achieve this goal. If desired technology standardization and interoperability can be introduced at a later phase by turning these event handlers into web services. This two phased approach defined above enables the enterprise in pushing off investment in the technology stack to a future phase without sacrificing business agility and/or offering novel business capabilities.
Please feel free to drop me a note.
thanks.
surekha -
15 comments:
I like this blog website due to the quality of a description. I say thanks to that person who made this Wonderful Blog. Let Me Share This on My Face Book Page
MoneyWorks4me offers the Best Fundamental Stock Analysis & Free Portfolio Management Tools.We help you in Safe Stock Investing through Value Investing principles.
Rust is a moderately youthful language for the innovation that covers numerous spaces and offers options in contrast to old folks like C and C++. Aside from a decent issue with the invalid item/pointer, significant level elements (for example arithmetical information type), and nonappearance of significant issues up until this point, it has different advantages also. Sensible memory use and memory wellbeing. Consolidating the insignificant standard library and superb command over the assets utilized, Rust can call this its best accomplishment. Among all low-level dialects with direct admittance to memory controls, Rust has decreased the quantity of related issues altogether
Incredible execution. At first planned in light of execution, Rust has extraordinary execution results across numerous areas of use.
Nice toolchain. Rust has an inherent instrument (Cargo), that oversees bundles, runs tests and creates tech documentation for you. It could appear to be something normal these days, however it is an exceptional element contrasted with behemoths of the business (for example C++).
Dev-accommodating mistake messages. Regardless of being a perplexing language, what fixes things such that extraordinary is mistake upkeep. Rust mistake messages are much more coherent contrasted with other low-level dialects>> click here for more info
Looking for an IT developer? Then here you can see here all the advantages of this site! By entering here, you are faced with a huge amount of information both on employment and on the benefits and services that are offered to you! Hire or call your team here! Highly recommend visiting!
If you want to know something about the future, then you must read this post. A great article has been written on this post on Enterprise Architecture of the Future. I wanted to explore more this article. Because I had to correct my grammar too. From here I came to know about a sentence checker website. I have improved my grammar a lot by this.
Through this post, I got to know about the Enterprise Architecture of the Future. This post was shared with me by my friend because I need to know about this. He told me to you can check here for more details. Here I got the details of Spell Checker For Poem. This website doing its work very smoothly. Every user gives a 5-star rating to this website.
One of the most important responsibilities of a Microsoft Dynamics developer is to ensure that the software meets the needs of the business. This involves working closely with business stakeholders. Thus, the MS Dynamics layout looks very efficient and useful for creating software or joining other projects in the enterprise. browse around this site
Hiring a qualified IT specialist is not an easy task, because now there are many specialists in this field who do not have sufficient knowledge and experience. But this responsible and professional team of IT specialists has never let anyone down, marketing management, such option can be provided to you. You can expect fast work, high-quality results, with such an offer you can't waste time. Want find more information, use link below!
Architectures are doing a great job and their demand is very high in the market nowadays. I read an article on this post regarding the Enterprise Architecture of the Future. They are become very popular in between some days. In between of this post I saw a link on click this then I clicked on it. It redirected me on another page. Here they showing us a grammar correction tool to us.
such a amazing blog Thanks for sharing.text blast
Cable TV has been a constant companion in my home for years. It's not just television; it's a gateway to a world of stories.
Experience swift and secure financial transactions with the leading digital payment service in Pakistan. Our user-friendly platform ensures convenient online payments, making everyday transactions a breeze.
Unlock the power of mass texting - Masstexting . It's your direct line to connect with a vast audience in an instant.
This article provides valuable insights on the importance of business continuity and disaster recovery planning for DevOps. The strategies and best practices outlined are practical and informative, making it a must-read for businesses looking to enhance their resilience and preparedness in the face of unforeseen challenges. Highly recommended for all DevOps professionals.
Post a Comment