1、第十讲 网络环境的开发平台与工具8.1 网络计算模式的发展n8.1.1 主机模式(mainframe computing)用户使用终端直接访问主机。n8.1.2 客户/服务器模式(client/server computing)C/S主要用于局域网,服务器端提供不同的服务模块,客户端通过访问服务器资源实现一定的功能。8.1.3 web模式(Browser/Server,B/S)n客户端采用web浏览器,由服务端下载网页。n优点:瘦客户,可维护性强,操作简便、网络流量小。n静态web浏览:只提供简单的服务器端下载html文件进行浏览。n动态web访问:给用户提供动态交互的服务,产生了一系列平台和
2、技术。8.1.4 动态web技术的发展1.CGI(Common Gateway Interface):采用编译型语言(如C语言)或解释性语言(如perl)编写。每次为响应客户方的请求,创建一个进程。优点:动态交互的实现 缺点:代码编写、维护、扩展困难;占用系统资源多;性能低下2.ISAPI、NSAPI(Internet Server API、NetScape API):对应每个请求,只在新的线程内与客户交互,节约了服务器资源,提高了效率。缺点:代码编写、维护仍然比较困难。3.ASP、JSP、PHP(Active Server Pages、Java Server Pages、Hypertext
3、PreProcessor)ASP、PHP使用脚本语言,JSP使用Java4.MS.NET、SUN J2EE(JavaTM 2 Platform,Enterprise Edition)微软和SUN的新一代WEB模式开发平台和框架,为开发者提供更多的便捷。8.2 C/S应用技术8.2.1 命名管道(NamedNamed PipesPipes)一个进程间通信的简单的点对点的协议。服务器端建立一个管道名称并处于管道口处,客户端通过这个“管道”向服务器端发请求,在请求得到验证之后服务端向客户端发送所请求的数据。管道的命名:ServerNamepipePipeName特点:简单易用、功能多样易于造成网络阻
4、塞适用范围:对网络传输速度要求不高的场合。一、套接字的概念:跨网络进程间通信的一个终点对象。套接字具有一个与特定网络地址相关的数据报或流类型。起源于Berkley UNIX平台。二、套接字中的客户与服务器:为网络应用提供的端点。服务器执行后,等待从客户端发出的数据包。一旦通信建立起来,服务器方和客户方就可以交换数据。一个服务器同时可以处理多个客户。8.2.2 套接字(socket)三、winsock特点:描述了windows网络编程的一般性接口,通常使用TCP/IP实现网络通讯。Windows Sockets(winsock)提供处理各种windows套接字连接的应用程序接口,并针对windo
5、ws的扩展功能加入事件驱动的特性。四、主要的API函数socket创建新的套接字accept在套接字中接收连结connect建立一个到同位体的连接bind使一个局部地址与套接字相关联listen为输入联接建立一个收听套接字send通过已连接的套接字发送数据recv从套接字接收数据shutdown禁止套接字上的发送或接收工作closesocket关闭套接字nWinsock连接示意图服务器端客户端socket()创建套接字bind()命名listen()侦听accept()接受新连接closesocket()关闭套接字send()/recv()发送/接收数据socket()创建套接字connect
6、()连接至套接字send()/recv()发送/接收数据closesocket()关闭套接字8.3 java平台8.3.1 java简介以java语言为基础发展起来的一系列开发语言、技术、工具、平台的总和,即java平台。一、一、java语言语言历史:sun microsystems,1991特点:简单、面向对象、分布式、解释性、健壮性、安全性、平台无关性、可移植性、高性能、多线程、动态性。二、二、web客户端技术:客户端技术:applet嵌入HTML文件中的一种java小程序。在客户端浏览器上运行。三、三、web服务端技术服务端技术1.Java servlet2.JSP(JavaServer
7、 Pages)3.运行方式:先编译成servlet,再生成HTML,然后下载到客户端浏览器4.四四、JavaBeans和和EJB(Enterprise JavaBeans)5.java组件技术6.优点:简单易用7.缺点:其它语言不能访问8.五、五、JDBCjava数据库访问技术数据库访问技术8.2.3 JSP一、JSP的特点1.内容的生成和实现的分离,内容封装于JSP标签、javabean当中,显示由HTML、XML完成。2.可重用、跨平台的组件。3.采用标签简化页面开发;JSP标签中封装了许多servlet代码。4.与servlet结合使用。5.具有java技术所有的特点。6.一次编写,处处
8、运行(write once,run everywhere).二、二、JSP语法简介语法简介1.JSP脚本要素n注释:HTML注释!-注释-隐式注释n表达式:n变量、方法的声明:nScriptlet小脚本:2.JSP标签include,page,taglib等标签3.与javaBean相关的语法标签 4.JSP内部对象Request、Response、pageContext8.2.4 JSP与ServletServlet是java的扩展,在页面显示中没有实现表示与业务的分离。JSP主要用于表示层,逻辑层则封装在Bean中。Sun的三层网络结构:Data LayerBusiness LayerPr
9、esentation Layer8.2.5 JSP环境的设置SUN公司的Tomcat,Apache组织的Apache最小的环境设置,jdk+jswdk1.下载、安装jdk、jswdk2.配置jswdk安装路径。startserver.bat文件开始一行加入 set JAVA_HOME=(如C:jdk2)3.安装自己的web application。编辑webserver.xml,加入节点4.运行startserver.bat,加载jsp环境(stopserver.bat)5.试运行:localhost:80808.3 ASP(Active Server Pages)8.3.1 ASP简介一、特
10、点1.集成COM技术、服务器技术、数据库技术2.使用脚本语言VBScript、javaScript3.运行在服务端,充分利用服务器端资源动态生成HTML文档。4.脚本嵌入HTML的方法。5.与客户端平台无关。6.代码隐藏。7.内置功能强大的对象和组件。8.使用ADO访问数据库,简化数据访问过程。二、配置ASP1.Windows2000,XP,安装IIS;Win98,me,安装PWS2.试运行localhost 3.管理web站点虚拟目录:控制面板管理工具IIS三、编写、调试和运行ASP1.编辑:任何文本编辑器,visual InterDev2.调试:微软脚本调试程序工具3.运行:localho
11、st/myservdir/first.asp8.3.2 ASP语法一、普通服务器端脚本二、ASP指令,LANGUAGE,CODEPAGE,ENABLESESSIONSTATE,LCID三、ASP内部对象request,response,session,8.4.NET平台8.4.1.NET概述连接(你的世界中)信息、人、系统和设备的一系列技术。通过使用XML Web Services实现空前级别的软件集成:小的、离散的、积木型的应用程序通过Internet彼此连接起来,并与大的应用程序相连接。一、微软的一个战略二、一个平台(.NET framework),新的软件结构模型三、一系列工具和技术:D
12、eveloper tools、Servers、Client software.NET平台nIT人员发展历程n开发n应用服务实现n操作系统8.4.2.NET Frameworkn.NET Framework编程模型允许开发者建造基于web的应用、smart client应用、XML Web services应用,这些应用程序使用诸如SOAP、HTTP这样的标准协议有计划地暴露他们的功能。一、一、Common Language Runtime微软中间语言、即时编译微软中间语言、即时编译JIT二、二、Class Libraries三、三、ASP.NET操作系统操作系统虚拟机虚拟机统一统一API(AP
13、I(类库类库)支持支持编程语言编程语言.NET Framwork 体系结构.NET Framework体系结构(进一步)操作系统操作系统公共语言运行库公共语言运行库基类库基类库公共语言规范公共语言规范VBVBC+C+C#C#Visual Studio.NETVisual Studio.NET.NET 类库ServicesDescriptionDiscoveryProtocolsHtmlControlsWebControls统一的简单开发方式HWND hwndMain=CreateWindowEx(0,MainWinClass,Main Window,WS_OVERLAPPEDWINDOW|WS
14、_HSCROLL|WS_VSCROLL,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,(HWND)NULL,(HMENU)NULL,hInstance,NULL);ShowWindow(hwndMain,SW_SHOWDEFAULT);UpdateWindow(hwndMain);8.4.3 CLR通用语言运行库n自动内存管理n所有不再使用的对象会被系统自动注销n异常处理 try-catchn统一的错误处理类n类型安全 n没有不安全的调用和未初始化的变量n简化的安装和部署 n不再需要注册表nSide-by-side 执行方式n组
15、件版本升级-“dll Hell”Side-By-SideSide-By-Siden两个运行库版本的并行执行 为何如此?.NET FrameworkCommon Language Runtime公共语言运行库公共语言运行库WindowsWeb ServicesADO.NETData TypesVisual Basic ApplicationsVisual C#ApplicationsVisual C+ApplicationsProgramming Services.NET 平平台台Code源程序编译为 MSILJIT compiler producesmachine language机器语言8.
16、4.4 XML Web Servicen原因:DCOM、CORBA实现远程访问时技术上的难度大,不够实用。n要求:互操作性互操作性 internet友好性友好性 强类型接口强类型接口 利用现有利用现有internet标准的能力标准的能力 支持任何语言支持任何语言 支持任何分布式组件基础结构支持任何分布式组件基础结构Web service设计组成发现(UDDI,DISCO)描述(WSDL,XML Schema)消息格式(SOAP)编码(XML)传输(HTTP,SMTP等)XML Web 服务实现集成的业界标准n企业内部多平台的统一标准n移动员工与合作伙伴n跨防火墙的业务(B2B)集成1.陈坚,陈
17、伟等,VC网络高级编程,人民邮电出版社。2019.082.WINDOWS网络编程技术(Network Programming for Microsoft Windows)3.Jeffrey Richter.Applied Microsoft.Net Framework Programming.(Microsoft.Net 框架程序设计)4.Damien Watkins.NET环境编程全景。5.NET核心概念介绍。陈敬熙.NET技术组 北京爱杰平方工作室参考文献复习与思考n网络计算模式经历了哪些类型?n静态Web访问的过程如何?n动态Web访问的过程如何?有哪些动态网页技术,工作原理和特点如何?nWindows平台上Socket服务器与客户间的工作原理是怎样的?n.NET应用程序的编译和运行过程是怎样的?n.NET框架提供哪些功能?n动态Web访问技术经历了哪些阶段,有哪些典型技术,特点如何?nWeb服务的特点有哪些?其核心组成有哪些部分,采用何种技术?