使用Flex3与Java构建富互联网应用

需积分: 9 5 下载量 25 浏览量 更新于2024-09-19 收藏 4.13MB PDF 举报
"Flex3_with_java.pdf" 这篇文档主要涵盖了使用Adobe Flex 3与ActionScript 3.0开发富互联网应用程序(Rich Internet Applications, RIA)的教程,并讲解了如何将这些应用程序与Java后端集成,利用BlazeDS 3.2进行数据通信。作者Satish Kore可能是一位在Flex和Java集成领域有深厚经验的专家。 Flex 3是Adobe公司推出的一种开源框架,用于创建交互式的、基于Web的用户界面。它基于ActionScript 3.0,这是一种面向对象的编程语言,通常用于构建Flash内容。Flex提供了丰富的组件库,可以方便地创建复杂的UI元素,如表格、图表和导航结构,极大地提高了开发效率。 ActionScript 3.0是Flash Player和Adobe AIR支持的编程语言,相比早期版本,它具有更强大的性能、类型检查和错误处理机制。在Flex 3中,ActionScript 3.0用于编写应用程序逻辑,实现业务规则和数据处理。 BlazeDS是Adobe提供的一个免费的服务器端技术,用于在Java应用程序和Flex客户端之间实现低延迟的双向通信。通过使用AMF(Action Message Format)协议,BlazeDS能够高效地传输数据,使得实时应用如实时聊天、股票交易等成为可能。在Flex 3 with Java的场景中,BlazeDS充当了连接前端Flex界面和后端Java服务的关键角色。 文档可能包括以下内容: 1. Flex 3的安装和配置:介绍如何在开发环境中设置Flex 3 SDK和相关工具。 2. Flex 3基本概念:包括MXML(标记语言)的使用,ActionScript 3.0语法,以及Flex组件的创建和使用。 3. ActionScript 3.0编程:讲解类、对象、事件处理、数据绑定等核心概念。 4. BlazeDS的集成:如何在Java服务器上部署BlazeDS,配置数据源,以及建立与Flex客户端的连接。 5. 与Java的交互:使用BlazeDS的Remoting和Messaging功能,实现在Flex和Java之间的数据交换。 6. 安全性与优化:如何确保Flex应用程序的安全,以及性能优化技巧。 7. 实战示例:通过实际项目展示Flex 3和Java的完整开发流程。 由于文档是英文版,对于英文阅读没有障碍的读者来说,这是一个深入学习Flex 3与Java集成的宝贵资源。尽管出版日期为2009年,但Flex 3的基本原理和技术仍然在许多现有项目中应用,因此其价值依然存在。不过,需要注意的是,随着技术的发展,可能有些内容已经过时,建议结合最新的开发工具和最佳实践进行学习。

以hive的角度检查语法: with cur_dim_comb as (SELECT DISTINCT t.dim_comb ,t.var_sub_class ,t.acc_value FROM gerp.cux_cst_data_alloc_his t WHERE t.top_var_type = '10' AND t.job_ver_id in (SELECT ver.job_ver_id AS p_job_ver_id FROM gerp.cux_cst_dist_jobs_all job INNER JOIN gerp.cux_cst_dist_jobs_vers_all ver ON job.job_id = ver.job_id )) select tp.bd_code --事业部编码 ,tp.bd_name --事业部名称 ,hp.ou_code --OU名称 ,hp.ou_name --OU编码 ,op.main_class_desc --差异大类 ,op.acc_value --科目代码 ,op.acc_desc --科目名称 ,op.dim_comb --区分维度 ,op.begin_amount --期初余额 ,op.accrual_amount --本期发生 ,op.balance_diff_alloc_amount --期末差异结存 ,op.var_sub_class ,op.main_class_value ,op.org_id ,op.period_name ,op.job_ver_id from (select up.* ,q1.* from (SELECT DISTINCT maincl.* ,t.* FROM t inner join (SELECT fv.flex_value ,fv.description FROM fv inner join fs on fv.flex_value_set_id = fs.flex_value_set_id AND fs.flex_value_set_name = 'CUX_CST_VARIANCE_TYPE' AND fv.enabled_flag = 'Y' AND fv.hierarchy_level = '2' AND fv.flex_value LIKE '10%' ) maincl on t.var_main_class = maincl.flex_value inner join cur_dim_comb on cur_dim_comb.var_sub_class = t.var_sub_class and cur_dim_comb.acc_value = t.acc_value WHERE 1 = 1 AND t.top_var_type = '10' AND t.job_ver_id in (SELECT ver.job_ver_id AS p_job_ver_id FROM gerp.cux_cst_dist_jobs_all job INNER JOIN gerp.cux_cst_dist_jobs_vers_all ver ON job.job_id = ver.job_id) ORDER BY maincl.description ,t.acc_value ,cur_dim_comb.dim_comb ) up inner join (SELECT t1.* ,SUM(t1.begin_amount) begin_amount ,SUM(t1.accrual_amount) accrual_amount ,SUM(t1.balance_diff_alloc_amount) balance_diff_alloc_amount FROM gerp.cux_cst_data_alloc_his t1 LEFT JOIN gerp.cux_cst_data_alloc_his t ON t1.top_var_type = '10' AND t1.var_sub_class = t.var_sub_class --p_var_sub_class AND t1.org_id = t.org_id --p_org_id AND t1.period_name = t.period_name --p_period_name AND t1.job_ver_id = t.job_ver_id --p_job_ver_id AND t1.acc_value = t.acc_value --p_acc_value WHERE t1.dim_comb in (select distinct dim_comb from cur_dim_comb) group by t1.org_id,t1.period_name,t1.job_ver_id,t1.var_sub_class,t1.acc_value ) q1 on q1.org_id = up.org_id --p_org_id AND q1.period_name = up.period_name --p_period_name AND q1.job_ver_id = up.job_ver_id --p_job_ver_id AND q1.var_sub_class = up.var_sub_class --p_var_sub_class AND q1.acc_value = up.acc_value --p_acc_value ) op

2023-05-26 上传