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]