g22 3033 011 c11 - nyu.edu communication protocols (e.g., tcp/ip, iiop, http) qclient-server...

15
1 1 Application Servers G22.3033-011 Session 1 - Main Theme Legacy Application Server Technology Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 2 Agenda Application Servers Generics Course Logistics, Structure and Objectives Knowledge Required Application Servers Evolution Supporting Technology Expected Features Related XML Technology Summary Class Project Overview Readings Assignment #1 3 Part I Introduction

Upload: tranthuy

Post on 27-Mar-2018

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

1

1

Application ServersG22.3033-011

Session 1 - Main ThemeLegacy Application Server Technology

Dr. Jean-Claude Franchitti

New York UniversityComputer Science Department

Courant Institute of Mathematical Sciences

2

AgendaApplication Servers GenericsCourse Logistics, Structure and ObjectivesKnowledge RequiredApplication Servers EvolutionSupporting TechnologyExpected FeaturesRelated XML TechnologySummaryClass Project OverviewReadingsAssignment #1

3

Part I

Introduction

Page 2: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

2

4

Application Servers Generics

Modern Application Server PropertiesRich/portable softwareMiddleware between pervasive devices and back-officesystemsPlatform independent programming interfaceSupport legacy applications integration (EAI/B2Bi)XML-enabledWeb-services enabled

5

Course Logistics

Course Web Sitehttp://cs.nyu.edu/courses/fall01/G22.3033-011/index.htmhttp://www.nyu.edu/classes/jcf/g22.3033-011/Login/Password: appserv/appserv (not currently protected)Review syllabus

TextbooksBuilding Application ServersJava 2 Enterprise Edition with BEA WebLogic Server

6

Knowledge Required

Programming Languages (g22.2110)Operating Systems(g22.2250)Programming for the WWWAbility to program in JavaSome exposure to XML and associatedtechnologies

Page 3: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

3

7

Other Useful Knowledge

Web server configuration and the HTTP protocolScripting languages (e.g., JavaScript, Perl, TCL, etc.)Database theory (normalization rules)Web publishingEnterprise applications design

See Session 1 Sub-Topic 1 on “Sample Enterprise ApplicationDesign”See Session 1 Sub-Topic 2 on “Sample Project DevelopmentMethodology”See Session 1 Sub-Topic 3 on “Detailed Project DevelopmentMethodology”

8

Application Servers Evolution

Traditional client-server technologyCGI frameworksPage-based extended HTML environmentsDistributed object computing platformsJava-BasedObject Management Architectures (OMAs)Component-based computing environmentsWeb Services platformsNext generation application servers (reflective,multimedia- and agent enabled, MDA-compliant,etc.)

9

Part II

Supporting Technology

Page 4: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

4

10

Network Communication Protocols (e.g.,TCP/IP, IIOP, HTTP)Client-Server TechnologyDistributed Object ComputingComponent Models and FrameworksSecure Messaging Infrastructures

Underlying Facilities

11

ConnectionCustomers (and partners) were required to have dedicated lines, leased lines,dialups, or some other access to your company.

Network ProtocolCustomers had to use the same network protocols as the company they wantedto communicate with, TCP/IP, IPX/SPX, NetBUI, etc.

Hardware RequirementsCustomers had to meet specific machine requirements: microprocessor speed;screen resolution; RAM; hard disk space; modem speed; etc. Customers wererequired to make a huge investment in hardware.

Operating System RequirementsThe customer had to run a specific Operating System and version.

Software UpdatesApplication updates via floppy disks or CDs had to be infrequent. Thecustomer was required to perform the costly installation or update.

Old Client/Server Model

12

Web Business EvolutionFirst it was Online Publishing

The World Wide Web - a Global Information Network Emerged(The Information Superhighway)

The Web Browser Provided Platform-Independent Access to Information

People Could View the Same Content Anywhere in the World

There was Explosive Growth in the Number of Business Web sites

Now it’s Online Services and Web Applications.Businesses are Building Relationships with Web-based Customers

Value-Based Services are Ensuring a Steady Flow of Web-based Traffic

Overhead is Reduced with Automated Online Services

A New Global Marketplace is Emerging -Web Applications/services are Available from Anywhere in the World 24x7

Web Application Updates Occur Instantly and Universally

Doing Business is now Cheaper, Faster, and Easier

Page 5: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

5

13

Basic Web Applications

DBDB

Databases

Documents

EnterpriseData

WebServerCGI, SSJS, NSAPI,ISAPI, WAI, Etc.

ClientBrowser

Internet Connection

14

Robust Web ApplicationsPresentation

Tier

Rich Clients(Java C/C++, VB)

WebBrowser

Business Logic Tier

WebServers

ApplicationApplicationServer(s)Server(s)

Data Tier

Databases

Enterprise C/SApplications

LegacySystems

DocumentsHTTP

IIOP

15

