Arhitectura Yellow Team 1

23
Analiză tehnică, Arhitectura sistemului Colectiv de elaborare: Alexandru Szoke, Lucian Jelea. Cuprins Tabelă de figuri .......................................................................................................................... 2 Index de tabele ........................................................................................................................... 2 I. Analiza tehnică ................................................................................................................... 3 1. Componente necesare ..................................................................................................... 3 2. Analiză tehnologii .......................................................................................................... 4 A. Statistică ..................................................................................................................... 4 B. Generare de rapoarte .................................................................................................. 4 C. Generare de grafice .................................................................................................... 5 D. Server de aplicaţie ...................................................................................................... 5 E. Persistenţă şi acces la date .......................................................................................... 5 F. SGBD ......................................................................................................................... 6 G. Medii de dezvoltare .................................................................................................... 6 H. Interfaţă ...................................................................................................................... 7 I. Engine de orchestrare ................................................................................................. 7 II. Arhitectura sistemului ........................................................................................................ 8 1. Propunerea 1................................................................................................................... 8 2. Propunerea 2................................................................................................................. 10 3. Propunerea finală.......................................................................................................... 13 A. Perspectiva structurală.............................................................................................. 13 B. Perspectiva logică ..................................................................................................... 15 C. Perspectiva fizică...................................................................................................... 20 Referinţe ................................................................................................................................... 21

Transcript of Arhitectura Yellow Team 1

Page 1: Arhitectura Yellow Team 1

Analiză tehnică,

Arhitectura sistemului

Colectiv de elaborare: Alexandru Szoke, Lucian Jelea.

Cuprins

Tabelă de figuri .......................................................................................................................... 2 Index de tabele ........................................................................................................................... 2 I. Analiza tehnică ................................................................................................................... 3

1. Componente necesare..................................................................................................... 3 2. Analiză tehnologii .......................................................................................................... 4

A. Statistică ..................................................................................................................... 4 B. Generare de rapoarte .................................................................................................. 4 C. Generare de grafice .................................................................................................... 5 D. Server de aplicaţie ...................................................................................................... 5 E. Persistenţă şi acces la date.......................................................................................... 5 F. SGBD ......................................................................................................................... 6 G. Medii de dezvoltare.................................................................................................... 6 H. Interfaţă ...................................................................................................................... 7 I. Engine de orchestrare ................................................................................................. 7

II. Arhitectura sistemului ........................................................................................................ 8 1. Propunerea 1................................................................................................................... 8 2. Propunerea 2................................................................................................................. 10 3. Propunerea finală.......................................................................................................... 13

A. Perspectiva structurală.............................................................................................. 13 B. Perspectiva logică..................................................................................................... 15 C. Perspectiva fizică...................................................................................................... 20

Referinţe ................................................................................................................................... 21

Page 2: Arhitectura Yellow Team 1

Tabelă de figuri Figură II-1 Arhitectura three-tier................................................................................................ 8 Figură II-2 Diagramă structurală – Propunerea 1....................................................................... 9 Figură II-3 Arhitectura SOA .................................................................................................... 10 Figură II-4 Orchestrare vs. Sincronizare .................................................................................. 11 Figură II-5 Diagramă structurală – Propunerea 2..................................................................... 12 Figură II-6 Diagrama de implementare a componentelor ........................................................ 13 Figură II-7 Diagrama structurală – Perspectiva pe layere........................................................ 14 Figură II-8 Diagramă de activităţi – Completare formular ...................................................... 15 Figură II-9 Diagramă de activităţi – Editare template de formular.......................................... 16 Figură II-10 Diagramă de secvenţă – Editare formular............................................................ 17 Figură II-11 Diagrama de comunicare – Afişare raport ........................................................... 18 Figură II-12 Diagrama UseCase............................................................................................... 19 Figură II-13 Diagrama deployment.......................................................................................... 20

