piątek, lutego 03, 2012

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: