web技术

WCF从理论到实践(1):揭开神秘面纱

本小妞迷上赌 提交于 2020-03-20 08:11:18
引子 WCF是"Windows Communication Foundation "的缩写,原来的代号为"Indigo",它是MS为SOA(Service Oriented Architecture)而设计的一套完整的技术框架。利用它能够开发出分布式(Distributed)应用程序,而且开发难度相比以前的.Net Remoting和Asp.Net Xml Web Service等都有了大幅度的降低。可以说WCF是目前微软平台下最先进的SOA框架,也是微软在今后一段时间内在该领域的主打产品。它具有很多优点,但本人总结起来,其最大的特征在于1)充分整合了原来的.Net Remoting,Asp.Net Xml Web Service,MSMQ,WSE,Enterprise Service等多项分布式技术,取其精华,弃其糟粕。2)WCF虽然整合了几项技术,但开发难度不增反降,简单易学。相信在未来的几年中,WCF一定在SOA的大潮中披荆斩棘,大展身手。本系列文章从大的方向上分为两个部分,第一部分是介绍WCF相关的理论知识,第二部分是用WCF来开发一个完整的项目实例。希望在理论和实践上和大家一起学习微软这个优秀的框架。 本文的出发点和目的 通过阅读本文,能解决以下几个问题 WCF是什么? WCF能干什么? WCF的今生前世? 学习WCF有哪些资源? 本文适合的读者 对WCF感兴趣的初学者

Servlet 工作原理解析【转】

旧巷老猫 提交于 2020-03-20 01:06:04
3 月,跳不动了?>>> 简介: Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础。因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的基本要求。本文将带你认识 Java Web 技术是如何基于 Servlet 工作,你将知道:以 Tomcat 为例了解 Servlet 容器是如何工作的?一个 Web 工程在 Servlet 容器中是如何启动的? Servlet 容器如何解析你在 web.xml 中定义的 Servlet ?用户的请求是如何被分配给指定的 Servlet 的? Servlet 容器如何管理 Servlet 生命周期?你还将了解到最新的 Servlet 的 API 的类层次结构,以及 Servlet 中一些难点问题的分析。 从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接 Servlet 与 Servlet 容器的关键,那我们就从它们的接口说起。 前面说了 Servlet

易扩展二次开发的web快速开发平台

前提是你 提交于 2020-03-19 16:46:46
我们先来看看web快速开发平台的发展 从编程之初,便免不了和方法,类,接口之类的东西打交道。久而久之,自然会对此进行总结,由此而产生了开发平台。而今中国的程序员之中,有很大一部分都是编一些企业MIS、政府MIS之类的程序。其主要工作就是对数据进行一下增删改查的操作,对MIS系统做一些基础的管理而已。随着互联网的流行,自然又要求以互联网为基础,把这些都网络化,以实现网络资源共享,而不是传统的单机模式。诸如用友、金蝶等都有自己的开发构件库,还有SAP的ABAP开发平台等等。但是ABAP开发平台太复杂,一般的程序员一下子很难用起来;而用友金蝶的开发构件库又只能自己用,无法开放出来,所以难于通用。所以说早起的开发平台的基本状况是:要么功能强大,使用复杂;要么难于通用。随着IE的出现,这种类型的开发平台也就被迫要转向web开发平台了。 web快速开发平台的性质 web开发平台究竟是属于技术平台还是业务平台呢?一般来说,技术平台是指技术人员使用的平台,业务平台是指业务人员使用的平台。那如果web开发平台易学易用,则可以归结为业务平台。而如果web开发平台功能强大并有要求技术含量高,则可以归结为技术平台。显然,web开发平台在业务平台跟技术平台两者之间徘徊。怎么样能让web开发平台既功能强大,又简单易学易用,是每个web开发平台的设计者所必须面临的问题。而在这个问题的处理上

Fiori Fundamentals和SAP UI5 Web Components

爷,独闯天下 提交于 2020-03-19 02:48:30
这周有位同事邀请我给团队讲一讲SAP技术的演进历史,所以我准备了下面几个主题来介绍。 其中SAP的技术回顾和演进,我的思路就是从前后台两方面分别介绍。 我画了一张非常简单的图: 去年5月我写过一篇文章: SAP UI和Salesforce UI开发漫谈 ,简要回顾了SAPUI技术的发展,从最古老的SAP GUI绘制界面,到Webdynpro / WebUI再到现在广泛使用的Fiori UX。当时这篇文章介绍到Fiori(UI5)就嘎然而止了,如今大半年过去了,我们继续聊聊Fiori的发展动向。 根据Jerry从SAP社区上已经发布的信息来看,Fiori的两个发展方向,我个人概括为: 1. 兼容并蓄,即通过Fiori Fundamentals,让使用非UI5开发框架的前端开发人员,用其喜爱的技术,也能开发出符合Fiori UX的应用。 2. 轻装上阵,即通过SAP UI5 Web Components,既能继续提供像之前UI5控件库那些开箱即用的众多UI控件,又避免了前端应用对UI5框架的依赖。 我们来分别了解一下这两个新概念。 Fiori Fundamentals 看看SAP官网上的权威定义: https://experience.sap.com/news/democratizing-sap-fiori-with-fiori-fundamentals/

