1
1
Extreme Java G22.3033-006
Session 7 - Main ThemeJava Distributed Enterprise Communications (Part II)
Dr. Jean-Claude Franchitti
New York UniversityComputer Science Department
Courant Institute of Mathematical Sciences
2
AgendaSummary of Previous SessionCORBA Component Modeling and CommunicationsCORBA Naming and Trading Services
POA, COSNaming, COSTrading
RMI / RMI-IIOP Component Modeling and CommunicationsRMI / RMI-IIOP Naming and Trading Services
JNDI and Jini
COM+, DNA, and .NetWeb- and Application-Enabling FacilitiesReadingsClass Project & Assignment #3b
2
3
Summary of Previous SessionSummary of Previous SessionReview of Network and Web Communications Introduction to Distributed Enterprise CommunicationsIntroduction to ORB ImplementationsCORBARMI & RMI-IIOPDOC Platforms InteroperabilityWeb-Enabled and XML-Enabled PlatformsWeb-Enabled DOC PlatformsArchitecture FrameworksJavaBeans and the JavaBeans Activation FrameworkReadingsClass Project & Assignment
4
Part I
CORBA for Java
3
5
Readings
See Session 6 Handouts:Interoperability and the CORBA SpecificationObject Request Brokers (ORB) InteroperabilityThe Object Request Broker (ORB) ArchitectureThe OMG Object ModelThe Interface Definition Language (IDL)IDL to Java MappingA Simple Java ORB ApplicationCoding Examples for VisiBroker, OrbixWeb, and JavaCORBA Activation Service - Portable Object Adapter (POA)
6
CORBA/IIOP Communications
IDL-to-Java mappingObjects by value over CORBA
Object serialization capabilities limited to Java environment
4
7
OMG Reference Model Architecture (OMA)
Current and Next Generation OMASee http://www.omg.org/gettingstarted/specintro.htm#OMASee http://www.objs.com/staging/OMG-OMA-NG.html
8
Object Services (CORBAservices)
Domain-independent interfaces used by many distributed object programsProvide basic functionality for distributed object applicationsNaming Service: allows clients to find objects based on namesTrading Service: allows clients to find objects based on their propertiesOther services: persistence, lifecycle management, security, transactions, event notification, etc.
5
9
Common Facilities (Horizontal CORBAfacilities)Horizontally-oriented interfaces (useful across business domains)Oriented towards end-user applications (e.g., user interface, information mgmt, system mgmt, task mgmt)E.g.: Distributed Document Component Facility (DDCF)
Compound document facility based on OpenDocAllows for presentation and interchange of objects based on a document model (e.g., linking of spreadsheet object into a report document)
Printing, Secure Time, Internationalization, and Mobile Agent Facilities
10
Information Management Horizontal Facility
6
11
Domain Interfaces (Vertical CORBAfacilities)
Role similar to Object Services and Common FacilitiesOriented towards specific application domainsE.g., Product Data Management (PDM) Enablers for the manufacturing domainOther possibilities in the telecommunications, medical, and financial domains
12
Application Interfaces
Custom interfaces developed for a given applicationNot standardizedMight become candidates for future OMG standardization
7
13
CORBA OMA Services
Activation Services: POA + Lifecycle ServicesNaming Service: POA + CosNaming Services
Session 7 Handouts:Naming Services – CosNaming, The CosNaming Module
Session 6 Handout: CORBA Activation Service - Portable Object Adapter (POA)
Directory and Trading Services: CosTradingSee Session 7 Sub-Topic 3 Presentation: OMA Trading Services
Object Transaction Service: OTSMessaging Services: Event + Notification Services
14
Naming Service Conceptual Architecture(review)
8
15
Directory Service Conceptual Architecture(review)
16
Naming Service - CosNaming(Binding and Resolving Names in a Naming Context)
Naming Context
…
Servant
Clientbind(name, object_ref);
resolve(name);
object_ref
9
17
Naming Service - CosNaming(Federated Naming Context)
Naming Context3
…
Naming Context2
…
Naming Context1
…
18
New in Corba 3
CORBA 3 & CORBA Component Model (CCM)See http://ditec.um.es/~dsevilla/ccm/
Quality-of-service controlMessaging invocation modelTightened integration with the InternetPOA (Portable Object Adapter)EJB and Java supportOMG specifications for analysis and design, and application interoperability
UML, MOF, XMI, Common Warehouse Model
10
19
Part II
RMI, RMI-IIOP, and JavaIDL
Also See:
“Java.rmi The Remote Method Invocation Guide”
20
RMI-JRMP, RMI-IIOP, and JavaIDL
See Session 7 Handouts:RMI ExampleRMI-IIOP ExampleThe RMI Activation FrameworkThe RMI Naming Service
11
21
J2EE OMA ServicesActivation Services: RMI & JavaBeans Activation Fmks
Session 7 Handout: The RMI Activation Framework
Naming and Directory Service: JNDIJNDI and JNDI SPIs for CosNaming, RMI, NIS, NDS, LDAP
See Session 7 Handout: JNDISee Session 7 Sub-Topic 2 Presentation:
Java Naming and Directory Interface
Trading Service: JiniSee Session 7 Handouts:
Jini – The Universal Network?, Jini Connection Technology
Transaction Service: JTA and JTSMessaging Services: JMS + JavaMail
22
The Architecture of JNDI
12
23
JNDI Detailed Architecturehttp://java.sun.com/products/jndi/serviceproviders.html
24
Jini’s Service-Based Architecture
13
25
Jini’s Relationship to Other Java Services
26
RMI in the Jini Environment
14
27
Sample Jini “Loan Approval” Service
28
Part III
COM+, DNA, and .Net
Also See:
“http://members.tripod.com/gsraj/misc/ejbmts/ejbmtscomp.html and related archives”
and Session 7 Sub-Topic 1 Presentation on “A COM+ Application Scenario”
15
29
COM+
See Session 6 Presentations:Sub-Topic 1 Presentation on Distributed Communications Enabling Sub-Topic 3 Presentation on Introduction to CORBA, DCOM, and RMI
See Session 7 Presentation:Sub-Topic 1 Presentation on A COM+ Application Scenario
30
Microsoft Component Object Model(Logical Architecture)
16
31
Win32 Services
Win32 executable that satisfy several propertiesLifetime is controlled by the Service Control Mgr (SCM)
Service is registered with SCM, and understands and obeys SCM commands
Service has its own login session or shares one with another service
Service runs as a user or local system and abides to applicable security
Service implements a set of service-specific functions:Starting up, message handler, communication back to SCM
32
COM+ = DCOM/COM + MTS
17
33
DNA OMA Services
Activation ServicesDCOM Activation Framework
Naming and Directory ServiceDCOM Class and Object Naming (i.e., CLSIDs, ProgIDs, and Monikers)
Trading ServiceMicrosoft Active Directory
Transaction ServiceCOM+ MTS
Messaging ServiceCOM+ MSMQ
34
COM+ Services
COM+ Catalog (v.s. Windows Registry)COM+ Load BalancingCOM+ In-Memory Database (IMDB)COM+ Object PoolingCOM+ Queued ComponentsCOM+ EventsC++ Compiler Changes
18
35
DCOM Class and Object Naming(file moniker file: bind)
36
DCOM Class and Object Naming(url moniker http:, ftp:, gopher: bind)
19
37
DCOM Class and Object Naming(class moniker clsid: bind)
Display name for class monikers:display-name = "CLSID:" string-clsid-no-curly-braces *[";" clsid-options] ":"clsid-options = clsid-param "=" valueclsid-param = none currently defined
C++ example (tell moniker to use an object that can read a document instead of the document itself):ProgIDFromCLSID( &clsid, "xyz.activator.1")CreateClassMoniker( clsid, &pmkClass )MkParseDisplayName( pcb, "\\northamerica\central\employee.doc", &dwEaten, pmkFile )pmkFile->BindToObject( pcb, pmkClass, IID_IDispatch, &pDisp )
38
Trading Service - Active Directoryhttp://www.microsoft.com/windows2000/server/evaluation/features/dirlist.asp
20
39
COM+ Catalog v.s. Windows Registry
Stores COM+ application attributes, class attributes, and computer-level attributesGuarantees consistency among attributesProvide common operations on top of attributesTwo different stores
COM+ registration databaseMicrosoft Windows Registry (HKEY_CLASSES_ROOT)
COM components that do not require new COM+ servicesType libraryInterface proxy/stub registration
Unified logical view via COM+ Admin Library
40
COM+ Load Balancing
21
41
COM+ IMDB
42
COM+ Queued Components
22
43
COM+ Events
44
C++ Compiler Changes
Sample Attributes:in/out direction of parameter in a methodthreading modelcomponent housing (i.e., DLL or EXE)
23
45
Distributed InterNet Applications Architecture (DNA)
46
Creating an MTS ComponentExample:
try {
// create the MTS componentbank.IChecking server=
(bank.IChecking) new bank.Checking ();
// invoke business methods on the componentserver.createAccount (1234, "Athul", 1000671.54d);
}catch (Exception ex) {ex.printStackTrace ();
}
24
47
Microsoft .NET PlatformSmart Devices + Windows XP + Web Services
http://www.microsoft.com/net
48
.NET Framework
Common Language Runtime (CLR)Accessible to any compiler that produced Microsoft Intermediate Language (IL) code
Runtime ClassesVisual Studio.Net (VS.Net)
Includes VB.Net, VC.Net (C#), and Visual C++.Net
25
49
.NET, Win32, COM, and COM+
.Net applications can call functions that reside in Win32 DLLs via the DllImport attribute of System.Runtime.InteropServices’ platform invocation (PInvoke) services.Net applications can call traditional COM components using Runtime Callable Wrappers (RCWs) which uses interop assemblies (i.e., .Net components) created via COM Interop using the TLBIMP utilityCOM+ services (transactions, object pooling, JIT activation) can be used from .Net (via System.EnterpriseServices namespace).Net runtime uses COM+ to support some of its services (e.g., transactions for managed classes)
50
.Net Remoting(http://www.dotnetremoting.cc/)
Native .Net Remote Object InvocationAllows Object Invocation and Communications Across Processes and MachinesWire Protocol and Format IndependentExtensible via Custom Formatters (SOAP, Binary, etc.), Channels (HTTP, TCP, etc.), and Sink Chain (i.e., Channels + Formatters) StepsFlexible as Configuration can be Changed after Deployment with Little or no Code ChangesFlexible (IIS not required on server) but more Complex than Web Services
26
51
.Net Remoting Vs. DCOM
Not as Transparent as DCOMHas no COM Interop InvolvedOffers More Deployment OptionsNot Tied to a Specific Wire Protocol or FormatFirewall FriendlyAllows you to Specify which Objects are Remoted
52
.Net CLR and COM+CLR Introduces a Newer and Easier Programming Model for COM+The COM+ Services are still Available only at the OS/Unmanaged WorldTransitions Between Managed/Unmanaged Layers are Taken Care of by “System.EnterpriseServices” Namespace
System.EnterpriseServices.ContextUtil class provides access to contexts (as did CoGetObjectContext)
Services are Made Available to Components Using Attributes
27
53
ContextUtil ClassUseful Static Members
ActivityIdIsSecurityEnabledTransactionIdDesactivateOnReturnMyTransactionVote
Rich Set of Member FunctionsSetCompleteSetAbortEnableCommitDisableCommitIsCallerInRoleGetNamedProperty
54
.Net and ServicedComponent
COM+ Class Derives from “ServicedComponent”[ComVisible(true)][ObjectPooling(MinPoolSize=2, MaxPoolSize=5)][Guid(“57F01F20-9C0C-4e63-9588-720D5D537E66)][Transaction(TransactionOption.Required)]public class SVCCompClass : ServicedComponent
In COM+ 1.0, the List of Services Are not ChangedIn COM+ 1.5 (Microsoft Windows XP Professional and .Net server), Newer Services are Available to Leverage CLR Features
28
55
Component Layers in .Net Applications/Services(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/distapp.asp)
56
Security Policies in .Net Applications/Services
29
57
Operational Mgmt Policies in .Net Applications/Services
58
Communication Policies in .Net Applications/Services
30
59
.Net Applications Support Technologies/Services(continued)
Security, Operational Management, Communication provided by Microsoft Windows OS Services
Active Directory ServiceMessage QueuingWindows Management Instrumentation (WMI)etc.
60
Part IV
Web- and Application-Enabling FacilitiesAlso See Session 6 Handout on:
“Applets, Servlets, and Java Server Pages”
31
61
Web and Application Services
Activation ServicesClient: MIME Handler, and Applet ActivationWeb Server: File-Stream, Process, Script Engine, Servlet, JSP, and EJB Activation
Naming and Directory ServiceDNS and Java-Based DNS InterfacingNIS, NDS, LDAP
Custom Transaction ServicesBased on Encina, Tuxedo, etc.
Custom Messaging ServicesTIBCO
MQSeries
62
J2EE Web-Enabling Component Models
Javasoft’s Applet Tutorial:http://java.sun.com/docs/books/tutorial/applet/TOC.html
Swing Applets:http://java.sun.com/docs/books/tutorial/uiswing/start/swingApplet.html
Java Web Start:http://www.javasoft.com/products/javawebstart/index.html
Servlets, Servlet filters, Cocoon/XSPsSee previous session and related session 6 handouts
Connected and Wireless Deviceshttp://java.sun.com/j2mehttp://webdev.apl.jhu.edu/~rbe/kvm/
32
63
Java Servlets & Java Server Pages
See Session 6 Handout:Applets, Servlets, and Java Server Pages
See Javasoft’s Documentation on Servlets:http://java.sun.com/products/servlet/index.html
See Javasoft’s Documentation on JSPs:http://java.sun.com/products/jsp/
Servlet Example: Cocoonhttp://xml.apache.org
64
DNA Web Architectures
FORM+ = Merger of Win32 GUI and Web APIs (~DHTML)STORAGE+ = OLE DBCOM+ = COM + MTS
33
65
Service Oriented Architecture
66
Content, Discovery, Universal access, and Intelligent Software Agents
UDDI: Universal Description, Discovery, and IntegrationIndustry-wide effort to bring a common standard for business-to-business(B2B) integrationSet of standard interfaces for accessing a database of web servicesSee UDDI Browser at http://www.soapclient.com/uddisearch.htmljUDDI (pronounced "Judy") is an open source Java-based implementation of a UDDI registry Also see
http://www.sun.com/software/xml/developers/uddi/http://www-3.ibm.com/services/uddi/index.htmlhttp://uddi.microsoft.com/default.aspxhttp://www.oasis-open.org/cover/uddi.htmlhttp://www.itpapers.com/cgi/SubcatIT.pl?scid=436
Intelligent Software Agents: ATLAS, Aglets, etc.
34
67
XML-Based e-Services Protocols and Architectures
XML-RPC and Peer-to-Peer ComputingSimple Object Application Protocol (SOAP)Universal Description, Discovery, and Integration (UDDI)Web Service Definition Language (WSDL)
http://www.w3.org/TR/wsdl
Pervasive devicesResource Description Framework (RDF)
Platform for Internet Content Selection (PICS)Platform for Privacy Preferences (P3P)Channel Definition Format (CDF)Rich Site Summary (RSS)Blocks Extensible Exchange Protocol (BXXP)
68
XML-Based e-Services Protocols and Architectures (continued)
XML Protocol (XMLP): XML-Based Messaging Systems
Standardized application to application XML messaging (via HTTP, and MQSeries)
XML and User Identification/SecurityXML and Databases
XML and JDBCXML Extensions and Tools for Oracle, Informix, IBM DB2, and Microsoft SQL Server
Transaction Authority Markup Language (XAML)Coordinated processing of transaction-supporting web services between internal fulfillment services and external services
35
69
XML-Based e-Services Protocols and Architectures (continued)
Sun’s Open Net Environment (ONE)HP’s NetAction/e-speak platformOracle’s Dynamic Services platformMicrosoft .NET platformIBM WebSphere Architecture (WSA) platform
70
Web Services Stack
36
71
Implementation Diagram
72
Derivative Architecture Patterns
37
73
Web Services Latest Specifications(http://msdn.microsoft.com/webservices/ , http://www.ibm.com/webservices/,
http://dev2dev.bea.com/techtrack/standards.jsp)
Baseline WS SpecificationsSOAP, UDDI, WSDL
BPEL4WSBusiness Process Execution Language for WS
Global WS SpecificationsWS-CoordinationWS-InspectionWS-ReferralWS-RoutingWS-SecurityWS-PolicyWS-Transaction
74
.Net Applications Support Technologies/Services
38
75
XML Tools for Information Appliances
See http://www.topxml.com/java/articles/javaxml/3.asp
Java Soap library
KVM kSOAP (http://ksoap.enhydra.org/)
Environment Needed to Run XML-Based Java ApplicationsJava KVM for J2ME
Java Kilobyte Virtual Machine (KVM) designed to operate with as little as 160 to 512 KB of memory
NanoXMLLightweight DOM-style XML parser and document generator
Palm OS Emulator (POSE)Software that emulates the hardware of different Palm devices (Palm III, Vx, VII, etc.)Can be used as a unit testing platform
Also See http://webdev.apl.jhu.edu/~rbe/kvm/
76
Sample Palm ApplicationBeaming contact information from a custom Palm database
39
77
Part V
Introduction to Building Presentation Logicusing
J2EE Application Servers
78
J2EE Server and Containers
40
79
Servlets Technology(http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html
http://www.java-shop.com/jsp.htm)
Java’s standard mechanism for writing code that runs and extends the functionality of a servlet engineA servlet is to a server what an applet is to a browserHTTP servlets
Replacement for CGIStandard mechanisms for handling cookies, sessions, session/application contextsAdvantages over CGI: performance, platform and web-server independance
Servlet filters are new in the Java Servlet Specifiation 2.3
80
JSP Technology(http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/JSPIntro.html)
Answer to Microsoft’s Active Server PagesProvide mechanism for including tags/scriptlets into an HTML or XML pageJSPs have .jsp extension and are processed using a special servlet
JSP page is compiled into a servlet upon first access or after each modification
Ability to instantiate and access JavaBeans within JSP pages
41
81
Distributed Multitiered Applications
82
Server Communications
42
83
Web Tier and J2EE Application
84
Web Tier and J2EE Application
43
85
Business and EIS Tiers
86
Part VI
A Practical ApplicationPlants-By-WebSphere Sample
44
87
Web Browser Clients• Tier-0 Clients
– Presentation is handled by logic running in the Web Application Server and rendered by the browser
– Differences in browsers may require server awareness• Tier-1 Clients
– Commonly used for Intranet development– Rich set of presentation features– Rely on direct communication with business logic using IIOP
or SOAP– Supported by libraries such as SWT and JFC/Swing
• Pervasive Devices– WebSphere provides servlet extension that detects the client
device type and selects a presentation specific to that device.– WebSphere Everyplace Access provides transcoding
technology
88
Plants-By-WebSphere
• Plants-By-WebSphere is a Sample Shipped with WAS– A mail-order storefront for plants, trees, and gardening tools– Includes source code– Meant to demonstrate a classic J2EE application– Functional – Logic-based
• Model-based PL Comparison Framework– JSP Pages– HTML pages – Servlets– Model Wrappers– EJBs– Helper Classes
45
89
JSP Pages(presentation)
• cart– Content obtained from ShoppingCart EJB
• checkout– Credit card/shipping info gathering form
• orderdone– Confirmation of completed order submission
• product– View of selected item
• salesitems– Frames component images of the main home-page logo for
the store front• showcatalog
– Lists contents of the catalog retrieved from Inventory EJB
90
Other Pages
• index.html– Home page: logo + navigation
• banner.html– Standard noteback tab metaphor for
navigation
46
91
Servlets
• ShoppingControllerServlet– Main point of control for user input to the
plant store Web interface
92
Model Wrappers
• CartModel– Wrapper to ShoppingCart EJB
• CustomerModel– Wrapper to Customer EJB
• InventoryModel– Wrapper to Inventory EJB
• OrderModel– Wrapper to Order EJB
47
93
EJBs• Catalog
– stateless session bean, collects info from store inventory• Customer
– CMP entity bean• FulFillOrder
– Stateless session bean• Inventory
– CMP entity bean• Order
– CMP entity bean• OrderIdGenerator
– CMP entity bean• OrderItem
– CMP entity bean• OrderSender
– Stateless session bean used to send a message when the order is complete• OrderReceiver
– Message-driven bean that receives order messages and calls the FulFillOrder bean• ShoppingCart
– Stateful session bean that holds the contents of the shopping cart
94
Helper Classes• CustomerInfo
– Java holder object for the Customer bean• InsufficientInventoryException
– Exception thrown by FulFillOrder bean if the order cannot be filled
• OrderInfo– Holder-Object for the Order bean
• StoreItem– Holder-Object for the contents of an item in the
Catalog• Util
– Supports various helper functions (get EJB homes, get initial JNDI context, etc.)
48
95
Web Services
• PlantsByWebSphereCatalogService– Represents the PlantByWebSphereCatalog
port-type with a SOAP binding– Service can be used to get product information
from the Catalog
96
Engineering Approach• Develop JSP pages and Servlets• Use a set of wrappers to the EJBs
– Allows the Web application to be developed in parallel with the EJBs
– Model wrappers used as temporary stand-ins to the EJBs during the development of the web application
• Map or delegate the model objects to actual EJBs
49
97
Implementation Challenges• Transactional coordination of updates to the
database and JMS queues– Use XA data sources to the Cloudscape database that
ships with WebSphere?• Use of relationships
– An order aggregates multiple OrderItems• OrderSender and FulFillOrder EJBs may need to
use the Java 2 Connector Architecture (JCA) to connect to an underlying legacy system
• Use of a Web Service
98
Web Tier Development Process
Create projects necessary for the applicationCreate the home pageCreate the banner and the navigation menuCreate the controllerCreate the model JavaBeansRepeat for adding additional content and pages and updating the controller
50
99
Creating the ProjectsUse WebSphere Studio WizardsWeb Application Project Must Reside in a J2EE Enterprise Application ProjectCreate a Web Application Project (File | New | Project )
Static Web project used for creating static HTML pagesJ2EE Web application project used to create dynamic content using JSP pages and servlets as well as static content
Customize the Web Project Features .cvsignore fileDefault CSS fileInclude tag libraries (JSP access, database access, internationalization, JSP standard tag library, utility tag lib)
100
Creating the Home PageFile | New is Perspective SensitiveSelect the Web Content project folder and right click to bring up HTML/XHTML FileCode Generation Model is not used by WSADThe HTML/JSP editor can be used in “Source” view to edit the file, then go back to “Design” view to see the changesSelect a Style Sheet on the Gallery tab in the Outline view
Import a style sheet by selecting the theme folder in the Web project in the Navigator view, then right click on File | Import
51
101
Part V
Conclusion
102
Summary
OMG, Sun, and Microsoft DOC platforms all share the OMA architectureOMG’s OMA provides the most comprehensive and detailed set of specifications for CORBAfacilities, and CORBAservicesJavaSoft has focused mostly on OMA services as part of the J2SE, J2EE, and J2ME architecturesMicrosoft provides platform specific support for services and anintegrated set of horizontal and vertical facilities bundled with the OSAll platforms support web-enabling which is being extended with trading capabilities via Web Services
52
103
Architecture Frameworks
CORBA & Applets (e.g., VisiBroker, and ORBacus)RMI-JRMP and RMI-IIOPWeb Servers (e.g., Apache), Servlet & JSP Engines (e.g., Tomcat,JRun, WebSphere Client and Web Containers)J2EE Application Servers (e.g., WebSphere, WebLogic, JBoss)XML Parsers (e.g., XercesJ)XML server-side POP frameworks (e.g., Cocoon 2/XSP)XML EAI frameworks (e.g., WebMethods), B2Bi, BPM, LE, and EIIIDEs (e.g., JBuilder), and JavaBeans Development Kit (e.g., BDK)
104
Assignment• Readings
– J2EE: Part IV Chap. 14, 18, Appendix E– Expert One-on-One: Introduction (cont.)– Selected readings mentioned in class or referenced in the handouts – Handouts posted on the course web site
• Assignment #3b: (submit report and implementation archive)– Provide a modified version of the Java-based application developed in assignment
#3a to operate as a client-server application using CORBA. Your program should be implemented using the Visibroker for Java CORBA framework. Both a “rich” Java client and an applet should be provided on the client side. You are not required to use CosNaming in this assignment.
– Experiment with the Plants-By-WebSphere Presentation Logic Implementation– Extra Credit: Implement same assignment using Java IDL, and RMI-IIOP and JNDI.
• Project Framework Setup– J2EE IDE: IBM WSAD, WAS, DB2– Java Plug-in, Java Web Start, Apache’s Xerces/Xalan – J2SE 1.3.1, 1.4.0 or 1.4.1 (SDK)– IDE: Eclipse, NetBeans, Sun ONE Studio, JBuilder, Visual Age, Visual Café,
Codewarrior, WebGain Studio, Oracle JDeveloper, etc.– Editors: JCreator, UltraEdit, etc.– Visibroker 4.5.1 or BES 5.2 – RMI-IIOP / Java IDL
53
105
Next Session:Java Distributed Enterprise Communications (Part III)
Review Information Covered in Session 7JMSJTA and JTSJAAS/JCE/JSSEJavaMail