传统应用程序 微服务_使用微服务进行企业应用程序定制

传统应用程序 微服务

介绍

如今,在节奏飞快的企业环境中,作为企业IT部门的领导者,您需要保持快速。 简单对速度关键 。 简化IT的关键因素是什么? 需要注意的三个不同领域非常重要: 技术组织 环境TOE框架http : //goo.gl/tQlX5z )。 以下是有关技术组织的一些详细信息:

  1. 技术:在大多数企业中,已经有一个或多个ERP和CRM解决方案,即所谓的企业应用程序 。 当它们支持业务流程时,我们需要仔细管理它们。 在核心能力的背景下,大多数企业可以定制企业应用程序以满足他们的需求。 我们需要对定制进行详细管理,因为它们代表了核心竞争力,同时又使我们的企业与其他竞争对手脱颖而出。
  2. 组织:如今,事实证明,在一个具有不同角色和职能的小型团队中工作是最好的方法。 围绕业务功能组织的Scrum或小型跨职能敏捷团队 ,针对一个领域,例如具有自己的产品经理或产品所有者的订单管理 ,业务分析师,IT架构师,开发人员,测试人员和操作人员,可以更加专注地工作并提供最佳结果为业务。 此类产品组织是微服务体系结构http://goo.gl/wglXLp )的关键。 产品组织并不意味着企业中不再需要IT部门。 在这种情况下,IT部门变得越来越重要,因为例如散布在产品组织中的所有开发人员都需要交流经验并相互学习。 有时他们也想从一种产品转移到另一种产品。 此外,应该集中开发过程,例如模型和源代码版本控制,持续集成和部署,以便不是每个产品组织都必须构建自己的过程。 企业中的IT部门可以看作是IT架构师,业务分析人员,开发人员,测试人员和操作人员的“家” 。 众所周知, 拥有一个坚强的家庭是坚强,成功和勇敢的孩子们的基础

在本文中,我们将研究定制的细节及其与微服务架构的关系,该微服务架构代表了上面的技术要点。

企业应用程序定制和与微服务架构的集成

每个企业都需要单独的软件,无论您的标准软件有多出色。 在人力资源等许多业务领域中,会计和客户关系标准软件(例如ERP和CRM)已经在业务实体服务流程中提供了最佳实践。 由于整个企业的关键流程都是相似的,因此使用它们就足够了。 一些组件是不同的,但仅在于如何执行过程的配置上。 为此,大多数企业应用程序(ERP,CRM,CMS和DMS)都可以通过配置进行自定义

在继续之前,我们应该定义如何进行定制。 每个企业应用程序都有其自己的自定义定义 。 例如,SAP ERP定制实际上意味着我们所谓的配置。 这是我的定制类别

A.通过配置进行定制 :在这种情况下,我们可以使用应用程序的内部功能来更改应用程序的字符。 例:

  • 如果使用JIRA ,则无需编程即可根据需要定义问题的新字段。
  • 如果使用的是SAP ERP,请使用《实施管理指南》(IMG)在SAP中配置流程。
  • 如果您正在使用Oracle E-Busines Suite ERP ,则可以使用个性化设置来个性化页面。

在这种定制类型中,升级ERP安装是没有问题的,因为它使用了ERP的内部功能。

B.通过修改进行定制 :在这种情况下,我们对ERP中的组件进行了修改。 为了能够进行修改,我们需要组件的源代码。 通常不建议使用此自定义类型,因为它将使升级过程变得复杂且不可能。 最好使用下一个定制类型。

C.通过扩展进行定制 :在这种情况下,我们通过创建新组件来扩展功能。 一些企业应用程序提供了插件出口点的概念。 通常,扩展需要一个集成点,例如在UI(用户界面)层,业务逻辑和实体层以及数据层。

回到各个软件,在订单管理等其他领域,情况看起来有所不同。 每个域中的订单实体都非常不同。 例如,SSL证书订单实体与鞋子订单或垃圾收集订单具有不同的特征。 订单过程看起来也大不相同。 通常,定制过程更加复杂,并且按配置进行定制几乎是不够的 。 在这种情况下,有以下两种选择

1.使用ERP软件中的标准机制通过扩展进行定制。

在这种情况下,大多数情况下无法通过配置进行自定义,或者至少不可能完全进行自定义。 使用与ERP软件相同的技术,我们可以扩展或修改ERP软件。 这种扩展是与ERP软件的紧密耦合集成。 部署也将在与ERP软件相同的容器中完成。 尽管这种部署不适用于Oracle E-Business Suitehttps://goo.gl/AJKbHh )。 如果您的IT部门没有软件开发能力,则该替代方案主要由引入ERP软件的公司来完成。 图1以Oracle E-Business Suite为例,显示了该解决方案的体系结构。 在此图中,我们可以看到iSupplier Portal的扩展( https://goo.gl/KWz7Pq ),它具有使用Oracle应用程序框架(OAF)( https://goo.gl/me4kT6 )的简单文件上传功能( File Upload Webapp ) )。

图1:紧密耦合的集成Monolith扩展架构

图1:紧密耦合的集成
扩展的整体架构