SAP WebService(一):概述

那年仲夏 提交于 2020-03-19 02:46:52
Web service 就是一个应用程序,它向外界暴露出一个能够通过 Web 进行调用的 API 。也就是说,可以利用编程的方法通过 Web 来调用这个应用程序。 Web service 是建立可互操作的分布式应用程序的新平台。 Web service 平台是一套标准,它定义了应用程序如何在 Web 上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写 Web service ,只要我们可以通过 Web service 标准对这些服务进行查询和访问。 企业的业务流程通常包含各自独立的业务步骤,分别由各个可独立执行的软件组件实现。因此,现代软件系统的基础架构必须建立在功能集成、通过不同的软件组件实现,但保持高效完整的流程的丛础之上。但目前为止,不同软件应用程序的集成过程还是建立在手工地创建接口、信息格式以及业务伙伴之间建立协议的基础之上的,并非自动完成。 WEB 服务将简化上述过程。该技术基于开放的、被广泛接受的标准,可以将不同的软件组件实现的功能合并为一个单一的过程。简单来说, WEB 服务是独立的、可以通过网络被发布、搜寻以及调用的可执行实体。在 SAP 中,可以通过 SAP NetWeaver AS Java 和 SAP NetWeaver AS ABAP 创建并发布 Web 服务,其中 SAP 本身的业务逻辑模块(如 BAPI 等)可以通过辅助工具直接发布为

什么是“分布式应用系统”

旧城冷巷雨未停 提交于 2020-03-18 18:07:35
在信息产业高速发展的今天, 企业 间的竞争将更加激烈。随着规模的不断扩大和业务的不断更新,企业迫切需求完整的分布式解决方案,用于管理复杂的异构环境,实现不同硬件设备、软件系统、网络环境及数据库系统之间的完整集成。 背景介绍 纵观人类计算机的发展历史,每隔十年至十五年,信息产业就会发生周期性的变革,1950年至1970年期间,企业主要采用大型主机-终端的体系结构,企业 应用 系统则采用单一、集中的方式为用户提供资源共享服务。80年代初期,开放系统与关系型数据库管理系统被企业大量采用,有别于集中式系统,应用程序逻辑分散在主从两端。随着Windows的普及,90年代则是图形化的应用时代,Client/Server体系结构也被广泛采用。90年代后期,信息产业出现了分布式对象技术,应用程序可以分布在不同的系统平台上,通过分布式技术实现异构平台间对象的相互通信。将企业已有系统集成于分布式系统,可以极大地提高企业应用系统的扩展性。90年代末出现的 多层 分布式应用为企业进一步简化应用系统的开发指明了方向。 在传统的Client/Server结构中,应用程序逻辑通常分布在 客户端 和 服务器 两端,客户端发出数据资源访问请求,服务器端将结果返回客户端。Client/Server结构的缺陷是,当客户端数目激增时,服务器的性能将会因为无法进行负载平衡而大大下降。而一旦应用的需求发生变化

什么是面向服务的体系结构?一文看懂

喜欢而已 提交于 2020-03-18 17:09:22
通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。 了解面向服务的体系结构的特征以及什么构成基于Java的SOA基础结构 面向服务的体系结构(SOA)是基于用于同步和异步应用程序的请求/答复设计范例的分布式计算的演变。应用程序的业务逻辑或各个功能被模块化,并作为针对消费者/客户端应用程序的服务呈现。这些服务的关键是它们的松散耦合性质。即服务接口独立于实现。应用程序开发人员或系统集成商可以通过组合一项或多项服务来构建应用程序,而无需了解服务的基础实现。例如,可以在.Net或J2EE中实现服务,而使用该服务的应用程序可以在其他平台或语言上。 SOA的好处是其与平台无关的方法以及Web服务之间更好的互操作性。本文是SOA的概述,包括构建Web服务时使用的一些工具和协议。 SOA和Web服务 面向服务的体系结构是可以使用Web服务实现的体系结构模式。 有关在Java中构建基于SOAP的RESTful Web服务的教程简介,请参见“ Java SE中的Web服务”(JavaWorld,2017年)。 面向服务的体系结构具有以下关键特征: SOA服务在与平台无关的XML文档中具有自描述接口; 用于描述服务的标准是WSDL或Web服务描述语言。 SOA服务与通过XML Schema或XSD正式定义的消息进行通信。

