Od pomysłu do serwisu
- Jakub Chabik,
- 25.02.2002
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.
Od pomysłu do serwisu - część II - jak zbudowac serwis internetowy oparty na naszym nowo stworzonym komponencie
Kalkulator - pobierz pliki źródłowe
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.