Index de tabele Tabel I-1 Componente necesare................................................................................................. 3 Tabel II-1 Layerul de Prezentare – Propunerea 1....................................................................... 8 Tabel II-2 Layerul de Aplicaţie – Propunerea 1......................................................................... 8 Tabel II-3 Layerul de Date – Propunerea 1................................................................................ 9 Tabel II-4 Layerul de Prezentare – Propunerea 2..................................................................... 11 Tabel II-5 Layerul de Orchestrare – Propunerea 2................................................................... 11 Tabel II-6 Layerul de Servicii – Propunerea 2......................................................................... 11 Tabel II-7 Layerul de Date – Propunerea 2.............................................................................. 11 Tabel II-8 Comparaţie Arhitecturi............................................................................................ 13

Page 3: Arhitectura Yellow Team 1

I. Analiza tehnică Plecând de la analiza de buisness considerăm că sistemul se pretează a fi implementat ca JAVA WEB application care are la bază o arhitectură three-tier. În acest capitol vor fi detaliate atât componentele logice ale aplicaţiei cât şi soluţii tehnice care permit implementarea.

1. Componente necesare Nr. Nume componentă Descriere Funcţionalităţi [1] Management de

formulare Permite administrarea întrebărilor din chestionare şi a chestionarelor. Constituie interfaţa de acces la repository-ul de întrebări.

a.) Oferă facilităţi de creare, modificare, ştergere legate de întrebări şi chestionare. b.) Permite accesul la formular.

[2] Statistică Centralizează şi prelucrează datele din chestionar.

a.) Oferă funcţionalităţi de analiză a formularului completat. b.) Permite accesul la datele colectate şi prelucrate pe criterii specificate.

[3] Generare de Rapoarte

Permite obţinerea de rapoarte bazate pe datele obţinute din componenta de statistică.

a.) Generează rapoarte în format human-readable respectiv print-ready.

[4] Generare de Grafice

Permite obţinerea de grafice bazate pe datele obţinute din componenta de statistică.

a.) Generează grafice într-un format user friendly afişabil într-un raport sau direct într-o pagină

[5] Securitate Permite blocarea accesului pe parţi de aplicaţie.

a.) Permite blocarea accesului pe parţi de aplicaţie pentru un user care nu are rolul adecvat.

[6] Managementul rolurilor şi userilor

Oferă o interfaţă pentru autentificarea utilizatorului

a.) Oferă facilităţi de autentificare în sistem.

[7] Content management system.

Oferă pentru interfaţă accesul la content.

a.) Oferă facilităţi de acces la content. b.) Oferă facilităţi de administrare a conţinutului.

[8] Persistentă şi accesul la date

Este interfaţa pentru layerul de date.

a.) Oferă facilităţi de acces la date.

[9] Interfaţă Site WEB prin care se realizează interacţiunea cu utilizatorul.

a.) Permite accesare sistemului prin intermediul unui browser WEB. b.) Comunică cu celelalte module pentru a îndeplini funcţionalităţiile sistemului.

Tabel I-1 Componente necesare

Page 4: Arhitectura Yellow Team 1

2. Analiză tehnologii În această secţiune vor fi prezentate tehnologii prin intermediu cărora se pot implementa componentele. Acele componente care nu au tehnologii analizate sunt componente custom şi ţin de organizarea internă a aplicaţiei.

A. Statistică JRI este un API JAVA pentru a acces si prelucrare de date care se bazează pe engine-ul R. JRI este o interfaţă care permite rularea R-ului nativ din JAVA ca o aplicaţie single Thread. Apache Commons-Math este o bibliotecă Java lightweight de componente matematice şi statistice care se adresează problemelor ne tratate în limbajul Java sau în Commons Lang. Biblioteca este self-contained şi nu necesită dependenţe suplimentare. Pachetul abordează o varietate largă de probleme matematice, de exemplu: analiză numerică, analiză complexă, distribuţii, estimări, geometrie, algebră lineară, ecuaţii diferenţiale, optimizare, generare de numere aleatoare cu anumite distribuţii, transformări, generare de statistici, etc.

