39
1 Extreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 2 Agenda Review of Session 12 Topics Java Database Technology (continued) Additional J2EE Topics Java Operating Systems and Networking Technologies Course Material Review Final Exam (Take Home Project)

g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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)

Page 2: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 3: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 4: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 5: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 6: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 7: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

7

13

Example: JBoss.org JBoss JMX Infrastructure

^TomCat Servlet Container

Jetty Web Server/Servlet Container

14

Automated Management Services

Page 8: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

8

15

Sample Jiro Application 1

16

Sample Jiro Application 2

Page 9: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 10: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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)

Page 11: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 12: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 13: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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)

Page 14: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 15: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 16: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 17: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 18: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 19: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 20: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 21: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 22: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 23: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

23

45

Multi-Application JavaCard

46

Multi-Application JavaCard(continued)

Page 24: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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)

Page 25: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 26: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 27: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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.)

Page 28: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

28

55

PersonalJava on HandHelds

56

Part VII

Java TV Applications

Page 29: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 30: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 31: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

31

61

Xlet Lifecycle Model

62

Part VIII

Structured Application Design Tips

Page 32: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 33: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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)

Page 34: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 35: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 36: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 37: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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)

Page 38: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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

Page 39: g22 3033 007 c131 - nyu.eduExtreme Java G22.3033-007 Session 13/14 - Main Theme Java Database Technologies (Part II) and Java Operating System Technologies Dr. Jean-Claude Franchitti

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