引言
近十年以来,一些先进的制造企业,为了将计划经营层和制造过程统一起来而采用了一种新的生产管理方式,即制造执行系统(Manufacturing _execudon System,MES)。MES位于企业的执行层,很自然地成为了计划层MRPII ERP和车间层操作控制系统——现场自动化系统(Shop Floor Control System,SFC)之间的桥梁。MES要真正体现企业的实际生产状况,就必须有良好的信息共享。传统MES系统的建设是某一技术平台绑定的(如.NET、J2EE),部署在不同的系统之上(如Windows、IBM—AIX等)。这种系统的成长方式在短期来看有着低投入、回报快的优势,但从长远的角度来看这不利于系统的集成和整合,这将影响到信息的共享,同时会加大整个企业的IT系统维护费用,这与IBM与ING合作研究有关“IT投资与收益”得出的结论“高效的企业应当在建设IT系统时投入更大的费用,而要设法在IT维护方面投入较少的费用”相抵触。因此如何更有效地复用IT资产,提高ROI(投资回报率),实现更高效可靠低成本的信息共享成为了制造执行系统(MES)研究的核心问题之一。
传统的MES架构
传统的开发Web应用最典型的方式就是基于C/S或B/S的三层架构,即表示层、领域层和数据源层2。无论客户端是基于浏览器还是基于胖客户端应用,都需要通过业务层组件的业务接口进行逻辑调用,业务组件使用行/表数据接口或者ORM(Object Relation Mapping,对象关系映射)进行数据持久化操作。为了使系统灵活、富有弹性以及具有良好的可复用性,在设计系统时需要尽量遵守OCP(Open—Closed Principle,开放一封闭原则)、LSP(Liskov Substitution Principle,里氏替换原则)、DIP(Dependence Inversion Principle,依赖倒转原则)以及ISP(Interface Segregation Principle,接口隔离原则)来降低层之间、框架之间和组件之间的耦合程度,以便使系统达到一种良构的设计。对于一些非业务但必不可少的操作,例如日志操作、安全验证与授权等,MES系统设计时可以采用面向切面的方法让其透明地贯穿于整个系统之中。传统基于面向对象技术的MES架构很好地满足了面对现有需求时系统灵活性、可复用性的要求,并在建设MES时得到了广泛的应用。然而,它却没有较多地考虑未来的需求,也没有对于在不同机器间共享应用逻辑和应用数据给予足够的关注。
基于SOA的MES
面向服务的开发方法并非什么新的概念,但随着对于利用现有系统的需求越来越多,它渐渐变得风行起来。服务与对象或过程不同,因为服务是由它与其他服务交换的消息来定义的。服务与应用之间是松耦合的,这令服务可以更容易的在整个部门、企业间共享数据。如果所有应用都使用公共的编程接口(Programming Interface)及互操作协议(Interoperability Protocol,例如在J2EE中,EJB组件之间通过RMI协议进行组件的分布式调用)的话,那么将有助于IT降低复杂性,已有功能也更容易被再次利用。SOA提供了这样一种编程接口,使我们能更轻松地完成对现行IT基础设施(ITInfrastructure,指机构中与IT相关的各种硬件、软件、服务以及数据通信设施等的总和)的替换和更新。
SOA是一种设计方式,并非某一种具体的技术,它指导着业务服务(Business Services)在其生命周期(从构思开始,直至停止使用)中包括创建和使用的方方面面。SOA也可被看作是在一些IT技术基础之上的一种构建IT系统的方案。
“服务”是SOA中的关键概念,成功实现SOA的关键,是为可重用库中的每个服务确定正确的设计与功能,成功的SOA项目要确保可重用的软件服务与实际的业务流程完全一致。在SOA中,一般有服务提供者、服务代理以及服务请求者三种角色,服务提供者对外发布自己的服务并对正确的外界请求给予相应;服务代理提供一个服务目录,提供分类搜索服务的功能;服务请求者即查找到服务,使用服务的对象。
基于SOA的MES系统建设,应当着眼于一个企业所有的制造生产部门,而非针对于某一个车间等,SOA能够更灵活地实现各个制造部门间的信息共享,能够提供灵活的多渠道服务,以应对业务变化。我们在原有基础上引入了一个“MES服务层”,表示层不再直接调用业务组件,而是通过服务目录查找服务,并调用服务。MES服务层的引入,提供了公共的编程接口及互操作协议,这样其他的外部系统也可以通过服务接口实现跨平台的服务调用。在底层,业务组件被设计为更细颗粒度的接口,在其基础上提供一种较细颗粒度的服务,通过引入流程建模(可以使用WS—BPEL定义),将细颗粒度的服务组合为对外的业务流程服务。这样的一种架构方式,降低了系统层之间的耦合,上层服务不再关心下层组件的实现方式与技术,而只关心暴露的接口,同时,在系统开发过程中,有助于项目相关人员职责的划分,业务员面对晦涩难懂的领域模型、事物脚本、对象图等技术领域的概念的机率大大降低,这样能够增加开发效率,降低错误的发生,降低开发成本。
效率科技自2007开始从事MES系统相关项目研发,至今已经有十多个年头,主要致力于为电子、汽车内饰、塑胶、五金冲压、模具等行业提供特定要求的企业生产信息管理系统产品和服务,我们的解决方案服务于数十家企业的上百个项目,包括比亚迪、富士康、中国移动等各行业知名企业,广受客户信赖和好评,十余年的经验累积甚至让我们能先于客户发现他们的问题。
效率拥有成熟的产品研发团队,效率的所有产品都是自主研发而来,不同产品和不同的功能模块能任意组合,完全取决于客户的需求,这种可配置性、灵活性、透明开放的大平台深受客户欢迎。