B. Generare de rapoarte Jasper Reports este un tool open-source JAVA care oferă posibilitatea de a genera rapoarte dinamice, rich-content pentru ecran sau pentru imprimantă în format PDF, HTML, XLS, CSV şi XML. Este scris în întregime în JAVA şi poate fi folosit cu succes în aplicaţii J2EE sau WEB. Scopul său este de a ajuta în creare de documente orientate pagină într-o manieră simplă şi flexibilă. Pentaho reporting este o colecţie de framework-uri open-source care se focusează pe creare, generarea şi distribuirea de rapoarte bogate şi sofisticate obţinute dintr-o varietate largă de surse de informaţie. iReport este un tool vizual scris 100% în JAVA şi bazat pe jasper reports. Datele pot fi preluate folosind JDBC, TableModels, JavaBeans, XML şi suportă output în PDF, HTML, XLS, CSV, XML şi Java2D. Toolul oferă posibilitatea de a fi integrat în platforma NetBeans. Produsul este consacrat şi folosit într-o varietate de aplicaţii enterprise.

Page 5: Arhitectura Yellow Team 1

C. Generare de grafice Google Chart API este un servlet ce returnează o imagine în format PNG ca răspuns la un URL. Sunt suportate diverse tipuri de grafice într-o manieră flexibilă. Toată documentaţia proiectului şi modalitatea în care sunt pasaţi parametrii sunt prezentaţi pe pagina proiectului. JFreeChart este o librărie de chart-uri 100% Java open-source. API-ul este util atât pentru aplicaţii server-side cât şi pentru aplicaţii client-side. Sunt suportate ca format de output imagini în formatele: PNG, JPEG, SVG.

D. Server de aplicaţie Apache Tomcat este Servlet-containerul folosit în implementare oficială de referinţă pentru tehnologiile Java Servlet şi Java Server Pages. Serverul stă la bază pentru numeroase aplicaţii WEB critice de scară largă. Tomcat include propriul HTTP-server. Majoritatea IDE-urilor vin integrate cu cate un Tomcat. Popularitatea este foarte mare iar documentaţia vastă. Aceste proprietăţi fac din Tomcat unul dintre cele mai simple de utilizat şi scalabile servere de aplicaţie. Serverul are integrate module de securitate (single sign-on), modul de role management şi de content management. JBoss Application Platform este o platformă web de aplicaţie care are la bază un JBoss Application server peste care sunt deployate o serie de produse JBoss. Platforma este heavyweight şi oferă o varietate de soluţii în materie de securitate, role şi content management. Serverul de aplicaţie are la bază un Tomcat care are funcţie de servlet-container pentru deservirea cererilor WEB. GlassFish este un server de aplicaţii Java EE 5 open-source dezvoltat de SUN, este varianta necomercială a Sun System Application Server. GlassFish are la bază o implementare de Tomcat folosit ca servlet-container. Face parte din aceeaşi familie de produse cu NetBeans, OpenJDK, OpenESB, OpenPortal, OpenSSO, OpenDS şi OpenSolaris. Serverul este dotat cu propriul sistem de securitate, role, user şi content management.

E. Persistenţă şi acces la date Hibernate este un framework relaţional de mapare obiecte, care permite prelucrarea orientată obiect a bazelor de date relaţionale. Hibernate este open-source şi permite obţinerea unui nivel de abstractizare mai înalt a unui model relaţional. Interogările se exprimă fie cu ajutorul extensiei proprii de SQL (HQL) fie prin SQL nativ fie cu ajutorul criteriilor orientate obiect. Din punct de vedere al performanţei Hibernate nu poate ţine piept la driverele de tip 1, 2 şi 4 care obţin rezultatele în mediu nativ.

Page 6: Arhitectura Yellow Team 1

JDBC (Java Data Base Connectivity) API este standardul de industrie pentru conectivitate între limbajul de programare Java şi o mare varietate de baze de date (relaţionale, tabelare, fişiere, etc.). JDBC poate folosi orice tip de drivere (1-4). Cel mai mare avantaj este oferit de folosirea unui driver de tipul 4 care oferă un nivel de performanţă deosebit de bun şi nu este nevoie de software suplimentar. Aceste drivere pot fi downloadate şi întreţinute dinamic. JDBC oferă o arie foarte largă de acces asupra obiectelor bazei permiţând astfel o grad foarte mare de libertate în privinţa operaţiilor. Driverele JDBC sunt free şi sunt oferite de cele mai multe ori de baza de date. Interogările se realizează prin SQL dinamic.

