什么是staging server

什么是staging server,第1张

通常一个web项目都需要一个staging环境,一来给客户做演示,二来可以作为production server的一个“预演”,正式发布新功能前能及早发现问题(特别是gem的依赖问题,环境问题等)。From wiki: Staging site, in website design, is a website used to assemble, test and review its newer versions before it is moved into production This phase follows the development phase The staging phase of the software life-cycle is often tested on hardware that mirrors hardware used in the production environment The staging site is often different from the development site, and provides a QA zone that is separate from the development or production environments Normally before deploying an updated version of software to the production environment, the update has been tested in the staging environment The staging server will resemble the production environment where the clients can do the user acceptance testing activities Tests on Staging server/site should be passed before deployment of system on live server, ie production environmentstaging server可以理解为production环境的镜像, QA在staging server上对新版本做最后一轮verification, 通过后才能deploy到产品线上 有点网讯SERCM流程里面的SDA验证用的环境, 尽最大可能来模拟产品线上的环境(硬件,网络拓扑结构,数据库数据)

对于做过 BI 开发的朋友,ETL 并不陌生,只要涉及到数据源的数据抽取、数据的计算和处理过程的开发,都是 ETL,ETL 就这三个阶段,Extraction 抽取,Transformation 转换,Loading 加载。

从不同数据源抽取数据 EXTRACTION ,按照一定的数据处理规则对数据进行加工和格式转换 TRASFORMATION,最后处理完成的输出到目标数据表中也有可能是文件等等,这个就是 LOADING。

再通俗一点讲,ETL 的过程就跟大家日常做菜一样,需要到菜市场的各个摊位买好菜,把菜买回来要摘一下,洗一洗,切一切最后下锅把菜炒好端到饭桌上。菜市场的各个摊位就是数据源,做好的菜就是最终的输出结果,中间的所有过程像摘菜、洗菜、切菜、做菜就是转换。

在开发的时候,大部分时候会通过 ETL 工具去实现,比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微软 SQL SERVER 里面的 SSIS 等等,在结合基本的 SQL 来实现整个 ETL 过程。

也有的是自己通过程序开发,然后控制一些数据处理脚本跑批,基本上就是程序加 SQL 实现。

哪种方式更好,也是需要看使用场景和开发人员对那种方式使用的更加得心应手。我看大部分软件程序开发人员出身的,碰到数据类项目会比较喜欢用程序控制跑批,这是程序思维的自然延续。纯 BI 开发人员大部分自然就选择成熟的 ETL 工具来开发,当然也有一上来就写程序脚本的,这类 BI 开发人员的师傅基本上是程序人员转过来的。

用程序的好处就是适配性强,可扩展性强,可以集成或拆解到到任何的程序处理过程中,有的时候使用程序开发效率更高。难就难在对维护人员有一定的技术要求,经验转移和可复制性不够。

用 ETL 工具的好处,第一是整个 ETL 的开发过程可视化了,特别是在数据处理流程的分层设计中可以很清晰的管理。第二是链接到不同数据源的时候,各种数据源、数据库的链接协议已经内置了,直接配置就可以,不需要再去写程序去实现。第三是各种转换控件基本上拖拉拽就可以使用,起到简化的代替一部分 SQL 的开发,不需要写代码去实现。第四是可以非常灵活的设计各种 ETL 调度规则,高度配置化,这个也不需要写代码实现。

所以在大多数通用的项目中,在项目上使用 ETL 标准组件开发会比较多一些。

ETL 从逻辑上一般可以分为两层,控制流和数据流,这也是很多 ETL 工具设计的理念,不同的 ETL 工具可能叫法不同。

控制流就是控制每一个数据流与数据流处理的先后流程,一个控制流可以包含多个数据流。比如在数据仓库开发过程中,第一层的处理是ODS层或者Staging 层的开发,第二层是 DIMENSION维度层的开发,后面几层就是DW 事实层、DM数据集市层的开发。通过ETL的调度管理就可以让这几层串联起来形成一个完整的数据处理流程。

数据流就是具体的从源数据到目标数据表的数据转换过程,所以也有 ETL 工具把数据流叫做转换。在数据流的开发设计过程中主要就是三个环节,目标数据表的链接,这两个直接通过 ETL 控件配置就可以了。中间转换的环节,这个时候就可能有很多的选择了,调 SQL 语句、存储过程,或者还是使用 ETL 控件来实现。

