Wednesday, May 24, 2006

Services for the Wall Street Stack

I have blogged before about the need for a standardized Wall Street Stack. At my current client, there are several different frameworks that have been built over the years, but no framework has gained enterprise-wide acceptance.

These are the services that are generally needed for a complete application framework. If you can think of any other, let me know.

Authentication - logging in to various databases, web servers, internal systems, etc. Best implemented through an enterprise-wide authentication service (using the user's Kerberos token, etc)

Authorization (Entitlements) - what actions can a user perform within an application and what data is a user entitled to see. Best accomplished through an enterprise-wide system.

Logging - log interesting things that happen in an application. Log4Net is a good framework.

User Preferences - load and save the state of the UI

User Data - each application may want to persist the last state of the application when the user logged off

Configuration - Each application should be configurable through a series of XMl files.

General Services Manager - drives the entire service locator framework

Applet Management - load applets from .NET assemblies

Internal Event Broker - lightweight communication between applets

Data and Persistence layer - ways to load, query, update and cache data. Should be configurable so that we can go through different transport layers

Service Agents - processed async notifications that come to us through subscriptions.

Shell - handles initialization of the application, calls all of the various services, provides presentation services for the applets

UI - menu manager, status bar manager, navbar manager, toolbar manager

Security/Cryptography - does the data need to be encrypted and decrypted? (passwords, sensitive data)

Exception Handling - provides a unified way of handling errors that occur in shell and the various applets

Threading - model for async processing

©2006 Marc Adler - All Rights Reserved

No comments: