SCEA之路--11. Protocols

原创 2004年09月06日 22:33:00

Scenarios.
HTTP/HTTPS – internet sites
RMI-IIOP – intranet environment; interoperability requirements (EJB-EJB, EJB-CORBA, etc.)
RMI-JRMP – intranet with an all Java environment

Firewalls provide protection by:
• packet filtering
    IP blocking – source or destination IP
    Port blocking – e.g. only allow well-known ports such as 80, 443, 25, etc.
• protocol filtering – e.g. no FTP

HTTP (HyperText Transfer Protocol).
Stateless, connection-less request/response mechanism, default port is 80.
Pros
• simple request/response mechanism
• allowed through firewalls (most of the time)
• widely supported / deployed
• extensible - supports tunnelling of arbitrary data; custom request types/response content
Cons
• stateless - hence non-transactional
• insecure - hence HTTPS
• inefficient - e.g. MIME encoding can make files bigger
• doesn’t support “push” model

HTTPS.
SSL (Secure Socket Layer) is an application level protocol layered over TCP. HTTP layered over SSL is HTTPS, default port is 443.
Regarded as connection-based / stateful as an SSL session is maintained over multiple requests/responses.
Each session may include multiple secure connections. In addition, each party (client/server) may hold multiple SSL sessions.
Pros
• secure – only “in-the-clear” at client / server
• allowed through firewalls (most of the time)
• widely supported / deployed
Cons
• computationally expensive – excluding dedicated hardware, HTTPS can only process 10% of the
traffic HTTP can
• admin overhead – renewing certs, etc.

IIOP (Internet Inter-ORB Protocol).
The GIOP (General Inter-ORB Protocol) specifies a set of message formats and common data representations for communication and is intended for use on any suitable connection-based transport
protocol.
IIOP is GIOP layered over TCP, no default port – the GIOP/IIOP implementation will dynamically assign ports when an object server instance binds to a name.
Pros
• Interoperability – Java clients can call C++ servers; Cobol client can call Java server, etc.
• Legacy integration
• Designed for generic remote object invocation - type safe, extensible
• Inbuilt support for security and transactions
Cons
• Firewalls – servers bound to arbitrary ports so firewall can’t be configured with an IIOP port;
can be supported with an IIOP proxy but “push” model is still problematic
• Performance – all method invocations are remote (possibly over the internet)
• Pass-by-reference – only supports remote references, can’t use pass-by-value (until CORBA 2.3)

JRMP (Java Remote Method Protocol).
JRMP is the default protocol for RMI – stateful / connection-based.
To enable interoperability, RMI has been extended to support RMI over IIOP (with some restrictions).
As of EJB1.1, all application servers must support RMI-IIOP.
The default port for the RMI registry / JNDI name server is 1099, object servers will be dynamically
assigned ports by the RMI runtime.
Pros
• Richer feature set than IIOP – pass by reference or by value; distributed GC; stub download
• Single multiplexed connection
Cons
• Interoperability - only works in a Java environment
• Lacks IIOP’s support for transaction/security context propagation
• Firewalls – servers bound to arbitrary ports; HTTP tunnelling limited
• Performance – all method invocations are remote (possibly over the internet)

SCEA认证资料

http://book.51cto.com/art/200807/82610.htm SUN在这方面的认证软件开发专业证书分为六类,分别为JAVA程序员(SCJP)、JAVA开发员(SCJD)、...
  • haimianjie2012
  • haimianjie2012
  • 2014年04月11日 17:41
  • 839

【持续集成CI】mac系统下安装jenkins环境

【1】环境准备 java 1.8+ 下载链接http://www.cr173.com/mac/122803.html#down-link 【2】安装jenkins 参考链接http://www.jia...
  • mashang123456789
  • mashang123456789
  • 2017年11月10日 15:10
  • 788

SCEA的基本知识

Java 2企业版本(J2EE)体系是众多主要企业网络服务器产品的基础,当然微软产品除外。利用J2EE的规范,Sun的目标是确保不同网络程序能够运行于任何J2EE兼容的服务器。这对开发人员非常有好处,...
  • u012402926
  • u012402926
  • 2016年08月08日 22:07
  • 77

架构师之路16年精选50篇

2016精选索引,点击标题阅读相关文章。 【方法论】 《秒杀系统架构优化思路》 《分布式ID生成器》 《互联网架构,如何进行容量设计》 《线程数究竟设多少合理》 《单点系统架构的可...
  • a314773862
  • a314773862
  • 2017年02月13日 19:05
  • 4873

我的Java学习之路

  将近两个月的时间没有更新过博客了,这个东西还是不能断,以后要坚持按时更新。这段时间主要在学习Java编程方面的知识,之前自己主要是通过C++来做图像,技多不压身,学习了一个月,再次写一篇博客来...
  • u013088062
  • u013088062
  • 2016年06月15日 23:19
  • 3319

一.求生之路2服务器的搭建(Windows)

下载游戏1.先去下载个在服务器上下载游戏的工具.(服务器不用安装Steam客户端)所以要借助这个工具SteamCMD 下载steamCMD的网站 直接下载steamCMD的压缩包 2.解压出来 3....
  • u013792369
  • u013792369
  • 2016年11月05日 10:25
  • 7270

Java基础学习总结(11)——重载与重写

首先我们来讲讲:重载(Overloading) 一、方法的重载      方法名一样,但参数不一样,这就是重载(overload)。   所谓的参数不一样,主要有两点:第一是参数的个数不...
  • u012562943
  • u012562943
  • 2015年12月29日 09:37
  • 1392

python自动化之路-day2

本节内容: for循环while循环数据类型(字符串、数字、列表、字典、元组) for循环 1.介绍 python中循环大多数都是用for来完成,for循环是一种迭代循环机制不...
  • zongyimin
  • zongyimin
  • 2016年10月17日 11:07
  • 383

架构师之路16年精选50篇

来源:http://mp.weixin.qq.com/s/OlFKpcnBOgcPZmjvdzCCiA 【方法论】 《秒杀系统架构优化思路》 《分布式ID生成器》 ...
  • neo_liu0000
  • neo_liu0000
  • 2017年02月19日 10:54
  • 427

我的Java成长之路

Java我最热爱的一门编程语言--分享我的Java学习之路       从2011年上大学开始我接触的第一门计算语言就是Java,它所带给我的感觉是很好的!从一开始接触它,我就已经喜欢上了这门编程语言...
  • JavaChenZhenlin
  • JavaChenZhenlin
  • 2013年06月15日 00:36
  • 1178
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SCEA之路--11. Protocols
举报原因:
原因补充:

(最多只允许输入30个字)