|
|
RiskServers
SA specializes in High Quality Financial Risk Management Modeling.
Financial Risk Management Server Development is a highly specialized field that
requires expertise in numerous areas:
Financial
Engineering and Quantitative Analysis.
Market and Credit Data computation.
Regulatory Reporting.
Wealth Management.
Hedge fund Risk Management.
Pension fund Risk Management.
Asset and Liability Management.
Portfolio and Asset Management.
AAA Derivative Product Companies (DPC) and Credit
Enhancement Techniques.
Operational Research.
Network programming.
Multivariate Analysis.
Data Storage and DB IO.
Advanced Numerical Techniques.
Computer Resource Optimization.
Low Level
programming. Memory mapping, garbage collection & assembler.
Secure programming. SSL, TLS, cryptography and signature recognition
(licensing)
Web Server development, http, snmpt,xhtml and xml.
No
Scripts Attached!
Risksvr(tm), crystallizes all this knowledge into one
compact executable of less than four (4) Megabytes of pure C/C++ code.
The Risksvr Engine, as well as other modules on the web sites do NOT
rely on web scripting languages such as asp, jsp, php, cfm, perl or
other interpreted languages to
provide dynamic content.
(see
below)
Risksvr™ Development History
In 1997, the first Web enabled prototype of Risksvr saw life.
At the time many "web" languages had just emerged. Each language
enthusiast was flaunting the features of his language. Real information was scarce.
To
avoid the Java snare in which we almost fell in 1995 we decided to
follow a hands-on approach while setting basic requirements in terms of performance.
(we remember being told by Sun's
development
team performance was not an issue,.. .. with time speed would
easily converge to that of C. Despite all the sales pitch, a Layer
always has a cost, be it c++ over c or Java over c++).
And so we
embarked on developing web front ends for the calculation server.
Development
Experience: Future Net Developers take note!
ASP- ISAPI Experience:
The web server-stubs were first coded as asp modules and ISAPI
objects.
Performance was alas dismal in real world tests (but quite good under
development !)
Even with highly optimized C/C++ code in the calculation engine, asp
wrappers did not offer the necessary snappiness to provide the user
experience we were after (in some instances Risksvr needs to read 100's of
sources of data (depending on configuration might be DB Tables, Cached
Memory or Files) and this each time calculations are performed!
JSP Experience:
The modules were then tested as JSP and Java pages. Although easier
to debug and test, performance was better but unfortunately still
unsatisfactory!
PHP Experience:
The front end user interface was then redesigned as PHP scripts.
Initially the interface seems snappier and faster than asp, but
reacted poorly with many concurrent users.
C# Experience:
C# is an interpreted language and is actually quite close to php (or
by all means Visual Basic).
Many people assume it is just as good as C or C++, which it is clearly
not!
Initial prototypes with c# had the same performance profile as PHP.
C# is however much better in terms of tools and debugging support
Despite their clear advantage as RAD languages,
Interpreted languages such as ASP, JSP, C# (VB) or PHP do not offer the
required speed,
resource efficiency and low level power needed to steer Financial Risk Management
Applications!
Only C and C++ offer the right performance profile for this type of web
development!
Very
few Web experts consider C or C++, as a viable language
for web development. Truth is, there seems to be a drive to force
users into adopting proprietary languages that are much slower than
the C/C++ alternative.
|
Computer
Intensive
Web Development Languages Comparison |
|
|
|
|
ASP
.NET- ISAPI |
| Pro |
: |
Nice
Integrated Tools. Easy debugging on Windows Platforms. |
| Cons |
: |
Much
Too Slow, Bad Security. Easy to Hack. High Cost. All these
features are easy to implement in C/C++. |
|
|
|
|
C# |
| Pro |
: |
Nice
C (VB /PHP) like language. Nice features. Great Tools, Good Browser Integration. Easy HTTP
IO. Average skills required. |
| Cons |
: |
Interpreted
Language. Very close to VB. Not as fast as PHP. Sluggish. |
|
|
|
|
JSP-
JAVA-JNI |
| Pro |
: |
Nice
Tools, Good Browser Integration. Easy HTTP IO, Threading,
Memory. Javascript Java crossover. |
| Cons |
: |
Sluggish,
Bad for number crunching. Maintenance. Moderate Cost |
|
|
|
|
PHP |
| Pro |
: |
Easy
to Program. Powerful. Faster than JSP or ASP.. Low Cost. |
| Cons |
: |
Maintenance
Nightmare. |
|
|
|
|
C-
C++ |
| Pro |
: |
Best.
Fastest. Most Powerful. Stable and snappy. Easy to integrate.
Complete control over Security, Permissions and Transaction
process. |
|
|
|
| Cons |
: |
You
have to develop your own socket and IO libraries Debugging and
DB tools, you must know HTTP inside out.! Requires high level of
expertise. |
C/
C++ Experience as Net Language:
The long and unforgiving route of C/C++ was thus taken for both client
and server modules.
Thanks to rigorous coding standards and proprietary low level library
routines (io, streams, sockets, string operations (string compares,
char to int and int to char conversion, file parsing, date handling,
holidays, dictionaries, hash maps and random generation), The same
Risksvr™ engine has been run on most industry standard operating systems used in number crunching: Cray, AIX, HP, Sun Ultra Sparc, FreeBSD, Alpha 64, Windows 2000, NT4,
Windows 98, 95, Dos and Macintosh.
Emphasis has also been placed on Risksvr's architecture to provide integrated
suites of standalone applications that can act as components (with or without idl).
This architecture has proven to be the best design in terms of third party
application integration, linkage to other languages and cross platform
configuration.
Versions of Risksvr™
have been developed under different
packages and flavors:
From conventional standalone application on dos, Windows, Linux, Crays, to
Dedicated C++ web server, ISAPI COM object, Apache Modules, Java Native Interface
Library, Excel dll (XLL), dedicated spreadsheet server and distributed
components.
|