F. SGBD ORACLE10gXE este o variantă free a consacratului sistem de gestiune a bazelor de date care oferă o mare parte din facilităţile variantei comerciale impunând o serie de restricţii cum ar fi: încărcare RAM de maxim 1GB şi dimensiune maxima pentru spaţiu de tabel de 4GB. Din punctul de vedere a configurării este relativ simplu de folosit (arta constă în a optimiza) şi pune la dispoziţie numeroase tool-uri de administrare. Varianta Xpress vine integrată cu o interfaţă WEB de administrare. Sistemul se pretează la aplicaţii care depind de un volum foarte mare de date. În cazul de faţă el reprezintă un adevărat heavyweight pentru aplicaţie. MySQL Community Server 5 este poate cel mai consacrat sistem open-source de gestiune a bazelor de date. Nu impune nici un fel de restricţii fizice asupra bazei sau asupra utilizării acesteia şi vine cu driver nativ de JDBC. Documentaţia este vastă iar forumul intern este foarte bine întreţinut.

G. Medii de dezvoltare NetBeans este un mediu open-source dezvoltat de SUN. Oferă o varietate largă de plug-in-uri pentru majoritatea tehnologiilor din familia J2EE şi nu numai. Principalul avantaj este ca oferă interfeţe developer friendly pentru generat bucăţi întregi de aplicaţie. Astfel, devine un mediu puternic, uşor de folosit si rapid de învăţat. Din punct de vedere al performantei este mai lent decât Eclipse si necesita putere mai mare de calcul însoţită de un consum ridicat de resurse. Oferă posibilităţi de importare si integrare cu proiecte Eclipse. Eclipse este un mediu de dezvoltare open-source bazat pe o arhitectură micro-kernel. A fost iniţial dezvoltat de IBM şi apoi donat comunităţii open-source. Este foarte bine întreţinut, pune la dispoziţie cea mai mare varietate de plug-inuri şi este foarte rapid. Nu în ultimul rând este cel mai popular mediu de dezvoltare Java.

Page 7: Arhitectura Yellow Team 1

H. Interfaţă NetBeans Visual WEB Application este un tip de proiect din mediu de dezvoltare NetBeans bazat pe frameworkul JSF (Java Server Faces) care pune la dispoziţie un editor vizual pentru interfeţe împreună cu un generator complex de cod in back-end. Interfeţele sunt generate Ajax-enabled deci oferă o soluţie simpla si eficienta de a dezvolta GUIuri complexe. Aceasta soluţie pentru interfaţă, oferă si posibilitatea de a folosi puterea de dezvoltare a platformei NetBeans. Spring este cel mai consacrat şi complet framework bazat pe tehnologii Java Enterprise. Frameworkul oferă un container uşor de utilizat, un strat de abstractizare pentru managementul de tranzacţii, un strat de abstractizare pentru conexiuni JDBC şi un framework flexibil MVC pentru aplicaţii WEB. Struts este un framework de aplicaţii J2EE dezvoltat şi întreţinut de Apache Software Foundation care are la bază trei layere. Unul de pentru logistică buisness (Spring, Xwork), unul pentru acces la date (Cayenne, EJB, Hibernate, JDBC), şi un layer de prezentare (JasperReports, Velocity, XSLT).

