Web MVC w Tibco BW
Proces aktywowany HTTP Receiverem jest kontrolerem do spółki z podprocesami obsługiwującymi konkretne akcje (które mogą być inicjowane formularzem HTML). Obsługa akcji ma blokowy szablon HTML, CSS umieszczony inline w znaczniku head. Aktywności SQL select można bardzo łatwo połączyć z generowaniem tabelek.
<table> <xsl:for-each select="$JDBC-Query/resultSet/Record"> <xsl:if test="position()=1"> <tr> <xsl:value-of select="tib:concat-sequence-format(for $elem in current()/* return concat('<td>',local-name($elem),'</td>'), '', 1)"/> </tr> </xsl:if> <tr><xsl:value-of select="tib:concat-sequence-format(for $elem in current()/* return concat('<td>',$elem,'</td>',) '', 1)"/></tr> </xsl:for-each> </table>
Numer procesu Tibco BW obsługującego pierwszy request HTTP staje się identyfikatorem sesji, której dane trzymane są w ConcurrentHashMap. Obsługa żądania HTTP nie czeka na pobranie dużej ilości rekordów z bazy - aktywność JDBC jest asynchroniczna, wynik pobierany jest na zasadzie sprawdzenia dostępności danych w sesji. Przeładowanie strony powoduje pobranie danych z pamięci podręcznej sesji a nie bazy. Zoptymalizowane zapytanie SQL jest szybsze od Hibernate-a.
KISS me.
0 komentarze:
Prześlij komentarz