C++ Web应用服务器中间件 MYCP 全面介绍

红薯 发布于 2011/01/05 10:21
阅读 1K+
收藏 8
1、MYCP 的概念

MYCP是一种利用C++编写,来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。MYCP技术的基础就是核心C++语言平台,所以MYCP不仅拥有,例如“编写一次、随处运行”、“性能稳定”的特性,方便存取数据库的CDBC APIC++ APP技术,以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对RCARemote C++ APP)、C++ Servlets APICSPC++ Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者加速产品开发,大幅缩短投放市场时间的体系结构。

MYCP体系结构提供中间层集成框架用来满足低费用(甚至免费)而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,MYCP降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持远程连接,增强了安全机制,提高了性能。

2、MYCP 的优势

MYCP为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:

  • 保留现存的IT资产:由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,一个以渐进的方式建立在已有系统之上的服务器端平台机制是公司所需求的。基于MYCP平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用,MYCP架构可以充分利用用户原有的投资,节省投资。
  • 高效的开发: MYCP提供丰富标准API接口,实现一些通用的、很繁琐的服务端任务,同时通过灵活可配置方式,方便组件化开发。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。
  • 支持异构环境: 通过标准C++编译器,MYCP能够开发部署在异构环境中的可移植程序。基于MYCP的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的MYCP程序只需开发一次就可部署到各种环境。
  • 可伸缩性: 基于MYCP平台的应用程序可被部署到各种操作系统上,例如可被部署到高端的UNIX与大型机系统,这种系统单机可支持64256个处理器;同时通过合理设计MYCP应用程序,支持应用开发商提供更为广泛的负载平衡策略,实现可高度伸缩的系统,满足未来商业应用的需要。
  • 稳定的可用性: 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。MYCP采用专门设计的通讯能力、业务逻辑流转机制等核心技术,使MYCP平台达到最大限度的稳定性;MYCP部署到可靠的操作环境中,他们支持长期的可用性,最健壮的操作系统可达到99.999%的可用性。
3、MYCP 的四层模型

MYCP使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。MYCP的多层企业级应用模型把传统两层化模型中的不同层面切分成许多层,一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 MYCP 典型的四层结构:

  • 运行在客户端机器上的客户层组件
  • 运行在MYCP服务器上的Web层组件
  • 运行在MYCP服务器上的业务逻辑层组件
  • 运行在EIS服务器上的企业信息系统层软件

 

3.1. MYCP应用组件

MYCP应用组件包括客户端应用组件和服务端应用组件;MYCP客户端应用组件是指能够访问MYCP服务器,具有独立功能的软件单元。

MYCP定义了以下的应用组件:

  • 应用客户端程序客户层组件。
  • C++ ServletC++ Server Pages(CSP)web层组件。
  • C++ APPRCA是业务层组件。
  • 其他所有支持TCP+SOTP协议的客户应用程序组件。

所有的MYCP组件通过配置,或者编程方式,方便与其他组件交互。

3.2. 客户层组件

MYCP客户层组件应用程序可以是基于web方式的,也可以是基于传统方式的。

MYCP基于传统方式的,支持目前所有编程语言或工具(不单单C/C++语言),使用TCP+SOTP协议(一种简单对象传输协议)访问,实现更多异构环境客户端应用。

3.3. web组件

MYCP web层组件可以是CSP 页面或者C++ Servlet

如下图所示,web层可能包含某些 C++ APP对象来处理用户输入,并把业务数据发送给运行在业务层上的RCA(或者本地其他C++ APP)进行处理。

 

3.4. 业务层组件

业务层代码的逻辑用来实现各种业务需要,由运行在业务层上的RCA 进行处理. 下图表明了一个业务层组件的应用模型:

 

RCA是一种远程的C++ APP应用组件。

3.5. 企业信息系统层

企业信息系统层处理企业信息系统软件,包括企业基础建设系统(例如企业资源计划ERP、客户关系管理CRM等),大型机事务处理,数据库系统,和其它信息系统等。

4、MYCP 的结构

MYCP这种基于组件,具有平台无关性的结构,使得MYCP程序的编写十分简单,各种业务逻辑被封装成可复用的组件,并且MYCP服务器为所有的组件类型提供后台容器服务。

利用MYCP可以让你只专注于业务开发,提高工作效率。

4.1. 容器和服务

MYCP实现标准CSP容器,同时内置支持,包括安全,组件调度管理,远程访问等服务,以下列出最重要的几种服务:

  • MYCP安全(Security)模型可以让你灵活配置MYCP应用组件安全,支持组件级别、接口级别的授权模式;开放所有或者只有被授权的用户才能访问系统资源;同时支持可配置帐号信息,静态验证、动态验证和自动验证等。
  • MYCP远程连接(Remote Client Connectivity)模型管理客户端和RCA间的低层交互。当一个RCA组件被MYCP服务器创建,远程调用跟本地调用使用同样的接口。
  • 生存周期管理(Life Cycle Management)模型管理所有MYCP应用组件的的创建和移除。
  • 数据库连接池(Database Connection Pooling)模型是一个有价值的资源。MYCP容器通过管理数据库连接池来减少数据库连接资源,提高访问的效率,同时使开发者方便在业务开发中使用。
5、MYCP 的核心 API 与组件

MYCP平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对MYCP中的主要几种技术规范进行简单的描述:

  • CDBC(C++ Database Connectivity)CDBC是用于执行SQL语句的C++应用程序接口,由一组C++语言编写的类和接口组成;CDBC是一种规范,利用CDBC可以让开发人员或者数据库厂商为C++程序员提供标准的数据库访问类的接口,为访问不同的数据库提供了一种统一的途径。
  • CSP(C++ Server Pages)CSP是一套基于 XML格式标签的页面开发技术,CSP页面由HTML代码和嵌入其中的CSP标签代码所组成。服务器在页面被客户端所请求以后,对请求进行处理,然后生成HTML页面返回给客户端的浏览器。
  • C++ ServletServlet扩展了web服务器的功能,Servlet不单实现CSP类似功能,还可以实现更多业务逻辑处理。
  • C++ APPMYCP最大的优势,是能够真正跟C++语言平台集成应用,利用编写C++ APP应用组件,可以利用C++语言的所有优势,集成所有C++应用产品和技术。
  • RCA(Remote C++ APP)RCA是一种远程的C++ APP应用组件,类似J2EEEJBMYCP利用RCA能够实现大型企业分布式应用系统。
  • XML(Extensible Markup Language): XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XML同样具有平台独立性。通过将MYCPXML的组合,您可以得到一个完美的具有平台独立性的解决方案。
加载中
返回顶部
顶部