g22 3033 007 c131 - nyu.eduextreme java g22.3033-007 session 13/14 - main theme java database...
TRANSCRIPT
1
1
Extreme Java G22.3033-007
Session 13/14 - Main ThemeJava Database Technologies (Part II)
andJava Operating System Technologies
Dr. Jean-Claude Franchitti
New York UniversityComputer Science Department
Courant Institute of Mathematical Sciences
2
Agenda
Review of Session 12 TopicsJava Database Technology (continued)Additional J2EE TopicsJava Operating Systems and Networking TechnologiesCourse Material ReviewFinal Exam (Take Home Project)
2
3
Summary of Previous Session
Applications of Java to Database Technology
Database Technology ReviewBasic and Advanced JDBC Features
J2EE Enterprise Data EnablingXML and Database TechnologyReadingsClass Project & Assignment #5a
4
Part IAdvanced J2EE
3
5
Additional J2EE Topics
Web Services and J2EEJ2EE SecurityJ2EE Messaging
Message Driven BeansJ2EE Process Management
6
WAS Deployment StepsStop/Uninstall Conflicting Sample ApplicationsBring up the WAS Administration Console Web Application
http://localhost:9090/adminSelect administration console checkbox in WSAD and “Run Administrative Console” from server context menu
Define Data SourceDelete any conflicting pre-configured data sourcesPick JDBC provider and create a data source
Name used to display data sourceJNDI name is critical (e.g., jdbc/PlantsByWebSphereDataSource)
Select Use data source in container managed persistence as neededCreates associated CMP connector factory
Data source helper class name should be correct
4
7
WAS Deployment Steps(continued)
Select Data Source Custom PropertiesE.g., database name for Cloudscape data source
Save Configuration using Save Item in Menu BarInstall the Application
Automatic binding generation possibleIdentifies all unmapped references in the EAR (E.g., ejb-refs) and attempts to resolve them with resources defined in the EAR
Select options in the various pages of the application installation wizardClick “Finish” on the final (summary) page in the wizardSelect the Save item on the menu to save the configuration
Test application: e.g., http://localhost:9080/contextroot
8
WAS Middleware Management ArchitectureJMX Server
Hosts JMX model MBeans that represent managed resources in the WebSphere network
Admin ServiceProvides external and remote representations of JMX server
MBeans and Information ModelDefines type space for WebSphere MBeans
Configuration RepositoryHolds managed resources configuration
Administration Application and WorkspaceImplements the user interface to the middleware management system
Node AgentProvides localized management on a given nodeActs as an end-point listener to the deployment manager
Deployment Manager (or cell manager)Provides centralized control over the deployment cells
PME Administration ExtensionsMiddleware management system extensions for Enterprise Edition
5
9
Part II
Java Operating System Technology
10
Application of Java to OS Technology
Java Operating Systems (historical)Kona: http://www.javaworld.com/javaworld/jw-07-1996/jw-07-appliances-lawton.html
J2EE vs. NetAglets
See Session 13 Handout on “The Architecture of Aglets”
“Meta” JavaSee Session 1 and references provided on the course web site
6
11
Java Platform Security and SafetySecurity Basics (covered previously)
CryptographyAuthentication and Non RepudiationSSLAccess Control
Java Basic and Advanced Security (covered previously)JSA and JCASecurity PoliciesProtecting Objects and Signing CodeJava Security Extensions
12
Java Management Extensions (JMX)
Provides tools for building distributed, Web-based, modular and dynamic solutions for managing and monitoring devices, applications, and service-driven network
SpecificationsReference ImplementationTechnology Compatibility Kit
7
13
Example: JBoss.org JBoss JMX Infrastructure
^TomCat Servlet Container
Jetty Web Server/Servlet Container
14
Automated Management Services
8
15
Sample Jiro Application 1
16
Sample Jiro Application 2
9
17
Part III
Low Level XML Protocols,XML Message Design, andSecure Message Exchange
on the InternetAlso See Session 13 Handout on:
“Secure Message Exchange on the Internet”
18
XML and Transport ProtocolsAsynchronous Transport Protocols Alternatives
Simple Mail Transfer Protocol (SMTP, RFC-821)Simple but no guaranteed delivery and acknowledgment
MQSeriesReliable but proprietary and high cost
BEEP
Synchronous Transport Protocols AlternativesSockets (TCP)
Flexible but requires low-level programming
HTTP 1.1 (RFC 2068), HTTPRWidely used, supports firewall connections, and security (SSL)Inefficient and session-less (connection- and state-less)
CORBA/IIOPEfficient and cross-language/platform compatible but complex
SOAP-RP
10
19
XML Data Exchange Protocols
Message Formats Alternatives for Data ExchangeText-based (e.g., EDI, RFC822, SGML, XML)Binary (e.g., ASN.1, CORBA/IIOP)
Common XML/EDI InterfacesAn API that provide a common interface to work with EDI or XML/EDI objects is supported by OpenBusinessObjects
Guidelines for using XML for EDIhttp://www.geocities.com/WallStreet/Floor/5815/guide.htm
Electronic Business XML: ebXML
20
DOC Application-Level Protocols
CORBA 3IDL over IIOP vs. XML over HTTP (XIOP)
XML Protocol (XMLP): XML-Based Messaging SystemsStandardized application to application XML messaging (via HTTP, and MQSeries)
J2EEJMS v.s. XML-based messaging
JMSJMS API’s TextMessageCustom JMS extensions
BEA's WebLogic XMLMessage subclassXML
Sun’s Java API for XML Messaging (JAXM)
11
21
XML-Based e-Services Protocols
XML-RPC and Peer-to-Peer Computinghttp://xml.coverpages.org/xml-rpc.html
Simple Object Application Protocol (SOAP)Universal Description, Discovery, and Integration (UDDI)Web Service Definition Language (WSDL)
http://www.w3.org/TR/wsdl
22
XML Fragment Interchange
Defines a way to send fragments of an XML document without having to send all of the containing document up to the fragment
Fragments are not limited to predetermined entitiesThe approach captures the context that the fragment had in the larger document to make it available to the recipient
See http://www.w3.org/TR/WD-xml-fragment
12
23
Organizing Message Data
Single XML MessagesInclude everything including binary data into a single XML messageEasier to maintain consistency and integrity of constituent partsPopular method is to use Base64 encoding to embed binary data in XML documents
Separate MetaContent and ResourcesSend everything at once or let recipient fetch resources as needed
24
Message Validation and Encodings
Validation must be performed on messages to accept a fixed set of DTDs or XML SchemasMessages must use encodings that are supported by conforming XML processors
UTF-8, and UTF-16 provide space efficient alternatives
13
25
Towards Web Services ...
The Web Object Model Adding “methods” to XML (e.g., WIDL)SOAP
XML and UML based component modelingModel-based applications via UML to EJB component bindingXML Metadata Interchange (XMI) and related technology
XML and Model-based computingModel-based computing frameworks
26
Towards a “Web Object Model”See dated article by Frank Manola (OBJS)
http://www.objs.com/OSA/wom.htmShould compare Manola’s proposed approach for building a web object model to the approach suggested in today’s Web Services architectureWeb Services use XML as a portable data language to interchange information
The binding to Java and/or other application languages is implemented via SOAP endpoint connectors (e.g., SOAP to JMS)
14
27
SOAPLightweight protocol for information exchange
Envelope Framework that describes a message and its processing
Set of encoding rules Used to express instances of application datatypes
ConventionRPC calls and responses
Apache distributes an implementation of SOAP referred to as “AXIS”Also See
http://ejbinfo.com/articles/00/10/28/0933234.shtml
28
XML and Security StandardsSecurity Alternatives
IPS Security (IPSec, RFC-2401-2412)IP level security, widely used for Virtual Private Networks (VPNs)
Secure Sockets Layer (SSL)HTTP connection securityTransport Layer Security (TLS) standard
S/MIME (PKCS#7)Secure/Multipurpose Internet Mail ExchangeSecure mail standardUses X.509 certificates for authentication
Pretty Good Privacy (PGP)De facto standard for e-mail securityCan be used to send encrypted digital signatures, and encrypt stored files
15
29
SSL Secure MessagingConfidentiality via symmetric cryptosystem
Data Encryption Standard (DES, 56-bit key)Ron Rivest Code (RC-4, 40-128 bits variable key length)
Integrity via Message Authentication Code (MAC)MAC based on secure hash function such as MD5 (Message Digest 5) and SHA 1 (Secure Hash Algorithm 1)
AuthenticationOptional for client (via HTTP/SSL or SSL Certificate-Based), but mandatory for serverServer’s digital certificate issued by Certificate Authority (CA)
Verisign, Inc’s certificatesSSL uses X.509 certificate format (ITU-T standard)
Non-Repudiatability (via digital signatures, e.g. PKCS#7)DOMHash/Java Cryptography Architecture (JCA)
30
XML Signatures
Joint W3C and IETF Working GroupW3C Candidate Recommendation (April 19, 2001)XML compliant syntax used for representing the signature of Web resources and portions of protocol messagesProcedures for computing and verifying such signatures (I.e., integrity and authentication) Does not address encryption, and authorization
16
31
Part IV
MDA Technology (continued)Also See http://www.omg.org/mda , and associated Webcast
andSession 10 handout on “Application Modeling Using XML”
32
Model Driven Architectures (MDA)
MDA Technology Relies on:UML, MOF, and CWM
Applications Based on MDA are Platform IndependentImplementations/Realizations can be Targeted to Any Application Server Platform
XML-Based Web-Enabled/Web Services-Enabled Platforms
Based on CORBA, J2EE, Microsoft
17
33
UML’s Business Engineering Methodology
Business Model/ArchitectureUse Case View/Model
Application Model/ArchitectureLogical and Process View/Models
Content, Data, and Process Model (e.g., OIM’s knowledge management, and database/datawarehousing models)
Application Infrastructure Model/ArchitectureImplementation View
Component Model (e.g., OIM’s component and object model)
Technology Model/ArchitectureDeployment View/Model
34
UML and Modeling Methodologies
UML: object modelingXML: content modelingORM: data modeling
18
35
Towards XML Model Based Computing(review)
Step 1: Document Object ModelStep 2: XML Data BindingStep 3: Standard XML Information ModelsStep 4: XML Application Services Frameworks
Processing, Rendering, Querying, Secure Messaging
Step 5: XML-Based “Web Object Model”Web Services Architecture
Step 6: XML Model Driven Architectures (to come)
36
Current XML-Based Software DevelopmentBusiness Engineering Methodology
Language + Process + Toolse.g., Rational Unified Process (RUP)
XML Application Development InfrastructureMetadata Management (e.g., XMI)XML APIs (e.g., JAXP, JAXB)XML Tools (e.g., XML Editors, XML Parsers)
XML Applications:Application(s) of XMLXML-based applications/services
MOM & POPOther Services
Application Infrastructure Frameworks
19
37
XML Metadata ManagementIssue: UML may not provides enough modeling views and enough expressive power in each view to represent a complete applicationPossible Solutions:
Extend UMLSee OIM’s Analysis and Design Model
Use Different Modeling Languages:See handout on “XML Information Modeling” (uses different models such as UML, XML, and ORM)
Use a Meta-Model: MOF and XMISee handouts on “UML, MOF, and XMI” and “OMG’s XML Metadata Interchange Format (XMI)”
38
Open Information ModelAnalysis and Design Model
Unified Modeling Language (UML) - uml.dtdUML Extensions - umlx.dtdCommon Data Types - dtm.dtdGeneric Elements - gen.dtd
Components and Object ModelComponent Description Model - cde.dtd
Database and Warehousing ModelDatabase Schema Elements - dbm.dtdData Transformation Elements - tfm.dtdOLAP Schema Elements - olp.dtdRecord Oriented Legacy Databases - rec.dtd
Knowledge Management ModelSemantic Definition Elements - sim.dtd
20
39
XML Support for UML Modeling
Meta Object Facility (MOF)CORBA Common Facility for the Management of Meta Information such as UML Models, Database Schemas, Programming Language Types, etc.
XML Metadata Interchange (XMI)Enables interchange of metadata between modeling toolsDevelop models using Rational Rose or Java, and the XMI toolkitUse Objects by Design xmi-to-html.xsl style sheet and Cocoonframework to present the resulting model
40
XML Information ModelingSteps
Documenting the Information StructureRepresenting the Information Structure in XML FormDefining XML DTDs and/or Schemas
Modeling TechniquesUML: object modelingXML: content modelingORM: data modelingSee Session 3 handout on “XML Information Modeling”
UML, MOF and XMI See handout
21
41
Using UML to Model MLs
Query Glossaries
Translator
glossary_request
<<communicate>>
<<communicate>>
+reply_recipient
glossary_reply
+reply_supplier
+request_supplier
+request_recipient
42
Using UML to Model MLs(continued)
Gl os sar ies<<XSDs chem a>>XSD Datatypes XHTML
string(from XSD Datatypes)
<<XSDsim p leT ype>>
Di a lectCode<<X SDsim p leTy pe>>
SignedEntry
authorNam e : stringcreationDate : date
<<XSD com plex Type>>
Dia lectIn fo
frenchCanadian : stringdia lectCode : Dia lectCode
<<XSD choic e>>
Glossaries<<XSDcom plexT ype>>
Entry
engl ish [0 ..1 ] : stringfrench [0 ..1 ] : string
<<XSDcom plexT ype>>
0..n0 ..n
Glossary
<<XSDelem ent>> top ic : string<<XSDattribute>> crea tionDate : date
<<XS Dcomplex Ty pe>>
0..n
+glossary
0 ..n
0 ..n
1
+en try 0 ..n
1
0 ..n
PlaceHolder( fro m XHT ML)0 ..2
+d escrip tion
0 ..2
+sub-g lossary 0 ..n
22
43
XML Metadata Management(continued)
Practical Use of XMI:Develop a model using Rational Rose or Java, and the XMI toolkitUse Objects by Design xmi-to-html.xsl style sheet and Cocoon framework to present the resulting model
Current State of Tools:Forward-Engineering of UML into XML Schemas is possible
Can export .mdl files from Rational Rose, and convert them into XMI using SoftModeler (www.softera.com)SoftModeler can convert UML into XML W3C Schemas
Reverse-Engineering of XML Schemas into UML is more difficultNot supported by current tools
44
Part V
JavaCard Application Platform
23
45
Multi-Application JavaCard
46
Multi-Application JavaCard(continued)
24
47
Smart Card Applications
48
Upcoming Use of Smart Cards
Device Security via Integrated Smart Card ReaderPCs, PDAs, set-top boxes, cell phones, etc.
Existing Card ReplacementsFinancial, Identification, Data Carrier (healthcare, utilities)
Smart Card Market (US)1996: 13 M2001: 273 M2005: 543 M (3.75 B cards worldwide)
25
49
Java Card Electronic Purse
50
OpenCard Framework(see OpenCard Framework)
Runs on the Card Terminal Side or WorkstationProvides Developers with an API that Communicates with the Card ReaderAbstracts Communication Details from Application Running on a Card Terminal or Workstation
26
51
Open Platform and GSM Profilessee http://java.sun.com/j2me/j2me-ds-0201.pdf
Open Platform and GSM Profiles are APIs targeted to the JavaCard ConfigurationGSM is a wireless technology used in Europe and Asia
Used by wireless networks900 and 1800 MHzGlobal System for Mobile (GSM) encompasses a set of second generation (2G) cellular standards for digitally encoding and transmitting voice over mobile information devices
Open Platform is a set of cross-industry technical specifications used to develop secure, and flexible smart card systems
Includes card/terminal specs, and development toolsDefined by Visa and documented at http://www.globalplatform.org
52
Part VI
PersonalJava Applications
27
53
PersonalJava Development Environment
Personal Java Specificationhttp://java.sun.com/products/personaljava/
Source code implementation is also availableRequires a Sun Community Source license
PersonalJava Runtime EnvironmentRun applet and applications written to any target PersonalJava APIE.g., Windows CE platform, etc.
Developer toolshttp://java.sun.com/products/personaljava/pj-emulation.htmlAlso: JavaCheck, and Java 2 SDK
54
Personal WebAccess(Access the Web from screen phones, set-top boxes, hand-helds, etc.)
28
55
PersonalJava on HandHelds
56
Part VII
Java TV Applications
29
57
Java Technology in Digital TVJava platform / Java TV API
Development and deployment platform for interactive servicesE.g., electronic programming guides (EPGs), Video-on-demand (VOD), and enhanced broadcastingJava API Technical Overview:
http://java.sun.com/products/javatv/jtv-1_0-spec_overview.pdfJava TV API Specification:
http://java.sun.com/Download4Java TC reference implementation for Windows
http://www.sun.com/software/communitysource/javatv/download.html
58
Java TV API Architecture
30
59
Java TV API Extension
API Groups:Service Information and Selection APIsBroadcast Pipeline APIsBroadcast Data APIsApplication Lifecycle APIs
XletsSee samples at http://developer.java.sun.com/developer/technicalArticles/javatv/apiintro/
60
Digital TV Broadcast Pipeline
31
61
Xlet Lifecycle Model
62
Part VIII
Structured Application Design Tips
32
63
Structured Applications Design TipsReuse: should focus on Domain Models/System Family ArchitecturesApplications should separate the various information elements (i.e., content, logic, style, and architecture/handling schemes)Various content formats: presentation, message, storage, etc.Application architecture supports:
Web Enabling (WE), XML Enabling (XE), Data Enabling (DE), Enterprise System Assurance Enabling (ESAE)
Various application support services to support:Interactions with users via content (content + logic) - WEEncoding of user requests as secure (portable) messages (content generation) -XE/ESAEProcessing of user requests via logic (content + logic) - XERendering of content via logic using style (content + style + logic) - WE/XEQuerying information via logic (content + logic) - XE/DEInteractions with back office via content (content + logic) - XE/ESAE
64
Generic Architecture Blueprint+ Architecture Design Methodology + Mgmt
XML Application Infrastructure(logic)
XML Application Services(logic)
Applications of XML(structured content/object data, style information)
Technology Infrastructure(hardware platforms)
XML Applications(logic) Logical View Implementation View
Process View Deployment View
Use CaseView
Use CaseView
Applications of
XML
Structure
Style
XMLApplications
Content
Management
Processing
Querying
Rendering
Applicationand
Technology Infrastructure
Additional Services
33
65
Sample Conceptual Architecture Diagram(e.g., virtual classroom environment)
Technology Infrastructure (OS and hardware)
XML Application (logic )
XML Application Infrastructure (logic)
Applications of XML (content/style) XML Application Services (logic )
Legend
Presentation Enabling(posting, querying, locating, viewing)
SMIL
JSP Engine / SMIL Viewer (processing, rendering)
Web Community Avatar-Based Chat Platform
Web-Based Infrastructure(lightweight client machines, server platforms)
Q&A Enabling (questions capture, integration, viewing)
XLF
3rd Party Tool
SMILAuthoring
Tool
XLF Processing/Rendering
XML POP Framework (processing, rendering)
XMLAuthoring
Tool
66
Investigating Logging Infrastructure(e.g., virtual classroom environment)
34
67
Refined Application Architecture Blueprint(e.g., virtual classroom environment)
Users—
Sales TradiDesk
UserInterfaces
ClientAdministrator
Marketing
Client
Support
Phone
PDA
Connectivitye-Business
Portal e-Business Services
Data Repositories
Legacy Systems
Web
Visitor
VPN
Facilitator
FacilitatorAdministrator
UserData
LegacyDatabases
XML-Based Application Data
Back-OfficeSystems
Component Manager
XML/WebEnablingFacilities
68
Mapping Application to App. Infrastructure
Business Constraints
Application ModelContent Model
Web Interface
Data ModelLogical Data
PrinciplesAssumptions
Constraints
PresentationNavigation
Look and Feel
Business modelOrganization
Location
Process
Logical Application ModelExecution &
MarketSystems
EFIExecutionSystems
FXExecutionSystems
MarketSystems
Core Components
ServicesEvents
Externalization
Licensing
Messaging
Naming
Persistence
TransactionSecurity
Common Facilities
Backup /Recovery
Channels
ErrorHandling
XML POP
Help XML MOM
Monitoring
PerformanceTuning
Query / Search
Reporting
SystemAdmin
Domain SpecificClient API
EFI ExecutionInterface
FX ExecutionInterface
MarketInstrument
Reference data
Markets
Portalinterfaces
Client Handler
Client to Corecomponents
Handler
Global Front EndSystem
ClientInterface
Components
Technology Infrastructure Model
Execution &Market
Systems
InstrumentRepository
ForeignExchange
MarketSystems
EuroFixed
Income
Core ComponentsClient Handler
Preferences andOperating
Constraints
Sun E220/Solaris 2.6nC
ipher SSL acceleratorW
ebsphere:- H
TTP svr- servlet engine- jsp engine
Web ServerServlets & JSP
StreamingServer
(https & http)
Sun E220/Solaris 2.6TIBC
O Stream
ing SvrnC
ipher SSL accelerator
Global Front EndSystem
Client ServicesAdministrator
XML, SWIFT, FIX,Email, Fax
ClientWorkstation
System Admin& Support
Sun E420/Solaris 2.6200GB raid5 Disk ArrayiPlanet Enterprise SvrWebtrends
Admin/ReportingServer
Database Server
Sun E4500/Solaris 2.650G
B Disk Array
Sybase 11.9.2
Security &Entitlements Srv
Sun E420/Solaris 2.6enC
omm
erce GetAccess
50GB D
isk ArrayApplicationServer
Sun E420/Solaris 2.6W
ebsphereM
Qseries
35
69
Sample Logical Architecture Diagram(e.g., virtual classroom environment)
Uni
vers
ity In
tern
et L
AN
Uni
vers
ity In
trane
t WA
N
University Intranet LAN
Professor
Facilitators
Clients
Students
Presentation Enabling:AuthoringPosting
Q&A Enabling:AuthoringPosting
BusinessFunctions Users
NT &Unix
Win2000
IVR
UniversityInternet or
Intranet LANs
UniversityInternet LAN
PBX-Based Service
Connectivity
Facilitator Interfaces
Call Forwarding,Teleconferencing, etc.
Front Office Apps
Ft Off. & Web Apps
Portal Mgmt.Interface
Maintenance Apps
Web-EnabledApplications
Client Interfaces
Telephony-BasedServices
Web-EnabledApplications
"Lights Out" Svcs
XML, Email, Fax
e-BusinessPortal
Integrated Data Architecture Layer
e-Business Services
Front Office Apps
Data Mining
Educational Applications(Custom Java Applications)
Facilitator Application,Channel, and Client/
System Admin Interfaces
Business Intelligence(Customer Analysis, Course Planning)
Customer Care Services(Call Center Support: Educational & Systems)
Personalization Interface
Channels Interface(Browsers, PDAs, WAPs)
Remote Training Interface
Customer Calls Handling(ACD, Flex-Routing, Call Center Mgmt.)
CSR Assisted Services(Product Support, Issue Resolution, Proactive
Account Mgmt.)
Email XMLInterfaces Fax
Internet-Based Services(XML interfaces, Email, Browser)
Collaborative Applications(2D Avatars, Classroom Navigation, Chat, Events)
Real Time Services(Web Channels, Chat, TV Events, etc.)
Collaborative Applications(2D Avatars, Classroom Navigation, Chat, Events)
Voice/Data IntegrationTeleweb / Web Integration Services
(Consolidated Messaging, Telephone-Based WebServices, Video Conf., etc.)
(via VPN)
Software / Global ContentMonitoring / Backup
PBX-Based Services
TeachingAssistant
Presentation Enabling:Authoring
Q&A Enabling:Integration
System Support:MonitoringSystem Admin.Help Desk
FaxbackIVR
Telephony Svcs
NT &Unix
Win2000
UniversityInterne or
Intranet LANs
Front Office Apps
Ft Off. & Web Apps
"Lights Out" Services
Telephony Svcs
PDA/WAP Applications
Win2000
Web Applications Client Interface(Presentation querying, locating, and viewing -
Questions capture and Q&A viewring)
Self Care Services(tutorials, online help)
In scope
Out of scope
Legend:
WAP Server
(via VPN)
Third Party Data
Content-Mgmt Repository
XML-based presentationoriented publishing
templates
Component ManagerApplication Server Back-Office SystemsXML/Web Enabling Facilities
Client Request HandlerSubnet (within DMZ)
Web Server
Servlet Engine
Client Request HandlerFirewall
Component ManagerFirewall
Servlets/JSPs: session hdlr SMIL presentation hdlr Q&A hdlr XML MOM/POP hdlr etc.
Facilitator/Client Admin. Servlets
System Administration Servlets
Legacy Systems
Chat PlatformApplication Logic
Chatroom Component
ChatUser Component
Client & SystemAdministration Component
Entitlement & SecurityComponent
ConnectorsCourse Production Systems)
Support Services
Process Automation &Dynamic Content Mgmt.
Session/State Mgmt.
Site Development Svc.
XML Core Services(Doc Hdlr, Version Manager)
DataWarehouse-DrivenProcessing
Legacy Operational Data
DesktopFilesystems
In Memory Database
Customer ProfilesTime CriticalInformation
Global Application Data Replicas
Business Information Warehouse
Operational Data StoreClient Knowledge Engine
Metadata Repository
XMLMOM & POPTemplates
Educational ResearchEducational News
etc.
SMIL DataXLF Data
Operational Data
Local Account DataEntitlement/Security Data
etc.
JSP Engine
Client Request Handler API
University SystemsFirewall
Client Administration
Login, Authentification,Non-Repudiation
Router
Presentation Enabling:QueryingLocatingViewing
Q&A Enabling:CaptureViewing
Registration Systems
Accounting Systems
Sales/Marketing Systems
Internal Administration
Course Development Systems
Human Resources Systems
Payroll Systtems
Course Production Systems
Proxy Server
Support Systtems
Client Support Systtems(carreer management, alumnirelations, library support, etc.)
Database Management Systems (DBMS)
70
Sample Logical Architecture Diagram(e.g., virtual classroom environment)
Facilitators, and Production Interfaces
Component Manager
XML/Web Enabling Facilities
Firewall
Database Server
ApplicationServer
Uni
vers
ity In
trane
t LA
N (d
ual)
Firewall
Firewall
Router
Router
Firewall / IIOP Proxy Server
Tape SiloVeritas NetworkBackup (shared service)
University Mgmt. Firewall
University Systems & Network Management Environment
IntrusionDetection
Connects toall devices below
Security &Entitlements Srv
IntrusionDetection
Intrusion Detection
Internet
UniversityIntranet LAN Professor/TA
HSRP
Sun E220/Solaris 2.6nC
ipher SSL acceleratorApache H
TTP severTom
Cat servlet engine
TomC
at jsp engine
Alteon AC3
Sun E220/Solaris 2.6Checkpoint Firewall-1StonebeatIONA Wonderwall Proxy Server
Sun E220/Solaris 2.6C
heckpoint Firewall-1
Stonebeat
Sun E420/Solaris 2.6W
ebLogic
Sun E4500/Solaris 2.650G
B Disk Array
Sybase 11.9.2
Sun E420/Solaris 2.6enC
omm
erce GetAccess
50GB D
isk Array
Web-EnabledApplications
FacilitatorApplication andClient/SystemAdministration
Interfaces
Students, Professor, and TA Interfaces
Web-EnabledApplications
Clients/FacilitatorsApplication/Admin
Interfaces(e.g.,SOJA Applet)XML, Email, Fax
CollaborativeApplications
(e.g., Chat Applet)
Channels Interface
Sun E420/Solaris 2.6200GB raid5 Disk ArrayiPlanet Enterprise SvrWebtrends
Admin/ReportingServer
LoadBalancers
Web ServerServlets & JSP
Engines
Intrusion Detection
Sun E220/Solaris 2.6Checkpoint Firewall-1Stonebeat
NFR
Flight Recorder
Rem
ote-1N
FR Flight R
ecorderR
emote-1
Client Request Handler
Servlets/JSPs:- session handler- SMIL presentation handler- Q&A handler- Cocoon 2 XML POP handler
NFR Flight RecorderRemote-1
ClientWorkstation
Professor/TAWorkstation
Back-Office Systems
Client Administration
Internal Administration
ProgramAdministrator
Uni
vers
ity In
tern
et L
AN
(dua
l)
Support Services
XML Core Services
Session/State/EOD Mgmt
Dynamic Content Mgmt
Chat PlatformApplication Logic
ChatUser Component
ChatRoom Component
Global Application Data
SMIL DataXLF Data
Operational Data
Content Mgmt. Repository
XML POPTemplates
36
71
Structured Applications Design TipsReuse: should focus on Domain Models/System Family ArchitecturesApplications should separate the various information elements (i.e., content, logic, style, and architecture/handling schemes)Various content formats: presentation, message, storage, etc.Application architecture supports:
Web Enabling (WE), XML Enabling (XE), Data Enabling (DE), Enterprise System Assurance Enabling (ESAE)
Various application support services to support:Interactions with users via content (content + logic) - WEEncoding of user requests as secure (portable) messages (content generation) -XE/ESAEProcessing of user requests via logic (content + logic) - XERendering of content via logic using style (content + style + logic) - WE/XEQuerying information via logic (content + logic) - XE/DEInteractions with back office via content (content + logic) - XE/ESAE
72
Part IX
Conclusion
37
73
Course Material ReviewReview: Handout 06: Extreme Java "Bypass" Quiz
IntroductionJava Tools and Software Engineering TechniquesJava Core TechnologiesJava Distributed Enterprise CommunicationsJava Enterprise Web and Application EnablingJava Database TechnologiesJava Operating System Technologies
74
Architecture FrameworksCORBA & 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)J2ME CLDC MIDP/PADP configuration and profilesXML 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)
38
75
Java and Application ServersApplication 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 applications Hybrid development environments
Distributed Object Computing PlatformsProvide an infrastructure for distributed communications enabling Still need to merge traditional web-oriented computing with object computing
Object Management ArchitecturesDOC Platform + APIs to reusable services and facilities
OMAs + Component Models -> J2EE, CCM, DNAMDAs with XML/Web Services/Channels/B2Bi-Enabling services
76
Summary
Java technologies widely expand traditional OS capabilitiesEnterprise “bilities”, security and safety are important technical constraints in the design of large scale systems XML provides for secure message exchange over the Internet as anapplication level serviceMDA technology promotes “XML Model-Based Computing”New XML-based application level services are emerging beyond processing, rendering and querying.Java supports various flavors of device-enabled platforms
39
77
AssignmentReadings
J2EE: Part II Chap. 6 and 7, 19-23Expert One-on-One: Chap. 7, 9, 11, 15, 16Selected readings mentioned in class or referenced in the handouts Handouts posted on the course web site
Final Project (submit report and implementation archive)See Session 13 Handouts
Class Project Assessment FormFinal Exam Project Specifications
Project Framework SetupJ2EE IDE: IBM WSAD, WAS, DB2Java 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