What are we producing? Riskflow provides the financial logic in the form of a DLL (Digital Linked Library) that is exposed via the.Net framework. This.

Slides:



Advertisements
Similar presentations
ProAssist ® complex assistance services management system Global Assistance & INGENIUM Praha.
Advertisements

Attie Naude 14 May 2013 Windows Azure Mobile Services.
Mobile Application Development Keshav Bahadoor. Part 1 Cross Platform Web Applications.
Mrs. Wilson Business Essentials. This lesson provides information about money management basics and the reports used to measure financial progress.
Money Management and Financial Planning
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
Business plan overview (1)
Windows Communication Foundation and Web Services.
InfoPath Foundations Peter Williams, Ibitec AB. Agenda What are Forms? Form Scenarios Fundamentals Enter InfoPath Alternatives Use Forms InfoPath Enterprise.
Stanford University EH&S A Service Oriented Architecture For Rich Internet Applications Sheldon M. Heitz.
Managerial Accounting Structure of Financial Statements.
BAT4m Unit 1: Chapter 1 September Quiz on Friday September 12, 2014.
GPS Tracking & Inventory Management GPS Tracking & Inventory Management Presented by: Product Activation Group.
2-1 CHAPTER 7 Financial Statements and CF Balance sheet Income statement Statement of cash flows Free Cash Flow Performance Analysis.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
C H P ERSONAL F INANCIAL S TATEMENTS. Goals: Explain the basics of money management. Create a personal balance sheet. Develop a personal cash flow.
PERSONAL FINANCIAL STATEMENTS Chapter How Much Money Will You Earn in Your Lifetime?  From the U.S. Census Bureau, Current Population Survey, Educational.
Personal Financial Statements Ch PoB  Money Management – refers to the day-to-day financial activities associated with using limited income.
Investing and Personal Finance
CHAPTER 8: ACCOUNTING DECISION MAKING BY THE NUMBERS.
Object Oriented Software Development
At the login page, you will enter the following: Click “Logon” Do not use dashes in User ID.
 Company Name : Nature Outdoor Recreation and Resort (NATOUR)  Company Address : Hutan Simpan Ayer Hitam, Puchong, Selangor  Type of Company.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Personal Finance Chapter 3 Section 3.1 and 3.2.
Which one calculates Net Worth?
REAL ESTATE INVENTORY SYSTEM Training Seminar - September 12, 2011, Bucharest, Romania Guidelines on how to work with the Promise System.
TVAC Electronic Call Sheet System Team HeatWave Summer 2007.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Written by Ruby Ann Sawyer, Brantley County Middle School.
Esri UC 2014 | Technical Workshop | Esri Roads and Highways: Integrating and Developing LRS Business Systems Tom Hill.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
Money Management and Financial Planning
Financial Statement Basics BDI3C. Major Financial Statements  Balance Sheet Individual: Net Worth Statement  Income Statement  Cashflow Statement.
Ch Personal Finance Personal Finance. How much money will the average American earn in their working lifetime? (35 years) How much money will the.
Web Services from 10,000 feet Part I Tom Perkins NTPCUG CertSIG XML Web Services.
Web Services An Introduction Copyright © Curt Hill.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
34 Copyright © 2007, Oracle. All rights reserved. Module 34: Siebel Business Services Siebel 8.0 Essentials.
A Mobile Library Management System Advisor: Dr. Shen Student: Ananta Gampaa November 8 th,2005.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Aggregator  Performs aggregate calculations  Components of the Aggregator Transformation Aggregate expression Group by port Sorted Input option Aggregate.
1 Visa IntelliLink Spend Management Navigation as a Cardholder Training Deck.
1 Visa IntelliLink Spend Management Navigation as a Cardholder Training Deck.
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Here is some cash flow information. One is from a rich man, the other is from a middle class man. 動 動 惱, 想一想 Think about their financial situations in.
Windows Communication Foundation and Web Services
Extending Financial Statement Information on a Work Sheet
Data-driven serverless apps with Azure functions
WEB SERVICES.
CHAPTER 4 Financial Decisions and Planning
Windows Communication Foundation and Web Services
QuickBooks Features and Benefits QuickBooks is Intuit Inc.’s set of software solutions designed to manage payroll, inventory, sales and other needs of.
Section 3.2 Personal Financial Statements
C. Financing a Small Business
Android Topics UI Thread and Limited processing resources
Session Two A Financial Physical
Extending Financial Statement Information on a Work Sheet
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Recall: Balance sheet shows the financial position of a business for a specific point in time. Balance sheet shows assets, liabilities, and owner’s equity.
Point 6 Financial Statements
Extending Financial Statement Information on a Work Sheet
Financial Statements.
Extending Financial Statement Information on a Work Sheet
LESSON 14-6 Calculating Federal Income Tax and Completing a Work Sheet
Extending Financial Statement Information on a Work Sheet
Presentation transcript:

