我在德国的一家大公司工作,并且得到了创建它的主要网站的工作,其中包括:
静态内容; 信息和演示文稿
员工区(约6000名员工),包括日历,职位描述,某种团体等各种事物
太多其他动态的东西我不能在这里列出
我决定使用COBOL来完成工作,它可能会被低估,但它是一种非常强大的语言,特别是对于商业应用程序,正如我的同事所说的那样,web(2.0)开发也是如此.
我还需要使用COBOL,因为公司的所有后端和交易系统都在其中编程(一些小部件也在LISP中编程,我不确切知道为什么).我还收到了一个API,可以轻松地将COBOL与MySQL结合使用.
这是一个大项目,可能需要2个多月的编程时间.
在COBOL中构建庞大的Web应用程序时,我有什么期望?
是否有可用于COBOL的Web框架?某种MVC?
使用COBOL进行实际的Web开发是否有很好的资源?
提前致谢
在COBOL中构建庞大的Web应用程序时,我有什么期望?
这需要很长时间.像Django,Ruby on Rails或CodeIgniter这样的框架专门用于在很短的时间内创建网站.
大多数这些框架可以在20分钟内构建工作动态内容网站.COBOL不能.除非您能够快速打字,否则在您学习和使用更现代化的工具构建网站时,您可能只需要很少的可行代码.
是否有可用于COBOL的Web框架?某种MVC?
现在提出这个问题表明,选择使用COBOL是一个非常非常糟糕的主意.
通常的策略是首先选择框架.在选择框架之后,我们会忍受利用该框架所需的语言.
但是,总有http://www.coboloncogs.org/HOME.HTM
使用COBOL进行实际的Web开发是否有很好的资源?
http://search.barnesandnoble.com/COBOL-Programming-Using-the-NET-Framework/Ronald-D-Reeves/e/9780130668431
实用的Web开发是通过特定于Web的框架完成的.任意数十个Python Web框架,Ruby on Rails,任何PHP框架,任何Java框架.他们非常专业,可以快速,廉价地构建网站.
COBOL对此并不高度专业化.Nor(在i系列之外)是否有人认真考虑使用COBOL进行Web开发.
您最大的希望是尽可能多地使用外部库并尽可能少地编写COBOL.您必须大量使用OpenCOBOL的COBOL到C功能来使用C语言API,并且 - 实际上 - 使用COBOL包装器在C中构建您的站点.
请,请不要使用COBOL.任何不得不支持该网站的人都会感谢您选择更现代的工具.
我建议你使用一个Web框架写的前端,比如PHP,ASP.NET MVC等,然后创建一个API(或带有某种接口的独立的过程中,如果需要的话),这将允许该工具与你的COBOL后端交谈.这将允许您使用前端的Web框架 - 它将发挥作用 - 同时允许您利用公司在COBOL上的重大投资.
在发布了用于CGI和AJAX的OpenCOBOL示例之后,我只想补充一下,去吧.COBOL可以做前端.
>>SOURCE FORMAT IS FIXED ****************************************************************** * Author: Brian Tiffin, Francois Hiniger * Date: 30-Aug-2008 * Purpose: Display the CGI environment space * Tectonics: cobc -x cgienv.cob * Move cgienv to the cgi-bin directory as cgienv.cgi * browse http://localhost/cgi-bin/cgienv.cgi or cgienvform.html ****************************************************************** identification division. program-id. cgienv. environment division. input-output section. file-control. select webinput assign to KEYBOARD. data division. file section. fd webinput. 01 postchunk pic x(1024). working-storage section. 78 name-count value 34. 01 newline pic x value x'0a'. 01 name-index pic 99 usage comp-5. 01 value-string pic x(256). 01 environment-names. 02 name-strings. 03 filler pic x(20) value 'AUTH_TYPE'. 03 filler pic x(20) value 'CONTENT_LENGTH'. 03 filler pic x(20) value 'CONTENT_TYPE'. 03 filler pic x(20) value 'DOCUMENT_ROOT'. 03 filler pic x(20) value 'GATEWAY_INTERFACE'. 03 filler pic x(20) value 'HTTP_ACCEPT'. 03 filler pic x(20) value 'HTTP_ACCEPT_CHARSET'. 03 filler pic x(20) value 'HTTP_ACCEPT_ENCODING'. 03 filler pic x(20) value 'HTTP_ACCEPT_LANGUAGE'. 03 filler pic x(20) value 'HTTP_COOKIE'. 03 filler pic x(20) value 'HTTP_CONNECTION'. 03 filler pic x(20) value 'HTTP_HOST'. 03 filler pic x(20) value 'HTTP_REFERER'. 03 filler pic x(20) value 'HTTP_USER_AGENT'. 03 filler pic x(20) value 'LIB_PATH'. 03 filler pic x(20) value 'PATH'. 03 filler pic x(20) value 'PATH_INFO'. 03 filler pic x(20) value 'PATH_TRANSLATED'. 03 filler pic x(20) value 'QUERY_STRING'. 03 filler pic x(20) value 'REMOTE_ADDR'. 03 filler pic x(20) value 'REMOTE_HOST'. 03 filler pic x(20) value 'REMOTE_IDENT'. 03 filler pic x(20) value 'REMOTE_PORT'. 03 filler pic x(20) value 'REQUEST_METHOD'. 03 filler pic x(20) value 'REQUEST_URI'. 03 filler pic x(20) value 'SCRIPT_FILENAME'. 03 filler pic x(20) value 'SCRIPT_NAME'. 03 filler pic x(20) value 'SERVER_ADDR'. 03 filler pic x(20) value 'SERVER_ADMIN'. 03 filler pic x(20) value 'SERVER_NAME'. 03 filler pic x(20) value 'SERVER_PORT'. 03 filler pic x(20) value 'SERVER_PROTOCOL'. 03 filler pic x(20) value 'SERVER_SIGNATURE'. 03 filler pic x(20) value 'SERVER_SOFTWARE'. 02 filler redefines name-strings. 03 name-string pic x(20) occurs name-count times. procedure division. * Always send out the Content-type before any other IO display "Content-type: text/html" newline end-display. display "" end-display. display "CGI environment with OpenCOBOL
" end-display. display 'To cgienvform.html' "
" name-string(name-index) ": | " function trim (value-string trailing) " |
' "First chunk of POST: | " postchunk(1:72) " |
这是一个添加一点AJAX的表单.
Simple Ajax Example
只是添加,当我为OpenCOBOL FAQ测试它时,它使用嵌入在COBOL中的WebKit浏览器,利用Vala WebKit绑定.充满魅力.COBOL控制处理CGI的浏览器.