21
1 1 Extreme Java G22.3033-007 Session 7 - Main Theme Java Distributed Enterprise Communications (Part II) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 2 Agenda Summary of Previous Session RMI, RMI IIOP, and JavaIDL CORBA COM+ Web-Enabling Facilities Readings Class Project & Assignment #3b

g22 3033 007 c71 - New York University...1 1 Extreme Java G22.3033-007 Session 7 - Main Theme Java Distributed Enterprise Communications (Part II) Dr. Jean-Claude Franchitti New York

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • 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