Od pomysłu do serwisu

Jednym z najważniejszych elementów nowego etapu rozwoju Internetu jest budowa tzw. serwisów sieciowych (Web services). Już nie statyczne strony WWW ani nawet strony o zmiennej zawartości, ale złożone, oparte na komponentach i komunikujące się z sobą serwisy są przyszłością Internetu. Niniejszy artykuł prezentuje problem budowy takiego serwisu na prostym przykładzie. Jest skierowany do osób znających podstawy programowania, zainteresowanych tworzeniem serwisów internetowych.

Jednym z najważniejszych elementów nowego etapu rozwoju Internetu jest budowa tzw. serwisów sieciowych (Web services). Już nie statyczne strony WWW ani nawet strony o zmiennej zawartości, ale złożone, oparte na komponentach i komunikujące się z sobą serwisy są przyszłością Internetu. Niniejszy artykuł prezentuje problem budowy takiego serwisu na prostym przykładzie. Jest skierowany do osób znających podstawy programowania, zainteresowanych tworzeniem serwisów internetowych.

Zobacz też

Od pomysłu do serwisu - część II - jak zbudowac serwis internetowy oparty na naszym nowo stworzonym komponencie

Kalkulator - pobierz pliki źródłowe

Czy trudno jest pomylić bank ze Świętym Mikołajem? Raczej tak. Bank zajmuje się zarabianiem pieniędzy, Święty Mikołaj zaś rozdawaniem prezentów. Przed Bożym Narodzeniem, obserwując oferty "szybkich kredytów świątecznych", "pożyczek w promocji" i "rat 0%", można było odnieść wrażenie, że banki na chwilę zamieniły się w instytucje charytatywne. Prześcigały się bowiem w ofertach pożyczek tak korzystnych, że wydawało się, iż trzeba oddać nie więcej niż się pożyczyło, a kto wie, czy nie mniej. Osoby uważne lub doświadczone nie wierzą takim ofertom, bo zwykle okazuje się, że "świąteczna promocja kredytów" staje się mniej atrakcyjna niż debet na koncie albo zwykła linia kredytowa. Brakuje jednak wskaźnika, który pozwoliłby porównać różne oferty i dociec, ile rzeczywiście trzeba będzie spłacić kredytodawcy.

Taki wskaźnik, rzeczywista roczna stopa oprocentowania (RRSO), jest zdefiniowany w ustawie o kredycie konsumenckim z 20 lipca 2001 r. Podaje ona wzór na obliczenie tej stopy i nakazuje podawanie jej przy każdym kredycie konsumenckim. Bankom wprawdzie udało się zablokować wejście w życie tej ustawy na rok, ale nie ma powodu, aby już dziś nie pomóc konsumentom w uświadomieniu, na ile rzeczywiście jest oprocentowana pożyczka, której udzielono. Można zdefiniować i wykonać prosty komponent, który będzie obliczał RRSO, a następnie udostępnić go w Internecie i to na dwa sposoby. Pierwszy, "konsumencki" pozwoli każdemu internaucie wprowadzić plan spłat swojego kredytu i dowiedzieć się, ile wynosi RRSO. Drugi, "biznesowy" stworzy serwis, z którego będą mogły korzystać np. banki, sklepy i witryny finansowe, chcące zamieścić na swoich stronach informację o realnej stopie procentowej.

Definicja problemu

Aby móc stworzyć komponent coś obsługujący, musimy dokładnie wiedzieć, co mamy oprogramować. Załącznik do ustawy o kredycie konsumenckim zawiera wzór obliczenia rzeczywistej rocznej stopy oprocentowania. W ustawie jest zapisany wzór ogólny, pozwalający na wyliczenie RRSO udzielanego w wielu transzach, ale ponieważ większość pożyczek jest udzielana jednorazowo, można uprościć ten model. Zakładając, że wypłata następuje w jednej racie, wzór ulega uproszczeniu do następującego:

gdzie:

W - kwota kredytu

k - numer kolejnej spłaty

N - liczba wszystkich spłat

A<sub>k</sub> - wysokość kolejnej spłaty

t<sub>k</sub> - okres wyrażony w latach lub ułamkach lat, upływający od wypłaty kredytu do kolejnej spłaty

i - rzeczywista roczna stopa oprocentowania

Szukaną wartością jest rzeczywista roczna stopa oprocentowania, czyli "i".

Przy niebanalnym planie spłat wyliczenie takiego równania w sposób analityczny jest zadaniem zbyt złożonym, żeby zlecać je maszynie. Realnie patrząc, mało który matematyk poradziłby sobie z nim w rozsądnym czasie. Zamiast tego, lepiej spróbować wyliczyć RRSO w sposób iteracyjny, za pomocą kolejnych przybliżeń. Szczegółowy algorytm pozostawmy jednak na razie na inną fazę projektowania.