+ All Categories
Home > Documents > Sisteme Informatice şi Standarde Deschise

Sisteme Informatice şi Standarde Deschise

Date post: 01-Feb-2022
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
43
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare Administrarea Bazelor de Date Managementul în Tehnologia Informaţiei Sisteme Informatice şi Standarde Deschise (SISD) 2009-2010 Curs 11 Servicii web. Introducere J2EE* *Preluare și adaptare din cursul de LPD 2008-2009 1 Sisteme Informatice şi Standarde Deschise – Curs 11 04.01.2010
Transcript
Page 1: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Administrarea Bazelor de Date

Managementul în Tehnologia Informaţiei

Sisteme Informatice şi Standarde Deschise

(SISD)

2009-2010

Curs 11

Servicii web. Introducere J2EE*

*Preluare și adaptare din cursul de LPD 2008-2009

1Sisteme Informatice şi Standarde Deschise – Curs 1104.01.2010

Page 2: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

2

Continut

• Programarea serviciilor web – JAX-RPC

• Alte standarde pentru servicii web: UDDI, WSRF, WS-BPEL

• J2EE - Introducere

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 3: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

3

JAX-RPC - Introducere

• Java API for XML-based RPC

• Ofera mecanisme pentru crearea si accesarea serviciilor web

• Utilizeaza SOAP si HTTP

• Defineste mapari intre tipurile de date Java si tipurile din WSDL

• Diferente fata de Java RMI:

– Interoperabilitate

– Limitare a tipurilor de date ce pot fi transmise

• https://jax-rpc.dev.java.net/

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 4: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

4

Arhitectura JAX-RPC [DEI02]

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 5: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

5

Tipuri de date suportate in JAX-RPC (1)

Tip Java Tip XML / SOAP

boolean (Boolean) xsd:boolean (soapenc:boolean)

byte (Byte) xsd:byte (soapenc:byte)

double (Double) xsd:double (soapenc:double)

float (Float) xsd:float (soapenc:float)

int (Integer) xsd:int (soapenc:int)

long (Long) xsd:long (soapenc:long)

short (Short) xsd:short (soapenc:short)

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 6: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

6

Tipuri de date suportate in JAX-RPC (2)

Tip Java Tip XML / SOAP

BigDecimal xsd:decimal

BigInteger xsd:integer

Calendar xsd:dateTime

Date xsd:dateTime

String xsd:string

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 7: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

7

Tipuri de date suportate in JAX-RPC (3)

• Prin JAX-RPC se pot transfera si obiecte din clase

care indeplinesc conditiile:

– Nu implementeaza java.rmi.Remote

– Au un constructor public fara argumente

– Campurile publice sunt tipuri suportate de JAX-RPC

– Sunt conforme cu modelul JavaBeans (au metode set/get)

– Proprietatile bean-ului sunt tipuri suportate de JAX-RPC

• Tablouri uni- sau multi-dimensionale ale caror

elemente sunt tipuri suportate de JAX-RPC

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 8: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

8

API-uri JAX-RPC

• Pentru server: nu exista

• Pentru client – in javax.xml.rpc:

– Stub – trebuie sa fie implementata de stub-urile generate

– Call – pentru invocare dinamica

– Service

– ServiceFactory

– JAXRPCException

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 9: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

9

Stiluri pentru programarea clientilor

• Static: proxy generat pe baza descrierii WSDL a serviciului

• Dynamic proxy: prin interfata Stub

• Dynamic Invocation Interface (DII)– http://users.skynet.be/pascalbotte/rcx-ws-doc/dii.htm

MyServiceSoapBinding_Stub

MyServicejavax.xml.rpc.Stub

package javax.xml.rpc;

public interface Stub {

// ...

void _setProperty(String name, Object

value);

Object _getProperty(String name);

java.util.Iterator _getPropertyNames();

}

Exemplu Stub:

Interfata Stub:

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 10: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

10

Moduri de apelare a metodelor

• Synchronous request-response: clientul invoca metoda si este

blocat pana primeste raspunsul

• One-way RPC: metoda nu intoarce un rezultat clientului

• Non-blocking RPC: clientul invoca metoda si continua

procesarea; ulterior poate incepe asteptarea blocanta sau

poate interoga despre existenta rezultatului

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 11: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

11

Exemplu – serviciu web simplu [Han02]

import java.util.*;

public class NHLService {

HashMap standings = new HashMap();

public NHLService() {

// NHL - part of the standings as per 04/07/2002

standings.put("atlantic/philadelphia", "1");

standings.put("atlantic/ny islanders", "2");

standings.put("atlantic/new jersey", "3");

standings.put("central/detroit", "1");

standings.put("central/chicago", "2");

standings.put("central/st.louis", "3");

}

public String getCurrentPosition(String division, String team) {

String p = (String)standings.get(division + '/' + team);

return (p == null) ? "Team not found" : p;

}

}

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 12: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

12

Exemplu – client pentru serviciul web [Han02]

package hansen.playground;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

import javax.xml.rpc.namespace.QName;

import java.net.*;

public class NHLServiceClient {

public static void main(String [] args) throws Exception {

Service service = new Service();

Call call = (Call)service.createCall();

String endpoint =

"http://localhost:8080/axis/NHLService.jws";

call.setTargetEndpointAddress(new URL(endpoint));

call.setOperationName(new QName("getCurrentPosition"));

String division = args[0];

String team = args[1];

String position =

(String)call.invoke(new Object [] {new String(division),

new String(team)});

System.out.println("Got result : " + position);

}

}

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 13: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

13

Continut

• Programarea serviciilor web – JAX-RPC

• Alte standarde pentru servicii web: UDDI, WSRF

• J2EE - Introducere

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 14: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

14

UDDI

• Universal Description, Discovery and Integration

• Grup de specificatii prin care:

– furnizorii de servicii pot publica informatii despre acestea

– clientii pot cauta serviciul dorit

• Registru (registry) UDDI: locul unde sunt publicate

informatiile despre serviciile mai multor furnizori

• Listing: o intrare dintr-un registru (contine informatii

despre un serviciu)

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 15: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

15

Listing-uri UDDI

• Specificate prin WSDL

• Elemente:

– White Pages – informatii de baza (modul de contactare a

companiei care furnizeaza serviciul)

– Yellow Pages – informatii detaliate despre companie (coduri

de identificare, capabilitati)

– Green Pages – informatiile necesare pentru a utiliza

serviciul (descrierea interfetelor, URL-uri etc.)

• Nu este obligatoriu ca un listing sa contina toate cele

3 elemente

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 16: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

16

Exemplu – listing UDDI [UDDI06] (1)

<?xml version="1.0" encoding="utf-8" ?>

<businessEntity xmlns:xsi="http://www.w3.org/2001/XMLSchema-

instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

businessKey="5774466b-089d-4fa8-b8cb-fa2ead5329c5"

operator="Microsoft Corporation"

authorizedName="RealNames UDDI Publisher"

xmlns="urn:uddi-org:api">

<discoveryURLs>

<discoveryURL

useType="businessEntity">http://uddi.microsoft.com/discovery?

businessKey=5774466b-089d-4fa8-b8cb-fa2ead5329c5</discoveryURL>

</discoveryURLs>

<name>FreePsychicNetwork.com</name>

<description xml:lang="en">

This is a UDDI Business Registry entry for

"FreePsychicNetwork.com".</description>

<contacts>

<contact useType="Main">

<description xml:lang="en">Main contact information</description>

<personName>Alma E Mounger</personName>

<phone useType="Main">4079441169</phone>

<email useType="Main">[email protected]</email>

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 17: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

17

Exemplu – listing UDDI [UDDI06] (2)

<address sortCode="" useType="Main">

<addressLine>2775 Wells Ct</addressLine>

<addressLine>Kissimmee, FL 34744</addressLine>

