+ All Categories
Home > Documents > Extreme Java G22.3033-006 - New York University...1 1 Extreme Java G22.3033-006 Session 7 - Main...

Extreme Java G22.3033-006 - New York University...1 1 Extreme Java G22.3033-006 Session 7 - Main...

Date post: 27-Jan-2021
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
53
1 1 Extreme Java G22.3033-006 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 CORBA Component Modeling and Communications CORBA Naming and Trading Services POA, COSNaming, COSTrading RMI / RMI-IIOP Component Modeling and Communications RMI / RMI-IIOP Naming and Trading Services JNDI and Jini COM+, DNA, and .Net Web- and Application-Enabling Facilities Readings Class Project & Assignment #3b
Transcript
  • 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


Recommended