ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 15
Abonament PDF

Java SOA Cookbook de Eben Hewitt

Silviu Dumitrescu
Line manager@Telenav



PROGRAMARE


Numărul acesta al revistei Today Software Magazine apare într-un moment în care lumea se întoarce din vacanţă, are energie, poftă de a cunoaşte şi de a se perfecţiona. Tocmai de aceea nu voi dezamagi cititorii revistei şi implicit ai recenziilor mele, alegând un subiect captivant.

Cartea Java SOA Cookbook de Eben Hewitt se adresează cu adevărat dezvoltatorilor şi arhitecţilor cu un grad de experienţă. Cei mai puţin experimentaţi pot găsi, totuşi, repere despre nivelul la care ar trebui să ajungă arhitecturile cu care lucrează. Cei experimentaţi găsesc soluţii pentru problemele lor. Cartea are un avantaj major, nu pune doar probleme ci oferă şi soluţii.

Arhitecturile orientate pe servicii (SOA) sunt probabil cele mai răspândite arhitecturi enterprise şi implicit în world of web. Trebuie spus încă de la început că SOA nu înseamnă un stil sau o metodologie de dezvoltare a aplicaţiilor web, ci este o arhitectură şi o strategie de organizare. Dezvoltatorii pot înţelege astfel contextul în care munca lor se desfăşoară, iar arhitecţii îşi vor îmbunătăţi munca pe baza bunelor practici, venite din anii de experienţă ai echipei autorului şi din studiul dedicat evoluţiei limbajului Java.

Personal, cred că orice dezvoltator sau arhitect al unei aplicaţii enterprise, care a ajuns la un anumit nivel de profesionalism, ar trebui să aibă în vedere şi soluţiile oferite de aceasta carte. Chiar dacă suportul tehnic al aplicaţiilor este JDK 6, versiunea enterprise a platformei este 5, iar serverul Glassfish are doar versiunea 2, nu văd nicio problemă. Sigur, evoluţiile sunt către a elimina unele dintre operaţiile ce fac parte din ceea ce numim "dirty job", dar cunoașterea a cât mai multor detalii este benefică.

Înainte de a intra în descrierea propriu zisă a cărţii doresc să precizez că pentru servicii de proces, autorul folosește BPEL (Business Process Execution Language) în ciuda disputelor existente de-a lungul timpului între BEA Systems şi BPEL . Alternativa pentru BPEL este oferită de BPM suite.

Java SOA Cookbook de Eben Hewitt

Cartea este structurată în patru părţi:

  • Partea de fundamente, în care sunt prezentate, mai degrabă, noţiuni folosite pentru SOA, dar şi multe detalii legate de limbajul XML. Până la apariţia adnotaţiilor, XML-ul a jucat un rol hotărâtor, atât pentru descrierile de date cât şi pentru validări sau conversii.
  • Partea de servicii web, care cuprinde o trecere în revistă, destul de detaliată, a serviciilor web şi API-urile Java ce le susţin. Capitolul de început al părţii se concentrează pe introducerea descriptorului WSDL, clienţilor de servicii şi instrumentelor de monitorizare şi debugging ale serviciilor, în timpul dezvoltării. Exemple simple completează partea teoretică. Capitolul următor se concentrează pe API-ul SAAJ (SOAP with Attachments API for Java). Este binevenită această trecere treptată spre API-urile actuale. Pe de o parte pentru că este un API low-level, ce comunică direct cu XML, dar şi pentru că API-urile ce urmează sunt mult mai abstracte, deci mai greu de înţeles fără SAAJ. În capitolul următor este prezentat JAX-WS (Java API for XML Web Services). Acest API se bazează pe JAX-RPC API, fiind însă mult modificat faţă de acesta. Clienţii serviciilor web sunt introduşi în capitolul următor, care este de fapt o continuare detaliată a discuţiilor despre clienţii serviciilor introduşi în capitolele anterioare. În sfârşit, ultimul capitol al acestei părţi este probabil şi cel mai actual. El se concentrează pe servicii REST (REpresentational State Transfer). Sunt, evident, mult mai uşor de utilizat şi în consecinţă mult mai populare. Lipsa aproape completă a XML-urilor este un atu demn de luat în seamă. Actualmente foarte mulţi clienţi, printre care şi cei de pe dispozitivele mobile, folosesc REST ca modalitate de comunicare cu backend-ul. La fiecare nouă versiune de Java Enterprise apar specificaţii noi pentru REST.
  • Partea despre Business Processes. Deşi puţin surprinzător pentru mine, autorul foloseşte BPEL pentru Service Orchestration. Surpriza este dată de faptul că Oracle susţine BPM suite şi de aceea majoritatea arhitecţilor Java folosesc acest standard pentru a crea business process. În mod cert, ambele au o largă răspândire. Prezentarea procesului de orchestrare a serviciilor este introdusă gradual (invocarea multiplelor servicii web sau XSL transformation - pentru transformarea documentelor din format XML în alte formate). Nu lipsesc elementele avansate printre care activităţile paralele, întârzierile sau corelările. În ultimul capitol al acestei părţi sunt introduse instrumente de urmărire a serviciilor web. Poate cel mai popular element introdus aici este serviciul UDDI (Universal Description, Discovery and Integration).
  • Ultima parte este despre interoperabilitate şi calitatea serviciilor. Principala temă despre interoperabilitate se referă la interoperarea serviciilor web cu servicii şi clienţi de pe alte platforme. Se face referire la specificaţiile WS-Addressing şi la implementarea clienţilor în Ruby sau .NET. Despre calitatea serviciilor se discută standardele ce conduc la creşterea încrederii în servicii web.

Cartea are un grad de dificultate înalt. Nu este chiar cartea de pe noptieră, de citit seara înainte de culcare. Exemplele numeroase şi comentariile pertinente, alături de stilul abordat: prezentarea problemei, soluţia şi comentarii cu multe exemple, creează o ordine în gândire capabilă să aducă performanţa. Luaţi-vă timp şi energie pentru a parcurge materialul, iar la sfârşit, dacă veţi fi înţeles toate problemele abordate, cu siguranţă veţi fi dobândit şi un bagaj de cunoştinţe care vă sporesc valoarea incontestabil.

Ca de obicei spun că sunt interesat de discuţii cu cititorii pe care îi invit să le iniţieze sau să ia parte la ele.

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects