S o b re o T e rm o Am b ie n te s d e Mid d le w a re N e ls o n S R o s a n s r@ c in u fp e b r C o n c e ito s B á s ic o s - R e d e s C o n c e ito s B á s ic o s - S D! %! % ' * * * * * & C o n c e ito s B á s ic o s - S D C o n c e ito s B á s ic o s - S D & ' + h ttp :w w w c in u fp e b r w w w c in u fp e b r, % - * 1 1 6 1 2 1 * 1 2 8 2 3 9 *, % - 1 3 1 2 1 9 8
C o n c e ito s B á s ic o s - S D C o n c e ito s B á s ic o s - S D 1 2 3 %! % An te s d e s a b e r o q u e é u m m id d le w a re 6 1 8 9, % 6 8 9 : ; 6 < = : + = 1 1 6 1 2 1 1 p ro c e s s o 1 p ro c e s s o 2 1 re p ly to 1 1 6 1 2 1 re q u e s t to 1 1 6 1 2 2 1 1 6 1 2 2 1 Mid d le w a re - D e fin iç ã o! % c a m a d a d e s o ftw a re : = u m c o n ju n to d e s e rv iç o s q u e fo rn e c e c o m u n ic a ç ã o e d is trib u iç ã o d e fo rm a tra n s p a re n te à a p lic a ç ã o m id d le w a re = c a m a d a d e s o ftw a re e n tre a a p lic a ç ã o e a re d e! % c a m a d a d e s o ftw a re c o n ju n to d e 2 p a rte s * & +, a m b ie n te d e p ro g ra m a ç ã o a m b ie n te d e e x e c u ç ã o Mid d le w a re - D e fin iç ã o Mid d le w a re - D e fin iç ã o re p ly x to 1161212 1 1 re q u e s t to 116121 S 1161212 116121 re p ly x re q u e s t S 1 1 1161212 116121
Mid d le w a re - D e fin iç ã o Mid d le w a re - D e fin iç ã o 6 ; 6 ; 1 1 1 1 6 ; 6 ; 1 - A p lic a ç ã o M id d le w a re 1 A T ra n s p o rte 1 ; p ro to c o lo s q u e s u p o rta m o s R e d e s e rv iç o s fo rn e c id o s p e lo m id d le w a re E n la c e A p lic a ç ã o M id d le w a re T ra n s p o rte R e d e E n la c e e g, p ro to c o lo s d e a u te n tic a ç ã o F ís ic a F ís ic a Mid d le w a re - S e rv iç o s Mid d le w a re - S e rv iç o s 1 : = 1 * 2 ; 1 :B C = & 2 & 1 3 M id d le w a re - C o m p o n e n te s Mid d le w a re - M o d e lo s + & ' ; * D B < < 2 ; * D E : = 6 6 : 6 = 6 1 1 : 1 1 = 1! : 1 = 3 @
Mid d le w a re - M o d e lo s Mid d le w a re - M o d e lo s & ' ; :; - = % :* % = : : = 1 G 1 : 1 - = :* 1 = B :B ; = - % :- % = = < - % 6 @ M id d le w a re - Mo d e lo s Mid d le w a re - M o d e lo s : 3 H = * % : H = : = 1 < 1 1 1 ; * D 1 - :1 G = * 1 : = B ; : = % B -, M id d le w a re - M o d e lo s Mid d le w a re - M o d e lo s M o d e lo d e In te ra ç ã o d e M id d le w a re s B a s e a d o s e m O R B s - C lie n te d o I Im p le m e n ta ç ã o d o S e rv iç o X S e rv iç o X I X é fo rn e c id o e m B D e s e jo u s a r X re g is tro d e X 1 - X é fo rn e c id o e m B + 2 J :; - = B : = T ip o s d e M O M fila d e m e n s a g e n s p a s s a g e m d e m e n s a g e m F
Mid d le w a re - M o d e lo Mid d le w a re - M o d e lo s + : = : = 6 6 2 : = : = 6 6 6 @ 6 F 6 6 @ 6 F & Mid d le w a re - P ro g ra m a ç ã o 6 D 6 ; * D L ; * D 1 - B ; 1 - : 1 - M = 1 G :1 G = 8 9 1 G N O P P Q Q P 1 - @ P : = 8 9 P P R 3 < < M, ' 8 9 K
8 9 & 8 1 - ; I 1 - B * T F U 1 1 - : = 1 - : = 1 - : = N o m e s p e rs is tê n c ia c o n c o rrê n c ia s e g u ra n ç a tra d e r tra n s a ç õ e s e v e n to s te m p o - s e rv ic e s - s e rv ic e s 1 - C ic lo d e V id a C o le ç õ e s N o m e s T e m p o T ra d e r 1 - E v e n to s N K P ro p rie d a d e s C o n s u lta L ic e n c ia m e n to P e rs is tê n c ia S e g u ra n ç a C o n c o rrê n c ia T ra n s a ç õ e s R e la c io n a m e n to s E x te rn a liz a ç ã o - s e rv ic e s - O R B : N 8 9 N 8 9 A S
- O R B - O R B Hello Client O b je c t R e fe re n c e Hello Server H e llo s e rv a n t sayhello Hello World! sayhello! % & ' '! & 8 8 A 8 A ; - O R B - Ap lic a ç ã o @ F K 1 - : = in v o c a ç ã o re s p o s ta 1-3, 8, 9 S o c k e t - Ap lic a ç ã o S o c k e t - Ap lic a ç ã o - C lie n te class TCPClient public static void mainstring argv[] throws Exception String sentence; String modifiedsentence; Socket clientsocket = new Socket 116121,2; DataOutputStream outtoserver = new DataOutputStreamclientSocketgetOutputStream; BufferedReader infromserver = new BufferedReadernew InputStreamReaderclientSocketgetInputStream; outtoserverwritebytes; modifiedsentence = infromserverreadline; SystemoutprintlnmodifiedSentence; clientsocketclose; O
S o c k e t - Ap lic a ç ã o - S e rv id o r X S o c k e t - Ap lic a ç ã o class TCPServer public static void mainstring argv[] throws Exception ServerSocket welcomesocket = new ServerSocket2; Socket connectionsocket = welcomesocketaccept; 6 6 S o c k e t BufferedReader infromclient = new BufferedReadernew InputStreamReaderconnectionSocketgetInputStream; DataOutputStream outtoclient = new DataOutputStreamconnectionSocketgetOutputStream; clientsentence = infromclientreadline; outtoclientwritebytes Hello World ; - Ap lic a ç ã o - In te rfa c e In te rfa c e Hello d o s e rv iç o u s a d o C ó d ig o e m ID L p e lo c lie n te e im p le m e n ta d o n o s e rv id o r module HelloApp interface Hello o p e ra ç õ e s d a In te rfa c e string sayhello; oneway void shutdown; ; ; - Ap lic a ç ã o - C lie n te public class HelloClient static Hello helloimpl; public static void mainstring args[] ORB orb = ORBinitargs, null; cria e inicializa o ORB orgomgcorbaobject objref = orbresolve_initial_referencesnameservice; NamingContextExt ncref = NamingContextExtHelpernarrowobjRef; String name = Hello; helloimpl = HelloHelpernarrowncRefresolve_strname; C ó d ig o J a v a SystemoutprintlnObtained a handle on server object: + helloimpl; SystemoutprintlnhelloImplsayHello; helloimplshutdown; - Ap lic a ç ã o - S e rv id o r C ó d ig o J a v a class HelloImpl extends HelloPOA private ORB orb; X S o c k e t - Ap lic a ç ã o - C lie n te S o c k e ts public void setorborb orb_val orb = orb_val; public String sayhello return \nhello world!!\n; public void shutdown orbshutdownfalse; public class HelloServer public static void mainstring args[] ORB orb = ORBinitargs, null; create servant and register it with the ORB HelloImpl helloimpl = new HelloImpl; helloimplsetorborb; orgomgcorbaobject objref = orbresolve_initial_referencesnameservice; NamingContextExt ncref = NamingContextExtHelpernarrowobjRef; String name = Hello; NameComponent path[] = ncrefto_name name ; ncrefrebindpath, href; orbrun; W ; X : Y Z = W [ H : := =X [ \ \ c la s s T C P C lie n t p u b lic s ta tic v o id m a in S trin g a rg v [] th ro w s E x c e p tio n S o c k e t c lie n ts o c k e t = n e w S o c k e tp a u lis ta,2 ; D a ta O u tp u ts tre a m o u tt o S e rv e r = n e w D a ta O u tp u ts tre a m c lie n ts o c k e tg e to u tp u ts tre a m ; B u ffe re d R e a d e r in F ro m S e rv e r = n e w B u ffe re d R e a d e rn e w In p u ts tre a m R e a d e rc lie n ts o c k e tg e tin p u ts tre a m ; S y s te m o u tp rin tln in F ro m S e rv e rre a d L in e ; c lie n ts o c k e tc lo s e ; V
- Ap lic a ç ã o - E x e c u ç ã o - Ap lic a ç ã o - E x e c u ç ã o orbd 116112 116118 HelloServer Hello 116112 orbd 116118 HelloServer Hello cliente 1161119 1 In ic ia o orbd % start orbd -ORBInitialPort 1 2 In ic ia o HelloServer % java HelloServer -ORBInitialPort 1 -ORBInitialHost 11122 3 In ic ia o HelloClient % java HelloClient -ORBInitialPort 1 -ORBInitialHost 116122 cliente 1161119 1 R e g is tro n o tra d e r helloimplsetorborb; 2 R e g is tro n o s e rv iç o d e n o m e s ncrefrebindpath, href; 3 B u s c a p e lo s e rv iç o Hello helloimpl = HelloHelpernarrowncRefresolve_strname; O b te m u m a re fe rê n c ia d e in te rfa c e p a ra u s a r o Hello helloimpl = HelloHelpernarrowncRefresolve_strname; E x e c u ta a o p e ra ç ã o sayhello SystemoutprintlnhelloImplsayHello; Q