P37 Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的RESTWebService,同时还支持Spring、JSON等技术。这些都将在后面的系列教程中讲解。在本文中主要介绍了如何使用Axis2开发一个不需要任何配置文件的WebService,并在客户端使用Java和C#调用这个WebService。
P3 GlassFish下简单Web服务开发一、开发环境和工具1、GlassFish(我用的是V2.1.1)2、Eclipse3.6.1(JavaEE版)。
P7 本文主要谈一下密码学中的加密和数字签名,以及其在java中如何进行使用。对密码学有兴趣的伙伴,推荐看Bruce Schneier的著作:Applied Crypotography。在jdk1.5的发行版本中安全性方面有了很大的改进,也提供了对RSA算法的直接支持,现在我们从实例入手解决问题(本文仅是作为简单介绍)
P1 Java6提供了多种算法支持,但并不完善,许多加密强度较高的算法,Java6未能提供。BouncyCastle就是对Oracle提供的算法进行了扩展,比如IDEA、MD4、Rijndael、Serpent、Twofish等算法。关于更多BouncyCastle的知识,请Google之,下面介绍如何在JDK中配置它。
P7 Java安全套接字扩展(JSSE,Java Secure Socket Extension)为基于SSL和TLS协议的Java网络应用程序提供了JavaAPI及参考实现。JSSE支持数据加密、服务器端身份验证、数据完整性。使用JSSE,能保证采用各种应用层协议(HTTP、Telnet、FTP等)的客户程序与服务器程序安全地交换数据 要实现用JSSE交换数据,需要用到证书,获取证书有两种方式,一是从权威机构购买证书,二是创建自我签名的证书。
P3 对于java程序员来说,并不必显示地对内存 进行管理,一切都交给java虚拟机去做吧,而且,你也不一定做得比java虚拟机来得专业。好像所有内存管理都交给虚拟机去做就万事大吉了,但是,事实 有时并非如此,可能有时你会遇到一些让你困惑的问题,如OutOfMemoryError异常,如stackOverflowError,你开始大呼,虚 拟机不是都为我们管理好内存了吗?怎么还会出现这样的Error,其实当你真正去了解java虚拟机内存区域的分布的时候,你就会不自觉的大呼:原来 java虚拟机也不是万能。
P28 SQLExplorer可以通过JDBC访问几乎任何一种数据库。同时也支持像Hibernate这样的工具访问数据库。 DBViewer是一个数据库管理插件。通过JDBC驱动支持各种类型数据库。支持数据库结构查看,生成ValueObject,区分DDL差异,直接编辑表格数据,支持Blob/Clob数据类型,增删改字段,增删约束,增删索引,高亮显示SQL语法,Content Assist,提供SQL模板,格式化SQL脚本,保存/打开/执行SQL脚本等。
P21 说明:该文档是产品说明书的一部分,考虑到国内没有看到详细的MODBUS规约中文说明书,所以就把自己产品说明书的一部分内容译出来,作为MDOBUS规约中文说明书。该说明书不是完整的MODBUS规约,但是却涵盖的几乎所有常用内容。MODBUS规约MODBUS规约是MODICOM公司开发的一个为很多厂商支持的开放规约Modbus协议是应用于电子控制器上的一种通用语言。
P4 创建start.bat,编辑其内容为:简单实例创建thrift脚本文件:执行start.bat,thrift会根据脚本生成java代码../thrift/gen-java/com/test/rpc/TestService.java;创建javaproject;创建package:com.test.rpc,将生成的TestService.java拷入;创建接口实现类TestImpl创建RPCserver启动线程复杂对象实例与简单实例基本相同,只是脚本不同,参数以对象方式传递,自动生成的java类多一些;创建thrift脚本文件:执行start.bat,thrift会根据脚本生成java代码../thrift/gen-java/com/test/rpc/目录下TestService.java、User.Java;创建javaproject;
P15 这部分是协议层和用户提供的服务实现之间的纽带,定义了调用服务实现的接口框架,真正实现某种服务接口是通过上一章介绍的代码生成工具生成的代码。本章将介绍这个框架的基本原理,然后通过生成的一个实例来具体介绍怎样完成一次完整的服务,这个可能涉及到下面章节的一些知识,对于这些知识不详细分析其功能,只是介绍它在其中起什么作用。选择的实例是Facebook内部用这个框架实现的一个分布式日志收集系统scribe。
P6 Thrift之TProtocol类体系原理及源码详细解析之类继承架构分析这部分相关的类主要实现与协议相关的内容,这里说的协议是指对数据传输格式封装的协议,实现不同的协议来适合不同场景下的数据传输,因为在不同的场景下不同协议对于数据传输来说效率有很大的差别。
P5 Thrift文件与编程语言无关,用于定义数据类型和服务接口,然后生成用来构建RPC客户和服务器所需的全部代码。
P15 Thrift是Facebook的核心框架之一,使不同的开发语言开发的系统可以通过该框架实现彼此的通信,类似于webservice,但是Thrift提供了近乎变态的效率和开发的方便性,是webservice所不能比拟的。给分布式开发带来了极大的方便。但是这柄利器也有一些不完美。
P17 慎重选择容器类型。 标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。 非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。
P31 使用断言 assert()宏是用于保证满足某个特定条件,用法是: assert(表达式); 如果表达式的值为假,整个程序将退出,并输出一条错误信息。如果表达式的值为真则继续执行后面的语句。
P126 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点: • MVC 2模型的使用 • 功能齐全的标志库(Tag Library) • 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点: • 需要编写的代码过多,容易引起“类爆炸” • 单元测试困难 这些缺点随着Web的发展越来越明显。这就促生了Struts 2.0,它的诞生能很好的解决上述问题。 好啦,废话就不多说了,现在就让我们感受一下的Struts 2.0的魅力吧。
P16 Thrift是Facebook开发出的一个软件库和一组代码生成工具,以加快高效率、可扩展的后端服务的开发与实现的速度。它通过对各语言最常用的部分加以抽象,把它们放进一个通用库里,再用各个语言实现,来实现跨编程语言的高效而可靠的通信。亦即,Thrift允许开发者在一个单独的语言无关的文件里,定义数据类型和服务接口,然后生成用来构建RPC客户和服务器所需的全部代码。
P9 本文先整体性地介绍Thrift框架,然后分析Thrift源码中自带的toturial例子,作为Thrift的入门吧。 一.Thrift介绍 Thrfit是一种开源的跨语言的服务部署框架,这里的服务是指RPC,即远程过程调用了。它最初是由Facebook开发的,后来Facebook将其开源了。
P5 client连服务端有几个要注意的地方: 1 服务器的ip和端口 2 服务端和客户端用的 transport 和协议一定要一样 比如:如果服务端用的TFrameTransport那客户端也要用TFrameTransport 如果服务端用的TBinaryProtocol,那客户端也要用TBinaryProtocol 否则会出一个好像是TTransportException的一个异常。
P7 持续集成(continuous integration)作为敏捷编程的基石现在已经被绝大多数的开发团队所广泛采用。而持续集成的工具现如今也是百花齐放,各有千秋,本文主要对比了在Java领域中比较常见的几种CI server(因为公司要求统一整个公司的CI server)。如果想了解更多的工具