I. Engine de orchestrare Active VOS este un engine de orchestrare comercial oferit de compania Active Endpoints. Oferă o gamă largă de facilităţi, documentaţie bună, un forum foarte bine întreţinut şi de un mediu vizual propriu pentru creare şi utilizare de procese în contextul engine-ului de deployment. Suportă Tomcat, JBoss. Active BPEL este varianta open-source în materie de engine de orchestrare oferit de compania Active Endpoints, este deployabil numai pe Tomcat, vine cu un mediu de dezvoltare implementat peste platforma Eclipse şi deţine o interfaţă WEB pentru administrarea modulului în contextul serverului pe care rulează. JBoss JBPM-BPEL face parte din suita de aplicaţie JBoss şi reprezintă o varianta open-source în materie de engine de orchestrare. De la versiunea 2.0 suportă BPEL 2.0 şi poate fi utilizate alături de un plug-in Eclipse pentru dezvoltare de procese. Deploymentul este bazat pe scripturi ANT.

Page 8: Arhitectura Yellow Team 1

II. Arhitectura sistemului În acest capitol va fi detaliat modelul conceptual al sistemului, se vor prezenta două propuneri de realizare după care se va detalia o variantă finală. Fiecare propunere este însoţită de o diagramă de implementare urmând ca pentru propunerea finală să fie detaliate şi tehnologiile prin care se poate atinge funcţionalitatea sistemului.

1. Propunerea 1 Prima propunere este bazată pe o arhitectură three-tier J2EE.

Figură II-1 Arhitectura three-tier

Aplicaţia este împărţită logic în trei layere. Layerul de prezentare care constituie interfaţa cu utilizatorul poate fi uşor separat de restul componentelor după cum urmează. Componentă Tehnologie Securitate JAAS Managementul rolurilor şi userilor Apache Tomcat Role mangement Content management system. Custom Interfaţă NetBeans Visual WEB Application (JSF)

Tabel II-1 Layerul de Prezentare – Propunerea 1 Layerul de aplicaţie va conţine componente ce pot fi dezvoltate ca librării de clase şi folosite cu scopul de a realiza funcţionalităţiile sistemului. Fiecare componentă rezolvă cate o problemă ridicată folosind tehnologii existente pe piaţă după cum urmează: Componentă Tehnologie Management de formulare Custom Statistică Apache Commons-Math Generare de Rapoarte iReport bazat pe JasperReports Generare de Grafice Google Chart API

Tabel II-2 Layerul de Aplicaţie – Propunerea 1

Page 9: Arhitectura Yellow Team 1

Layerul de date conţine o interfaţă pentru SGBD şi serverul de date in sine. Componentă Tehnologie Persistenţă Hibernate (JDBC based) SGBD MySQL

Tabel II-3 Layerul de Date – Propunerea 1 Arhitectura aplicaţiei în contextul prezentat mai sus este reprezentată grafic în următoarea diagramă:

Figură II-2 Diagramă structurală – Propunerea 1

Page 10: Arhitectura Yellow Team 1

2. Propunerea 2 Plecând de la ideea că aplicaţia va fi extinsă şi integrată într-un sistem mai larg putem propune o abordare orientată pe servicii pentru arhitectura aplicaţiei. Această extindere se manifestă prin transformarea layerului de aplicaţie din librarii de clase în servicii WEB ce pot fi refolosite în manieră distribuită. Următoare diagramă ilustrează stratificarea SOA:

Figură II-3 Arhitectura SOA

Page 11: Arhitectura Yellow Team 1

Elementul cheie în acest tip de arhitectură este adăugarea unui layer suplimentar de orchestrare a serviciilor. Funcţionalităţiile se rezolvă prin intermediul noului layer.

Figură II-4 Orchestrare vs. Sincronizare

Aplicaţia este împărţită logic în patru layere. Layerul de prezentare care constituie interfaţa cu utilizatorul poate fi uşor separat de restul componentelor după cum urmează. Componentă Tehnologie Securitate LDAP Managementul rolurilor şi userilor JBoss user management Content management system. Custom Interfaţă Spring

Tabel II-4 Layerul de Prezentare – Propunerea 2 Layerul de orchestrare are la bază un engine ce implementează standardul BPEL. Componentă Tehnologie Service Orchestrator Active VOS

