CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > SOA子站 > SOA评论分析

SOA基于组件应用程序中发展

作者: ,  出处:developerWorks, 责任编辑: 李春禹, 
2008-04-08 08:00
  当我能够使用 Enterprise JavaBean 组件来做一切工作时,我为什么要关心新的服务组件体系结构和服务数据对象规范?SOA基于组件应用程序中发展。

  SOA 有什么真正的新特性?

  我对围绕面向服务的体系结构 (SOA) 的所有喧嚣感到有点迷惑——而您似乎被它迷住了。

  例如,在EJB倡导者: 在面向服务的体系结构中,使用无 facade 的 EJB 组件是最佳选择吗? 您描述了在设计 EJB 组件以使它们“面向服务”(例如,使它们成为粗粒度的或无状态的)时所应遵循的最佳实践。

  对我们这些使用诸如 CORBA 和 Enterprise JavaBeans 等分布式对象技术来构建过成功应用程序的人来说,您所描述的原理并不新鲜。我想我们一直都是“面向服务”的。

  我承认您从“面向服务”的体系结构中获得了比“分布式对象”体系结构更好的术语。但除此之外,我还有一个严肃的问题:存在任何有关 SOA 的新特性吗?明确地说,当我能够使用 Enterprise JavaBean 组件来做一切工作时,我为什么要关心新的服务组件体系结构 (Service Component Architecture) 和服务数据对象 (Service Data Objects) 规范?

  SCA 代表了服务器端的自然发展

  在给定我是 EJB 倡导者的前提下,下面的陈述可能会让您感到震惊——但是,您可以使用 EJB 组件以 Java 语言在服务器端编写任何代码,并不意味着您应该那样做。我的感受是,我们正在看到服务器端技术的自然发展,非常类似于我们在客户端所看到的 Java™ Servlet 的发展。

  不知您是否记得,Java Servlet 是作为一个基于标准Java 的组件来引入的,以统一与特定 Web 服务器相关联的 Java API,如 Microsoft® 的 Internet Server API (ISAPI)。Java Servlet 使得 Java 程序员能够开发组件来生成动态网页,使那些网页能够与来自不同供应商的更广泛 Web 服务器一起运行。

  最常用的组件是 HttpServlets,它处理来自 HTTP 请求流中的输入和到 HTTP 响应流中的输出的所有映射详细信息,从而将程序员解放出来以集中于应用程序流程逻辑的详细信息。

  尽管这非常不错,然而用户很快发现,使用 Java 代码来生成 HTML 非常繁琐。例如,下面是 HttpServlet doGet() 方法中用于生成简单的动态“Hello world”的代码片段:  

String name = request.getAttribute("name");
  PrintWriter pw = request.getPrintWriter();
  pw.println("");
  pw.println("");
  pw.println("
  Hello " + name + "!
  ");
  pw.println("");
  pw.println("");
  各种“模板”语言很快开始涌现出来,使您能够在 HTML 中嵌入 Java 代码,从而使得该编程模型更加“所见即所得”(WYSIWYG,即声明式的)。标准化这些方法导致了 Java Server Page (JSP) 规范的产生。使用 JSP,您可以将 Java“scriptlet” () 和“表达式” () 与 HTML 混合使用。例如,下面是某个 JSP 中用于显示相同的“Hello world”的代码片段:

  Hello !

  "

  仅只是消除括号、引号和分号本身就可以防止 Web 应用程序程序员的无数错误。此外,消除对编译、打包和部署 HttpServlet 组件的需要还极大地缩短了做出变更(无论是否为修否错误)所需的时间。

共3页。 1 2 3 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i