<addressLine>FL</addressLine>

</address>

</contact>

<contact useType="Technical">

<description xml:lang="en">Technical contact

information</description>

<personName>Alma E Mounger</personName>

<phone useType="Technical">4079441169</phone>

<email useType="Technical">[email protected]</email>

<address sortCode="" useType="Technical">

<addressLine>2775 Wells Ct</addressLine>

<addressLine>Kissimmee, FL 34744</addressLine>

<addressLine>FL</addressLine>

</address>

</contact>

</contacts>

</businessEntity>

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 18: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

18

WSRF - Introducere

• Problema: multe servicii necesita retinerea unor

informatii de stare (stateful) – numarul de produse

din stoc, evidenta rezervarilor pentru clienti etc.

• Specificatiile initiale pentru serviciile web nu includ

informatii de stare

• Solutie initiala: stocarea informatiilor in fisiere / baze

de date

• Solutie noua (2004): specificatia WSRF (Web

Services Resource Framework) – implementata in

Globus Toolkit 4

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 19: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

19

WS-Resource

• Asocierea dintre un serviciu web si o resursa

• Definita prin asocierea unui document XML si a unui portType

pentru un serviciu web

• Implied Resource Pattern: set de conventii pentru realizarea

asocierii

• Un serviciu poate utiliza mai multe resurse

• Identificarea unei resurse in cadrul serviciului: prin intermediul

WS-Addressing

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 20: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

20

Modelul de adresare WS-Addressing

EndpointReference:EndpointReferenceType

Address:AttributedURI

ReferenceProperties:ReferencePropertiesType

ReferenceParameters:ReferenceParametersType

PortType:AttributedQName

ServiceName:ServiceNameType

<xs:complexType name="ReferencePropertiesType">

<xs:sequence>

<xs:any processContents="lax" minOccurs="0"

maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

mod de a adresa

serviciile web independent

de protocolul de transport

implementat cu ajutorul

header-elor SOAP

definit prin fisiere .xsd

Exemplu -Fragment

din definitia XSD:

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 21: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

21

Specificatii WSRF

• WS-ResourceLifetime – mecanisme pentru distrugerea resurselor

• WS-ResourceProperties – mecanisme pentru obtinerea, modificarea, stergerea proprietatilor resurselor

• WS-RenewableReferences –obtinerea de update-uri pentru referinte

• WS-ServiceGroups

• WS-BaseFaults –tip XML pentru specificarea erorilor

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 22: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Modelul WSRF (Grid Initiative 2006)

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11 22

• WS-Resource Properties– Resource state and metadata “Projected”

as an XML document

– Query and Set operations

• WS-Resource LifeTime– Explicit destruction or

“Soft state” time-to-live

– Provides for cleanup

of resource instancesresource

<ProcessorProperties>

<ProcID>5A34C1DE03</ProcID>

<ProcArchitecture>Power6.2</ProcArchitecture>

<ProcSpeedMIPS>400</ProcSpeed>

<ProcCacheMB>256<ProcCache>

<ProcRunning>1</ProcRunning>

</ProcessorProperties>

Page 23: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

OGSA – Globus

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11 23

WS-Renewable

References

Modeling

Statefull

Resources with

Web Services

WS-Resource

Properties

Page 24: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Exemple de WS pentru Grid

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11 24

A

Service

Level

Cluster

RRR

Mainframe

RRR

Blades

RRR

GridScheduler

WS-Resource used to

“model” physical

processor resources

WS-Resource Properties

“project” processor status

(like utilization)

Local processor manager

is “front-ended” with

A Web service interface

Other kinds of processors are also

“modeled” as same type of

WS-Resources

JJ

J

WS-Notification can be

used to “inform” the

scheduler when

processor utilization

changes

Grid “Jobs” and “tasks”

are also modeled using

WS-Resources and

Resource Properties

Grid Scheduler

is a

Web Service

Service Level

Agreement