Tabel II-5 Layerul de Orchestrare – Propunerea 2 Layerul de servicii va conţine componente independente expuse ca servicii. Fiecare componentă rezolvă cate o problemă ridicată folosind tehnologii existente pe piaţă după cum urmează: Componentă Tehnologie Management de formulare Custom Statistică Apache Commons-Math Generare de Rapoarte iReport bazat pe JasperReports Generare de Grafice Google Chart API

Tabel II-6 Layerul de Servicii – Propunerea 2 Layerul de date conţine o interfaţă pentru SGBD şi serverul de date in sine. Componentă Tehnologie Persistenţă Hibernate (JDBC based) SGBD Oracle

Tabel II-7 Layerul de Date – Propunerea 2

Page 12: Arhitectura Yellow Team 1

Arhitectura aplicaţiei în contextul prezentat mai sus este reprezentată grafic în următoarea diagramă:

Figură II-5 Diagramă structurală – Propunerea 2

Page 13: Arhitectura Yellow Team 1

3. Propunerea finală Analizând cele două propuneri prezentate mai sus, dorim să prezentăm o comparaţie între cele două variante: Criteriu Arhitectura three-tier Arhitectură SOA Întreţinere simplu complex Resurse consum redus consum ridicat Extensibilitate mediu mare Integrare mediu mare Dezvoltare simplu complex

Tabel II-8 Comparaţie Arhitecturi Ca şi concluzie am dori să propunem varianta three-tier pe care o detaliem în cele ce urmează.

A. Perspectiva structurală În această secţiune dorim să descriem arhitectura sistemului din punct de vedere structural detaliind în diagramele ce urmează poziţia subsistemelor în aplicaţie şi interacţiunile existente. De asemenea vrem sa descriem şi un lanţ de dependenţe care până în momentul de faţă este uşor de intuit.

Prima diagramă pune în evidenţă componentele şi legăturile între ele:

Figură II-6 Diagrama de implementare a componentelor

Page 14: Arhitectura Yellow Team 1

Următoarea diagramă ilustrează aspectul structural împărţit pe layere:

Figură II-7 Diagrama structurală – Perspectiva pe layere

Page 15: Arhitectura Yellow Team 1

B. Perspectiva logică Din perspectivă logică dorim se exemplificăm fluxul de activităţi în cazul a două scenarii de utilizare a aplicaţiei, fluxul de comunicare şi fluxul de secvenţă. Ultima diagrama prezentată fiind cea de useCase care tratează sistemul integral. Prima diagramă reprezintă fluxul de activităţi în cazul completării formularului:

Figură II-8 Diagramă de activităţi – Completare formular

Page 16: Arhitectura Yellow Team 1

Următoarea diagramă prezintă fluxul activităţilor în cadrul scenariului de editare template formular:

Figură II-9 Diagramă de activităţi – Editare template de formular

Page 17: Arhitectura Yellow Team 1

Următoarea diagramă tratează fluxul de secvenţă în situaţia aceluiaşi caz de utilizare.

Figură II-10 Diagramă de secvenţă – Editare formular

Page 18: Arhitectura Yellow Team 1

Următoare diagramă ilustrează fluxul de date în cazul generării unui raport:

Figură II-11 Diagrama de comunicare – Afişare raport

Page 19: Arhitectura Yellow Team 1

În ultima parte a acestei secţiuni dorim sa introducem diagrama tuturor usecase-urilor care are menirea de a identifica scenarii comune şi a permite modularizarea interfeţei:

Figură II-12 Diagrama UseCase

Page 20: Arhitectura Yellow Team 1

C. Perspectiva fizică Ultima diagramă a acestui document prezintă tehnologiile folosite în contextul perspectivei de deployment al aplicaţiei:

Figură II-13 Diagrama deployment

Page 21: Arhitectura Yellow Team 1

Referinţe

[1] JRI http://stats.math.uni-augsburg.de/JRI/

[2] Apache Commons Math

http://commons.apache.org/math/ http://commons.apache.org/math/userguide/index.html http://commons.apache.org/math/apidocs/index.html

[3] Jasper Reports

