下面我将 PeopleSoft 所用到的技术分为几个核心层面进行详细说明,并特别区分传统 On-Premise(本地部署)和现代 Cloud(云部署,主要是 PIA)的技术栈差异。

核心架构与数据库层
这是 PeopleSoft 的基石,数据和应用逻辑的核心所在。
-
数据库:
- Oracle Database: 这是 PeopleSoft 最原生、最核心、支持最好的数据库,历史上,PeopleSoft 与 Oracle 数据库深度绑定,其数据字典、工具和优化都优先考虑 Oracle。
- Microsoft SQL Server: PeopleSoft 也支持 SQL Server,尤其是在一些非核心模块或特定的客户环境中,但 Oracle 仍然是首选。
- IBM DB2: 在大型机或特定 Unix/Linux 环境中也有支持。
- 关键点: PeopleSoft 的数据存储在高度结构化的 PeopleTools 数据字典 中,这保证了数据的一致性和完整性。
-
应用服务器:
- WebLogic Server (WLS): 这是目前 PeopleSoft Cloud (PIA) 和最新 On-Premise 部署的标准应用服务器,它负责处理 HTTP 请求、管理 Java 线程、连接池、事务管理等。
- IBM WebSphere: 在一些历史悠久的、大型机或 IBM AIX 环境中,WebSphere 仍然是一个重要的选择。
- Tuxedo: 这是一个更传统的交易中间件,主要用于 On-Premise 部署,处理高性能的、同步的 C/COBOL 程序调用,在架构中,它扮演着“后端引擎”的角色,处理核心业务逻辑。
-
中间件/集成层:
(图片来源网络,侵删)- PeopleSoft Integration Broker (PIB): 这是 PeopleSoft 内置的、原生的集成框架,它用于实现 PeopleSoft 系统内部不同模块之间、以及 PeopleSoft 与外部系统(如 SAP、CRM、自建应用)之间的数据交换和服务调用。
- Oracle SOA Suite / Oracle Service Bus (OSB): 对于更复杂的企业级集成场景,客户常常会结合使用 Oracle 的 SOA 套件,与 Integration Broker 协同工作,提供更强大的服务编排、转换和管理能力。
开发技术与工具
这是开发者与 PeopleSoft 交互的层面,主要使用 PeopleTools 提供的专有工具。
-
PeopleTools:
- 这不是一种单一技术,而是一个完整的开发和运行时平台,所有 PeopleSoft 应用的构建都依赖于它,它包含了开发、部署、监控应用所需的一切工具。
-
PeopleCode:
- 这是 PeopleSoft 的核心专有编程语言,语法类似于 Java 和 C 的混合体,它用于编写业务逻辑、事件处理、数据校验、工作流等。
- 运行位置: PeopleCode 代码可以运行在多个层面:
- Application Server (Java): 大部分现代的 PeopleCode 在这里执行。
- Process Scheduler Server: 用于批处理程序的后台执行。
- Portal / PIA (浏览器): 在用户操作时触发。
- Database (触发器、存储过程): 部分逻辑可以放在数据库层面。
-
SQR (Structured Query Report):
(图片来源网络,侵删)- 一个强大的专有报表和批处理语言,它结合了 SQL 的数据提取能力和编程语言的逻辑控制能力,用于生成复杂的报表和进行大规模的数据处理,虽然现在有更现代的替代方案(如 BI Publisher),SQR 仍然是维护旧有系统的重要工具。
-
Application Designer (App Designer):
- PeopleSoft 的核心开发 IDE,开发者使用它来创建和修改所有类型的对象,包括:
- Pages & Components: 构建用户界面。
- Records: 定义数据表结构。
- PeopleCode: 编写业务逻辑。
- Menus & Permission Lists: 定义导航和权限。
- Application Engine Programs: 定义批处理流程。
- PeopleSoft 的核心开发 IDE,开发者使用它来创建和修改所有类型的对象,包括:
-
PeopleSoft Fluid (现代 UI 技术):
- 这是 PeopleSoft 推出的响应式、现代化用户界面,它不是使用传统的 HTML/JS 模式,而是通过一种叫做 "PeopleSoft DHTML" 的技术。
- 工作原理: 服务器端根据设备的屏幕尺寸,动态生成适配的 HTML、CSS 和 JavaScript,其核心思想是“一次构建,多端适配”,为桌面、平板和手机提供一致且优化的用户体验。
部署与运维技术
这些技术用于将 PeopleSoft 应用部署到生产环境并进行管理和监控。
-
部署模式:
- On-Premise (本地部署): 客户在自己的数据中心购买服务器、数据库、应用服务器等硬件和软件,自行部署和维护,技术栈更传统,可能涉及 Tuxedo、传统的 WebLogic 配置等。
- Cloud (云部署 - PIA): Oracle 提供的托管服务,客户无需管理底层基础设施,部署在 Oracle Cloud Infrastructure (OCI) 上,使用标准的 WebLogic Server 作为应用服务器,这是当前的主流方向。
-
版本控制:
- Application Designer (Project): 开发者使用 App Designer 中的“项目”功能来打包和迁移对象,这是一种基础的版本控制方式。
- 第三方工具 (如 Git, PVCS): 对于大型团队和复杂项目,通常会使用外部的源代码管理工具来管理 PeopleCode 和其他自定义代码,实现更规范的版本控制。
-
监控与诊断:
- PeopleSoft Monitor: PeopleTools 提供的监控工具,用于查看应用服务器、批处理服务器、Integration Broker 等服务的状态。
- Oracle Management Cloud (OMC) / Enterprise Manager: 在云环境或复杂的本地环境中,通常使用 Oracle 的企业级监控工具来全面监控 PeopleSoft 的性能、日志和健康状况。
- 日志文件: 分析 WebLogic 日志 (
stdout.log)、PeopleTools 日志等是排查问题的基本手段。
前端与集成技术
这些技术用于用户体验和系统间的互操作性。
-
Web 技术:
- HTML/CSS/JavaScript: Fluid UI 最终会生成这些标准 Web 技术,但其生成过程由服务器端控制。
- Dojo Toolkit: PeopleSoft 的经典 UI(非 Fluid)使用 Dojo 作为其主要的 JavaScript 框架,用于实现组件化和交互效果,在 Fluid 中,Dojo 的使用已大大减少。
-
Web 服务:
- PeopleSoft 可以通过 Integration Broker 将其业务功能暴露为标准的 SOAP 或 RESTful Web 服务,供外部系统调用。
-
报告与商业智能:
- Oracle BI Publisher (BIP): 这是 PeopleSoft 现代报表解决方案,它是一个独立的、强大的报表引擎,可以连接 PeopleSoft 数据库,使用 XML 定义模板,生成高度格式化的 PDF、Excel、HTML 等格式的报表。
- nVision: PeopleSoft 经典的、基于 OLAP 立方体的财务报表工具,仍在广泛使用。
-
移动技术:
- PeopleSoft Mobile: 早期提供过原生的移动应用,但已逐渐被 Fluid 响应式界面所取代,Fluid 可以在移动浏览器上提供接近原生的体验,无需安装额外 App。
| 技术层面 | 核心技术 | 说明 |
|---|---|---|
| 核心架构 | Oracle Database, WebLogic Server, Tuxedo | 系统的运行基石,数据存储和业务逻辑处理的核心。 |
| 开发工具 | PeopleTools, PeopleCode, SQR, App Designer | PeopleSoft 的专有技术栈,用于构建所有应用功能。 |
| 现代 UI | PeopleSoft Fluid (DHTML) | 响应式、跨设备的现代化用户界面,是当前 UI 开发的重点。 |
| 集成技术 | Integration Broker, Oracle SOA Suite, Web Services | 实现系统内外部数据交换和服务集成的关键。 |
| 部署模式 | On-Premise vs. Cloud (PIA on OCI) | 决定了底层技术栈的选择,云化是主流趋势。 |
| 报告 | BI Publisher, nVision | 生成各类业务报表,BI Publisher 是现代标准。 |
PeopleSoft 是一个以 PeopleTools 平台为核心,深度依赖 Oracle 数据库,并采用 Java (WebLogic) 作为现代应用服务器运行环境的复杂系统,它拥有自己的一套专有开发语言和工具,同时也在积极拥抱现代 Web 技术(如 Fluid UI)和云架构,以适应不断变化的 IT 环境和用户需求。
