APEX初步 [1] —— 基本概念

Salesforce改变了以前企业运行业务的传统CS架构的企业应用模式,变成现在的随需应变,多租户的Web平台——Force.com.这个平台能让组织运行和自定义他们自己的应用程序,比如销售自动化,客户服务支持和其他满足组织特有业务的自定义应用。

Salesforce提供了很多UI让用户自定义设置他们的应用,例如定义新对象新字段,工作流和审批流等等。但是尽管如此,程序员还是可以通过从CS结构的程序调用SOAP API来执行数据操作命令。

尽管这些CS程序能提供很高的灵活性,但如果这些代码不在Force.com平台上的话,会受到以下的限制:

  • 远程调用性能上的Cost
  • CS程序服务器的稳定性cost

为了解决这些问题,Salesforce提供了Apex。第一个多租户,按需编程语言。

APEX是SFDC中用于开发的语言。语法上类似JAVA等面向对象的语言,运行起来类似数据库中的存储过程。可以在SFDC事件中添加业务逻辑,操作相关数据和用在Visual Force页面中。它拥有以下特点。

  1. 保存,编译和运行都在Force.com平台上。
  2. 由于代码是作为元数据存在平台上,会随着平台的升级而自动升级
  3. 面向对象,支持类,接口和继承
  4. 强类型,编译的时候会检查引用对象
  5. 由于是Force.com平台采用多租户架构,大家共享系统资源,所以导致APEX代码必须要拥有限制,来防止独占所有资源。
  6. 直接集成数据库,拥有直接操作记录和字段的语句
  7. 数据操作支持事务性,支持回滚
  8. 自定义代码可以保存为不同API的版本
  9. 不区分大小写

APEX与其他面向对象的语言相比,相似之处在于:

  1. 类,接口,属性,集合,数组
  2. 对象和数组下标
  3. 表达式,变量,常量
  4. 条件和循环语句

不同之处在于:

  1. 保存编译执行都在云端
  2. Triggers,类似数据库中的触发器
  3. 有能直接操作数据库的数据库语句
  4. 支持事务和回滚
  5. global修饰符能支持比public更大的自由度
  6. 代码版本

APEX支持以下数据类型:

  1. 原始的基本数据类型,比如Integer, Double, Long, Date, Datetime, String, ID, Boolean等
  2. SFDC专有的数据类型 SObject,比如客户,联系人,业务机会等
  3. 集合
  4. 枚举
  5. 其他APEX类型

在APEX中,LIST和ARRAY是相同的概念

什么时候需要用到APEX?

如果你的组织有现有功能模块无法支持的比较复杂的业务过程,则Force.com平台提供的Apex,Visualforce和SOAP API就能派上用场了。

APEX可以用来:

  • 创建Web service
  • 创建邮件服务
  • 执行涉及多个对象的复杂验证
  • 创建工作流不支持的复杂业务流程
  • 创建自定义的业务操作逻辑(不止涉及一个对象或一条记录)
  • 在一个操作上添加额外的自定义逻辑,例如保存一条记录的时候,无论这个操作是从UI还是Visualforce页面或者SOAP API来的。
原文地址:https://www.cnblogs.com/abovecloud/p/6256635.html