http://www.jasperforge.org/jaspersoft/opensource/business_intelligence/jasperreports/ http://www.jasperforge.org/jaspersoft/opensource/business_intelligence/jasperreports/doc

umentation.html http://www.jaspersoft.com/nw_events1.html http://jasperforge.org/sf/projects/jasperreports

[4] Pentaho

http://www.pentaho.com/products/reporting/

[5] iReport http://jasperforge.org/jaspersoft/opensource/business_intelligence/ireport/ http://jasperforge.org/jaspersoft/opensource/business_intelligence/ireport/page.php?id=5 http://jasperforge.org/sf/wiki/do/viewPage/projects.ireport/wiki/IReportManualV1.2.1 http://jasperforge.org/jaspersoft/opensource/business_intelligence/ireport/page.php?name

=ireport-nb-getting-started http://jasperforge.org/jaspersoft/opensource/business_intelligence/ireport/page.php?name

=iReportNB

[6] Google Chart API http://code.google.com/apis/chart/ http://techtracer.com/2007/12/17/the-power-of-google-chart-api/ http://infosthetics.com/archives/2007/12/google_chart_api.html

[7] JFreeChart

http://www.jfree.org/jfreechart/ http://www.jfree.org/jfreechart/samples.html http://www.jfree.org/jfreechart/devguide.html

[8] Apache Tomcat

http://tomcat.apache.org/ http://wiki.apache.org/tomcat/

Page 22: Arhitectura Yellow Team 1

[9] JBoss Application Platform http://www.jboss.com/products/platforms/application

[10] GlassFish

https://glassfish.dev.java.net/ https://glassfish.dev.java.net/public/users.html

[11] Hibernate

http://www.hibernate.org/ http://www.hibernate.org/5.html http://www.hibernate.org/6.html

[12] JDBC

http://java.sun.com/products/jdbc/overview.html http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/index.html http://java.sun.com/products/jdbc/learning/tutorial/index.html

[13] Oracle

http://www.oracle.com/technology/products/database/xe/index.html

[14] MySQL http://www.mysql.com/ http://dev.mysql.com/usingmysql/java/ http://dev.mysql.com/downloads/mysql/5.0.html

[15] NetBeans

http://www.netbeans.org/ http://www.netbeans.org/community/releases/61/ http://wiki.netbeans.org/ http://www.netbeans.org/kb/index.html

[16] Eclipse

http://www.eclipse.org/ http://www.eclipse.org/documentation/ http://www.eclipse.org/resources/?category=Getting%20Started http://www.eclipse.org/downloads/

[17] NetBeans Java Visual WEB Application

http://www.netbeans.org/features/web/web-app.html http://www.netbeans.org/kb/trails/web.html http://www.netbeans.org/kb/60/web/intro.html

[18] Spring

http://www.springframework.org/ http://www.springframework.org/documentation http://opensource.atlassian.com/confluence/spring/dashboard.action

Page 23: Arhitectura Yellow Team 1

[19] Struts

http://struts.apache.org/

[20] Active VOS http://www.activevos.com/ http://www.activevos.com/products-quickintro.php

[21] Active BPEL

http://www.activevos.com/community-open-source.php

[22] JBoss JBPM-BPEL http://www.jboss.org/jbossjbpm/ http://www.jboss.org/jbossjbpm/bpel/ http://docs.jboss.com/jbpm/bpel/v1.1/userguide/

[23] Magic Draw UML

http://www.magicdraw.com/

[24] Enterprise Java with UML, CTArlington, Wiley Computer Publishing. [25] Applying UML and Patterns, an introduction to object-oriented Alaysis and

Design and the unified Process, 2nd ed., Larman C., Prentice Hall. [26] The Unified Modeling Language Reference Manual, Rumbaugh J., Jacobson I.,

Booch G., Addison Wesley. [27] Documenting Software Arhitectures, Clements P., Bachmann F., Bass L.,

Garlan D., Ivers J., Little R., Nord R., Stafford J., 2nd ed. Addison Wesley. [28] Building Java Enterprise Applications vol. I Arhitecture, McLaughlin B.,

O’Reilly.