有的项目上习惯使用 ETL 控件来实现数据流中的转换,也有的项目要求不使用标准的转换组件使用存储过程来调用。也有的是因为数据仓库本身这个数据库不支持存储过程就只能通过标准的SQL来实现。

我们通常讲的BI数据架构师其实指的就是ETL的架构设计,这是整个BI项目中非常核心的一层技术实现,数据处理、数据清洗和建模都是在ETL中去实现。一个好的ETL架构设计可以同时支撑上百个包就是控制流,每一个控制流下可能又有上百个数据流的处理过程。之前写过一篇技术文章,大家可以搜索下关键字 BIWORK ETL 应该在网上还能找到到这篇文章。这种框架设计不仅仅是ETL框架架构上的设计,还有很深的ETL项目管理和规范性控制器思想,包括后期的运维,基于BI的BI分析,ETL的性能调优都会在这些框架中得到体现。因为大的BI项目可能同时需要几十人来开发ETL,框架的顶层设计就很重要。

在开发web应用时,如果通过weblogic的控制台部署war包,则weblogic默认在运行期不会解压war,这对于调试jsp颇为不便。其实,只需一个简单的设置就可以强迫weblogic解开war,并且编辑jsp后weblogic会重新加载,方便调试。将StagingMode由nostage改为stage,重启weblogic即可。解压后的目录在myserver目录下。

需要注意的是,一旦war包需要重新部署,除了更新war包外,还要删除bea/user_projects/domains//myserver目录下的wlnotdelete和stage目录,以便强迫weblogic重新解开最新的war包,否则将继续使用原来已解压的目录。WebLogic 是美国 Oracle 公司出品的一个 Application server,确切的说是一个基于 JAVA EE 架构的中间件,WebLogic 是用于开发、集成、部署和管理大型分布式 Web应用、网络应用和数据库应用的 Java应用服务器。将 Java 的动态功能和 Java Enterprise 标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

本环境模拟了一个真实的 Weblogic 环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。漏洞复现的过程分别通过利用这两种漏洞获得 Weblogic 管理后台登录的账号,最终通过 Weblogic 后台应用部署功能上传War包(JSP 大马)获得 WebShell。War 包 是用来进行 Web 开发时一个网站项目下的所有代码,包括前台HTML/CSS/JS 代码,以及后台 JavaWeb 的代码。当开发人员开发完毕时,就会将源码打包给测试人员测试,测试完后若要发布则也会打包成 War 包进行发布。Weblogic 部署 Web 应用的过程可参见:WebLogic部署Web应用并绑定域名。

1、标准接口表2、标准API前者例如AP的发票接口表,供应商、客户接口表,具体实现方式是,将数据按照接口表规格准备到接口表中,然后运行标准的import程序将接口表数据导入到Oracle EBS中(即各接口表对应的正式table中)。而例如银行、分行、银行帐户相关API,一般通过客户化程序,调用此类API实现将数据导入系统,此时一般也会新建一些客户化staging table,先将外部数据准备到staging table后,再使用客户化程序,调用API将资料导入Oracle EBS中。通常,“Oracle EBS的接口方式”指的是数据进入Oracle EBS的方式,主要有两类技术:1、标准接口表2、标准API前者例如AP的发票接口表,供应商、客户接口表,具体实现方式是,将数据按照接口表规格准备到接口表中,然后运行标准的import程序将接口表数据导入到Oracle EBS中(即各接口表对应的正式table中)。而例如银行、分行、银行帐户相关API,一般通过客户化程序,调用此类API实现将数据导入系统,此时一般也会新建一些客户化staging table,先将外部数据准备到staging table后,再使用客户化程序,调用API将资料导入Oracle EBS中。而DBLINK则是数据库之间的资料交换方式,假如Oracle EBS的数据库需要与其他数据库(例如其他系统的数据库)进行资料交互,那么DBLINK是其中一个选项而已。以上,两者直接比较没有太大意义,完全可能是应用于不同业务场景下的技术。

weblogic 10310 支持<prefer-application-packages>

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

部署的配置在\bea\user_projects\domains\yourdomain\configxml中修改,如下为EJB的部署配置:

<Application Name="IBSSMSFastFind"

Path="e:\bea\user_projects\domains\yourdomain\applications"

StagingMode="nostage" TwoPhase="true">

<EJBComponent Name="IBSSMSFastFind" Targets="yourserver" URI="IBSSMSFastFindwar"/>

</Application>

以上就是关于什么是staging server全部的内容,包括:什么是staging server、ETL是什么,形象的介绍一下、weblogic部署war包后解压目录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9489429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存