is modeled as a

WS-Resource

Lifetime of SLA

Resource tied to

the duration of

the agreement

Page 25: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Grid si Web

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11 25

Grid

Web

Started far apart in apps & tech

Have beenconverging ?

Page 26: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Cloud computing

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11 26

Amazon EC2

http://aws.amazon.com/ec2/

Google & IBM

AZURE

http://www.azure.com/

Page 27: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

27

Business processes (workflows)

• Aplicatii complexe: este necesara executia mai

multor programe / invocarea mai multor servicii web

• Exista dependente intre aplicatiile / serviciile

executate

• Workflow: succesiunea de pasi executati intr-o

aplicatie complexa

• Limbaje pentru definirea de workflow-uri: Condor

DAGMan, Karajan (Java CoG Kit), WS-BPEL

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 28: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

28

WS-BPEL

• Standard pentru specificarea de workflow-uri pentru servicii web

• Propus de IBM, Microsoft, Siebel, BEA si SAP

• Limbaj bazat pe XML, avand la baza WSFL si XLANG

• Invocare de servicii: sincron / asincron

• Permite executie secventiala si / sau paralela a serviciilor

• Tratarea erorilor: mecanism de exceptii

• Identitatea serviciilor (“partenerii”) poate fi stabilita dinamic

• Executie ierarhica

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 29: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

29

Exemplu – WS-BPEL [MIG05]

<?xml version="1.0" encoding="UTF-8"?>

<process … > <!-- import-uri de spatii de nume -->

<partnerLinks>

<partnerLink name="printService“

partnerLinkType="print:printLink“

partnerRole="printService"/>

</partnerLinks>

<variables>

<variable name="hello_world"

messageType="print:PrintMessage" />

</variables>

<assign>

<copy>

<from><literal>Hello World</literal></from>

<to>$hello_world.value</to>

</copy>

</assign>

<invoke partnerLink="printService" operation="print"

inputVariable="hello_world" />

</process>

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 30: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

30

Continut

• Programarea serviciilor web – JAX-RPC

• Alte standarde pentru servicii web: UDDI, WSRF

• J2EE - Introducere

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 31: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Enterprise = “-ilities”

• Availability

• Dependability

• Distributability

• Maintainability

• Reusability

• Reliability

• Scalability

• Recoverability

• Etc… -ilities

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11 31

Page 32: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Availability• Disponibilitatea resurselor unui sistem pentru o perioadă de timp

Dependability• "[..] the trustworthiness of a computing system which allows

reliance to be justifiably placed on the service it delivers [..]" – IFIP WG10.4 on DEPENDABLE COMPUTING AND FAULT TOLERANCE

Distributability

• Implicarea multiplelor resurse / medii

• Resure distribuite geografic

• Independenta si interoperabilitate

04.01.2010 32Sisteme Informatice şi Standarde Deschise – Curs 11

Page 33: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Maintainability• “You are developing tomorrow’s legacy code”

• Menţinerea si păstrarea stării sistemelor

• Posibilitatea de recuperare din eroare.

– What makes a system maintainable?

Reusability

• Pentru a utiliza din nou, după salvare sau după prelucrare.

• Reducerea duplicării codului / “Copy & Paste”

• Uşor de menţinut

• Rapid de dezvoltat

Reliability

• Încrederea în sistem că va oferi răspunsurile aşteptate

• Disponibilitate 24-7-365

• Oferă suport pentru erorile frecvente

04.01.2010 33Sisteme Informatice şi Standarde Deschise – Curs 11

Page 34: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Scalability

• “Refers to how much a system can be expanded. The term by

itself implies a positive capability. For example, "the device is

known for its scalability" means that it can be made to serve a

larger number of users without breaking down or requiring

major changes in procedure.”– Computer Desktop Encyclopedia

Recoverability

• Punct unic de eşec

• Clustere de servere

• Planuri urgente de recuperare din eroare

• Management al dezastrelor

