Tuesday, 29 January 2013

Architectural design for federated Corporate Credit Commercial Capital Market Banking Applications using Service Oriented Architecture (SOA) and Enterprise Service Bus - Sandeep Kanao

Architectural design for federated Corporate Credit Commercial Capital Market Banking Applications using Service Oriented Architecture (SOA) and Enterprise Service Bus - Sandeep Kanao


Goal :
One of the major banks in Canada has  several existing corporate commercial applications (CCL) in ASP and ASP.NET.  With the bank mergers, new application was initiated to cater need for small business (< 50 M). This application needs information from the existing CCL application suits.
Since all these  corporate commercial applications (CCL) are stable and hosted/maintained by several different departments, we cannot modify or make any changes. The goal of the new project is to develop federated security services, so user can be authenticated on all the existing CCL web applications using the same token and consume the required services. This is achievable by service oriented architecture (SOA) and enterprise service bus. Application must supports dynamic resolution of endpoint (Intelligent Routing) for any request by the new application.

Interoperability needs
The 'services' look to be more like asp pages that provide access to functionality in an API-like fashion. What is lost is the uniform programmatic way to access these 'APIs' (since each page could come with its own specific way to interact with it). We can build some adaptors that hide the particularities (wrap the calls to the ASP pages in web services. That way we can hide the call to the ASP page and the parameter passing behind a nicer programmatic interface).

Data integrity needs
Here we potentially have a BIG problem, provided that we are dealing with distributed transactions against multiple resource managers/databases. In very practical terms, we have to ask our self how to rollback changes when our APIs come in the form of ASP pages, that obviously cannot enlist in any distributed transaction.
If  distributed transactions is not needed, we can create another integration level with different apps (as for example at the middle tier level or database level). Some of these 'services' may not  allow to reuse the functionality.


Application layer uses :
Neudesic-Neuron, WCF4, MSMQ Appfabric to supports dynamic resolution of endpoints (Intelligent Routing)

No comments:

Post a Comment