This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
1
Application ServersG22.3033-011
Session 7 - Main ThemeJ2EE Component-Based Computing Environments
Security in J2EE Application Servers (continued)SummaryReadingsAssignment #5 (continued)
2
3
Summary of Previous Session
EJB Component ModelJ2EE Services
JNDI, JMS, JTS, CMP/BMP/JDBC, JavaMail, etc.J2EE Web ArchitecturesSecurity in J2EE Application Servers (Part I)SummaryReadingsAssignment #5
4
Application Servers ArchitecturesApplication Servers for Enhanced HTML (traditional)
a.k.a., Page-Based Application ServersMostly Used to Support Standalone Web Applications
New Generation Page-Based Script-Oriented App. ServersFirst Generation Extensions (e.g., Microsoft IIS with COM+/ASP)Servlet/JSP EnvironmentsXSP EnvironmentCan now be used as front-end to enterprise applicationsHybrid development environments
Distributed Object Computing PlatformsProvide an infrastructure for distributed communications enablingStill need to merge traditional web-oriented computing with object computing
Object Management ArchitecturesDOC Platform + APIs to reusable services and facilities
TAO Naming Server 8168 8216 13000 8168 8168 8272VisiBroker Naming Server 5336 5352 5872 5336 5352 5576VisiBroker osagent 2208 2224 2576 2208 2224 2224VisiBroker persistent store .686 .801 12.01 .686 .930 24.91HARDPack Naming Server 3104 3104 3104 3104 3240 3248ObjectBus Naming Server 3832 3832 3832 3832 3840 3928ObjectBus rvd daemon 1928 1928 1928 1928 1928 1928ObjectBus persistent store .976 .976 .976 .976 1.298 50.80
30
Naming Service - CosNaming(Conclusion)
Product ContextCreation
NameBinding
NameResolution
VisiBroker 3 2 1HARDPack 1 3 3
TAO 2 1 2
ObjectBus 4 4 4
16
31
Trader Service - CosTradingTrader = Automatic Yellow Pages for ServicesServices Offer Interfaces and PropertiesCriteria Match Clients to Appropriate ServicesSee http://www-mtl.mit.edu/~mvermins/corba/trader/ppframe.htmInterface:
Naming and Directory Service*JNDI and JNDI SPIs for CosNaming, RMI, NIS, NDS, LDAP
Trading Service*Jini
JTA and JTSMessaging Services
JMSJavaMail
17
33
RMI Activation Framework(classes of the RMI activation API)
34
JavaBeans Activation Framework(Glasgow releas of the JavaBeans Component Model)
Extensible Runtime Containment and Services ProtocolDCOM Activation Framework
Drag and Drop Subsystem for the Java Foundation ClassesJavaBeans Activation Framework (JAF)
A Data typing and command registry APILets users discover an arbitrary data object type (e.g., file)Users can then lookup command applications or beans that canprocess such data type (e.g., browser plug-in to view/edit file)Can activate the command
18
35
Naming Conventions(DNS v.s. NFS)
36
Directory Services(LDAP directory attributes)
19
37
Using JNDI to support Mobile Agents(Traders need to locate places where agents can migrate to)
38
Using JNDI to support Mobile Agents(Agents have classcodes needed by the mobile agent system to execute them)
20
39
Using JNDI to support Mobile Agents(Agents must be registered so they can be located as needed)
DCOM Class and Object Naming(file moniker file: bind)
50
DCOM Class and Object Naming(url moniker http:, ftp:, gopher: bind)
26
51
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 reada 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 )
52
Trading Service - Active Directoryhttp://www.microsoft.com/windows2000/server/evaluation/features/dirlist.asp
27
53
COM+ Catalog v.s. Windows Registry
Stores COM+ application attributes, class attributes, andcomputer-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
54
Part III
WebLogic
Also See Session 7 Handouts on:
“Deploying an EJB Application”“Building a Stateless Session Bean”
PerformanceHigh Performance HTTP Web ServerPlugins: Netscape (NSAPI), IIS (ISAPI), ApacheSocket Handling via interrupts (performance pack)Clustering (load balancing, automatic failover)
ReliabilityScalability
32
63
Application Support and Proprietary Extensions
Common logs, instrumentation, configuration, mgmt, etc.dbKona and htmlKona (OO interface to HTML)The WorkSpace (thread-safe hash table)Scheduling (define actions or triggers)File I/O (seamless manipulation of remote files)CGI Support (to support migration of first generation apps)Connection Filtering (block/allow connections fromclients)
64
WebLogic 6.1 New Features
Web Services (SOAP and WSDL support)J2EE Connector Architecture 1.0EJB 2.0, Servlet 2.3, and JSP 1.2XML Support:
Tuxedo IntegrationOracle optimizations, EJB caching improvements, etc.
33
65
Part IV
WebSphere (more in next session)
See Session 7 Handouts on:
“Deploying and EJB Application” “Application Servers Comparison”
“WebSphere by IBM”
66
Part V
Open Source J2EE Environments(JBoss)
34
67
JBoss(www.jboss.org)
Component ArchitectureBasic EJB Container (low memory/disk space requirements)Java Management Extension (JMX) InfrastructurePlug and Play Services: JBossMQ (JMS), JBossMX JavaMail),JBossTX (JTS/JTA), JBossSX (JAAS), JBossCX (JCAconnectivity), JBossCMP
Unique FeaturesBuilt-in SQL database server (Cloudscape not required)Hot deploy, Runtime generated stubs/skeletons objects(distributed invocation enablers)
See References:http://www.jboss.org/testimonials.jsp
68
Jboss JMX Infrastructure(Version 2.4.3 for JVM 1.3+)
^TomCat Servlet Container
Jetty Web Server/Servlet Container
35
69
Part VI
Conclusion
70
Summary
CORBA, RMI/RMI IIOP, and COM+ have comparablearchitectures based on RPC support layersActivation and naming services provided by CORBA 3, J2EE,and DNA platforms have different architectures and APIs.WebLogic provides a comprehensive and competitive J2EEsolutionJBoss provides a resource and platform effective alternative tohigher end J2EE application serversJBoss is an open source solution use by many small enterprisestoday
36
71
Readings
ReadingsBuilding Application Servers: Part III, Chapters 4-6Professional Java II: Chapters 4-8Handouts posted on the course web siteExplore J2EE environmentsRead related white papers/documentation on the J2EEenvironments
72
Project Frameworks
Project Frameworks Setup (ongoing)Apache Web Server (version 1.3.20, www.apache.org)Perl (version 5.x, www.perl.com), PHPMicrosoft IIS with COM+ and ASP (), ChiliSoftApache TomcatMacromedia JRunApache Cocoon 2/XSPVisibroker, OrbacusRMI-IIOPWebLogic, WebSphere, JBoss, Enhydra, OpenEJB
37
73
Assignment
Assignment:Explore the textbooks’ references to Application Servertechnology (continued)#5 (continued): Due date is 11/05/01Session 7 special assignment: Write a short report thatdocuments your findings and recommendations with respectto selection criteria in support of development environmentsfor the application servers covered in this session (due alongwith assignments #5a and #5b)
74
Next Session:J2EE Component-Based
Computing Environments (Part III)
WebSphereOther Open Source EJB Application Servers
Enhydra and OpenEJB
Security in J2EE Application ServersOther J2EE Application Servers