ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

企业开发java主流框架技术选型整理

2020-03-12 11:58:00  阅读:215  来源: 互联网

标签:XML SOA Java 框架 java 选型 Services 服务


java后台的技术很多,在做新项目的时候会遇到项目技术选型问题。一般是根据项目或者业务情况来选型技术的,要根据项目复杂度,周期,团队成员技能等等来选型技术,比如比较合适技术,但是团队成员没用过,就要考虑学习成本,开发周期等等。欢迎一起来探讨一下公司Java后台项目搭建技术选型。

SOA服务框架

Dubbo:一个分布式服务框架,以及SOA治理方案.

SOA框架有:淘宝的HSF、阿里的dubbo、amazon coral、twitter Finagle,Xfire(ws服务)+OSGI+Spring,支付宝SOA架构,WebService也是古老的SOA。其功能主要包括:高性能NIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等。是远程服务调用中间件。不过已经不再更新了,不推荐.

axis2:是新一代的SOAP引擎,Web Services 框架.推荐.

cxf:是一个开源的 Services框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在多种传输协议上运行,比如:HTTP、JMS 或者 JBI,CXF 大大简化了 Services的创建,同时它继承了 XFire 传统,一样可以天然地和 Spring 进行无缝集成。推荐.

工作流框架

jboss jBPM:

oracle workflow:

Activiti:

国内应用的比较广泛,也比较容易上手,推荐。但是要拿Activiti做到中国式的企业级应用门槛和难度很高。想用Activiti来做企业应用,其实还需要做大量的开发封装。

Shark

osworkflow

如果java底子不好的话,可以试试国内最新自主研发的XJR快速开发平台工作流。

XJR基于B/S结构,采用主流的Activity工作流引擎,遵循bpmn规范,可实现XML、Json一键导入导出,以及添加了人员动态选择、便捷式会签设置、便捷式任务委托设置、添加自定义表单、自定义节点按钮、动态变量选择(包括会签变量、按钮变量、表单变量)以及各节点属性优化,遵循以使用者为中心的优化原则,通过可视化配置界面,只需要拖拽组件,拼接流程,可视化操作,所见所得就能实现各层的审批。将整个流程的操作变得简单、快捷,实现0基础短时间可自由编辑流程模板。

通信框架

Apache MINA:大并发量socket 通信框架

是 Apache组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的TCP/UDP 应用程序开发、串口通讯程序。

Apache Thrift:可伸缩的跨语言服务开发框架,是 Facebook实现的一种高效的、支持多种编程语言的远程服务调用的框架。

目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等。其中所用到的数据传输方式包括 XML,JSON 等,然而 XML 相对体积太大,传输效率低,JSON 体积较小,新颖,但还不够完善。Facebook 开发的远程服务调用框架 Apache Thrift,它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以在多种语言中,如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#,Cocoa, Smalltalk 等创建高效的、无缝的服务,其传输数据采用二进制格式,相对 XML 和 JSON 体积更小,对于高并发、大数据量和多语言的环境更有优势。

Hessian:

是一个轻量级的remotingonhttp工具,使用简单的方法提供了RMI的功能。相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

分布式协调服务框架

Zookeeper:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

集群平台

Terracotter:

是一款由美国Terracotta公司开发的著名开源Java集群平台。它在JVM与Java应用之间实现了一个专门处理集群功能的抽象层,以其特有的增量检测、智能定向传送、分布式协作、服务器镜像、分片等技术,允许用户在不改变现有系统代码的情况下实现单机Java应用向集群化应用的无缝迁移。使得用户可以专注于商业逻辑的开发,由Terracotta负责实现高性能、高可用性、高稳定性的企业级Java集群。

terracotta 3.7+tomcat 6.x +apache2.x 集群配置:前台用apache处理静态页面,tomcat处理jsp动态页面,然后将session会话状态分离出来用terracotta做session服务器

消息框架

Mule:Mule是一个企业服务总线(ESB)消息框架.它的主要特性包括:

1.基于J2EE1.4的企业消息总线(ESB)和消息代理(broker).

2.可插入的连接性:比如Jms,jdbc,tcp,udp,multicast,http,servlet,smtp,pop3,file,xmpp等.

3.支持任何传输之上的异步,同步和请求响应事件处理机制.

4.支持Axis或者Glue的WebService.

5.灵活的部署结构[Topologies]包括Client/Server,P2P, ESB 和EnterpriseService Network.

6.与Spring 框架集成:可用作ESB 容器,也可以很容易的嵌入到Spring应用中.

7.使用基于SEDA处理模型的高度可伸缩的企业服务器.

8.强大的基于EIP模式的事件路由机制等.

notify:

notify是推模式的消息中间件。

Metamorphosis:

Metamorphosis是拉模式的消息中间件。

标签:XML,SOA,Java,框架,java,选型,Services,服务
来源: https://www.cnblogs.com/wosoft/p/12468092.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有