High Performance and ScalabilityBenchmarks demonstrate 6000+ concurrent users, 12,000TPM on a 4-CPU Sparc

High Availability & ReliabilityCustomers like E*Trade & ISN demand 24x7 reliabilitywith software & hardware fault tolerance

Mission Critical ApplicationsRequirements

Page 6: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

6

16

Rapid Development through Pre-built Application& System Services

Proven that large-scale enterprise applications can be builtin half the time with equivalent resources

Enterprise IntegrationNeed for high-performance integration to databases, legacysystems, client/server applications and ERP applications

Open & ExtensibleNeed for standards-based, cross-platform supportingWindows/UNIX, JAVA/C++, CORBA/IIOP, RMI/IIOP,and COM+

Mission Critical ApplicationsRequirements (continued)

17

Application ServersSelection Criteria

UsabilityScalability

ConcurrencyExtensibility

SecurityManageability

Fault tolerance, auto-deployment, communications, developmentenvironment, monitoring tools

ReusabilitySupportSkills

18

Legacy technologyPage-based extended HTML environmentsOMA-basedWeb Services platformsMDA-basedNext generationhttp://www.appserver-zone.com/guide.asplists many unclassified products

Application Server Categories

Page 7: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

7

19

CGI-Perl custom environmentsColdFusion, PHP 4, ASP, JSPWebsphereWebLogicJBossEnhydra,OpenEJBInprise, iPlanet, Sybase EAServer

Application Servers Examples

20

Application Packages(SAP, PeopleSoft, Baan)

ERP, and B2Bi SuitesHuman ResourcesSales AutomationFinancial/AccountingRetail/Point of PurchaseManufacturing/InventorySupply Chain Management

21

Part III

Expected Features

Page 8: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

8

22

Sample Features

High performance & scalabilityCreate applications that deliver data quickly and scale to hundreds andthousands of concurrent users.

Maximum availability (24x7)Create applications that are available 24 hours a day, 7 days a week, evenwhen you are updating them!

Client IndependenceAccess applications using web browsers or rich Java/C++ clients.

Rapid application development (RAD)Develop your applications quickly and easily with pre-built system andapplication services, application builder, extension builder, and a variety ofthird-party tools.

Enterprise Application IntegrationConnect to backend databases, existing client/server applications, and yourexisting legacy systems.

23

Customer Self-Service

on-line credit cardcustomer care & billingportfolio managementbenefits administration

Business-to-BusinessEfficiencies

package trackingclaims processingsupply chain managementsales automation

RevenueExpansion

on-line retailing, on-line tradingloyalty programstravel and entertainment

What Customers are Building with it...

Value Proposition

24

Develop, Deploy & Manage Business-Critical Applications

Development Methodology

Develop & deploy‘Extensions’ inJava/C++ forenterprise applicationintegration

Develop & deploybusiness applicationsin Java/C++

Extension Builder

Application Builder

Develop Deploy

• High Performance & Scalability• High Availability• Client-Independence• Rapid Development of

Business Applications• Enterprise Integration

Application Servers

• ApplicationAdministration& Management

• Server & ClusterManagement

Administrator

Manage

Page 9: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

9

Internal Architecture

Scalable, Reliable

ApplicationArchitecture

HTML

C/C++

Java

VisualBasic

Client

Network ServicesOperating System

Distributed Object Infrastructure

Pre-BuiltSystem &

ApplicationServices

Versioning

State /Session Mgmt Directory Security Messaging

JDBC

Data AccessConnection

Pooling Transactions ResultsCaching

LoadBalancing Persistence Thread

ManagerFail SafeServices

Application Server

ApplicationLogic

(Java, C/C++)

26

Key Application Services Java, C/C++ Client Support State/ Session Management Database Request Management Transaction Management Connection Cache Results Cache Dynamic Content Generation Streaming Security

Services

27

Key Administration Services Application Management Server Management

Key System Services Multi-process, Multi-threaded Dynamic Load Balancing Application Partitioning Asynchronous Processing Event Logging & Tracking Kernel Services Directory Services E-mail Messaging

Services (continued)

Page 10: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

10

Wizards for Point-&-click Development

Application Builder

Rapid Development of Business Applications Wizards for Point-&-click Development Pre-built Application Services and Class Libraries (Java, C/C++) Reusable Application Components Distributed Deployment of Application Components Distributed Development Using Three-Tier Programming Model

29

Robust Application Development Tools Application Logic

Designer HTML Designer Query Designer Project Manager Third-party Tool

Support

Application Builder

Project Manager

30

Advanced cluster managementEnterprise-wide views of all servers and processesEvent monitoring & alertsMulti-view graphicalperformance monitoringACL, User & GroupManagementLoad balancingcustomizationApplication administrationApplication partitioningIntegrated deployment

Server Administration

Performance Monitor

Page 11: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

11

Application Server

Business Logic

Pre-built System& ApplicationServices

