g22 3033 007 c71 - nyu.eduqbuilding java enterprise systems: part iii, 14-18 qusing java 2...
Post on 15-Jul-2020
0 Views
Preview:
TRANSCRIPT
1
1
Extreme JavaG22.3033-007
Session 7 - Main ThemeJava Distributed Enterprise Communications (Part II)
Dr. Jean-Claude Franchitti
New York UniversityComputer Science Department
Courant Institute of Mathematical Sciences
2
Agenda
Summary of Previous SessionRMI, RMI IIOP, and JavaIDLCORBACOM+Web-Enabling FacilitiesReadingsClass Project & Assignment #3b
2
3
Summary of Previous Session
Distribution MechanismsNetwork and Socket ProgrammingWeb CommunicationsArchitecture FrameworksJavaBeansReadingsClass Project & Assignment #3a
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 Javaenvironment
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 manydistributed object programsProvide basic functionality for distributed objectapplicationsNaming Service: allows clients to find objects basedon namesTrading Service: allows clients to find objects basedon their propertiesOther services: persistence, lifecycle management,security, transactions, event notification, etc.
5
9
Common Facilities (Horizontal CORBAfacilities)Horizontally-oriented interfaces (useful across businessdomains)Oriented towards end-user applications (e.g., userinterface, information mgmt, system mgmt, task mgmt)E.g.: Distributed Document Component Facility (DDCF)
Compound document facility based on OpenDocAllows for presentation and interchange of objectsbased on a document model (e.g., linking ofspreadsheet object into a report document)
Printing, Secure Time, Internationalization, and MobileAgent Facilities
10
Information Management Horizontal Facility
6
11
Domain Interfaces (Vertical CORBAfacilities)
Role similar to Object Services and CommonFacilitiesOriented towards specific application domainsE.g., Product Data Management (PDM) Enablers forthe 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 OMGstandardization
7
13
CORBA OMA Services
Activation ServicesCORBA POACORBA Lifecycle
Naming ServiceCosNaming
Directory and Trading ServicesCosTrading
Object Transaction Service (OTS)Messaging Services
CORBA Event ServiceCORBA Notification Service
14
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, andapplication interoperability
UML, MOF, XMI, Common Warehouse Model
8
15
Part II
RMI, RMI-IIOP, and JavaIDL
Also See:
“Java.rmiThe Remote Method Invocation Guide”
16
RMI-JRMP, RMI-IIOP, and JavaIDL
See Session 7 Handouts:RMI ExampleRMI-IIOP ExampleThe RMI Activation FrameworkThe RMI Naming Service
9
17
J2EE OMA Services
Activation ServicesRMI Activation FrameworkJavaBeans Activation Framework
Naming and Directory ServiceJNDI and JNDI SPIs for CosNaming, RMI, NIS, NDS, LDAP
Trading ServiceJini
JTA and JTSMessaging Services
JMSJavaMail
18
Part III
DNA
Also See:
“http://members.tripod.com/gsraj/misc/ejbmts/ejbmtscomp.html and related archives”
and Session 7 Sub-Topic 2 Presentation on “A COM+ Application Scenario”
10
19
COM+
See Session 6 Presentations:Sub-Topic 1 Presentation on DistributedCommunications EnablingSub-Topic 3 Presentation on Introduction toCORBA, DCOM, and RMI
See Session 7 Presentation:Sub-Topic 1 Presentation on A COM+ ApplicationScenario
20
Microsoft Component Object Model(Logical Architecture)
11
21
Win32 Services
Win32 executable that satisfy several propertiesLifetime is controlled by the Service Control Mgr (SCM)
Service is registered with SCM, and understands and obeysSCM commands
Service has its own login session or shares one withanother service
Service runs as a user or local system and abides to applicablesecurity
Service implements a set of service-specific functions:Starting up, message handler, communication back to SCM
22
COM+ = DCOM/COM + MTS
12
23
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
24
COM+ Services
COM+ Catalog (v.s. Windows Registry)COM+ Load BalancingCOM+ In-Memory Database (IMDB)COM+ Object PoolingCOM+ Queued ComponentsCOM+ EventsC++ Compiler Changes
13
25
Part IV
Web-Enabling Facilities Also See Session 6 Handout on:
“Applets, Servlets, and Java Server Pages”
26
Web and Application Services
Activation ServicesClient: MIME Handler, and Applet ActivationWeb Server: File-Stream, Process, Script Engine, Servlet, JSP, and EJBActivation
Naming and Directory ServiceDNS and Java-Based DNS InterfacingNIS, NDS, LDAP
Custom Transaction ServicesBased on Encina, Tuxedo, etc.
Custom Messaging ServicesTIBCOMQSeries
14
27
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/
28
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
15
29
DNA Web Architectures
FORM+ = Merger of Win32 GUI and Web APIs (~DHTML)STORAGE+ = OLE DBCOM+ = COM + MTS
30
Content, Discovery, Universal access, andIntelligent 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 ofa UDDI registryAlso 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.
16
31
XML-Based e-Services Protocols andArchitectures
XML-RPC and Peer-to-Peer Computinghttp://xml.coverpages.org/xml-rpc.html
Simple Object Application Protocol (SOAP)http://soap.develop.com/xmlrpc/
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)
32
XML-Based e-Services Protocols andArchitectures (continued)
XML Protocol (XMLP): XML-Based MessagingSystems
Standardized application to application XML messaging (viaHTTP, and MQSeries)
XML and User Identification/SecurityXML and Databases
XML and JDBCXML Extensions and Tools for Oracle, Informix, IBM DB2, andMicrosoft SQL Server
Transaction Authority Markup Language (XAML)Coordinated processing of transaction-supporting web servicesbetween internal fulfillment services and external services
17
33
XML-Based e-Services Protocols andArchitectures (continued)
Sun’s Open Net Environment (ONE)HP’s NetAction/e-speak platformOracle’s Dynamic Services platformMicrosoft .NET platformIBM WebSphere Architecture (WSA)platform
34
Microsoft .NET PlatformSmart Devices + Windows XP + Web Services
http://www.microsoft.com/netFirst set of Microsoft Web Services
http://www.microsoft.com/net/hailstorm.asp
18
35
XML Tools for Information Appliances
See http://www.topxml.com/java/articles/javaxml/3.aspJava 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 littleas 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/
36
Sample Palm ApplicationBeaming contact information from a custom Palm database
19
37
Part V
Conclusion
38
Summary
OMG, Sun, and Microsoft DOC platforms all share the OMAarchitectureOMG’s OMA provides the most comprehensive and detailed setof specifications for CORBAfacilities, and CORBAservicesJavaSoft has focused mostly on OMA services as part of theJ2SE, J2EE, and J2ME architecturesMicrosoft provides platform specific support for services and anintegrated set of horizontal and vertical facilities bundled withthe OSAll platforms support web-enabling which is being extendedwith trading capabilities via Web Services
20
39
Architecture Frameworks (ongoing)
CORBA & Applets (e.g., VisiBroker, and ORBacus)Web Servers (e.g., Apache), Servlet & JSP Engines(e.g., Tomcat, JRun)J2EE Application Servers (e.g., WebLogic)XML Parsers (e.g., Xerces J)XML server-side POP frameworks (e.g., Cocoon)XML EAI frameworks (e.g., WebMethods)IDEs (e.g., JBuilder), and JavaBeans Development Kit(e.g., BDK)
40
AssignmentReadings
Building Java Enterprise Systems: Part III, 14-18Using Java 2 Enterprise Edition: Parts I, and IIISlides and handouts posted on the course web site
Assignment #3b:Modify ongoing version of Java-based XML Tree Viewerapplication to operate as a client-server application usingCORBA. Both a “rich” Java client and an applet should beprovided on the client side. The server component should beimplemented using VisiBroker 4.5 for Java.Implement a modified version using JavaIDL and RMI-IIOP
21
41
Next Session:Java Distributed EnterpriseCommunications (Part III)
Review Information Covered in Session 6RMI Activation Service & JAFJNDI Naming and Directory ServicesJini Trading ServiceJMS & JavaMailJTA and JTSPersistence ServiceSecurity Service
top related