ARM Functionality
Store & Forward and Scalability
Store & Forward
The “store and forward” capabilities of a “smart client” application such as ARM, mean that a small executable is installed on all machines in the network, whether part of a LAN or used remotely, that will sense when it has a connection to the database. If that connection is not available it will store the data locally and update the central database when a connection is achieved. That connection may be made by joining the LAN or by using the Internet as the connection mechanism.
Processing and Scalability
End of Day (EOD) is the key processing module within the ARM system. The ARM EOD processing module utilises a grid processing system which can take advantage of any spare processing power available across the network. ARM EOD also has a separate Task processor service and a seperate Transaction processor service.
ARM allows the system administrator to setup multiple Task and Transaction Processors to cater for increased processing volumes. When EOD is invoked, ARM tasks, queued for tthat day, are passed to the Service Grid Processing service.
This service routes the queued tasks and transactions to the Task and Transaction Processors. When multiple processors are invoked, the Service Grid Processor will load balanceacross the multiple processors. There is always only one instanceof the Service Grid Processor running.
The ARM architecture enables these Task and Transaction processors to be deployed onto separate servers and separate processors.
For example a cluster of three servers can be configured with each server running one Task Processor and one Transaction Processor. The Service Grid Processor will load balance across these three servers. This will allow one server's processors, as an example, to generate interest calculations, the second one to generate statements and the third server to generate reports.
As volumes grow the system is scaled by adding more servers to the processing grid. This eliminates the typical linear approach of most applications and truly optimises the processing power of the grid. In testing conducted "In house" on "bottom end" scale processing servers a validated increase in performace of at least 25% to 30%. In migrating to a clustered Blade environment, using the latest in Quad Core Processing technology, that performance will increase significantly.
Service Oriented Architecture
When developing the Service Grid Processing structure within ARM we sought to position the solution well ahead of other financial product management solution providers with respect to fulfilling the objectives of Service Oriented Architecture (SOA). Recent moves by MicrosoftTM and SAPTM to form Banking Industry Architecture network (BIAN)1 in Europe along with several large financial institutions validates this approach. The object of BIAN is to create solutions focused on SOA for Banks and related financial institutions. ARM already meets the core requirements here on many levels.
The text book definition of SOA is a software architecture where functionality is grouped around business process and is packaged as interoperable services. SOA also describes IT infrastructure which allows different applications to exchange data with one another as they participate in the business process. The aim is a loose coupleing of services with operating systems, programming languages and other technologies which underlie applications.
- SOA separates functions into distince units or services.
- These are made accessible over a network in order that they can be combined and reused in the production of business apllications.
- These services communicate with each other by passing data from one service to another or by co-ordinating an activity between two or more services.
- SOA concepts are often seen as built apon and evolving from older concepts of distribted computing and modular programming.
Distributed computing in reference to SOA deals with hardware and software systems containing:
- More than one processing element or storage element.
- Running concurrent processes.
- Or multiple programs, running under a loosely or tightly controlled regime.
In distributed computing a program is split up into parts that run simultaneously on multiple computers communication over a network. Whilst Distributed computing is a form of parallel computing, the term parallel computing is most commonly used to describe program parts running simultaneously on multiple processors on the same computer. Both types of processing require dividing a program into parts that can run simultaneously, but distributed programs often must deal with heterogeneous environments, network links of vary latencies and unpredictable failures in the network or the computers.
In effect the segmentation of processes within ARM helps us to achieve this effectively. In reviewing the solution we then add other key elements to the equation including:
- That ARM is developed on .NET Framework, which makes ease of integration with virtually any solution a reality
- ARMs' Client Relationship Management (CRM) foundation, insures a truly customer centric environment.
- Integrated reporting capabilities that can report on any field, in a text or graphical nature, Takes data mining to a new level.
- Workflow tools that allow mapping and/or adjusting of business processes without any programmer intervention.
- Dynamically integrated web client that allows content management and effective client collaboration.
When all of this is taken into account the structure meets and in many ways exceeds much of what SOA implementations attempt to achieve.
Real time load data as well as EOD data is available from Axcess Consulting Group Pty Ltd.
|