所有的电子商务项目,都需要合理规划其技术模式。技术模式是电子商务模式价值网络的架构基础和商业模式的实现条件,也就是支撑电子商务商业模式实现和电子商务价值网络正常运营以及发生意外时能保护系统、恢复系统的硬件、软件和商务支持系统。随着信息技术和互联网技术的发展,电子商务技术的进步可谓日新月异,核心电子商务公司的技术模式选择必须围绕其商业模式,构建科学的技术体系。例如,百度之所以实现了其“让人们最便捷地获取信息,找到所求”的客户价值,同时找到了自身的盈利模式,就是因为其在“中文分词”方面具有其他搜索引擎所不具有的关键技术和优势,而且,在此基础上构建了百度搜索推广服务管理平台,并且不断创新。抖音受到网民青睐,一个原因是能够给他们“美好感”,这种“美好感”通过全屏高清呈现、背景音乐营造、精致滤镜特效和便捷易用的拍摄体验得以实现;另一个原因是生产大量优质“爆款”内容,这些内容为抖音带来了巨大的流量。抖音之所以能做到这两点,主要是源于个性化推荐、深度学习等智能算法的技术创新。天猫网络零售平台的“双十一”等促销活动已成为入驻商家完成销售目标的重要渠道,然而,在同一时点实现巨量交易并非易事,甚至是世界级难题。阿里巴巴为此投入了大量的人力、物力和财力资源,组建阿里云团队,研发了飞天云操作系统,解决了海量用户高并发带来的问题。2019年“双十一”期间,阿里云系统实现了一秒钟54.4万笔订单的处理量,这为全球范围内的商业促销活动得以实现提供了坚实的技术基础。携程旅行网作为旅游服务企业的龙头,在初创阶段,要为会员提供快捷灵活、优质优惠、体贴周到又充满个性化的旅行服务,其技术模式就要以呼叫中心为核心来构建。因此,面向电子商务价值网络基于商业模式实现的电子商务技术模式体系一般应该包括以下几个方面。
网站开发技术是核心电子商务公司为保证价值网络的正常运营,自建或委托第三方公司建设电子商务系统所使用的技术。网站开发技术主要分为前端和后端两部分。前端是指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。后端是指部署在后台服务器端的应用程序,它为前端提供各种业务支持。
大型网站的技术挑战主要来自庞大的用户群体、高并发的访问和海量的数据,任何简单的业务一旦需要处理数以PB计的数据和面对数以亿计的用户,问题就会变得很棘手。电子商务公司在发展初期,网站访问量并不大,后端应用程序、数据库、文件等资源通常在一台服务器上,结构非常简单。随着业务的发展,越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足,这时单一服务器就不能满足需求,需要将应用和数据分离。下面简要介绍大型网站需要用到的前端和后端技术。
(1)前端技术
前端的基本技术包括HTML、JavaScript等。HTML的全称为Hyper Text Markup Language(超文本标记语言),是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。JavaScript是一种具有函数优先的轻量级、解释型或即时编译型的编程语言,主要用于Web前端开发,具有嵌入动态文本、对浏览器事件做出响应、读写HTML元素、检测访客的浏览器信息、控制Cookies等功能。
前端的优化技术包括浏览器加载、网站视图模型图片服务、CDN服务等,主要手段有浏览器访问优化、使用反向代理、CDN等。浏览器访问优化的方式包括减少HTTP请求、使用浏览器缓存、文件压缩、减少Cookie传输等。反向代理的工作原理是,当接受客户端的网络访问连接请求时,有策略地转发给网络中实际工作的业务服务器处理,并将处理结果返回给客户端。内容分发网络(Content Distribute Network,CDN)的本质仍然是一个缓存,而且将数据缓存在离用户最近的地方,使用户以最快速度获取数据。CDN能够缓存的一般是静态资源,如图片、文件、CSS、Script脚本、静态网页等,这些文件访问频度很高,使用CDN可极大改善网页的打开速度。
随着移动终端的普及,移动端开发已成为网站前端开发的重要形式。移动端开发技术主要包括Native App、Web App和Hybrid App三种。Native App指的是原生应用程序,一般依托于移动端操作系统,有很强的交互性,可拓展性强。比如基于iOS、Android等操作系统的App。原生应用程序使用相应平台支持的开发工具和语言,如iOS平台支持Xcode和Objective-C而Android平台支持Eclipse和Java。原生应用程序最大的缺点就是不支持动态化更新。Web App就是借助前端HTML5技术实现的在浏览器里面跑的App,简单来说就是一个Web网站。因为是在浏览器里面运行,所以天然支持跨平台,版本更新也很方便。但是,Web App较难实现比较复杂的功能,如访问手机摄像头、通信录等。Hybrid App是介于Native和Web之间的开发模式,一般称作混合开发。简单来说Hybrid App就是套壳App,整个App是原生的,也需要下载安装到移动终端,但是App里面的页面既可以是Web的,又可以是原生的。
在前端技术中,除了满足必要的业务需求外,用户体验也非常重要。用户体验是指用户在使用一个产品或系统之前、使用期间和使用之后的全部感受,包括情感、信仰、喜好、认知印象、生理和心理反应、行为和成就等各个方面。用户体验可分为感观体验、交互体验、情感体验等类型。在网站建设中,涉及的用户体验技术包括用户界面设计、交互设计、虚拟现实(增强现实)、人工智能等。
(2)后端技术
在大型网站中,后端通常可分为应用层、服务层、存储层等。应用层是处理网站主要业务逻辑的地方;服务层提供基础服务,供应用层调用,完成网站业务;存储层提供数据、文件的持久化存储访问与管理服务。
后端的基本技术主要是服务器端应用程序开发和数据库技术。服务器端应用程序开发的语言环境可以是Java、PHP、ASP等,通常的数据库管理系统有DB2、Oracle、MySQL、SQL Server等。
后端的优化技术较为复杂。在应用层,包括页面渲染、负载均衡、动态页面静态化、业务拆分等技术。页面渲染是将分别开发维护的动态内容和静态页面模板集成起来,组合成最终显示给用户的完整页面;负载均衡是指将多台应用服务器组成一个集群,通过负载均衡技术将用户请求分发到不同的服务器上,以应对大量用户同时访问时产生的高并发负载压力。动态页面静态化是对于访问量特别大而更新又不很频繁的动态页面,可以将其静态化,即生成一个静态页面,利用静态页面的优化手段加速用户访问,如反向代理、CDN、浏览器缓存等;业务拆分的目的是将复杂而庞大的业务拆分开来,形成多个规模较小的产品,独立开发、部署、维护,除了降低系统耦合度,也便于数据库业务分库。在服务层,包括分布式消息、分布式服务、分布式缓存、分布式配置等技术。分布式消息是利用消息队列机制,实现业务和业务、业务和服务之间的异步消息发送及低耦合的业务关系;分布式服务的目的是提供高性能、低耦合、易复用、易管理的分布式服务,在网站实现面向服务架构(SOA);分布式缓存则通过可伸缩的服务器集群提供大规模热点数据的缓存服务,是网站性能优化的重要手段;分布式配置在系统运行期提供配置动态推送服务,将配置修改实时推送到应用系统,无需重启服务器。在存储层,包括分布式文件、关系数据库、NoSQL数据库、数据同步等技术。分布式文件的产生缘于网站在线业务需要存储的文件大部分都是图片、网页、视频等比较小的文件,但是这些文件的数量非常庞大,而且通常都在持续增加,需要伸缩性设计比较好的分布式文件系统。大部分网站的主要业务是基于关系数据库开发的,但是关系数据库对集群伸缩性的支持表较差,通过在应用程序的数据访问层增加数据库访问的路由功能,根据业务配置将数据库访问路由到不同的物理数据库上,可实现关系数据库的分布式访问。NoSQL在内存管理、数据模型、集群分布式管理等方面各有优势。拥有多个数据中心的网站必须在多个数据中心之间进行数据同步,以保证每个数据中心都拥有完整的数据。