You are browsing the archive for 2007 12月.

ORACLE EBS环境下可以使用的开发语言和工具

8:12 pm in Oracle EBS二次开发 by aronezhang

 

很多新接触Oracle EBS系统的同学会问:“Oracle EBS二次开发基于什么样的平台?使用什么样的语言?”,这个问题还不能简单的用一两句话来描述,由于Oracle EBS是一个技术的综合体,下面将主要使用到的语言和工具列举:

  1. PL/SQL
  2. Java
  3. XML
  4. Proc*C
  5. Oracle Form Builder
  6. Oracle Report Builder
  7. Oracle Workflow
  8. Oracle Discoverer
  9. Oracle XML Publisher
  10. Oracle JDeveloper OA Extension: Oracle Application Framework (OAF)

 

而不管是那个工具和语言来实现,后台的业务逻辑一般都是用PL/SQL来实现。

因此可以得出结论:

  1. PL/SQL是根本,PL/SQL没有掌握好就好像缺了右手一样,需要做好Oracle EBS的二次开发,就需要在PL/SQL上面下苦功。一般情况下,在基于Oracle数据库应用开发中,如果你发现PL/SQL无法解决你的问题时,你首先要想到的是“是不是我的PL/SQL还没有掌握好”。
  2. 其次是Java/J2EE平台,基于客户需求的多样化和网络应用的发展,现在很多系统都是基于Java平台,而Oracle EBS系统也正在大面积的转向Web方向,OAF就是Oracle EBS环境下的基于Java平台的Web开发框架。作为一个Oracle EBS的二次开发人员,也需要熟悉Web的开发,才能够在跟上技术的发展步伐。
  3. Oracle EBS是一个混合体,使用到的和能使用的技术远远不止上面列出来的内容。

ORACLE EBS二次开发能学到技术吗?

4:55 pm in Oracle EBS二次开发 by aronezhang

 

经常有同学问我:“有人说做Oracle EBS二次开发学不到技术,是真的吗?”

Oracle EBS是一个技术的混合体,它包括了数据库、中间件技术、开发工具以及通过这些系统和工具设计出来的系统。
而对于一个Oracle EBS的二次开发顾问来说,你能接触到的还不仅是Oracle的数据库和它的各种中间件技术以及开发工具,更多的是要学习和理解Oracle EBS这套应用系统的实现,从理解它的设计理念、软件架构、技术实现,到后台的表结构设计,这才是它真正魅力所在。

从中可以学习Oracle EBS这么大的一个系统,整个系统有200多个独立的应用组成,这些应用可以独立成为一个应用,而将它们各应用组成又可以形成一个更大的集成应用系统,其中模块的设计、模块后台表结构的设计、模块之间集成的设计在当今的其它软件系统中难得一见的。

而为了支持庞大的应用以及各种行业的业务流程,后台的数据库结构设计是整个Oracle EBS应用设计的关键所在,近20000(11.5.10.2)张数据库基表,同时很多表列都在100列以上,加上基表间的各种关系,根本就不可能画出完成的ER图,更不可能添加各种约束条件。

而这么庞大的一个应用系统为了满足企业的各种需求,其中使用了IT业中的各种最新技术以及最流行的技术

因此从这个系统开始,我们就可以发展出很多的技术方向:

  1. Oracle 数据库系统管理,即DBA
  2. Oracle EBS系统管理,同时负责数据库系统的维护和Oracle EBS系统的维护
  3. Oracle EBS系统支持:升级和维护
  4. 基于PL/SQL语言环境的Oracle传统技术开发
  5. 基于Java语言环境的Oracle Web开发
  6. 基于Oracle产品的BI/DW开发
  7. ……

综上所述,答案很明显了!!!

ORACLE客户端与数据库服务器连接

12:29 am in Oracle EBS基础 by aronezhang

对于初学者,关于客户端工具与数据库服务器的连接总是会存在如下的疑问:

  1. 我一定要在本地机器上面安装Oracle数据库吗?
  2. 如果我在本地安装了Oracle数据库,为什么还要配置一个TNS来连接数据库呢,它怎么这么笨呢?
  3. 如果本地可以不安装数据库,那又怎么弄呢?
  4. 还有SQL*Plus,PL/SQL Developer和Oracle数据库有什么关系呢?

?

要弄清楚上面的问题和这些名词之间的关系,我下面就以一个比较笨拙的比喻来说明:
首先需要了解两个进程(Windows平台):Oracle数据库进程和Oracle数据库服务监听进程。如果按照这两个进程来划分安装阶段的话,我们可以将安装阶段分为数据库后台系统安装和创建数据库两个阶段,而数据库进程和数据库服务监听进程分别就是两个安装阶段创建的。

而第一个阶段安装完成后,其实Oracle数据库并没有“真正数据库”的功能,因为它只是具备了管理数据库能力的一个基础系统,并不能存储数据。就像盖房子,需要先有块地皮,才能盖房子,但是光地皮它还不是房子。而如果Oracle数据库进程成功启动了,说明养?上面我们可以清楚,如果我需要操作数据库服务器,只要如下条件就可以了:

  1. 知道TNS,即数据库地址相关的信息
  2. 具备Oracle Net软件层
  3. 客户端应用

?

TNS的知识已经足够了,那怎么样才能使自己的系统中拥有Oracle Net软件层呢?有几种途径:

  1. 专门安装Oracle Client软件,可以从Oracle网站下载
  2. 安装Oracle开发工具,如Form、Report、Discoverer等等,因为这些软件也带了Oracle Net软件层
  3. 安装Oracle数据库,它也带了Oracle Net软件层

