开发环境搭建(精选9篇)
开发环境搭建 篇1
Linux的操作系统内核主要是由C编写, Linux下的很多软件也是由C编写的, 比如My SQL、Apache等。初学者在编译这样的软件时, 会遇到过各种错误, 只要初步了解了Linux的C开发环境, 就能自选解决安装过程中的一些错误。
1 Linux的C开发工具包
Linux的C开发环境与Windows的有所不同, 在Linux下, 一个完整的C开发环境包括以下三个组成:
1.1 函数库:glibc
要构架一个完整的C开发环境, glibc是必不可少的, 它是Linux下C的主要函数库。glibc是gnu发布的libc库, 即c运行库。glibc是linux系统中最底层的api (应用程序开发接口) , 几乎其它任何的运行库都会倚赖于glibc。glibc除了封装linux操作系统所提供的系统服务外, 它本身也提供了许多其它一些必要功能服务的实现。
在RHEL5系统上安装glibc需要相关的依赖关系附加包:
glibc-common-2.5-18.i386.rpm
glibc-2.5-18.i386.rpm
这两个安装包在安装RHEL5系统的时候已经默认安装了, 如果没有安装则可以在yum服务下安装, 也可以利用iso光盘源文件通过命令rpm安装。
1.2 编译器:gcc
gcc (GNU CCompiler) 是GNU推出的功能强大、性能优越的多平台编译器, gcc编译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件, 以下是gcc支持编译的一些源文件的后缀及其解释:
.c为后缀的文件, C语言源代码文件;
.a为后缀的文件, 是由目标文件构成的档案库文件;
.C, .cc或.cxx为后缀的文件, 是C++源代码文件;
.h为后缀的文件, 是程序所包含的头文件;
.i为后缀的文件, 是已经预处理过的C源代码文件;
.ii为后缀的文件, 是已经预处理过的C++源代码文件;
.m为后缀的文件, 是Objective-C源代码文件;
.o为后缀的文件, 是编译后的目标文件;
.s为后缀的文件, 是汇编语言源代码文件;
.S为后缀的文件, 是经过预编译的汇编语言源代码文件。
1.3 系统头文件:glibc_header
缺少了系统头文件的话, 很多用到系统功能的C程序将无法编译。
假如用户在安装过程中少装了这些包, 就会无法编译C源程序。初学者有时候选择自己定制软件包来安装, 结果遗漏了这些包, 导致无法编译源程序, 只好重新安装一遍Linux系统。
下面以RHEL5为例, 介绍如何安装Linux的C开发环境。
2 Linux的C开发工具包的安装
Linux的C开发工具包可以在yum服务下安装, 也可以利用iso光盘源文件通过命令rpm安装, 本文介绍利用iso光盘源文件安装工具包。
首先挂载光盘, 把光盘挂载到/media/cdrom下。
在/media下新建文件夹cdrom:mkdir/media/cdrom
然后挂载RHEL5的安装盘:mount/dev/cdrom/media/cdrom
进入到iso光盘源文件的Server目录下, 如图1所示。
由于gcc包的安装需要依赖glibc-devel、libgomp这两个包, 如图2所示。
而glibc-devel包的安装又需要依赖glibcheaders, 如图3所示。
glibc-header安装又需要依赖kernelheaders-2.6.18-53.el5.i386.rpm, 如图4所示。
所以整个安装步骤应该为:
安装完后, 就构成了最基本的C开发环境, 在这个C开发环境中, 可以编译多数的C写的应用程序。而对于一个C程序来说, 安装完成后通常可以分成三个组成:
(1) 可执行文件。
(2) 包含文件。
(3) 库文件。
可执行文件就是最终运行的命令, 包含文件是该C程序include的一些定义文件, 库文件则是该C程序自定义的库。比如对于用RPM安装的My SQL:可执行文件放在/usr/bin下, 包含文件放在/usr/include/mysql下, 库文件在/usr/lib/mysql下。只有系统找到程序对应的包含文件和库文件, 程序可执行文件才能正常运行。
摘要:本文介绍了在Linux系统上搭建C开发环境所需要的开发工具包, 以及这些开发工具包在Linux系统上的安装过程。
关键词:Linux系统,C开发环境
参考文献
[1]杨水清.ARM嵌入式Linux系统开发技术详解[M].北京:电子工业出版社, 2009.
开发环境搭建 篇2
服务器端:PC机(win7),Ubuntu10.04操作系统,Vmware8.0.4 客户机端 :ARM11开发板(6410)一根交叉网线
二、Ping通电脑和开发板
用一根交叉网线连接电脑和开发板,给开发板上电,一定要是交叉网线,普通网线不行,一般买开发板时会送一根交叉网线。在开发板输入ifconfig,查看开发板的ip地址,我的ip为192.168.0.232
设置本地连接和虚拟机ip为同一网段
在虚拟机上输入ping 192.168.0.118,在win7下的cmd输入ping192.168.0.232,验证是否能ping通
如果ping不通,先把防火墙关闭,再把网络设置为家庭网络。Ping通后进行下一步
三、Ping通虚拟机和开发板
开发虚拟机,我用的是vmware8.0.2,ubuntu10.0.4 在控制面板里面桥接vmnet1和本地连接,右击网桥,设置ip,设置方法和本地连接一样,并把ipv6前面的勾去掉。
完成后设置Vmware,右击自己的虚拟机,点击settings
设置Network Adapter选项,选择custom:Specific virtual network的CMNET1(H Ost-only)
修改虚拟机的ip地址,在network connections里编辑 Auto Ethernet这个网络
把ip设置成和网桥一样。点击apply
不出意外,现在应该虚拟机和开发板能相互ping通了,现在离成功又进了一步。
四、安装nfs服务器程序
用以下命令安装nfs服务器程序软件包,在命令执行过程中,默认启动SUNRPC服务和nfs服务,并创建/etc/exports和、etc /default/nfs-kernel-server配置文件,等待用户完成nfs安装后,配置将要共享的资源。
可以使用netstat命令检查nfs端口是否已经打开:
以上截图可看出,nfs和SUNRPC端口已处于监听状态,不过,客户端此时还无法访问到nfs服务器,还需对nfs服务器进行配置,将共享资源授权给特定用户之后,客户端才能成功访问。
五、启动和停止nfs服务
虽然完成nfs安装后会自动启动nfs,但要调整共享资源还得重新启动nfs服务,以使配置生效。
1、命令方式手动启动和停止nfs服务
启动nfs服务:
停止nfs服务:
重启nfs服务:
查看nfs服务当前状态,若nfs服务正在运行则返回“nfsd running”。否则返回“nfsd not running”。
2、使用图形工具启动和停止nfs服务(此项好像在10.04中没有?)在Ubuntu中同样可以使用services-admin图形界面工具管理nfs服务。若想随机启动时启动nfs服务,可以点击【系统】|【系统 管理】|【服务】命令,打开【服务设置】对话框,勾选【文件夹共享服务(nfs-kernel-server)】选项,单击【关闭】按钮完成设置。
六、nfs服务器配置
nfs服务是根据一个―名单‖为用户开放共享资源的。
1、nfs服务配置文件
在Ubuntu Linux系统中,/etc/exports是nfs服务器的全局配置文件。配置文件中一行即为一条配置项,用于指明网络中―哪些客户端‖共享―哪些目录资源‖。导出资源配置项格式如下:.......其中,表示服务器中导出的共享资源路径,注意:必须是绝对路径名; 表示客户端主机标识,可以用主机名、组、通配符、网段方式指定,如果是多个主机标识,需要使用空格隔开; 表示赋予每个客户端主机的访问权限。
把需要导出的目录全部放在/etc/exports文件是一个良好的习惯,这可以对nfs的管理更明确和清晰。尽量将声明的详细具体,从而阻止不速之客进入nfs服务系统。
2、使用图形工具配置nfs服务(Ubuntu10.04中好像没找着)配置nfs服务器除了可以使用文本编辑工具直接修改/etc/exports文件,然后重新启动nfs服务,完成整个配置任务外。还可以采用Ubuntu Linux系统提供的nfs服务图形配置工具——shares-admin进行快速、便捷的配置。
步骤:单击【系统】|【系统管理】|【共享的文件夹】命令,打开【共享的文件夹】对话框。选择【添加】按钮打开【Share Folder】对话框进行设置,有很多种配置方式。配置完后你会发现。/etc/exports配置文件的内容是完全跟图形界面下的配置对应的。如果只修改了/etc/exports文件,并不总是要重启nfs服务。可以使用exportfs工具重新读取/etc/exports,就可以加载输出的目录。exportfs工具语法如下:
exportfs [-aruv]-a : 全部挂载(或卸载)/etc/exports的设置。
-r : 重新挂载/etc/exports的设置,更新/etc/exports和/var/lib/nfs/xtab里面的内容。-u : 卸载某一个目录。
-v : 在输出的时候,把共享目录显示出来。
在nfs已经启动的情况下,如果又修改了/etc/exports文件,可以执行命令: $ exportfs-ra 系统日志文件/var/lib/nfs/xtab中可以查看共享目录访问权限,不过只有已经被挂载的目录才会出现在日志文件中。
七、连接nfs服务器
通过上面的配置后,客户机便可通过简单的mount命令将nfs共享资源挂载到本地来了,之后可以如同操作本地文件系统一样使用。
1、查看nfs服务器的共享资源
在客户机连接nfs共享资源前,通常要用showmount命令查看一下nfs服务器上的共享资源情况,了解是否有权限访问。showmount命令查看 某台nfs服务器上都有哪些nfs共享资源。showmount命令包含在nfs-kernel-server软件包中,一般语法格式 是:showmount [dehv] nfssrvname 其中nfssrvname表示nfs服务器主机名,也可用IP地址各选项如下:-d :显示客户端所挂载的共享目录-e: 显示nfs服务的导出共享目录列表-h: 显示帮助信息-v: 显示版本
单独使用showmount命令,将显示本地主机/etc/exports配置文件中的共享配置项。
2、挂载共享资源
可以通过mount命令在客户机端挂载nfs服务器端的共享资源。mount命令的一般语法格式是:
mount nfssrvname:/Share-Directory /mnt-Point 其中,nfssrvname表示nfs服务器主机名,也可用IP地址;Share-Directory表示nfs服务器导出的共享资源目录,必须用 绝对路径,与nfssrvname用“:”号隔开;mnt-Point表示共享资源将挂载到客户端主机上的位置,在挂载前一定要确保挂载目录已经存在。
如果nfs服务器上没有给予授权,客户端仍强行挂载某些共享目录,则会被拒绝,执行失败。
3、卸载共享资源
在使用完nfs服务器共享资源后,建议即刻卸载nfs文件系统。卸载命令umount一般语法格式是:
umount /mnt-Point 其中mnt-Point表示共享资源在客户端的挂载点。
注意:当有用户在使用某个已加装的共享目录上的文件时(在挂载点下要退出才能卸载),则不能卸载在文件系统。如果用户确认无误,可使用“umount-f”命令强行卸载共享的目录。
4、测试是否成功,自己挂自己
在folinux文件夹中看到挂载过来的share文件夹中的good文件
如果失败输入exportfs –rv
如果再失败应该是防火墙的问题,输入sudo ufw disable关闭防火墙,进行到这里不出意外应该可以挂载成功了。
在开发板上输入
[root@FORLINX6410]# mount 192.168.0.118:/mnt/share /mnt会出现下面的提示: svc: failed to register lockdv1 RPC service(errno 111).mount: mounting 192.168.0.118:/mnt/share on /mnt failed: Connection refused 正确应该输入
开发环境搭建 篇3
关键词:.NET Framework,.NET Compact Framework,.NET Micro Framework,WinCE
一.引言
.NET框架(.NET Framework)是由微软开发,一个致力于敏捷软件开发(Agile softwaredevelopment)、快速应用开发(Rapidapplication development)、平台无关性和网络透明化的软件开发平台。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。用于Windows的新托管代码编程模型。它强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。同时.NET也为应用程序接口(API)提供了新功能和开发工具。
二.NET框架详述
1. NET框架简介
.NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。从层次结构来看,.NET框架包括三个主要组成部分:公共语言运行时(CLR:Common Language Runtime)、服务框架(Services Framework)和上层的两类应用模板——传统的Windows应用程序模板(Win Forms)和基于ASP NET的面向Web的网络应用程序模板(Web Forms和Web Services)。
2. 软件功能介绍
1)ASP.NET动态数据,它提供了丰富的框架,从而使用户可以
快速进行数据驱动的开发,而无需编写代码;ASP.NET AJA的一项新增功能,对管理浏览器供了支持(支持后退按钮)。
2)提高了Windows Presentation Foundation的性能,包括缩短了启动时间,提高了与位图效果有关的性能。
3)Click Once应用程序发行者可以决定在适当情况下不进行签名和加密,开发人员可以编程方式安装Click Once应用程序以显示自定义署名,并且Click Once错误对话框支持链接到Web上应用程序特定的支持网站。
4)实体框架是从现有的一套ADO.N ET数据访问技术发展而来的。利用实体框架,开发人员可以按照应用程序特定的域模型(而不是基础数据库模型)来针对关系数据库进行编程。
5)LINQ to SQL新增了SQL Server2008中的新日期和文件流功能的支持。
6)ADO.NET Data Services Framework由满足以下条件的模式和库组合而成:支持将数据公开为一项基于REST(具象状态传输)的灵活数据服务,企业网络内部或整个互联网上的Web客户端都可以使用该服务。
7)用于SQL Server(Sql Client)的.NET Framework数据提供程序新增了对SQL Server2008中的文件流和稀疏列功能的支持。
三.NET框架的几个分类
1.NET Compact Framework
一种独立于硬件的环境,用于在资源受限制的计算设备上运行程序,继承了公共语言运行时的完整.NET Framework结构,支持.NET Framework类库的子集,并且包含专为.NET Compact Framework设计的类。例如:个人数据助理PDA(如Pocket PC),移动电话,机顶盒,汽车计算设备等等.
2.NET Micro Framework
Microsoft推出的.NET Framework把强大、可靠的托管代码从大型服务器扩展到了嵌入式设备。但是,依然有许多设备由于资源限制而无法支持这些平台。为了响应微型设备的市场需要,Microsoft开发了一个叫Microsoft.NET Micro Framework.(.NET MF)的新平台。.NET Micro Framework定位于这个未开发的领域,向微型设备提供小巧、高效的.NET运行时的实现。
3.二者的区别
.NET Compact Framework是.NET Framework的精简版,一种独立于硬件环境,用于资源受限的计算机设备上运行程序,它继承了公共语言库的完整和.NET Framework结构,.NET MF是微软最新推出的嵌入式平台、专门用于处理能力和存储能力都更加有限的设备。两者重要的一个区别在于:.NET CF需要有Windows CE系列OS的支持才能得以运作,而.NET MF则提供了一个可引导的运行时环境。既然.NET MF是可引导的,那么它实际上也相当于一个带有运行时环境的操作系统。下面的表格对比了几种平台的区别
四.Win CE开发环境搭建详述
1.Win CE基本介绍
Windows CE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色.它不仅继承了传统的Windows图形界面,而且可以在平台上使用Windows 95/98上的编程工具、使用同样的函数等等.
2. 用Visual studio 2005开发嵌入式Win CE应用程序
需要以下开发环境:1)安装Active Sync同步工具2)安装VS2005 3)安装vs2005 SP1(431M)4)安装.NET CF 2.0 5)安装SDK
3. 安装完成,新建一个简单的MFC工程:
1)首先打开VS2005,新建项目,选择其他语言,"visual C++"——智能设备,选中后右边出现5个模板。
2)选择Smart Device——MFC Smart Device Application
3)选择相应的SDK Mobile版本,如下图
4)接下来两个都默认选择
若应用程序中需要访问系统中注册的Active X控件,需选中Active X控件。
5)这里可修改类名对应的头文件和实现文件名。点击完成即可完成Test项目的建立。最后界面如下:
最终编译执行后模拟器上的界面
参考文献
[1]张冬泉.WindowsCE实用开发技术.电子工业出版社,2006.
[2]田泽.嵌入式系统开发与应用.北京航空航天大学出版社,2005.
开发环境搭建 篇4
搭建LAMP开发环境的方式不止一种,可以使用编译的方式,也可以采用光盘进行安装,不过这两种方式都有其弊端,那就是要解决套件的依赖关系,而使用YUM的方式完美的解决了这个问题,本文就以YUM的方式来演示如何搭建一个完整的LAMP开发环境。
安装LINUX
安装LINUX的具体步骤请参阅LINUX入门篇之LINUX安装全程图解一文,这里使用的LINUX版本为CentOS 5.8,安装完成之后记得关闭selinux,不然会出现很多莫名其妙的问题。
安装APACHE
[root@bogon ~]# yum install httpd
apache的主配置文件为/etc/httpd/conf/httpd.conf
将主配置文件中的AddDefaultCharset UTF-8注释掉(在前边加上#),不然你的网页将默认使用UTF8的编码进行传输,如果你使用GBK的编码,将在客户端浏览器上显示为乱码。
附加配置文件为/etc/httpd/conf.d/*.conf(就是conf.d文件夹下所有以.conf为后缀的文件),如果你感觉httpd.conf文件内容太多,可以将一些设置拆分出来放置放到这个位置,比如虚机主机的文件。
启动关闭重启服务:service httpd startstoprestart
设置开机启动:chkconfig httpd on
对应的用户和组:apache
安装MYSQL
[root@bogon conf]# yum install mysql mysql-devel mysql-server
mysql的主配置文件为/etc/my.cnf
mysql安装完成之后默认使用拉丁字符集,可以修改my.cnf文件,在[client]和[mysqld]下边加上default-character-set=utf8然后重启mysql就可以将默认字符集改为utf8了,
默认mysql的根用户是没有密码的,使用mysql –h localhost –u root –p进入mysql,use mysql选择mysql数据库,然后使用update user set Password=PASSWORD(‘你的密码’) where User=’root’来设置根用户密码,重启mysql生效。
启动关闭重启服务:service mysqld startstoprestart
设置开机启动:chkconfig mysqld on
对应的用户和组:mysql
安装PHP
[root@bogon conf]# yum install php53 php53-devel php53-gd php53-cli php53-common php53-mysql php53-xml php53-xmlrpc php53-mbstring php53-pdo php53-soap
php的主配置文件是/etc/php.ini
附加配置文件为/etc/php.d/*.ini(就是php.d文件夹下所有以.ini为后缀的文件)
修改时区设置date.timezone = ”Asia/Chongqing",不然系统默认使用0时区的时间。
打开短标签支持short_open_tag = On,默认是关闭的。
到这里一个完整的LAMP的环境就搭建好了,安装完成PHP之后记得重启一下apache,默认网页的存放目录为/var/www/html,可以放一个测试文件来查看当前的LAMP配置,文件内容为,命名为一个php文件,放置于/var/www/html下,然后在浏览器中查看即可,如下图所示:
最后说明一点,如果修改了apache或者是php的配置文件(包括附件配置文件),都需要重新启动apache服务才能生效
开发环境搭建 篇5
在接触Open PCS之前笔者只熟悉数据库编程,通过上项目学习、编程调试实践觉得有必要写一点学习实践的体会,于是有了这篇文章。希望对初学者有用。对于一线的程序员,能够得到学习的源代码还是非常重要的。在此抛砖引玉,把自己的一些心得和资料性的东西奉献给大家,希望大家少走弯路。
2 控制器C101编程软件的安装
2.1 安装Open PCS软件
运行“PS643cs.exe”程序,一路默认安装即可。
安装过程中弹出“Open PCS硬件添加工具”对话框时,选择“退出”。
2.2 安装C101驱动
运行“c101_643_V1.8.exe”程序,默认安装即可。
2.3 安装许可证
打开桌面上的infoteam Open PCS 2008,在菜单栏中依次选择其他→工具→许可证编辑器。在弹出的对话框中,双击列表处输入许可证序列号和代码(名称和公司不用填写)。
许可证输入:
点击“信息”按钮查看许可信息,若显示安装许可证的信息,则说明安装成功,否则安装失败。
如果卸载了重新安装,则提示要新的许可证,现有许可证将无效。换台电脑或重装系统应该可以继续使用原许可证,但没有验证。
3 硬件连接
3.1 控制器C101的硬件说明
参阅附件:“1、C101控制器I/O端”。
3.2 控制器C101程序硬件下载连接
控制器C101的Txd(管角51)和Rxd(管角50)为程序下载接口。PC机通过RS232将程序下载到控制器C101。
硬件接线:
管角1、27、41、42接24V电源。
要在13管脚接入一个大于3V的电压使能输出,否则输出没有值。
管角2、24、28接地。
管角51接RS232的2角(发送数据),管角50接RS232的3角(接收数据),GND_24接RS232的5号(如果连接不上,可尝试交换2,3角连接)。
注意:PC机与控制器之间的串口连接线为交叉线。
4 建立下载连接并运行
4.1 新建下载连接
此处“下载”指将计算机上编译好的程序保存到控制器C101中。
在菜单“PLC”中选择“连接”,单击新建,在打开对话框的名称中输入RS232,单击选择,选择RS232,单击确定按钮返回,再点击设置按钮打开如图2的对话框。
在对话框port选项中选择计算机和控制器C101连接的串口(本机为COM1口),再把baudrate设置为38400后单击“OK”按钮即可。
4.2 配置资源,选择硬件设备和连接
在PLC中选择资源属性,或者在工具栏中单击“编辑当前资源属性”按钮,如图3所示。
在弹出的对话框中,选择硬件模块“ksc-10”,网络连接选择“RS232”连接,点击“确定”。
4.3 编译并下载程序
编译程序。点击“PLC”→“生成当前资源”,或单击工具栏的“生成当前资源”按钮。
在Open PCS下方的诊断输出窗口中显示编译结果。
编译无误后,下载程序。点击“PLC”→“联机”,或单击工具栏的“联机/脱机”按钮,如图4所示。
出现下载进度条时,开始下载程序,如图5所示。
运行程序:点击菜单中“PLC”→“冷启动”,运行程序。
注意:在执行联机操作之前,一定要关闭其他打开的串口软件,以防当前串口被占用。如果控制器没有上电,连接时会提示“自动脱机”。有时候下载会失败,请重新编译,并给控制器重新上电,多执行几次就行了,如果实在不成功,请参考“5.5清除程序方法”。
5 编程须知
5.1 控制器寄存器地址
参阅附件:“1、C101控制器I/O端”。
MODBUS地址和直接变量地址关系计算公式:
5.2 程序结构
在一个Open PCS工程中包含了资源、POUS、数据类型。POUS可以有多个程序(至少包含1个程序)。程序中可以调用功能块、函数。功能块可以调用功能块、函数,如图6所示。
5.3 变量声明
Open PCS工程中,有两大类变量:全局变量和局部变量。
全局变量的声明:在整个工程中起作用。
点击“文件”→“新建”,在“创建新文件”对话框中,选择“声明文件”,在样板中,可以看到有两种类型的全局变量。一种是不使用物理地址(控制器寄存器地址)的“全局变量”,另一种是使用物理地址的“直接全局变量”,如图7所示。
局部变量的声明:在声明的POU中起作用,如图8所示。
5.4 库文件
在Open PCS中打开“帮助→主题”,在“高级主题→库”目录下可以查阅库文件的使用说明。
创建库文件与创建Open PCS普通的工程一样,不同的是库文件只由功能块和函数组成。库文件的功能块、函数编写完成后进行语法检查。保存为工程文件。
在一个Open PCS工程中调用库文件,首先要安装库文件。打开这个Open PCS工程,在“工程浏览器”窗口的“库”面板中,右键选择“安装新的”。在弹出的对话框中选择要调用的库文件。安装后,库文件会出现在库面板中。
然后要把该库文件添加到工程中。在“库”面板中,选择调用的库文件,右键选择“在当前工程中使用”。在工程中通过“插入功能块”、“插入函数”,使用库文件中的功能块和函数。
5.5 清除程序方法
如果遇到程序下载不了,请按照以下方法清除控制器内的程序,如图9所示。
从网上下载一个串口调试助手,打开后按照图9进行设置:选好串口号(当前和控制器连接的串口),勾选定时发送并将后面改为100ms/次,字符串输入8个小写z,点打开串口,然后将控制器断电2s然后上电,此时该软件上方白框中将会显示里面程序删除成功,然后断开,再用Open PCS下载程序即可。
6 编程流程演示
本章通过一个编程示例说明如何快速建立一个Open PCS工程并连接到C101控制器。
新建一个应用工程,主要有以下5个步骤。
6.1 创建一个空白工程
点击“文件”→“新建”或直接点击左上方快捷方式,弹出“创建新文件”对话框。
在“文件类型”中选择“工程”,使用“空白工程”。在对话框下方输入工程名My Project,和保存路径(非中文目录),如图10所示。
单击“确定”即可。
6.2 创建一个程序
点击“文件”→“新建”或直接点击左上方快捷方式,弹出“创建新文件”对话框。
在文件类型中选择POU,IEC语言选择“ST”、POU类别选择“程序”。在对话框下方输入文件名和存储这个程序的目录,如图11所示。
点击“确定”。在弹出的对话框中选择“是”,将新建文件添加到当前资源。
在程序中输入如图12所示代码。
6.3 创建一个连接
参阅“4.1新建下载连接”。
6.4 配置资源,选择硬件设备和连接
点击“PLC”→“资源属性”,在弹出的对话框中,选择硬件模块“ksc-10”,网络连接选择“RS232”。
6.5 编译、下载并运行程序
编译程序:点击“PLC”→“生成当前资源”,或单击工具栏的“生成当前资源”按钮。
在Open PCS下方的诊断输出窗口中显示编译结果。
诊断输出窗口编译无误后,下载程序。点击“PLC”→“联机”,或单击工具栏的“联机/脱机”按钮。
出现下载进度条时,开始下载程序。
程序下载完成后,点击菜单中“PLC”→“冷启动”,运行程序,如图13所示。
观察变量:选中变量“I”,点击鼠标右键,选择菜单中“添加到观察列表”项(或直接双击变量“I”),如图14所示。
在“debug”窗口的“观察列表:Resource.WL”页签中可以看到变量的变化,如图15所示。
7 结语
限于版面,文中没有过多地讲解原理,重点放在了具体操作的步骤上,突出了操作性。随着以后的使用,自然会心领神会,笔者就是这样学习的,单刀直入,快速入门,直接上项目,完成下来就会了,通过实践学习是最管用的。完成以上实际操作步骤后,读者应该已经大概入门了。
摘要:以凯商C101控制器(PLC)为例,快速讲解了用OpenPCS2008实战编程时所需的计算计软件环境搭建步骤、硬件连接操作及初步调试方法,并结合一简单实例演示了编程流程。
搭建式软件开发技术研究与应用 篇6
关键词:面向服务,搭建式开发,搭建平台,工作流,WebGIS,电子政务系统
0 引 言
随着Web服务时代的到来,传统软件开发技术和方法越来越凸显出不足。首先,传统软件开发技术和方法都是从需求分析做起,但需求总是在变[1]。其次,传统的编程技术所形成的软件系统都是刚性的。一旦开发完成并投入运行,就是固定不变的,不能在使用过程中进行调整和改变。再次,基于传统企业构架的企业系统从整体角度来看一般是一个多阶段交错的复杂系统,往往是不同平台、不同开发工具、不同管理规范、不同需求、不同时间研发的一个信息模块集,这种信息模块集的复杂性严重影响了企业系统的敏捷性和稳定性,影响了企业领导者的决策和企业核心能力的发挥[2]。
面对变化的需求,软件开发方法应以动态和灵活作为应对策略。因此,软件开发的关键问题就是如何改善开发方法,使开发的软件具有更强的适应变更能力,满足企业的业务敏捷性需要。基于此,文章提出了一种搭建式软件开发理论和技术。
1 研究现状
面对目前政务、科研、应急等领域普遍存在业务需求快速多变,迫切需要信息系统能够按需动态集成,以即时应对需求变化的现状。SOA(面向服务的架构)以其高度的抽象性和灵活性,为解决软件重用和软件集成提供了一种新的解决方案。通过采用面向服务的体系结构,企业能够迅速便捷地构建开放的、模块化的、可重用的软件组件。所以,采用面向服务的思想研制与开发软件逐步成为热点。
目前,面向服务的搭建领域研究中,最终用户编程方面的研究工作还不多[3]。国外研究现状是:IBM在2002年提出了按需计算计划,其目标是使任何设备、任何网络和任何数据都可以方便地共享与交换,从而帮助企业快速构造所需的商业应用,灵活地面对客户需求、市场机会,或者对外部风险作出适当的反应;WSOM(Web Services Outsourcing Manager)是一个基于客户需求的动态Web服务集成框架,其目标是利用现有的Web服务使点到点的商务过程组合完全自动化。该模型在非正式的、主观的客户需求与客观的、机器可识别的工作流语言之间搭起一道桥梁,通过监听和协调商务过程的组成部分,使它在运行期间能够适应新的需求;斯坦福大学的SWIG小组提出了“零代码服务组合”的思想,是通过组合已经存在的能够提供一定服务的功能组件,建立满足新的需求的应用系统并基于此思想,建立了一个针对Web服务的组合框架模型WeSCos,可以缩短应用系统的搭建周期,是提高系统性能的有效方法。国内研究现状:中国科学院计算技术研究所网格与服务计算研究中心提出了面向服务的大规模集成化应用构造方法—CAFISE(Convergent Approach for Information Systems Evolution),提出了VINCA语言(A Visual and Personalized Business-level Composition Language),从个人业务的角度出发,以按需、即时地进行分布式应用集成为目标,通过服务资源的业务级抽象、服务虚拟化等一系列关键技术,为最终用户提供一种可以自行构造应用的方法,从而缩短应用开发周期、降低应用开发费用[4];文献[5]提出了一种面向服务的应用的及时构造方法:即能够即时地组合既有的不同服务资源来构造满足用户个性化需求的应用。文献[6]在将业务组件转换为SOA下服务方面做了初步的探索和实践;文献[7]对按需搭建的EG系统的宏观与微观设计进行了初步的探讨。文献[8]提出了一种用户驱动的GIS服务与聚合软甲开发技术,这种技术是强调用户在整个软件过程中的能动性,在开发和积累大量基础性的服务资源的基础上,允许用户参与软件的聚合、组装和自定义过程GIS软件开发和应用模式。
但是由于其缺乏对服务资源进行业务级别的抽象,WSOM存在着客户所定义的需求并不一定能落实到物理服务上的问题。“零代码服务组合”的核心思想是通过组合已经存在的能够提供一定服务的功能组件,建立满足新的需求的应用系统,该项工作也只是刚刚起步,尚未见具体的研究结果公布,且功能组件的开发对软件开发人员的要求较高。中科院VINCA重在网格服务,对一般应用尚存在明显的局限性。
与已有的开发模式不同的是,搭建式开发技术将工作流、WebGIS集成到一个面向服务的可视化的搭建平台中,让数据层、应用逻辑层、Web服务层和表示层基于一些通信标准协议(如HTTP、SOAP)而彼此分开、相互独立,把满足及适应快速多变的业务需求的工作以简单的资源配置的方式通过“拖拽”式的“零代码”实现系统业务的灵活调整和定制,从而快速搭建系统。搭建平台可以从两个方面表现搭建的优越性:业务系统的搭建和GIS系统的搭建。业务系统搭建包括电子政务(主要指工作流系统),以及一般的业务系统,GIS系统搭建包括应用GIS系统、WebGIS、信息发布等,亦可实现一般系统与GIS系统的组合搭建。
2 搭建式开发技术
2.1 搭建式开发思想及其体系结构
可以这样理解搭建式开发技术:搭建式开发技术是指能够即时地组合既有的不同服务资源或者迅速地搭建出满足用户个性化需求的应用。相对于一般的面向服务的应用构造,它强调了按需和即时两个特征。其中,按需是指可以较低的代价构造面向服务的应用来满足个性化及多变的业务需求;即时是指可以较快的速度完成面向服务的应用的搭建以及时响应用户需求[5]。
本文把基于搭建式开发思想所实现的系统称为搭建平台。搭建平台力图从界面表现到数据管理各个层面上实现搭建:表单设计器实现界面表现和逻辑控制的融合;工作流实现逻辑控制,能够快速定制、修改、描述业务发生、发展、完成的过程。功能库提供基础功能服务,一项“服务”对应一个“服务组件”,由“服务”来构建“业务流程”;数据管理层由DB Toos或其他数据库工具来管理,如图1所示。
2.2 搭建式开发技术实现
搭建平台由以下几个部分组成:业务工作流、系统工作流、功能仓库、可视化表单、Web搭建框架,如图2所示。其中业务工作流、系统工作流、功能仓库集成在工作流管理系统中,业务工作流完成业务流程的定义、驱动、权限配置及状态监视,系统工作流扮演“可视化程序搭建”的角色,主要负责功能搭建,功能仓库主要负责功能的注入、修改、查询、驱动、会话维护等工作。可视化表单在自定义表单系统中实现,主要完成表单的编辑、数据绑定、功能绑定、插件编写、表单解释运行和数据填充、数据展示等功能。Web搭建框架即搭建框架运行系统。各子系统可独立使用,亦可通过中立的接口联合起来组成功能强大的系统,各部分结合的基础在于:平台提供统一、通用且可调用的接口,系统内置了功能完备的构建仓库,提供安全可靠的运行管理平台。
(1) 工作流管理系统
工作流是指业务流程的全部或部分自动化,在此过程中,文档、信息或者任务按照一定的过程规则流转,实现组织成员间的协调工作以期达到业务的整体目标。而工作流管理系统(WFMS)是一种能定义、创建和管理工作流执行的系统。
工作流体系结构中,主要可分为三层:(1)数据层:系统使用数据库存储系统数据(控制数据)和用户数据(主要指应用数据和其他相关数据),如图3所示。系统数据包括过程定义数据和工作流运行时数据。(2)业务层:包括工作流流程定义工具、工作流引擎、工作流管理监控工具和数据访问构件。其中工作流引擎是系统的核心模块,它的主要功能为解释工作流流程的定义、为工作流实例提供运行时环境、调度实例的运行。(3)表示层:用户分为三种类型:①流程定义人员,业务流程的建模和客户端应用程序的开发。②系统管理员,使用工作流管理监控工具对工作流的运行实例、活动实例的状态情况进行监控,可对角色和用户的权限进行配置。另外,也可以对现有的应用或者流程加以“封装”,为它们提供Web服务接口。③一般用户,即系统的最终用户。①和②类用户均使用工作流引擎同系统进行交互,③类用户通过统一的浏览器界面完成日常的工作。
基于搭建式开发技术平台工作流引擎提供给开发与应用者的是一个完全可视化的工作环境,将概括出一个抽象的、普遍适用的工作流业务流程逻辑图。通过工作流引擎绘制在工作流模版中,就可以完成业务逻辑模型的定制,搭建式开发技术平台会按照空间拓扑自动进行对控制逻辑的解释,实现了应用逻辑和过程模型来改进系统性能,实现对生产经营过程部分或全部的集成管理,提高软件的重用率,发挥系统的最大效能。
(2) 自定义表单系统
自定义表单系统是基于面向服务的构件,将界面表现和逻辑控制有机结合起来。其设计思路是将程序开发中常用的控制或业务功能在搭建平台中设计好,通过简单的设置参数或属性即可调用。
自定义表单工具搭建的表单主要是由HTML和脚本生成的,数据传输是靠XML HTTP(即AJAX)来完成的(如图4所示),将自定义表单工具开发出来的界面与搭建平台的业务工作流部分的节点相互动态地绑定在一起,进而可以快速地构建新的业务工作流程,达到业务人员自己构建满足实际需求的系统。
自定义表单系统包括一套通用插件库,基于面向服务插件,将界面表现和逻辑控制有机结合起来,能够灵活并所见即所得地“画”用户界面,提供丰富的服务器、浏览器控件和对数据库的管理功能,保证业务数据安全方便地存取,提供人性化的操作界面并具有逆向生成界面功能,支持多种数据库格式和丰富的二次开发接口,能快速适应需求的变更,让后台数据存取和逻辑处理高层抽象化,由页面单元来表现业务功能,结合搭建平台其他子系统,无需编码即可实现一般企业应用系统的搭建,大大提高了工作效率。
(3) 搭建框架运行系统
搭建框架运行系统采用多层架构构建,通过各个基础模块(功能模块、页面模块、流程模块),组成最基本的服务模块,作为最底层的支持,进而完成各子功能的封装,由子功能的叠加复用,形成各个业务线,进而形成功能完整的业务系统。它是企业应用的门户,集成了常用办公模块(今日办公、交流中心、短消息服务、公文服务、…)和业务管理功能,通过搭建平台的搭建结果在这里进行注册、测试、运行。系统提供丰富的二次开发接口、完善的扩展机制和强大的辅助开发配置工具,并且屏蔽了与业务不相关的技术细节,让软件开发更多地专注于业务本身,从而降低了软件开发难度和成本。
如上所述,通过工作流管理系统对业务过程进行抽象,可视化地搭建出工作流(流程模块),通过自定义表单系统制作表单和页面(页面模块),最后将表单嵌入到搭建运行框架(提供功能模块)中即可,而整个过程可能无需编码或者仅需少量编码且无需程序员的参与,可实现高效、低耗、即时、快速和随需所变的目标。
3实例研究——用搭建平台搭建电子政务系统
电子政务系统搭建平台是由一系列相互关联、相互调用的工具构成。使用搭建平台提供的工具组件,系统管理人员经过简单培训,可以在不了解数据结构和逻辑实现过程的情况下,完成对资源信息、业务规则和空间数据、表单数据的配置,快速搭建应用系统。当机构、岗位、业务、流程、表单、公文模板、地图等资源与环境对象发生改变时,通过“搭建”、“配置”、“部署”的方式对系统作调整,以适应不断变化的用户需求。
搭建平台负责定义业务的类型、业务规则、业务实现逻辑并配置相关的信息,将定义好的结果(即预先设置)保存在一个专门的数据库——支撑数据库内,一旦政务活动启动(请求服务),通过工作流引擎对支撑数据库的预置方案进行解释、调用,即形成了电子政务的运行平台(办公环境),如图5所示。实际运行系统如图6所示。
4 结束语
针对Internet在企业级应用上的不断发展、软件的复杂性急剧增加、企业多变的业务需求和竞争的加剧等,使得传统的软件设计思想在解决软件重用性、可维护性、信息孤岛和遗留系统等问题上越来越显得无能为力。本文设计并实现的搭建式开发技术具有实用性、先进性、易扩展和良好的数据管理能力等优点,最重要的是它能够随需所变和快速响应业务活动,并能整合原来的资源进行重复利用,提高了生产率,降低了成本,增强了企业的竞争优势,为软件开发理论和实践提供了一种新的思维,因此随着研究的深入,会有很好的应用前景。
参考文献
[1]张英俊,谢斌红,陈立潮.面向服务的软件体系结构的研究及探索[J].太原科技大学学报,2007,28(3):186-190.
[2]卢致杰,覃正,韩景倜,等.SOA体系设计方法研究[J].工业工程,2004,7(6):14-19.
[3]Powell A,Moore J E.The focus of research in end-user computing:Where have we come since the 1980s[J].Journal of End User Compu-ting,2002,14(1):3-22.
[4]韩燕波,熊锦华,张程,等.走进VINCA服务网格[N].计算机世界报,2006-11-06.
[5]赵卓峰.面向服务的应用的及时构造方法研究[D].北京:中国科学院研究生院,2005.
[6]张诗洁.基于科诺平台的SOA下业务组件(服务)的设计与实现[D].北京:北京化工大学,2005.
[7]徐丹丽,覃正.EG系统按需搭建的宏观和微观设计研究[J].情报杂志,2008,6:55-57.
[8]冯翔.用户驱动的GIS服务与聚合技术及软件开发研究[D].上海:华东师范大学,2008.
开发环境搭建 篇7
1.1 课程设置
我系计算机应用技术专业依学生就业为导向,加强技能实用性,把过时的课程淘汰,重新进行课程优化,能进行中小型软件特别是基于Android手机软件设计及开发,通过这些课程的综合学习,达到本专业的教学目标。
1.2 实训条件
本系实训设备为台式电脑,是4、5年前配置的,现有实训室机器不到报废年限,在学生实训中仍然起着重要作用,这部分老机器丢之可惜,仍然有利用价值,所装系统为Windows XP SP3。上述开设的课程,实训课与理论课的比大于1,个别课程全是实训。目前学习的《linux基础与应用》和《linux服务器配置与管理》课程用到的操作系统是RHEL5.0,安装在Windows XP里的VMware-workstation-7中 ;而《Java程序设计 》所用到的 软件Eclipse,用的是XP版 ;测试服务 器Tomcat 6.0也是XP。
1.3 存在问题
即考虑到其他专业学生的使用,又考虑机器的维护方便,系统还是采用XP系统,没有换成Linux系统,因此在实训时根据各门课程的特点,老师和学生都选择比较方便的方式进行练习。有时候是在XP下进行学习,比如Eclipse软件和Tomcat ;有时候要进入虚拟机在Linux操作系统下进行学习,比如《linux基础与应用》和《linux服务器配置与管理》。这种跨平台学习方式对任课老师影响不大,但是对于学生来说,实在是不方便,没能把所学课程综合运用。
2 实训平台优化
2.1 分析
根据目前实训条件,原有的操作系统仍然选择XP系统,安装虚拟机软件VMware7.0,再安装好其他课程所需要的软件,做好镜像。在虚拟机中新建一个Linux系统,版本采用企业版的RHEL6.0,这也是目前最新的版本,把本专业其他课程用到的软件,包括Tomcat、Eclipse和数据库软件一一安装到Linux中,在虚拟机下测试所有软件能正常运行后,把虚拟机做好快照保存起来。
虽然在原有机器上能直接安装Linux操作系统,一是考虑到其他专业课程需要用XP系统,二是由于Linux的开源有些学生不熟悉,很可能由于误操作导致系统瘫痪,对以后维护带来不便。在该系统下工作,利用虚拟机的功能,可以实现各种连网方式,完全能够利用现有软、硬件完成服务器搭建、软件开发环境搭建等课程的教学要求。
2.2 实施
由于在XP下安装虚拟机和在虚拟机中安装Linux比较容易,这里不再叙述。下面主要进行在Linux下其他软件的安装。
在Linux下安装软件有两种方法,一种是利用RPM来安装,另一种是通过配置安装源。以安装telnet为例,用RPM方法来安装 :
如果从光盘来安装,首先进入该软件目录上,执行
#cd /mnt/cdrom/Packages
# rpm 氺ivh telnet-0.17-46.el6.rpm
这样就可以安装完成该软件,但是如果这个软件需要其他软件的支持,那么就必须先安装支持软件,再安装这个软件。并且安装时,必须在该软件的目录上安装才可以,所以这种方法看起来方便,但在安装过程中比较繁琐。
另一种就是配置安装源,首先获得Linux的软件包文件,一般是ISO文件,可以通过网络或光盘获得,然后把该文件存放到磁盘的一个分区中。打开虚拟机在“设置”中点“硬件”选项卡,在其中的“CD/DVD”中设置连接的镜像文件为刚才获得的ISO文件。这一步相当于在宿主机中把光盘放到光驱,为下一步软件安装提供软件资源。
把下载的ISO文件挂载,#mount /dev/cdrom /iso
配置源文件,如下图所示 :
这样就完成了安装源的配置,在安装软件时,这种方法就会自动搜索该软件的支持软件,并且也没有安装路径的限制。
配置好了安装源,可以执行
# yum install *eclipse*,
# yum install *sql*
就可以把开发平台Eclipse和My Sql数据库数据库安装完成。
3 结束语
开发环境搭建 篇8
(一) 财政融资在经济发展中的作用
在研究创新型农业综合开发投融资平台建设问题之前, 首先我们需要了解的是其自身的作用与存在的意义。第一个作用, 就是财政融资在经济发展中的作用。所谓“财政融资”就是指财政部门提供有需求的组织一定的资金, 也可以这样说, 是指要求发展的企业提出了一些资金需求, 需要国家财政, 包括中央财政和地方财政, 对其进行一定的投资注入支持, 还有就是依靠政策性放款等, 从而获得发展所需的资金。而财政投资正好属于政府的经常性支出, 具有一定的转移性, 这种转移仅仅体现在了价值方面, 由此可见, 政府投融资对增加整个国民收入都有着重要的意义。
(二) 农业融资在农业经济发展中的作用
对于创新型农业综合开发投融资平台建设问题, 它不仅仅包括财政融资方面的作用, 还包括农业融资在农业经济发展中的作用。近年来, 我国政府加倍重视农业融资的发展, 农业信贷担保服务坚持以种植业、养殖业为主, 对于主要经营粮食的新型经营主体要给予比较适度的满足, 给予他们发展所需求的资金, 为他们的生产经营提供担保支持, 其中包含很多的内容, 比如进行农用基础设施的建设、农业扩大生产规模, 引进新的技术和设备, 研发新的农产品品种等等这些方面做需要的一切流动资金。由此可见, 政府对农业融资的重视进一步体现了农业融资在农业经济发展中的作用。
创新型农业综合开发投融资平台的现状分析
近年来, 国家政府着重于农业经济的发展, 目前, 搭建创新型农业综合开发投融资平台成为政府现在着重关注的问题。那么, 创新型农业综合开发投融资平台的发展现状又是怎样的呢?近年来, 我国财政支农的资金不足, 与此同时资金的使用率也相对较低, 特别是农业科技与科技推广方面的投资都没有落实。除此之外, 农村经济的资金外流情况也是十分严重的, 这不仅仅是当前我国农业投融资体制存在弊端的体现, 同时也是导致农村经济缺口的主要原因。最后, 对于农村经济发展的环境与设施而言, 也是缺乏建设与完善, 这个问题在一定程度上也阻碍了农业综合开发投融资, 由此可见, 想要搭建创新型农业综合开发投融资平台之前还需要加强对农村各个方面建设的发展, 以此来奠定坚实的基础。
创新型农业综合开发投融资平台存在的问题
(一) 投资理念比较落后、融资渠道单一
近年来, 我国创新型农业综合开发融资平台不断完善, 但是在这一完善的过程中仍然存在许多发展问题, 下文就对这些问题进行详细的解释。首先就是农业投融资平台建设的最根本问题, 投资观念比较落后, 融资渠道单一。
目前来说, 创新型农业综合开发投融资平台的投资观念相对落后, 出现这种问题主要是由以下两个原因引起的:一方面, 农业投融资观念受传统的投资观念影响较深, 还没有完全突破传统模式, 与此同时也考虑到具有一定的风险性;另一方面, 特别是这些年来, 在我国的农村地区, 要从事农业产生和基本设施建设, 是需要很大的资金支撑的, 这些所需要的资金主要是来源于当地的农业银行。有很多的地方在农村是存在观念落后的因素的, 比如农民的市场主体化观念不足, 项目建设不足, 并且在建设项目的过程中很少与市场化产生关联, 这样就会导致一种结果出现, 就是农村建设所需的全部资金大部分都是需要银行来提供的, 就在一定程度上导致了创新型农业综合开发融资平台的融资渠道相对单一, 阻碍了其自身的发展。
(二) 投融资视野狭窄、融资品种单一
在创新型农业综合开发投资平台建设方面, 还存在投融资视野狭窄、投融资品种单一问题, 导致这一问题的根本原因是因为投资观念的落后。与此同时, 也受多方面因素的影响与制约。
近年来, 我国农业综合开发投融资平台建设的核心大多都是以农村的基础设施建设为主, 其中占绝大多数比重的就是公益性基础设施, 农业综合开发的投融资领域涉及的方面还不是很多, 没有全方面的考虑到农业园区的建设与完善, 缺乏对农业企业的扶持与帮助, 除此之外, 农村的教育问题, 医疗卫生问题都没有得到很好的解决与改善。从这些问题不难反映出我国创新型农业综合开发投融资平台还存在许多问题等待我们解决。
(三) 平台主体实力较弱、投资能力明显不足
对于创新型农业综合开发投融资平台的建设来说, 平台主体实力的高低以及自身投资实力的强弱会直接影响到投融资平台建设的发展。然而, 目前就我国农业开发投融资平台的发展现状而言, 整体平台主体实力减弱、并且投资能力明显不足。
我国创新型农业开发投融资平台虽然正在逐步地完善, 但是因为其还处于发展的逐步阶段, 没有形成强大的实力, 所以在投融资方面还存在很多的问题和不足。根据以往的研究数据发现, 全市15家创新型农业开发投融资平台, 其注册资金度不高, 仅仅4家有1亿元的注册资金, 余下的基本都是几千万元这样的实力, 甚至有的还是几十万元, 从这个角度讲, 我国的创新型农业开发投融资平台在实力方面是远远不及的, 规模更是属于比较小的, 对于我国正在高速发展的经济社会现状来说, 是很难满足农业的发展需求的, 所以发展农业经济就要将投融资平台实力的提高作为发展的重中之重。
(四) 自身经营能力弱、难以形成可持续发展
近年来, 无论是对于城市发展来说, 还是对农村的建设而言, 国家都提倡可持续发展战略, 但是目前对农业开发投融资平台的建设而言自身经营能力弱, 难以形成可持续发展。
造成投融资平台经营能力较弱的原因有两点:一是多数建立了创新型农业开发投融资平台的公司法人, 他们并不具备完善的企业发展管理制度, 其中任职人员也都不是十分的专业, 没有专职人员在其中进行管理工作, 换句话说, 就是缺乏专业的职员培训, 缺乏专业化人才;二是绝大多数创新型农业开发投融资平台公司成立的时候都是依靠政府的扶持, 政府利用不过各项优惠条件和政策为公司的注册资本提供实物资产。这样的结果就是抽象的东西太多, 不能变现的资产太多, 对于平台所需的运营资金是不能够满足平台的发展需求单额, 所以创新型农业开发投融资平台公司没有独立的能力进行农业活动的经营业务, 长期下去, 农业开发的投融资平台经营能力就会逐渐减弱, 最终难以形成自身的可持续发展, 导致无法满足将来社会以及后代人的发展需求。
搭建创新型农业综合开发投融资平台的解决对策
(一) 加强农业综合开发投融资平台建设、充分发挥其自身的作用
对于我国创新型农业综合开发投融资平台建设而言, 它的发展存在着一定的问题, 就上文提到的问题而言, 下面对这些问题做出了针对性的解决方案。首先, 解决平台主体实力较弱、投资能力明显不足的问题, 就要加强农业综合开发投融资平台建设、充分发挥其自身的作用。
加强农业综合开发投融资平台建设, 一方面, 要加强市场主体化建设, 投资对象也要做到各个方面的均衡发展;另一方面, 要建立和完善平台公司法人治理结构, 增强平台公司的发展, 让其具备更强大的实力, 政府要提供更加优惠的政策, 不乱是有形资产还是无形资产, 都需要为平台公司的发展倾其所有, 贡献出最大的限度。将平台公司纳入一个整体管理的规模上来, 进行统一经营, 努力地增加农业综合开发投融资平台的发展实力, 围棋多多盈利, 将公司多承担的债务尽快地还清, 提高授信额度比例。只有这样, 才能增强农业综合开发投融资平台的主体实力, 进而充分发挥农业综合开发投融资的作用, 为促进农业经济发展奠定坚实的基础。
(二) 加大对行政事业单位资产市场化的资本运作力度
建设与完善创新型农业综合开发投融资平台, 解决目前存在的发展问题, 还要加大对行政事业单位资产市场化的资本运作力度, 换句话说, 也就是农业综合开发投融资平台的搭建要坚持市场主体化的原则, 对于那些长期没有发挥效力的“死资产”进行转变, 让其复活, 成为“活资本”。以此来更好地解决农业投融资平台的建设问题。
(三) 解放思想、更新观念、树立投融资方式市场化理念
对于创新型农业综合开发投融资平台的发展问题, 最根本要解决的就是投资理念比较落后、融资渠道单一的问题, 这也是影响投融资平台发展的重要因素, 只有将根本问题解决好, 才能更好更快的发展。
解决投融资观念落后问题, 首先就需要管理者转变思想, 追上市场机制下融资体系的管理理念。创新型农业综合开发投融资平台的管理者们, 需要从市场的角度进行融资理念的转化, 要面向市场去开发和建设项目, 不要脱离市场的需求, 去建设一些毫无意义的工程设施。要合理利用现有资源, 拓宽投融资渠道, 找到更多的资金支撑, 加大招商引资力度, 让外面的投资金来到本地进行项目的投资, 利用他们的资金来建设农村基础设施和农业项目设备, 这样就可以在一定程度上减轻政府的财政压力。通过这种市场化投资理念, 不仅仅减轻了政府的压力, 同时也在一定程度上提高了投融资平台自身的实力, 由此可见, 创新的理念与管理思想必然会促进农业经济的大力发展。
(四) 提高自身经营能力、坚持可持续发展
随着经济的发展, 我国进入和谐社会, 国家重视资源的开发和利用, 所以一直秉承可持续发展的战略。所谓可持续发展, 意义非常重要, 就是不仅要满足眼前人的需求, 还需要用长远的眼光去满足未来人的需求, 用一句简单的话讲, 就是指经济、社会、资源和环境保护的协调发展。这一点对于创新型农业综合开发投融资平台的建设而言也不例外。
为解决农业综合开发投融资平台的发展问题, 就要求其提高自身的经营能力, 坚持可持续发展。创新型农业综合开发需要投融资平台加强自身的竞争实力与主体竞争力, 通过全方位的建设与完善来更好地为农业开发与农业经济的发展服务, 进而有效的实现可持续发展战略。
总而言之, 搭建创新型农业综合开发投融资平台已经是一个不可逆转的趋势, 虽然对于目前的发展来说, 还存在许多实质性的问题等待我们去解决, 但是, 只要加强农业综合开发投融资平台建设、充分发挥其自身的作用, 加大对行政事业单位资产市场化的资本运作力度, 解放思想、更新观念、树立投融资方式市场化理念, 提高自身经营能力、坚持国家可持续发展战略, 那么就会在一定程度上更好地完善农业投融资平台的建设, 就会加快我国农业经济的发展, 最终促进整个社会经济的发展, 提高国家的综合竞争力。
开发环境搭建 篇9
曾经有人这样来描述一个软件开发人员:办公室抽屉里永远塞着几包不知道搁了多久的饼干,蓬头垢面、衣衫揽褛、双眼发红冲到超市买方便面的一定是程序员。这个描述虽然夸张,却非常形象。软件开发的确是一个艰辛的工作,但如果我们开发人员能够搭建一个好的软件架构,那么整个开发工作会变得有效,而开发出来的软件也会更稳定、更容易维护。本文笔者就软件开发过程中的三层架构的定义和特点,以及以.Net平台上搭建三层架构为例做一个分析和探讨。希望能对软件开发人员提供一些帮助。
一、什么是三层架构?
设想我们去餐厅吃饭,我们刚坐下来,就会有服务员过来为我们服务。服务员记下我们点的菜,然后将菜单传给厨房的大厨。大厨拿出后勤人员事先买好准备好的菜开始烹制,然后交给服务员端出来让我们享用。其实这个餐厅的饮食服务业务可以分解为三个部分来完成,每一部分各司其职。服务员只管接待顾客、向厨师传递顾客的需求;厨师只管烹炒不同口味、不同特色的美食;后勤工作人员只管提供美食原料。他们三者分工合作共同为顾客提供满意的服务。在餐厅里为顾客提供服务期间,服务员、厨师、后勤工作人员,三者中任何一个人员发生变化时(例如请假或辞职)都不会影响其他俩者的正常工作,只对变化者进行重新调整即可正常营业。
我们软件开发的三层架构与餐厅的服务流程类似。“三层架构”中的“三层”是指:“表示层”(User Interface Layer-UI)、“业务逻辑层”(Business Logic Layer-BLL)、“数据访问层”(Data Access Layer-DAL)。三层架构的结构可以用如下图一来表示:
表示层:位于系统的最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,只提供软件系统与用户交互的接口界面。
业务逻辑层:位于表示层和数据访问层之间,专门负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是通过数据访问层从数据库读出这些数据。该层可以包括一些对“商业逻辑”描述的代码在里面。业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递。
数据访问层:仅实现对数据的保存和读取操作。数据访问包括访问数据库系统、二进制文件、文本文档或是XML文档。数据访问层只负责对数据的访问存取工作。
二、三层架构各层的职责分配
三层架构各层的分工是非常明确的。表示层只负责接收用户输入的数据,并将业务逻辑层处理数据的结果显示给用户。进行表示层开发的人员需要掌握用户界面设计规范和具有较好的界面审美观,同时要了解用户使用的习惯。不要在表示层写与业务逻辑和数据访问相关的代码甚至SQL语句。
业务逻辑层只负责对数据的业务处理。开发人员不要在业务逻辑层里写访问数据库的SQL语句。业务逻辑层可以验证用户输入的数据、缓存从数据库中读取的数据等等。但是,业务逻辑层的实际目的是将数据访问层的最基础的存储逻辑组合起来,形成一种业务规则。例如:“在一个购物网站中有这样的一个规则:在该网站第一次购物的用户,系统为其自动注册”。这样的业务逻辑放在中间层最合适。
在数据访问层中,最好不要出现任何与业务逻辑和界面设计相关的代码。也就是说,要保证数据访问层中方法的功能仅负责存储或读取数据就可以了。
有些开发人员虽然也搭建了三层架构,但却在表示层或业务逻辑层里写SQL语句甚至访问数据库的代码,或者在数据访问层里写与业务逻辑相关的代码。这样会造成代码的混乱而出现意想不到的错误。
我们假设有一段登录的代码,则可以这样处理程序:表示层负责接收用户在界面输入的用户名和密码的数据,然后传给业务逻辑层。业务逻辑层对数据进行处理,给出用户登录正确判断的逻辑,需要访问数据库的时候就向数据访问发出访问数据的请求(调用数据访问层的函数)。数据访问层访问数据库并获得需要的数据,比如正确的登录用户名和密码,然后返回给业务逻辑层。业务逻辑层把给数据和用户输入的登录数据进行比较,如果比较的结果正确就将登录用户的详细信息最终返回给表示层。若比较的结果不正确,则返回错误信息并由表示层显示给用户。
三、使用三层架构的目的
三层架构是将应用程序的业务规则、数据有效性校验等工作放到了中间的业务逻辑层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过业务逻辑层与数据库访问层进行交换。开发人员可以将商业的业务逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保证客户端功能的前提下,为用户提供一个简洁的界面。这样一来如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。
我们用三层结构的主要目的正是为了使软件的系统结构更清楚,软件开发工作分工更明确,有利于后期的维护和升级。尽管,它没有提升软件系统的性能,但从团队开发效率角度上来讲却可以感受到大不相同的效果。需要说明一下,三层架构并不仅仅专门用在数据库上,它是一种更加通用的软件架构设计理念。
四、三层架构的优缺点
三层架构的优点是可以充分把软件开发任务分解,有利于团队合作开发。例如,表示层的开发人员只需关注用户界面的设计和数据的输入和显示,他们不需要了解数据的存取和处理逻辑;业务逻辑层的开发人员则关注系统的数据处理逻辑,而不需要关心界面的设计、数据的存取和显示;而数据访问层的开发人员只需关注数据的存取操作,无需了解界面设计、数据的输入、显示和业务处理。这样分层团队开发更利于控制软件质量,充分发挥版本控制和单元测试。三层构架的软件适应性很强,一旦有什么需求变动可以很快地进行代码更改,因而代码的复用性很高。其中一层的代码改变不影响其他层。例如,用户界面的改变并不影响业务逻辑层和数据访问层,甚至访问不同数据库管理系统也只改变数据访问层的代码而不会影响业务逻辑层和表示层的代码。
三层架构的缺点就是代码量太多,执行速度慢。三层架构开发模式不适用于对执行速度要求非常高的系统,例如:在线订票,在线炒股等等。它比较擅长于商业规则经常变化的系统。
五、.Net平台上三层架构的搭建
设想要创建一个学校的在线考试系统,.Net平台上搭建的三层架构的示意图如下图:
表示层:
表示层包括所有在线考试系统需要用户界面C#文件:登录界面(LoginForm.cs)、在线考试主界面(StuForm.cs)、编辑学生基本信息界面(EditStudentForm.cs)、浏览学生信息界面(ViewStudentForm.cs)、创建学生用户界面(CreateStudentForm.cs)
业务逻辑层
业务逻辑层包括在线考试系统需要业务逻辑C#文件:班级业务逻辑(ClassManager.cs)、成绩业务逻辑(GradeManager.cs)、登录业务逻辑(LoginManager.cs)、学生业务逻辑(StudentManager.cs)
数据访问层
数据访问层包括在线考试系统需要访问数据库的C#文件:班级数据访问(ClassService.cs)、成绩数据访问(GradeServices.cs)、学生数据访问(StudentService.cs)、系统管理数据访问(AdminService.cs)
实体层:
实体层包括在线考试系统需要的实体类C#文件:班级实体类(Class.cs)、成绩实体类(Grade.cs)、学生实体类(Student.cs)、系统管理实体类(Admim.cs)
请读者注意,在上面的架构视图中多了个“实体层”。实体层并不属于三层架构,它的存在是为了在三层之间传递数据。也就是说,三层之间的数据传递是依赖实体层里实体类的对象来进行的。例如,要添加一个学生用户,用户在表示层里的创建学生用户界面(CreateStudentForm.cs)上输入新学生用户的详细信息。该信息被构造成实体层里Student类的一个对象,然后该对象被传给业务逻辑层里的学生业务逻辑StudentManager类中的public int AddSutdent(Student student)方法来进行业务逻辑判断。若判断该学生用户名不存在就将Student类的对象再传递给数据访问层里的StudentService类中的public int AddSutdent(Student student)方法将该学生信息添加到数据库中的学生用户表里,然后返回“学员账户创建成功!”的信息给表示层的学生用户界面显示给用户;若已经存在该学生用户则返回错误信息“此学员用户名已存在,请更换后重新创建!”给表示层的学生用户界面显示给用户。我们可以看到一条新学生用户的信息是通过Student类的对象传递给业务逻辑层,再传递给数据访问层。同样道理,数据访问层访问数据库查询到得学生用户信息也是通过Student类的对象返回给表示层显示给用户的。
有的开发人员构造三层架构并不通过实体类的对象来传递数据,而是把这些数据通过其他数据类型的参数来传递。这种方式虽然也能达到目的,但这样一来如果一旦增加一个参数就会导致要修改多个相关接口方法,不但麻烦,也不如用实体类的对象来传递更能体现数据的封装和安全。
六、总结
三层架构开发模式对于初学程序设计的人来说比较难以理解和掌握。以这种模式开发出来的软件,代码量通常也要多一些。这往往会令某些开发人员一开始不愿意接受和使用,但是一旦掌握就能有效地开发软件系统,并增加软件系统的可维护性。然而,三层架构模式有利有弊。是否要采用三层架构来进行系统开发,开发人员要根据实际情况和软件需求做出比较权衡之后才可以决定。
参考文献
[1]姚晓鹏“三层体系结构的概念”http://student. csdn.net/space.php?uid=38634&do=blog&id=4069
[2]GWPBrian“深入探讨:如何理解.Net的三层架构”http://develop.csai.cn/dotnet/2009012010263713 37.htm
【开发环境搭建】推荐阅读:
环境开发08-06
区域开发环境08-05
Aglet开发环境07-16
集成开发环境07-01
水电环境效益开发07-01
VC开发环境11-05
DSP开发环境11-05
软件开发测试环境07-13
Java集成开发环境07-05
环境材料的开发与应用10-05