development platforms 2110472 computer networks natawut nupairoj, ph.d. department of computer...

Post on 26-Dec-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Development Platforms

2110472 Computer Networks

Natawut Nupairoj, Ph.D.

Department of Computer Engineering

Chulalongkorn University

Outline

Overview. J2EE Platform. Microsoft .NET Platform. Web Service Platform.

Overview

Static vs. dynamic pages. Common Gateway Interface (CGI)

External extension (program) for web server. Used mostly to connect to database. Early days

C and perl. Counter, guest book, graph generator. Out-of-process model.

Basic CGI Model

Problem ? Low performance

Must run a new program every time it is being invoked. In-process model – include interpreter inside web server

mod_perl. ASP.

Plug-in model – separate process (but already started). External AppServer through socket.

WebServer

Process

CGIProgram(External)

Parameters

HTML page

Java Platforms

Java-Based Platforms J2SE (Standard Edition)

JVM / JRE. Applet and applications.

J2ME (Micro Edition) For mobile and wireless equipment. Midlet.

J2EE (Enterprise Edition) A set of services. Servlet, JSP, and EJB.

Java Platforms (2)

J2EE Services

Java Server Page (JSP). Servlet. Enterprise JavaBean (EJB). Java Connectivity Architecture (JCA). Java Message Service (JMS). Java Management Extension (JMX). Java Naming and Directory Interface (JNDI).

J2EE Architecture

JSP Example

Servlet Exampleimport java.io.*;import javax.servlet.*;import javax.servlet.http.*;

public class HelloWorldServlet extends HttpServlet {public void doGet (HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {

HTML res.setContentType( "text/html" ); ServletOutputStream out = res.getOutputStream();out.println( "<html>" );out.println( "<head><title>Hello World</title></head>" );out.println( "<body>" );out.println( "<h1>Hello World</h1>" );out.println( "<p>Congratulations, your servlet is working!</p>" );out.println( "</body>" );out.println( "</html>" );

}}

Microsoft .NET

Suite of products Programming Languages

C#. ASP.NET. VB.NET. Third parties: NetCOBOL, Visual Perl, Visual Python, etc.

Development system. Servers.

Common Language Runtime JVM-liked, but supporting multiple languages.

.NET Architecture

Generating Dynamic Pages

Model-View-Control Pattern Model – data provider

Connect to the database. View – presentation provider

Generate HTML page from Model. Control – logic provider

Receive a request and control both View and Model.

MVC Pattern

Browser

Biz Logic(Control)

Presentation(View)

Web

Serv

er

DatabaseLogic

(Model)

Business Logic & Presentation Database

Benefits of MVC Pattern

Simple to Maintain Separate business, database, and presentation

logic. Database access is encapsulated in DB logic.

Flexible presentation Template-like system. Simple to support more than one languages.

J2EE in Actions

.NET in Actions

J2EE vs. .NET

J2EE Multi-Platforms: Unix, Windows, and others. Scalable and high-performance. Complete server-level services: JMS, EJB, JCA, and

others. .NET

Multi-Languages: C#, VB.Net, ASP.Net, and others. Good development tools: Visual Studio .NET. Simple to develop. Built-in supports for XML and Web services. CLR will play a very critical role.

References

H. Sheil and M. Monteiro, “Rumble in the jungle: J2EE versus .Net, Part 1”, JavaWorld, June 2002, http://www.javaworld.com/javaworld/jw-06-2002/jw-0628-j2eevsnet_p.html.

J. Lurie and R. Belanger, “The great debate: .NET vs. J2EE”, Javaworld, March 2002, http://www.javaworld.com/javaworld/jw-03-2002/jw-0308-j2eenet_p.html.

jGuru, JavaServer Pages Fundamentals,http://developer.java.sun.com/developer/onlineTraining/JSPIntro/contents.html.

top related