?

而我们需要的是一个客户端应用,以便我们来操作数据库,SQL*Plus就是Oracle很多产品中自带的一个应用工具,而PL/SQL Developer则是第三方公司开发的一个Oracle客户端工具。因此要使用SQL*Plus或者PL/SQL Developer操作数据库之前,我们一般要做的就是进行TNS配置,而要进行TNS配置就需要安装Oracle Net软件层。

综上所述,要操作Oracle数据库,或者说在Oracle数据库环境下进行数据库应用开发,我们最常见的环境组合:

  1. 开发机器上安装Oracle Client软件,让其具备Oracle Net软件层,进而配置TNS,标识出要连接的数据库信息;并安装PL/SQL Developer这样的Oracle客户端开发工具。而Oracle数据库服务器系统安装在公司的服务器或者“遥远的地方”,和开发人员没有关系,只要TNS配置好就行
  2. 开发机器上安装Oracle数据库,同时也具备了Oracle Net软件层的功能,配置TNS,标识出连接本机上的数据库;同时安装Oracle客户端开发工具

?

这样一来没有条件在自己机器上面安装一个Oracle数据库的同学就可以选择第一个方案,然后找一个有条件同学的数据库服务器或者公司的数据库服务器来进行学习,当然前提是要保证网络连接!

ORACLE PL/SQL运行环境

7:03 pm in Oracle EBS基础 by aronezhang

 

对于初学者来说,Oracle 的数据库语言PL/SQL总是有点“怪”,它被称为是宿主语言,顾名思义就是依附于某个事物而生存的,而PL/SQL就是依附于Oracle数据库,它的运行环境就是Oracle数据库。

这和其它语言稍微有点不同,这样很多初学者感觉很难去理解,开始更多的人把它认为它仅仅是一种脚本语言,其实它是高度结构化的第四代开发语言,它不但具备了很多第四代开发语言的程序流程控制的能力,更具备了很多操作数据库所需要的功能,同时最大的特点是和SQL语言融为一体,使得在程序语言中操作数据库成为编程语言的一种内置功能。

 

其实Oracle PL/SQL是“编写一次,到处运行”的语言,它的这种理念在Java之前就已经存在了,你在任何环境下的Oracle数据库上面编写PL/SQL程序,然后可以把它发布到任何地方,你不用关心数据库是运行在Windows平台,还是Unix或者其它。像Java程序一样,正因为有JVM的存在,使得Java程序具备很好的可移植性。而对于PL/SQL语言来说,Oracle数据库就是它的虚拟机,因此对于一个Oracle数据库应用的开发人员,你只需要关心利用PL/SQL语言来实现你的业务逻辑,程序的VM即Oracle数据库的运行则有DBA来负责。

 

因此在学习PL/SQL语言之前,首先安装PL/SQL程序对应的“虚拟机”Oracle数据库,即安装PL/SQL的运行环境,只要具备了Oracle数据库,你就可以领略PL/SQL的魅力了。

当你熟练应用了Oracle PL/SQL 后,你会发现它非常适用于数据库应用的开发,随着Oracle具备面向对象的能力之后,PL/SQL也一并具备了很多面向对象的特性;另外再结合Oracle数据库支持Java环境之后,PL/SQL中调用Java,使得任何的数据库应用都能够通过PL/SQL来实现。

ORACLE开发工具策略介绍

10:55 am in Oracle EBS基础 by aronezhang

?

很多同学问起我们Oracle ERP二次开发以后会使用什么样的语言和开发工具?首先我们来看看Oracle开发工具产品的策略

Oracle开发工具的策略是提供能够开发基于Internet模型下企业应用的软件开发工具,因此Oracle提供了两个并行的开发工具以及新的快速Web开发工具:

一,基于PL/SQL语言环境的传统开发工具

这些工具的编程语言和执行环境基于PL/SQL,其中包括以下的主要产品:

  1. Oracle Designer:用来进行分析建模
  2. Oracle Forms:用来开发应用系统的界面以及架构
  3. Oracle Reports:报表发布解决方案

为了能够使传统的开发工具更好的发布和运行与Internet模型下,Oracle将Forms和Reports的运行环境也集成到Oracle Application Server中

?

二,基于Java语言环境的Java开发工具

针对日益发展的Java/J2EE技术,Oracle开发了基于Java语言,运行于J2EE容器的工具Oracle JDeveloper

  1. Oracle JDeveloper:基于UML建模环境和3-GL的Java应用开发工具;同时集成了J2EE框架Oracle ADF(Application Development Framework)来快速进行Java Web应用开发
  2. BI XMLPublisher:实现报表发布方案
  3. Oracle Container for J2EE(OC4J):J2EE Web应用的运行环境

?

三,基于Oracle数据库的快速Web开发工具

Oracle现在针对基于数据库进行快速Web应用开发推出了Oracle Application Express(APEX),原称HTML DB。它可以实现只适用一个Web浏览器以及有限的编程经验就可以开发和发布一个安全快捷的Web应用系统。

它推出的初衷是想让使用Microsoft Access进行开发的系统迁移到Oracle平台上,它实现了声明式的开发,基于SQL和PL/SQL。

?

APEX的更多信息请查看

上面主要描述的是Oracle开发工具产品的两大主要产品线以及新开发的一个快速开发工具;

其实基于PL/SQL和Java环境下的,Oracle还有很多其它的开发工具,和Oracle EBS相关的请查看“ORACLE EBS环境下可以使用的开发语言和工具”一文