What are we producing? Riskflow provides the financial logic in the form of a DLL (Digital Linked Library) that is exposed via the.Net framework. This can run on local devices as well as be exposed as a web service.

The Proof of Concept It was important that we could deliver a DLL that could run and execute on the.Net framework. This meant that I initially tested by creating a sample C# program to test that the DLL is accessible as a.Net Object.

The Proof of Concept The idea is that we can store the serialised object as a BLOB on a database. This would give us access to both the methods and the data in the object.

The Prototype Now that we knew we could access the APL as an object, we created a prototype using HTML5. The idea was that any Smart Mobile Device can run HTML5 and that we could test the response from a Web Server exposing the DLL.

The Prototype HTML5 however proved to be to slow – depending on the device - and also limited our capabilities in what could be achieved visually. We decided to rather go the route of native development on Android as it covers a large number of devices and opens up a much improved visual experience.

How did we get there? Moving from APL2000 to Dyalog… Some problems along the way include Code can be directly copied but deliver different results Code can be copied but crashes without delivering results Code cannot be copied over as some functionality doesn’t exists

How did we get there? APL2000 Example that worked when directly copied to Dyalog. ret„a ON_ b;Œio;max © Returns matrix "a" concatenated along last dimension of "b" Œio„1 a„(¯2†1 1,½a)½a b„(¯2†1 1,½b)½b max„—/((½a),(½b))[2 4] ret„(((1†½a),max)†a),[1]((1†½b),max)†b

How did we get there? DYALOAG ↑(2 4 5) (4 5) APL2000 ENCTOMAT_ (2 4 5) (4 5) ret„ENCTOMAT_ enc ret„Œmix (— /0,½¨enc)†¨enc„,enc APL2000 (ALMAN) makes use of a function where Dyalog uses a “Monadic Take”

The DLL Functions visible on the.Net framework Initiating and setting values Calculating Returning results

The DLL Initiating and setting values Default Constructor Set_L1_ Set_L2_ Set_L3_ Set_L4_ Set_L5_

The DLL Calculating Calculate_Statements_ Returning results Get_BS_ALL_ Get_BS_Rows_ Get_IS_ALL_ Get_IS_Rows_ Get_CF_ALL_ Get_CF_Rows_

The Architecture The Architecture of the App is designed in stateless environment. Smart Phone/Device Andriod 4.1 Web Services The DLL Translation Services Formats the results for SOAP communication Excel Generating Services Services

The phone communicates via SOAP over the internet. The data is stores locally on the phone and sends requests to the server with a list of parameters. The server then replies with the information that was requested. The Architecture

THE CASHFLOW OPTIMIZER APP

Personal Details You detail will be used when creating output. An will be sent to your address as you supply it here.

Assets ∇ Set_L1_ rarg; ⎕ IO;V1;V2;V3 :Access Public :Signature Set_L1_ Double Properties, Double Vehicles, Double BankAccount ⍝⍝ Set_L1_.... ⎕ IO←1 ⍝⍝ (V1 V2 V3)←3↑rarg ∆bs_a_property←V1 ∆bs_a_vehicles←V2 ∆bs_bank←V3 ⍝⍝ End Function ∇

Investment Assets

∇ Set_L2_ rarg; ⎕ IO;V1;V2;V3;V4;V5;V6;V7;V8;V9;V10;V11 :Access Public :Signature Set_L2_ Double Shares, Double SharesCont, Double UnitTrust, Double UnitTrustCont, Double Retirement, Double RetirementCont, Double Savings, Double SavingsCont, Double FixedDeposit, Double InvertProperties, Double Other ⍝⍝ Set_L2_.... ⎕ IO←1 (V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11)←11↑rarg ∆bs_a_shares←V1 ∆bs_a_sharescont←V2 ∆bs_a_unit←V3 ∆bs_a_unitcont←V4 ∆bs_a_retfund←V5 ∆bs_a_retfundcont←V6 ∆bs_a_savings←V7 ∆bs_a_savingscont←V8 ∆bs_a_fixdep←V9 ∆bs_a_invprop←V10 ∆bs_a_other←V11 ∇

Liabilities

∇ Set_L3_ rarg; ⎕ IO;V1;V2;V3;V4;V5 :Access Public :Signature Set_L3_ Double PropertyLoans, Double InvestmentLoans, Double VehicleLoans, Double OtherLoans, Double CreditCard ⍝⍝ Set_L3_.... ⎕ IO←1 ⍝⍝ (V1 V2 V3 V4 V5)←5↑rarg ∆bs_l_property←V1 ∆bs_l_invprop←V2 ∆bs_l_vehicles←V3 ∆bs_l_loans←V4 ∆bs_l_credit←V5 ⍝⍝ End Function ∇

