meniu sus - ISOtop Enterprise - sistem integrat de gestiune si management meniu sus - ISOtop.ro
ISOtop Enterprise - Aplicatie ERP, sistem integrat
ISOtop Enterprise - Aplicatie ERP, sistem integrat - oferta speciala pana in 31.12.2009

Tehnologie web de ultima generatie, noi optiuni de interconectare - ISOtop Enterprise - Aplicatie ERP, sistem integrat

Tehnologie web de ultima generatie, noi optiuni de interconectare - ISOtop Enterprise - Aplicatie ERP, sistem integrat

Dupa cum se poate vedea in figura de mai sus, rolul framework-ului SEAM este acela de management al contextului aplicatiei. SEAM gestioneaza bean-urile aplicatiei, conversatiile active si procesele business.

Framework-ul SEAM dezvoltat de cei de la JBoss face, printre altele, si integrarea JSF cu EJB 3.

Standardul si cel mai popular framework in Java bazat pe componente este Java Server Faces (JSF).

JSF este foarte simplu de utilizat pentru nivelul de prezentare, foarte usor de invatat si usor de integrat intr-un template html pe care poate sa il faca intr-o companie un "web front end developer", astfel sarcina programatorului ramane aceea de a insera in template-ul html tagurile JSF necesare.

EJB 3 este un foarte bun model de componente business logic si persistence logic pe partea de server.

SEAM foloseste anotatii pentru a declara bean-urile si pentru a configura scope-ul lor. Configurarile xml pentru o aplicatie care utilizeaza SEAM sunt minime.

SEAM ofera suport pentru doua framework-uri AJAX bazate pe JSF, Ajax4JSF si ICEFaces. Aceste framework-uri permit utilizarea de componente si realizarea de functionalitati AJAX fara a scrie cod javascript. Deasemenea SEAM ofera un layer AJAX care permite clientilor sa acceseze remote, prin intermediul javascript, componentele EJB de pe server.

Aplicatia ISOtop Enterprise poate lucra cu orice baza de date deoarece foloseste pentru persistenta JPA (Java Persistence API) mai exact implementarea celor de la Hibernate. Pentru a folosi Hibernate pentru persistenta exista 3 modele de management a sesiunii Hibernate: session-per-request, session-per-request-with-detached-objects, si session-per-conversation.

Hibernate nu este altceva decāt un serviciu de persistenta, nu ofera o modalitate de management a sesiunii sale. Acest management trebuie facut de catre aplicatie. Foarte putine framework-uri la ora actuala ofera o modalitate implicita de management a sesiunii hibernate. SEAM este unul din framework-urile care fac acest lucru si deasemenea poate controla si un EntityManager al JPA.

Un alt mare avantaj al framework-ului SEAM este acela ca suporta mai multe conversatii pentru un client . In cele mai multe aplicatii web un client nu poate sa faca doua operatiuni īn paralel īn doua tab-uri ale browserului daca pe server exista un bean ce īsi pastreaza starea īntre request-uri pentru acel client. Aceasta este una din cele mai mari probleme a framework-urilor de pāna acum. Se poate ajunge la situatia īn care clientul editeaza īntr-o fereastra de browser, de exemplu un produs, si īnainte de a posta formularul, deschide o noua fereastra de browser care folseste aceeasi sesiune HTTP īn care vrea sa editeze un alt produs. Daca se īntoarce īn prima fereastra si face o postare a formularului s-ar putea ca datele sa fie actualizate pentru produsul deschis īn cealalta fereastra din cauza ca pe server exista un singur bean care deserveste editarea unui produs pentru un acel client, bean-ul fiind persistent pe sesiunea clientului.

SEAM rezolva aceasta problema prin simularea mai multor sesiuni pentru acelasi client, fiecare reprezentānd o conversatie. Utilizarea acestor conversatii este deosebit de simpla.

Acestea sunt cateva probleme majore care trebuie rezolvate īntr-o aplicatie web 2.0 iar SEAM le rezolva foarte elegant, cu minimul de configurari xml si minimum de efort din partea programatorului.