当前位置:  开发笔记 > 编程语言 > 正文

Cobol Web开发/托管资源

如何解决《CobolWeb开发/托管资源》经验,为你挑选了3个好方法。

我在德国的一家大公司工作,并且得到了创建它的主要网站的工作,其中包括:

静态内容; 信息和演示文稿

员工区(约6000名员工),包括日历,职位描述,某种团体等各种事物

太多其他动态的东西我不能在这里列出

我决定使用COBOL来完成工作,它可能会被低估,但它是一种非常强大的语言,特别是对于商业应用程序,正如我的同事所说的那样,web(2.0)开发也是如此.

我还需要使用COBOL,因为公司的所有后端和交易系统都在其中编程(一些小部件也在LISP中编程,我不确切知道为什么).我还收到了一个API,可以轻松地将COBOL与MySQL结合使用.

这是一个大项目,可能需要2个多月的编程时间.

在COBOL中构建庞大的Web应用程序时,我有什么期望?

是否有可用于COBOL的Web框架?某种MVC?

使用COBOL进行实际的Web开发是否有很好的资源?

提前致谢



1> S.Lott..:

在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开发人员,我不得不同意S.Lott.不要将COBOL用于前端Web开发!这真的会受伤!另一方面,利用您的COBOL系统为Web驱动的应用程序提供后端支持可能是一个合理的选择.

2> Justin Ethie..:

请,请不要使用COBOL.任何不得不支持该网站的人都会感谢您选择更现代的工具.

我建议你使用一个Web框架写的前端,比如PHP,ASP.NET MVC等,然后创建一个API(或带有某种接口的独立的过程中,如果需要的话),这将允许该工具与你的COBOL后端交谈.这将允许您使用前端的Web框架 - 它将发挥作用 - 同时允许您利用公司在COBOL上的重大投资.


@felixm:"我决定使用COBOL"听起来像你做出了错误的决定."我必须使用COBOL"听起来像其他人做出错误的决定.谁 - 特别是 - 做出这个糟糕的决定?为什么你被迫使用COBOL?谁在逼迫你?
我以为你决定用它?无论如何,我建议您使用Web框架编写前端,例如PHP,ASP.NET MVC等.然后创建一个API(或者某个接口,如果需要,可以使用单独的进程)该工具可与您的COBOL后端通信.这将允许您使用前端的Web框架 - 它将发挥作用 - 同时允许您利用公司在COBOL上的重大投资.

3> Brian Tiffin..:

在发布了用于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' "

" end-display. * Accept and display some of the known CGI environment values perform varying name-index from 1 by 1 until name-index > name-count accept value-string from environment name-string(name-index) end-accept display "" end-display if (name-string(name-index) = "REQUEST_METHOD") and (value-string = "POST") open input webinput read webinput at end move spaces to postchunk end-read close webinput display '" end-display end-if end-perform. display "
" name-string(name-index) ": " function trim (value-string trailing) "
' "First chunk of POST:" postchunk(1:72) "

" end-display. goback.

这是一个添加一点AJAX的表单.



Simple Ajax Example



word:

只是添加,当我为OpenCOBOL FAQ测试它时,它使用嵌入在COBOL中的WebKit浏览器,利用Vala WebKit绑定.充满魅力.COBOL控制处理CGI的浏览器.

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有