Zarządzanie kontami bankowymi na przykładzie aplikacji

Transkrypt

Zarządzanie kontami bankowymi na przykładzie aplikacji
ZARZ
DZANIE KONTAMI BANKOWYMI NA PRZYKŁADZIE APLIKACJI
WYKORZYSTUJACEJ STANDARD OFX
WALDEMAR KARWOWSKI,
ALEKSANDRA SAWCZUK,
ARKADIUSZ ORŁOWSKI
Katedra Informatyki SGGW
Streszczenie
Artykuł przedstawia podstawy standardu Open Financial Exchange (OFX) oraz
proces formułowania załoe, projektowania i tworzenia prostego systemu do obsługi wycigów bankowych. Omówiono podstawowe elementy standardu i ich rol w
dokumencie OFX. Przedstawiono przykładowe komunikaty ze szczególnym uwzgldnieniem zapyta dotyczcych wycigu bankowego. Nastpnie zaprezentowano wymagania programu oparte o rozpoznane potrzeby potencjalnych uytkowników.
Przedstawiono najwaniejsze elementy projektu oraz omówiono wykorzystane technologie. Na kocu sformułowano wnioski i dowiadczenia zebrane podczas realizacji
projektu.
Słowa kluczowe: OFX, XML, informatyczne systemy bankowe, wymiana danych
1. Wstp
Współczenie praktycznie wszdzie, niezalenie od tego czy jest to urzd, instytucja finansowa, firma produkcyjna czy usługowa nastpuje wymiana danych. Dane dotycz klientów, produktów a take zwizanych z nimi operacji finansowych. Przekazywane s one w rónej postaci, pomidzy wieloma systemami i programami, działajcymi w rónych firmowych działach. Jeeli dane
te s przekazywane w rónych formatach to staje si to uciliwe dla tych, którzy chc je wykorzysta w innej aplikacji w postaci innej ni ródłowa. Rczne przepisywanie jest do przyjcia tylko
w przypadku niewielkich dokumentów. Konwertowanie danych przez pracowników, nawet przy
pomocy rozmaitych narzdzi, jest uciliwe, czasochłonne i niestety do czsto bywa działaniem
generujcym błdy. W efekcie na wiksz skal jest to postpowanie bardzo kosztowne, co szczególnie w okresie kryzysu finansowego, ma niebagatelne znaczenie. Obecnie obrót pienidza odbywa si przede wszystkim w formie elektronicznej, tradycyjne formy: monety, banknoty czy czeki
maj znaczenie drugorzdne, natomiast dane o operacjach finansowych s bardzo wane, powinny
by przekazywane i przetwarzane w moliwie najkrótszym czasie. W odpowiedzi na te potrzeby
powstały róne standardy do bezporedniej wymiany informacji finansowych, jednym z najwaniejszych jest OFX [1]. Standard ten jest bardzo obszerny ze wzgldu na ilo czynnoci bankowych jakie obsługuje, zajmuje si te bezpieczestwem wymiany danych oraz synchronizacj. Jednake firmy w zalenoci od potrzeby mog wykorzystywa tylko niektóre jego elementy. Celem
niniejszej pracy jest pokazanie jak mona usprawni zarzdzanie kontem bankowym oraz zbadanie
czy mona przy pomocy powszechnie dostpnych narzdzi programistycznych zbudowa funkcjonaln aplikacj wspierajc standard OFX. Praca jest czci wikszego cyklu bada na temat re-
POLSKIE STOWARZYSZENIE ZARZDZANIA WIEDZ
Seria: Studia i Materiały, nr 18, 2009
87
prezentacji informacji finansowych w jzyku XML [2]. Oprócz walorów technicznych wyniki mog stanowi podstaw integracji koncepcji z dziedziny operacji finansowych w formie modelu
ontologicznego.
2. Podstawy standardu OFX
W dobie informatyzacji wielu klientów instytucji finansowych korzysta ze swoich rachunków
bankowych poprzez strony WWW. Dla przecitnego uytkownika korzystajcego z bankowoci
elektronicznej przejrzenie historii swoich transakcji, które prawdopodobnie nie s zbyt liczne, nie
jest zadaniem trudnym. Do tego wystarczaj podstawowe usługi dostarczane przez dany bank.
Problem pojawia si wtedy, gdy indywidualny klient lub instytucja finansowa, generuje miesicznie kilka tysicy transakcji na swoim rachunku bankowym i dostpne proste narzdzia staj si
niezbyt wygodne. W zwizku z rosnca liczb transakcji zawieranych za porednictwem sieci internetowej pojawiło si zapotrzebowanie na nowoczesne narzdzia, które umoliwiły by szybk,
spójn i uniwersaln komunikacj pomidzy klientami a bankami. Odpowiedni podstaw do
sformalizowania wymiany takich danych okazał si jzyk znaczników XML (eXtensible Markup
Language). Jest to standard tekstowy, którego podstawowym celem jest przechowywanie danych
i ich struktury, a nie ich prezentacja. Podstawow jego cech jest samoopisywalno – dobrze nazwane znaczniki w dokumencie XML opisuj wartoci jakie zawieraj i co one oznaczaj. Teksty
przygotowane w ten sposób mona formatowa na róne sposoby i poddawa je dalszemu przetwarzaniu. Dodatkowo cech tego jzyka s jasno i jednoznacznie zdefiniowane reguły tworzenia dokumentów oraz łatwo w tworzeniu oprogramowania korzystajcego z tyche dokumentów. Jest
to standard otwarty i niezaleny od platformy, został utworzony i jest rozwijany przez niedochodow organizacj W3C na otwartej bezpłatnej licencji. XML stał si podstaw kilku standardów w
brany finansowej, najbardziej popularnym z nich jest OFX który powstał w 1997 roku dziki
współpracy trzech firm: CheckFreeCorp, Intuit Inc. oraz Microsoft Corporation. Standard ten jest,
jak sama nazwa wskazuje, standardem otwartym – oznacza to, e kady, zarówno klient indywidualny jak i dua instytucja finansowa, moe bezpłatnie z niego korzysta. W szczególnoci standard
OFX wspomaga szeroki zakres finansowych czynnoci, takich jak: wycigi bankowe, karty kredytowe, przelewy rodków, poyczki, płatnoci konsumenckie, płatnoci firmy, wycigi brokerskie,
włczajc w to histori transakcji, biece portfele akcji, salda dla normalnych kont i planów
oszczdnociowych 401(k) (Brokerage and mutual fund statement download, including transaction history, current holdings, and balances for normal accounts and 401(k) accounts), przedstawienia do zapłaty i wypłaty, formularze podatkowe, pobieranie obrazów dla celów bankowych.
Udostpniony jest równie mechanizm automatic 1–Way OFX (Active Statements/Web Connect),
który umoliwia instytucji finansowej dostarczanie historii transakcji ze stron internetowych
z aplikacjami bankowymi bezporednio do klientów, którzy uywaj programu MS Money. Wycigi s dostarczane do aplikacji klienckiej w postaci pliku zgodnego ze schematem OFX. Drug
grup funkcjonalnoci stanowi wspomaganie komunikacji pomidzy instytucjami finansowymi
włczajc takich członków jak: banki, domy maklerskie, partnerzy handlowi, doradcy finansowi
czy agencje rzdowe. Ponadto OFX wspomaga szeroki zakres nakładek (front–end applications) –
w tym aplikacje internetowe, obsługujc wszystkie typy usług finansowych na wszystkich platformach. Dziki otwartoci i rozszerzalnoci standard znajduje zastosowanie nie tylko w realiach
amerykaskich, moe by stosowany w innych krajach.
88
Waldemar Karwowski, Aleksandra Sawczuk, Arkadiusz Orłowski
Zarzdzanie kontami bankowymi na przykładzie aplikacji wykorzystujacej standard OFX
Standard zakłada działanie w modelu klient - serwer. Najogólniej mówic komunikacja
w systemie OFX odbywa si za pomoc par zapytanie – odpowied
. Zapytanie ma posta dokumentu XML zgodnego ze schematem OFX, który jest przesyłany przez aplikacj klienck do serwera. Serwer na zapytanie klienta wysyła odpowied
, która ma równie struktur dokumentu
XML. Ma to odwzorowanie w nazewnictwie znaczników: nazwy znaczników oznaczajcych zapytania kocz si literami RQ, natomiast nazwy znaczników oznaczajce odpowiedzi serwera – literami RS. Przedstawimy teraz w skrócie budow dokumentu OFX, jest ona zdefiniowana za pomoc schematów XML. Na pocztku pliku OFX znajduje si typowa deklaracja XML, za bezporednio po niej deklaracja OFX:
<?xml version="1.0" encoding="UTF–8"?>
<?OFX OFXHEADER="200" VERSION="211" SECURITY="NONE" OLDFILEUID="NONE"
NEWFILEUID="NONE"?>
Wszystkie atrybuty w deklaracji OFX s wymagane i przyjmuj warto NONE jeli klient
albo serwer ich nie wykorzystuj. OFXHEADER – okrela wersj deklaracji OFX; specyfikacja
2.1.1 korzysta z wersji 2.0.0 tej instrukcji, zatem warto tego atrybutu jest 200. VERSION – okrela numer wersji OFX w jakiej bd zapisywane kolejne bloki dokumentu OFX; dla specyfikacji
OFX 2.1.1. warto atrybutu wynosi 211. SECURITY – okrela typ poziomu zabezpieczenia jeeli
jest uyte dla bloków OFX; moe przyjmowa dwie wartoci: NONE albo TYPE1. OLDFILEUID
– identyfikuje ostatnie zapytanie i odpowied
, która została otrzymana i przetworzona przez klienta. NEWFILEUID – jednoznacznie identyfikuje plik z zapytaniem. NEWFILEUID musi by wysłany z kadym zapytaniem oraz serwer musi umieci ten sam identyfikator w odpowiedzi. Ma to
na celu szybkie zidentyfikowanie dwóch tych samych zapyta i jest take wykorzystywane w obsłudze błdów. Po deklaracji nastpuje właciwy blok OFX, rozpoczyna si on od bloku zwanego
top–level OFX. Jest to korze dokumentu z elementem głównym OFX i odnonikiem do głównego
schematu standardu OFX, którym jest plik OFX2_Protocol.xsd. Plik ten zawiera łcza do pozostałych schematów OFX . Przykładowo:
<ofx:OFX xmlns:ofx="http://ofx.net/types/2003/04"
xmlns:xsi="http://www.w3.org/2001/XMLSchema–instance"
xsi:schemaLocation="http://ofx.net/types/2003/04 OFX2_Protocol.xsd">
Struktura dokumentu jest hierarchiczna, wszystkie kolejne bloki s zagniedone w blokach
wyszego poziomu. Drugi blok to zestawy wiadomoci i wersje kontrolne (Message Sets and Version Control). OFX organizuje wiadomoci w zestawy. Ogólnie zestawy te zawieraj cało (lub
cz) usługi jak chciałby wykona uytkownik serwisu obsługujcego OFX. Znaczniki zestawów
wiadomoci s nazywane według nastpujcej konwencji: <xxxMSGSRQVn> – danie skierowane do serwera, oraz <xxxMSGSRSVn> – odpowied
z serwera, gdzie xxx – oznacza konkretn
operacj bankow, natomiast n – oznacza numer wersji kontrolnej, która została uyta w wiadomoci; dla schematu OFX w wersji 2.1.1 (i poprzednich) warto ta zawsze wynosi 1. Kada pojedyncza wiadomo musi by zawarta w odpowiednim dla niej zestawie wiadomoci. Z kolei zestawy
wiadomoci musz spełnia nastpujce zasady: zapytanie RQ moe zawiera co najwyej jedno
opakowanie zestawu wiadomoci (message set wrapper) kadego typu; wszystkie wiadomoci
umieszczone wewntrz jednego zestawu musz pochodzi z tej samej wersji kontrolnej; serwer
musi odpowiada uywajc tych samych zestawów wiadomoci i wersji jakie zostały uyte w pliku
POLSKIE STOWARZYSZENIE ZARZDZANIA WIEDZ
Seria: Studia i Materiały, nr 18, 2009
89
z daniem. Zestawy wiadomoci w pliku OFX musz pojawia si w ustalonym porzdku, na
przykład SIGNONMSGSRQV1 (Signon) musi poprzedzi SIGNUPMSGSRQV1 (Signup).
Trzeci blok to opakowania synchronizacji (Synchronizations wrappers). Standard OFX zapewnia synchronizacj danych. Jest ona wykorzystywana w przypadku wystpienia błdów, na
przykład zapewnia prawidłowe przetworzenie zapyta pochodzcych z wielu aplikacji jednego
klienta, na przykład odtwarza dane z backupu.
Kolejnym blokiem OFX jest transakcja (transaction). Transakcja składa si z wiadomoci
i z dodatkowych informacji z ni zwizanych, takich jak np. unikalny identyfikator transakcji, który jest uywany, aby zapobiec ewentualnej niejednoznacznoci w dopasowywaniu zapytania
i zwizanej z nim odpowiedzi. Instrukcje inne ni SONRQ/SONRS (element ten identyfikuje i autoryzuje uytkownika wobec instytucji finansowej) s przetwarzane jako transakcje. Kada wiadomo jest otoczona odpowiadajcym jej opakowaniem transakcji (transaction wrapper). Nazwy
opakowa transakcji s budowane wg wzoru: <xxxTRNRQ>/<xxxTRNRS>. Kade opakowanie
transakcji otacza pojedyncz transakcj, np. opakowanie transakcji <LOANSTMTTRNRS> otacza
odpowied
serwera <LOANSTMTRS>.
Najbardziej zagniedony blok to wiadomoci. Specyfikacja OFX uywa take jednolitej
konwencji do nazywania znaczników poszczególnych instrukcji w zalenoci od ich funkcji. Ponisza tabela przedstawia te grupy razem z przykładem konkretnego polecenia dla zapytania RQ.
Tabela 1. Konwencja w nazewnictwie znaczników w OFX
Grupa
wiadomoci
RQ
Przykład RQ
<STMTRQ>
Funkcja
Basic
<xxxRQ>
odczyt czynnoci
Add
<xxxRQ>
Modify
<xxxMODRQ>
<PMTMODRQ>
modyfikacja
Delete
<xxxDELRQ>
<PAYEEDELRQ>
usuwanie
Cancel (1)
<xxxCANRQ>
Cancel (2)
<xxxCANCRQ>
tworzenie nowej instancji obiektu
anulowanie
<PMTCANCRQ>
anulowanie
ródło: http://www.ofx.net/
Przykładowo wiadomo dla wycigu bankowego składa si z zapytania <STMTRQ> i odpowiedzi <STMTRS>.
3. Wycig bankowy w OFX
Za pomoc standardu OFX klient moe utworzy wycig elektroniczny zawierajcy takie same informacje jak wycig bankowy na papierze. Aplikacje klienckie zazwyczaj pozwalaj uytkownikom zobaczy dokonane transakcje i prowadz uytkowników poprzez proces ksigowania
ich przychodów i wydatków na podstawie transakcji zarejestrowanych przez serwer instytucji finansowej. Kada transakcja finansowa ma swoje ID nadane przez instytucj finansow, dziki
czemu w systemie OFX sprawdzane jest czy dana transakcja została przetworzona tylko raz. danie wycigu bankowego moe zawiera daty pocztkowe i kocowe. OFX moe take uywa
90
Waldemar Karwowski, Aleksandra Sawczuk, Arkadiusz Orłowski
Zarzdzanie kontami bankowymi na przykładzie aplikacji wykorzystujacej standard OFX
kocowej daty jako pocztkowej przy nastpnym daniu wycigu bankowego. Schemat wycigu
bankowego wymaga, aby klient okrelił konto, z którego chce otrzyma list transakcji, oraz eby
wskazał czy serwer powinien ciga transakcje i/lub salda konta. Jeeli klient zayczy sobie wycignicia transakcji, moe on okreli z jakiego przedziału czasowego maj one pochodzi. W
tym przypadku serwer zwraca transakcje, które pasuj do zdefiniowanego w daniu przedziału
czasowego i saldo dla konta. Jeeli uytkownik nie zdefiniuje przedziału czasowego zostan cignite wszystkie transakcje zarejestrowane na danym koncie.
Dokument XML zgodny ze schematem OFX i definiujcy zapytanie od klienta o wycig bankowy zawiera si w zestawie wiadomoci BANKMSGSRQV1, w transakcji STMTTRNRQ. Zestaw wiadomoci jest typu BankRequestMessageSetV1 i jego definicja znajduje si w głównym
pliku standardu OFX – w OFX2_Protocol.xsd. Struktura zestawu wiadomoci BANKMSGSRQV1
została przedstawiona poniej:
<BANKMSGSRQV1>
<STMTTRNRQ>
<TRNUID>TRANSACTION20080615040430</TRNUID>
<TAN>20080615040430</TAN>
<STMTRQ>
<BANKACCTFROM>
<BANKID>f123456</BANKID>
<ACCTID>ac129876</ACCTID>
<ACCTTYPE>CREDITLINE</ACCTTYPE>
</BANKACCTFROM>
<INCTRAN>
<DTSTART>20050206</DTSTART>
<DTEND>20050212</DTEND>
<INCLUDE>Y</INCLUDE>
</INCTRAN>
</STMTRQ>
</STMTTRNRQ>
</BANKMSGSRQV1>
Agregat <STMTTRN> opisuje pojedyncz transakcj. Identyfikuje typ transakcji i dat, kiedy została przesłana. Ten agregat moe take zawiera dodatkowe informacje, aby pomóc aplikacji
klienckiej rozpozna poszczególne transakcje: numer rachunku, nazw płatnika, notatk. Transakcja moe posiada Standard Industrial Code, który klient moe uy do skategoryzowania transakcji. Kady agregat <STMTTRN> posiada identyfikator, uywany przez aplikacj klienck w celu
wykrycia, czy serwer cignł ju wczeniej dan transakcj. Agregat <STMTTRNRQ> jest opakowaniem transakcji i włanie w nim znajduje si zapytanie o wycig bankowy z danego konta –
<STMTRQ>, które jest typu StatementRequest. <STMTRQ> składa si kilku z elementów i agregatów. <STMTRQ> jest wymaganym agregatem dla opakowania transakcji <STMTTRNRQ>.
Składa si z agregatu <BANKACCTFROM> zawierajcego informacje o koncie, którego dotyczy
danie klienta. Agregat ten składa si z kilku elementów, które, w zalenoci od kraju, mog
przechowywa róne informacje. Przykładowo element <BANKID> w Belgii zawiera kod banku,
w Kanadzie i w USA numer transakcji, w Wielkiej Brytanii – kod sortowania transakcji w wyci-
POLSKIE STOWARZYSZENIE ZARZDZANIA WIEDZ
Seria: Studia i Materiały, nr 18, 2009
91
gu. Natomiast <ACCTID> oraz <ACCTTYPE> okrelaj odpowiednio numer konta bankowego
oraz jego typ bez wzgldu na kraj. OFX wyrónia cztery typy kont bankowych: CHECKING –
rachunek rozliczeniowy; SAVINGS – konto oszczdnociowe; MONEYMRKT – rynek pieniny;
CREDITLINE – konto kredytowe.
Struktura zestawu wiadomoci BANKMSGSRSV1 jest podobna do zapytania. Wartoci
transakcji zwrócone w odpowiedzi serwera s przedstawione w czytelnej dla uytkownika postaci,
np. jeeli klient zapłacił kart w sklepie, to warto transakcji bdzie ujemna; jeeli konto zostało
zasilone przez przelew zewntrzny – warto ta bdzie dodatnia. Odpowied
serwera moe zawiera nieograniczon ilo opakowa transakcji, w dowolnej kolejnoci. Składa si ona z elementów,
które prezentuj róne salda, czyli róne transakcje <STMTTRN>, których moe by zero albo
wicej. Odpowied
serwera moe zawiera take agregat <BALLIST>, który pozwala instytucji
finansowej wysyła do uytkownika dowoln liczb agregatów <BAL>, z opisem i tekstem pomocy. Opakowanie transakcji <STMTTRNRS> zawiera standardowe elementy, agregat <STMTRS>
moe wystpowa wiele razy (minimum jeden raz).
Jak wida nawet tak z pozoru prosta operacja jak wycig jest w formacie OFX dosy rozbudowana aby zagwarantowa uwzgldnienie rozmaitych opcji. Realizacja innych operacji jest podobna, bardziej szczegółowy opis nie jest moliwy bez nadmiernego zwikszenia objtoci niniejszej pracy.
4. Proces realizacji projektu
Po przeanalizowaniu potrzeb potencjalnych uytkowników zdecydowano, e podstawowym
wymogiem jest obsługa wycigu bankowego. Umoliwia on klientowi otrzymanie transakcji i sald,
które s zazwyczaj czci standardowego wycigu papierowego. Klienci mog uzyskiwa takie
dane codziennie jeli tylko tego sobie zaycz. Zaprojektowany program jest przykładem aplikacji
klienckiej, która umoliwia tworzenie zapyta do serwera w postaci wygenerowanych dokumentów
XML, zgodnych ze standardem OFX [3]. Oprócz tworzenia zapyta aplikacja obsługuje równie
import dokumentów zgodnych z OFX. Zgodnie z przyjtym załoeniem sporód wielu transakcji
bankowych, dla których specyfikacja OFX zawiera schematy pyta i odpowiedzi w systemie klient
– serwer wybrano zapytanie o wycig bankowy, które zaimplementowano w aplikacji. Poniewa
aplikacja nie obsługuje całego standardu, jedynie jego cz, w przypadku czytania analizowane s
tylko elementy zaimplementowane. Trzeba zaznaczy, e rozszerzenie programu na inne zapytania
nie powinno sprawia wikszych trudnoci, wymaga bdzie jednak znacznej rozbudowy graficznego interfejsu uytkownika. Program umoliwia uytkownikowi wprowadzenie danych do transakcji wycigu bankowego zgodnej ze standardem OFX. Do korzystania z aplikacji nie jest niezbdne posiadanie jakiejkolwiek wiedzy na temat standardu OFX, czy nawet jzyka XML.
Do implementacji wybrano rodowisko Visual Studio oraz jzyk C# wraz z platform .NET
[4]. Program w obecnej wersji wykorzystuje funkcje dostpne w bezpłatnej wersji C# Express.
W programie wykorzystano przede wszystkim bibliotek System.Xml, która pozwala na obsług
podstawowych standardów zwizanych z jzykiem XML: Docmument Object Model, XML Schema, XML Namespaces, XPath i XSLT. Do tworzenia graficznego interfejsu uytkownika wykorzystano kontrolki System.Windows.Forms, zapis i odczyt plików realizuje biblioteka System.IO.
Wybrane narzdzia programistyczne sprawdziły si bardzo dobrze, podczas realizacji nie było
adnego problemu od strony technologii.
92
Waldemar Karwowski, Aleksandra Sawczuk, Arkadiusz Orłowski
Zarzdzanie kontami bankowymi na przykładzie aplikacji wykorzystujacej standard OFX
Program posiada dwie zakładki: Settings oraz Data. Pierwsza zakładka słuy do konfiguracji
zestawu wiadomoci SIGNONMSGSRQV1. Ta zakładka nie jest przeznaczona dla przecitnego
uytkownika, ale dla administratora aplikacji. Druga z zakładek – Data – jest ju przeznaczona dla
uytkownika i pozwala na wygenerowanie pliku z zapytaniem do serwera instytucji finansowej o
wycig transakcji bankowych (Rysunek 1). Uytkownik obowizkowo musi okreli konto, z którego chciałby dosta wycig bankowy poprzez pola w grupie Bank Account From, a take zna ID
banku. Jeeli aplikacja byłaby dedykowana dla konkretnej instytucji, pole to moe mie ustalon
zawsze warto, zdefiniowan przez dostawc oprogramowania.
Rysunek 1. Główne okno programu „OFX program”
ródło: opracowanie własne
5. Podsumowanie
W chwili obecnej tylko dwa banki w Polsce oferuj obsług schematu OFX – CitiBank i ING
Bank lski, natomiast na wiecie jest ich około 5000. Prawdopodobnie przyczyn słabego rozwoju standardu OFX w polskich bankach jest to, e jak kade nowe rozwizanie, wymaga ono czasu i
pienidzy. Drug istotn rzecz jest fakt, e instytucje finansowe postrzegaj schemat OFX tylko
jako rozwizanie dla transakcji online, a zapominaj, e standard OFX równie dobrze moe by
tylko wykorzystany do struktury wycigów bankowych, czyli w jego statycznej formie.
Due instytucje finansowe dysponujce zasobami finansowymi, jeeli zdecyduj si na implementacj OFX, maj do wyboru wiele moliwoci. Inaczej sytuacja wyglda z punktu widzenia
POLSKIE STOWARZYSZENIE ZARZDZANIA WIEDZ
Seria: Studia i Materiały, nr 18, 2009
93
indywidualnego uytkownika chccego zarzdza swoimi finansami. Import dokumentów XML
zgodnych ze standardem OFX jest obecnie zaimplementowany w takich programach jak Money
firmy Microsoft, GnuCash (rozwijanego na licencji OpenGL) czy Quicken firmy Intuit. Mamy take sporo naszych rodzimych programów wspomagajcych zarzdzanie budetem: DBBD Twój
Budet 1.2.5, ePortfel Lite, Interesik 2005 czy Skarbnik 4, niestety tylko ten ostatni umoliwia import dokumentów w formacie OFX. Stworzona przez nas aplikacja spełnia wszystkie pocztkowe
załoenia. Dziki obiektowemu podejciu, istnieje moliwo jej rozwoju poprzez dodanie nowych
modułów (np. moliwoci przechowywania przez uytkowników plików na serwerze). Zmiana taka
nie pociga za sob ingerencji w ju napisany kod, poniewa polega ona tylko na dodaniu odpowiednich klas oraz szablonów odpowiedzialnych za widok.
Bibliografia
1.
2.
3.
4.
Standard OFX: http://www.ofx.net/
Karwowski W., Orłowski A., Standard ACORD przykład implementacji, Monografia
„Informatyka dla Przyszłoci”, redakcja naukowa: Jerzy Kisielnicki, Wydawnictwo
Naukowe Wydziału Zarzdzania Uniwersytetu Warszawskiego, Warszawa 2008, str. 291299.
Perry S. C., „C# i .NET”, Helion 2006.
Sawczuk A. OFX - format do wymiany danych finansowych z przykładem wykorzystania.
Praca magisterska, SGGW Warszawa, 2008.
94
Waldemar Karwowski, Aleksandra Sawczuk, Arkadiusz Orłowski
Zarzdzanie kontami bankowymi na przykładzie aplikacji wykorzystujacej standard OFX
BANK ACCOUNTS MANAGEMENT
BY AN EXAMPLE OF APPLICATION USING OFX STANDARD
Summary
The purpose of this paper is presentation of Open Financial Exchange (OFX)
standard, together with requirements, designing and implementation process of simple bank account statement application. Main elements of the standard were described together with their role in OFX document. Sample messages, particularly
connected with bank account statement are presented. Then system requirements
based on typical user needs are described. Main parts of software project and utilized technologies are discussed. At the end conclusions and experience gathered
during project realization are summarized.
Keywords: OFX, XML, information bank systems, data exchange
Waldemar Karwowski
Aleksandra Sawczuk
Arkadiusz Orłowski
Katedra Informatyki SGGW
02-787 Warszawa ul.Nowoursynowska 159
e-mail: [email protected]
e-mail: [email protected]