Od pomysłu do serwisu - część druga

Ze strony na stronę

Teraz nasza aplikacja funkcjonuje z jedną wpłatą, rejestrowaną w zmiennych KwotaNow, DzienNow, MiesNow i RokNow. Ponieważ każde odsłonięcie strony kredyt.asp umożliwia wpisanie nowej wpłaty, po pierwszej wpłacie może być następna, a potem następna i jeszcze następne. Pamiętajmy, że nie da się przechować obiektu klasy "CKredyt" między kolejnymi wpłatami. Trzeba więc każdorazowo, na całej stronie, przechować historię wpłat.

Skoro jedynym sposobem przekazania informacji o dotychczasowych wpłatach jest każdorazowe przesyłanie ich między stronami, musimy w formularzu "ukryć" informację o wszystkich spłatach przed aktualnie dodaną. W tym celu powołamy zmienne DzienWpl1, MiesWpl1, RokWpl1, Kwota1 dla pierwszej wpłaty, DzienWpl2, MiesWpl2, RokWpl2, Kwota2 dla drugiej itd. W tych zmiennych oczywiście umieścimy odpowiednie wartości oznaczające poprzednie spłaty, korzystając z tagu <INPUT type=hidden>, którego wartości nie są pokazywane na stronie, choć przekazywane w formularzu. Oczywiście, w następnej odsłonie trzeba je najpierw odczytać z tych zmiennych, a później dodać do obiektu klasy "CKredyt".

Wróćmy teraz do trzech kropeczek, które umieściliśmy podczas opisywania pierwszego formularza ze strony kredyt.asp. Umieśćmy tam wywołanie funkcji DodajDotychczasoweWplaty. Poniższy kod ilustruje algorytm, który możemy zastosować. Poniższy kod odczytuje również takie zmienne i kolejno tworzy nowe spłaty w modelu obiektowym komponentu kalkulatora RRSO.

<%

i = 0

Do While Request.Form("Kwota" & i)

sKwota = Request.Form("Kwota" & i);

sRokWpl = Request.Form("RokWpl" & i);

sMiesWpl = Request.Form("MiesWpl" & i);

sDzienWpl = Request.Form("DzienWpl" & i)

oKredyt.Splaty.Dodaj sKwota, DateSerial(sRokWpl, sMiesWpl, sDzienWpl) )

i=i+1

Loop

%>

I w ten sposób nawiązaliśmy "łączność" pomiędzy poszczególnymi wywołaniami strony kredyt.asp z nowymi ratami. Potrafimy obsłużyć pierwsze odsłonięcie strony, potrafimy obsłużyć drugie, potrafimy też każde kolejne. Serwis działa, a my możemy pochwalić się znajomym naszą pierwszą aplikacją online.

Dla banku i portalu

Serwis dla Kowalskiego to jednak zabawka. Można się nim pochwalić, rozreklamować i być może zarobić parę groszy na banerach reklamowych. Prawdziwy e-biznes wymaga jednak stworzenia komunikatu w języku komputerowym, który będzie zrozumiały dla innych serwisów. Otworzymy tym samym dostęp do niej instytucjom, które Rzeczywistą Roczną Stopę Oprocentowania chcą czy muszą podawać - a należą do nich banki, instytucje finansowe, firmy udzielające pożyczek, portale finansowe itd.

Uniwersalnym językiem takiej komunikacji jest XML. Mając stronę ASP przygotowaną do prezentacji dla użytkowników, wygenerowanie strumienia w XML dla tych samych danych jest banalne. Po pierwsze, musimy odczytać zmienne formularza określające dane kredytu oraz kolejne spłaty. Po drugie, na tej podstawie musimy wygenerować plik XML, np. w takiej postaci:

<?xml version="1.0" standalone="yes" ?>

<Kredyt Kwota="1000" RokUdzielenia="2001" MiesUdzielenia="1" DzienUdzielenia="1">

<Splata Kwota="100" Rok="2001" Mies="2" Dzien="1"/>

<Splata Kwota="100" Rok="2001" Mies="3" Dzien="1"/>

...

<RRSO>24,1%</RRSO>

</Kredyt>

Krótko mówiąc, efektem działania naszego serwisu będzie struktura odwzorowana w pliku XML, zawierająca zarówno dane wejściowe o kredycie i planie spłat, jak i obliczone przez nasz serwis (RRSO w przedostatnim wierszu).

Wnioski

Nasz serwis nie jest idealny. Można by pomarzyć o kilku udogodnieniach - np. automatycznym wypełnianiu tabeli przy kredytach obliczanych na kilka typowych sposobów (prowizja + stała rata, prowizja + oprocentowanie + stała część kapitału itd.), bo w przypadku kredytu np. dziesięcioletniego wpisanie 120 rat jest więcej niż kłopotliwe. Można też poprawić wpisywanie daty, aby po prostu nie dało się określić daty np. 31 kwietnia. Najlepiej ćwiczyć tworzenie aplikacji internetowych właśnie na takich drobiazgach, rozwijając istniejący serwis, a nie od razu tworząc od podstaw własny.

"Śpiewać każdy może" - przekonywał swego czasu Jerzy Stuhr. Nie chcę przekonywać, że programowanie aplikacji internetowych to zajęcie dla każdego. Natomiast warto przekonywać - i temu właśnie ma służyć artykuł - że nie taki diabeł straszny, jak go malują. Że posiadając wykształcenie, poświęcając czas na zaprojektowanie architektury serwisu i przyjmując kilka podstawowych założeń z dziedziny dialogu z użytkownikiem, można szybko przeobrazić aplikację opartą na komponentach w elastyczną, otwartą i wydajną aplikację internetową. Dziś warto zrobić to porządnie na próbę, aby jutro nie robić tego na gwałt i byle jak.

Zobacz też

Od pomysłu do serwisu - część pierwsza

Kalkulator - pobierz pliki źródłowe

Autor dziękuje Małgorzacie "Zuzance" Krzyżaniak za jej cenne uwagi, które pozwoliły podnieść jakość serwisu.


TOP 200