Extension BuilderExtending Application Servers Functionality

Extensions

Extension Builder(Create Custom Extensions)

Use Pre-built Extensions• IBM MQ Series• BEA Tuxedo• IBM CICS, IMS• ERP Extensions

OR

• Client/server applications• Enterprise Systems• Legacy Applications• Third-party Web solutions

Existing Applications and Systems

32

Open and Extensible

Technical Architecture

Browsers

Rich Clients

Data Sources• RDBMS

• Oracle• Informix• Sybase• DB2• SQL Server

• OODBMS• ODI

• ODBC & JDBC

Open Client Library

Java, C/C++,VB

Platforms• Sun Solaris• HP-UX• SGI Irix• Windows NT

Extensions• TP Monitors• Legacy• Client/server

OC

L

Dat

a A

cces

s En

gine

Exte

nsio

ns

Prot

ocol

Man

ager

(HTT

P, K

CP,

IIO

P)

Web

Con

nect

ors

ISAP

I, N

SAPI

, CG

I

WebServers

ApplicationServer

(Java, C/C++)

Embedded (bundled)IONA ORB

33

Part IV

Related XML Technology

Page 12: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

12

34

XML-Based Architectures

Presentation-Oriented Publishing FrameworksXML-Based Application ServersMessage-Oriented Middleware FrameworksWeb Services Frameworks

Peer to Peer (P2P) ComputingXML-Based e-Services Protocols and Architectures

35

XML POP Frameworks(Focus on Content Management and Publishing)

Requirements:XML parserXSL processorDocument repositoryCollection of document DTDs or schemaCollection of XSL style sheets

Parsing & processing can be client or server-basedSamples server-side XML technology:

Perl & CGI (http://www.perl.com/CPAN)Java servlets (http://www.alphaworks.ibm.com, www.apache.org)ASPs (http://www.beyondhtml.com/rocket)

36

XML POP Packaged Solutions

Enterprise Information Portal (EIP) toolkitse.g., DataChannel’s XML framework

Structured content management and retrievalsystems

e.g.,Vignette’s StoryServerGauss Interprise’s VIP’XML-GatewayPoet’s Content Management SuiteChrystal Software’s Astoria

Page 13: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

13

37

XML MOM ApplicationsComponent-based modeling

e.g., XML Metadata Interchange (XMI)Enterprise Application IntegrationBusiness-to-Customer (B2C) Applications

e.g., e-CommerceBusiness-to-Business (B2B) Applications

e.g.,WebMethodsBluestone’s XML-Server,eXcelon 2.0XMLSolutions’ ExeterXML server

38

XML and Java StandardsXML is a family of technologies:

XSL, XML Schema, XML Query, XPath, XPointer,XLink, DOM, RDF, CSS, XSL, XHTML, XMLSignature, MathML, SMIL, SVG, etc.

Current state of the XML standards:http://www.w3c.org/XMLCurrent state of Java Technology and XML(JAXP) standards: http://java.sun.com/XMLJava binding to DOM 2.0:http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/java-binding.zip

39

Part III

Conclusion

Page 14: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

14

40

Summary

Enable Rapid Development of Business ApplicationsProvide Industry Leading Performance & ScalabilityProvide High Availability & ReliabilityEnable Enterprise Application IntegrationAllow Client-Independence(HTML, Java, C++, VB)

Provide Open & Extensible Architecture

Key Application Server Objectives

41

Class Project

Project DescriptionThe project focus is two-fold:

Based on a framework-based enterprise application of your choice(e.g., “multi-channel online community platforms”), you willimplement common facilities and application-level services on topof various types of application server technologies to support thevarious aspects of your chosen application As you transition from one platform to another you will studyand develop model-based migration and interoperability tools thatleverage off of the cutting-edge concepts subsumed by modernModel Driven Architectures (MDAs)

42

ReadingsReadings

Building Application Servers: Part I, Chapter 2Handouts posted on the course web siteExplore ?Read article at ?Review

Project Frameworks Setup (ongoing)Apache Web Server (version 1.3.20, www.apache.org)Perl

version 5.xhttp://www.perl.com/pub/a/language/info/software.html)

Page 15: g22 3033 011 c11 - nyu.edu Communication Protocols (e.g., TCP/IP, IIOP, HTTP) QClient-Server Technology QDistributed Object Computing ... Web Business Evolution

15

43

AssignmentAssignment:

Explore the textbooks’ references to Application Servertechnology#1a: Investigate legacy application server developmentenvironments. Write a short report that documents yourfindings and recommendations with respect to selectioncriteria in support of legacy development environmentsfor application server technology#1b: Come up with a framework-based businessapplication and implement it on top of the core technologysupplied as part of the homework #1 documentation

44

Next Session:Page-Based Application Servers (Part I)

ColdFusion 5.0 EnvironmentPHP 4 EnvironmentXML-Based Application Servers