Income ∇ Set_L4_ rarg; ⎕ IO;V1;V2;V3 :Access Public :Signature Set_L4_ Double Salary, Double OtherIncome, Double Tax ⍝⍝ Set_L4_.... ⎕ IO←1 ⍝⍝ (V1 V2 V3)←3↑rarg ∆is_salary←V1 ∆is_income←V2 ∆is_tax←V3 ⍝⍝ End Function ∇

Expenses

∇ Set_L5_ rarg; ⎕ IO;V1;V2;V3;V4;V5;V6;V7;V8;V9;V10;V11;V12;V13;V14;V15;V16;V17; V18;V19;V20;V21;V22 :Access Public :Signature Set_L5_ Double Rent_Bank, Double Rent_Credit, Double WaterElec_Bank, Double WaterElec_Credit, Double Grosories_Bank, Double Grosories_Credit, Double Cloths_Bank, Double Cloths_Credit, Double Policies_Bank, Double Policies_Credit, Double Medical_Bank, Double Medical_Credit, Double Transport_Bank, Double Transport_Credit, Double Entertain_Bank, Double Entertain_Credit, Double Study_Bank, Double Study_Credit, Double Phone_Bank, Double Phone_Credit, Double Other_Bank, Double Other_Credit ⍝⍝ Set_L5_.... ⎕ IO←1 ⍝⍝ (V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21 V22)←22↑rarg ∆cf_rent←V1 ∆is_rent←V2 ∆cf_we←V3 ∆is_we←V ∆cf_other←V21 ∆is_other←V22 ∇

Balance Sheet

∇ Ret←Get_BS_All_; ⎕ IO;i :Access Public :Signature Double[,]←Get_BS_All_ ⍝⍝ ⎕ IO←1 i← Ret←∆bs_values[∆bs_Line ⍳ 100×i;( ⍳ 12),1+12× ⍳ 5] ∇ ∇ Ret←Get_BS_Rows_; ⎕ IO;i :Access Public :Signature String[,]←Get_BS_Rows_ ⎕ IO←1 i← Ret←∆bs_Depth[∆bs_Line ⍳ 100×i] Ret← ⍉ Ret,[0.5]∆bs_Description[∆bs_Line ⍳ 100×i] ∇

Balance Sheet Graph

Income Statement

∇ Ret←Get_IS_All_; ⎕ IO;i;tmp :Access Public :Signature Double[,]←Get_IS_All_ ⎕ IO←1 i← tmp←↑( ⊂ )YTD_¨↓∆is_values[∆is_Line ⍳ 100×i;] Ret←∆is_values[∆is_Line ⍳ 100×i;( ⍳ 12)],tmp[;12× ⍳ 5] ∇ ∇ Ret←Get_IS_Rows_; ⎕ IO;i :Access Public :Signature String[,]←Get_IS_Rows_ ⎕ IO←1 i← Ret←∆is_Depth2[∆is_Line ⍳ 100×i] Ret← ⍉ Ret,[0.5]∆is_Description[∆is_Line ⍳ 100×i] ∇

Income Statement Graph

Cash flow Statement

∇ Ret←Get_CF_Rows_; ⎕ IO;i :Access Public :Signature String[,]←Get_CF_Rows_ ⎕ IO←1 i← Ret←∆cf_Depth2[∆cf_Line ⍳ 100×i] Ret← ⍉ Ret,[0.5]∆cf_Description[∆cf_Line ⍳ 100×i] ∇ ∇ Ret←Get_CF_All_; ⎕ IO;i;j;k;tmp;res :Access Public :Signature Double[,]←Get_CF_All_ ⎕ IO←1 i← j←i~10 11 ⋄ k←10 11 tmp←↑( ⊂ )YTD_¨↓∆cf_values[∆cf_Line ⍳ 100×j;] res←∆cf_values[∆cf_Line ⍳ 100×k;] res[1;12]←∆bs_bank res[1;12×1+ ⍳ 4]←res[2;12× ⍳ 4] tmp←tmp ON_ res Ret←∆cf_values[∆cf_Line ⍳ 100×i;( ⍳ 12)],tmp[;12× ⍳ 5] ∇

Cash flow Statement Graph

Share your details Type in an address and they will receive an Excel copy of your Balance Sheet. This function is to help the bank gain value information to assist you.

Sharing Confirmation Confirmation message that indicates the status of the sent.

Demo Code I will now show you some examples including practical code of how the DLL has been implemented on multiple platforms.

Any Questions? ??