g22 3033 011 c11 - nyu.edu communication protocols (e.g., tcp/ip, iiop, http) qclient-server...
TRANSCRIPT
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
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
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
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
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
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
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
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
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)
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
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
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
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
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)
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