优点:

  • 该扩展已集成到ERP软件中并紧密耦合。 特别是在UI(用户界面)领域,这是一个巨大的优势。
  • ERP软件中有很好的集成自定义工具。 在Oracle E-Busines Suite中,您拥有所谓的定制管理器: http : //goo.gl/qtoBFc 。 在SAP中有运输管理系统: http : //goo.gl/1sG6Jb 
  • 由于Webapp在E-Business Suite的上下文中运行,因此您无需担心单点登录安全性
  • 从一开始,就很容易处理一个大的“整体”解决方案,就像“分布式对象设计第一定律”所说的那样:不要分发您的对象( http://goo.gl/DFnUpG )。

缺点:

  • 它使用ERP软件的技术,这取决于ERP软件的供应商。 这意味着更高的许可成本,对供应商的高度依赖,寻找供应商能力的受限资源。 在开放源代码软件已经成熟的时候,您会陷入供应商解决方案的困境。 此外,随着诸如微服务体系结构之类的新发现,您将不得不坚持使用ERP供应商提供的整体解决方案。
  • 在某些ERP软件(例如Oracle E-Busines Suite)中,您仍然需要自行处理所有软件开发过程,例如版本控制,持续集成和部署。
  • 建议不要在图1中所示的Oracle E-Business Suite中进行部署。 您可以在外部OC4J中部署文件上传Webapp ,类似于本文提到的( https://goo.gl/AJKbHh )。 这种方法的问题在于,就像下一个解决方案一样,我们需要注意安全性单点登录
  • 直到某个时刻,您都会通过整体架构陷入沉重的局面 。 扩展和返工很困难,因为您需要测试整体中的所有内容。 您牺牲了灵活性速度

由于通过扩展修改进行定制而导致的更新ERP软件的困难不能被视为不利条件,因为这种类型的定制始终意味着相同的问题。 所有扩展都应使用新版本的ERP软件进行重新测试。 这只是一个简单的问题,我们已经在软件中到处都知道。 作为Java开发人员,我们知道在升级(例如Eclipse IDE)之前,我们应该知道我们所有的插件是否仍在使用较新版本的Eclipse。

2.使用外部标准和开源技术通过扩展进行定制。

该解决方案是与ERP软件的松散耦合集成。 我们不需要使用ERP供应商的技术,而可以使用可用的开源技术。 也可以直接使用最新的架构,例如微服务架构 。 部署也可以在其他地方完成,而不是在ERP软件的容器中完成(请参见图2)。

图2:松耦合集成扩展的微服务架构

图2:松耦合集成
扩展微服务架构

优点:

  • 不紧密依赖ERP供应商技术。 我们可以利用自己的资源,并利用内部知识来构建扩展。 在这种情况下, 灵活性速度是关键。
  • 我们可以使用一般的最佳实践和新的体系结构解决方案,而不必等到ERP供应商引入它。
  • 将扩展视为简单服务(== Microservice )会分解应用程序的复杂性。 这意味着我们可以更简单地开发扩展并更快地完成扩展( http://goo.gl/Z9PyFE )。
  • 由于我们仍然需要自己处理所有软件开发过程,因此可以使用已经建立的内部机制。  

缺点:

  • 我们仍然需要一位知道所使用的ERP软件的集成点的专家。 因为有时需要将解决方案集成到ERP软件(UI,业务逻辑和实体或数据层)中。
  • 在用户界面级别,此解决方案可能看起来确实有所不同。 对您的用户而言,这可能是正面的,也可能是负面的。 对于具有旧Oracle表单外观的Oracle E-Busines Suite 12.1.x用户而言,像Bootstrap这样的外观先进的UI肯定会对用户产生积极的影响。
  • 我们需要注意安全性单点登录 ,才能与Oracle E-Business Suite顺利集成。

在这种替代方式中,我们可以介绍微服务架构 。 每个扩展都可以分组为微服务,并映射到正确的产品组织。 我们如何实现微服务取决于现有的知识。 对于具有使用BPMN建模知识的组织而言,UML和CamundaKissSDA之类的开源产品可能非常有力地实现微服务。 可以在此处阅读模型驱动开发的典型优势: https : //goo.gl/CbvWb1

可以在这里找到有关微服务和BPMN集成平台的一些有趣的讨论:

  • 微服务和集成平台: https//goo.gl/4qQuYG
  • 使用BPMN和微服务进行编排–好的还是不好的做法?: http : //goo.gl/CLHq43
  • 德语:Einen Haufen中的Wielässtsich Ordnung(Micro-)带来了服务?: https ://goo.gl/ibbxym
  • 德语:Wer Microservices Richtig Macht,Braucht Keine Workflow Engine和BPMN: https ://goo.gl/NJQgbs

使用Java和开源框架(如Spring框架NetFlix OSS) (全部捆绑在Spring Cloud中 )来构建微服务,绝对是当今企业计算的一种标准方法( http://goo.gl/l5zvWD )。

摘要

应仔细管理企业应用程序(如ERP或CRM软件)的自定义扩展。 在使用外部技术和开放源代码技术在企业中可用知识的条件下,这是简化提高速度的最佳方法 。 您现在就可以利用微服务架构的优势 ,而无需等待厂商提供相同的解决方案太久。 通过扩展进行的自定义独立于供应商的技术。 如果您不知道该怎么做,请搜索找到它。 不要让供应商将扩展锁定在他们的技术中:

  • 如果您使用的是Oracle E-Business Suite ,请不要在Oracle Application Framework中实现所有功能。 尝试集成开放源代码框架解决方案以构建自己的微服务体系结构
  • 如果您使用的是SAP ,请不要在SAP Java技术中实现所有功能,例如Netweaver中的 Web Dynpro。 也尝试使用开源和微服务架构

您不应该忘记的一个方面是域和ERP集成知道您首先需要解决的问题,但是对于我们作为IT领导者来说,这就像往常一样

翻译自: https://www.javacodegeeks.com/2015/10/enterprise-applications-customization-with-microservice.html

传统应用程序 微服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值