web前端自学之路:我的HTML、CSS学习计划

本秂侑毒 提交于 2020-03-17 20:35:46
前端自学大概的路线图 因为刚开始学习,没有完整的前端知识体系,所以是大概的路线图,希望大家可以帮我一起修改完善。 大致的思路是:1.先打好基础,在学习框架。 基础方面主要涉及到的语言是Html、CSS、JavaScript,如果在这三个里面在挑基础的话应该就是Html、CSS了。 所以,2.基础知识里面先学Html,CSS。 Html\CSS学习计划 之前有过一个月的断断续续的学习,W3C的基础知识也看了,但是一到自己写页面还是不会。我就问自己为什么?我觉得可能的原因是,会HTML\CSS基础知识还不足以写出完整的静态页面,一定是我还缺少了某些知识和能力。 我觉得一个最重要的能力是:拿到设计图,首先是分析它,而不是直接写代码。 分析是一种能力,而HTML\CSS只是实现我们目标的工具,而掌握了HTML\CSS基础知识仅仅是掌握了如何使用这些工具,就像是我会搬砖,但并不知道怎么盖房子。 我认为这种分析能力是需要通过做大量完整的页面来锻炼的。 所以我大致的学习思路是:以最快的速度了解Html\CSS基础知识,然后至今开始做大量的完整的静态页面。下面会展开说我的学习计划以及一些资料。 1.快速掌握基本的HTML、CSS知识 网上有很多免费的HTML\CSS教程,但是为了快速,我推荐[marksheet],这个教程的好处是它先介绍了web方面的基础知识,让大家对web有个宏观上的了解

初识WEB:输入URL之后的故事

时光毁灭记忆、已成空白 提交于 2020-03-17 19:46:35
初识WEB:输入URL之后的故事 1. 概述 2. HTTP请求过程 3. 相关性能检测及优化手段 4. 浏览器的呈现过程 5. 浏览器的呈现引擎 6. 引用及延伸阅读 概述 为什么输入 www.cnblogs.com 之后敲一个回车,浏览器就会显示我们所看到的内容?这家伙在背后到底偷偷的干了哪些事情?今天我们就来挖掘一下这背后的故事。 HTTP请求过程 为直观明了,先上一张图: 画完之后,才发现原来我的字写的这么难看,别喷我,小伙伴们! 下面是详细的步骤以及说明: 输入URL,敲回车。 针对当前URL检查是否存在本地缓存, 如果存在,则会加载本地缓存进行呈现。如图,经过 (1)-> (2) ->(9) ->(10)。 ( 感谢“我是你的猪”的纠错 :) ) 根据URL找到对应的IP地址。这一步通常被称为DNS轮询,这里面是有缓存机制的。缓存的顺序依次为:浏览器缓存->操作系统缓存->路由器缓存->DNS提供商缓存->DNS提供商轮询。 建立TCP连接到上一步找到的机器 用上一步建立的连接发送http request 等待并接收http response 关闭TCP连接,视情况而定,http1.1已经支持keep-alive。那么这个TCP请求是可以被后面的request利用的,这样就可以减少不断建立连接而造成的损失。 检查状态码,如果response的状态码出现3XX(跳转)

度量Web性能的关键指标

爱⌒轻易说出口 提交于 2020-03-17 15:08:27
  自网站诞生以来,响应速度/响应时间一直都是大家关心的话题,而速度慢乃是网站的一个杀手,正当大家以为四核和宽带能力的提升能够解决这些问题时,Wi-Fi和移动设备为热点移动互联网又悄然兴起。   在2006年,Amazon曾做过一个报道,响应时间每提高100ms,他们便会增加1%的收入。优化的价值已显而易见,但到底多快才是个标准,或者速度有多快才算够快呢?那么到底什么是响应时间,它有多大的价值?   从技术上来讲,响应时间是指用户发送一个指令(例如,一个页面请求)浏览器接收到完成加载的时间。定义看起来非常简单,但当你在思考如何设计一个带有许多额外对象的现代网页时,响应时间对用户体验是非常重要的,并且它也不会告诉你,哪些因素影响着响应时间。   一个稍微好点的衡量标准则是页面加载时间。页面加载时间是指从用户发送指令到浏览器加载完整个页面对象所用的时间。好比响应时间,页面加载整个过程涉及到很多事情,它由一系列执行步骤组成,并且每一步都需要单独监控,每一步都会告诉你问题所在。   步骤包括: DNS解析时间 TCP链接时间 HTTP重定向时间 首字节加载时间 HTML内容时间 整个页面对象加载时间    DNS解析时间   DNS查找的时间就是将域名翻译成具体IP的时间,大多人数认为,无论DNS是否工作,都不是件简单的事情。   在这个过程中,你可能会遇到许多微妙的问题,比如响应时间太长