04.01.2010 34Sisteme Informatice şi Standarde Deschise – Curs 11

Page 35: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

35

J2EE (Java 2 Enterprise Edition)

• Specificatii pentru dezvoltarea aplicatiilor de tip enterprise,

aparute in 1999

• Scop: construirea unui standard pentru dezvoltarea de servicii

middleware

• Bazata pe componente

• Arhitectura pe mai multe nivele

• Flexibilitate, posibilitatea de utilizare a componentelor

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 36: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

36

Aplicatii pe mai multe nivele [PAW01]

Aplicatie

client

Pag. HTML

dinamice

Pagini JSP

Enterprise

Beans

Enterprise

Beans

Baza de

date

Baza de

date

Nivel client

Nivel web

Nivel

business

Nivel EIS (Enterprise

Information System)

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 37: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

37

Componente J2EE

• Componente client: aplicatii (de obicei cu interfata grafica), applet-uri– “thin clients”

• Componente web: – Servleti – clase Java care proceseaza cereri in mod

dinamic

– JSP (Java Server Pages) – pagini HTML cu portiuni de cod Java

• Componente business: EJB (Enterprise Java Beans) – procesari specifice domeniului– Session beans

– Entity beans

– Message-driven beans

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 38: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

38

Servicii J2EE

• Model pentru securitate

• Model pentru tranzactii

• Servicii de nume (JNDI)

• Model de conectivitate la distanta

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 39: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

39

Tipuri de containere J2EE

• Container EJB – gestioneaza componentele EJB ale unei aplicatii; ruleaza pe un server J2EE

• Containter web – gestioneaza componentele web (servleti, JSP); ruleaza pe un server J2EE

• Container de aplicatii client – ruleaza pe masina clientului

• Container de applet-uri – browser web

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 40: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

40

Impachetarea componentelor

• Fisiere .ear – Enterprise ARchive

• Deployment descriptor

– Fisier XML ce specifica setarile pentru aplicatie

– Poate fi modificat independent de codul sursa

• Componentele JAR / WAR (Web Archive) se adauga la EAR

din linia de comanda sau cu ajutorul unei interfete grafice

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 41: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

41

Referinte

• Specificatiile JAX-RPC, disponibile la

http://java.sun.com/xml/downloads/jaxrpc.html

• [UDDI02]

http://searchwebservices.techtarget.com/tip/1,289483,sid26_gci809279

,00.html – An inside look at UDDI

• www.globus.org/wsrf/specs/ws-wsrf.pdf - The WS-Resource

Framework

• [MIG05]

http://www.eclipse.org/tptp/platform/documents/design/choreography_h

tml/tutorials/wsbpel_tut.html - WS-BPEL tutorial, de A. Miguel

• [PAW01] http://java.sun.com/developer/technicalArticles/J2EE/Intro/ -

J2EE Technology Center, de M. Pawlan

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 42: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

42

Referinte suplimentare

• [DEI02]

www.deitel.com/newsletter/20020523/articles/JavaWebServices_JAX

-RPC.pdf - JAX-RPC Overview, fragment din cartea “Java Web

Services for Experienced Programmers”, Deitel Developer Series,

2002

• [Han02] http://javaboutique.internet.com/tutorials/Axis/ - Web

Services with Axis, de K. Hansen

• http://www-128.ibm.com/developerworks/webservices/library/ws-

uddiv3/ - Rocket Ahead with UDDI v3

• http://www.informit.com/articles/article.asp?p=31833&rl=1 – An

introduction to J2EE

• http://www.ibm.com/developerworks/java/library/ws-java1.html

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11

Page 43: Sisteme Informatice şi Standarde Deschise

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Sumar

• Programarea serviciilor web

– JAX-RPC

– Programarea clientilor

• UDDI

• WSRF

• WS-BPEL

• J2EE

– Introducere

– Componente J2EE

– Containere J2EE

04.01.2010 Sisteme Informatice şi Standarde Deschise – Curs 11 43


Recommended