当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪安装CORBA产品VisiBroker注意问题          这篇博客主要记录以及分享安装VisiBroker中间件的注意事项以及问题解决方案。        VisiBroker的概念:    visibroker由boland公司提供,有visibroker for java,visibroker for.........
    ▪构造模式(Builder Pattern)                从简单的对象一步一步构造一个复杂的对象,这就叫做构建模式。它是属于创建设计模式之一,也挺常用的。        适用场合和好处:  仅仅通过.........
    ▪安装CORBA产品visibroker注意问题          这篇博客主要记录以及分享安装VisiBroker中间件的注意事项以及问题解决方案。        VisiBroker的概念:    visibroker由boland公司提供,有visibroker for java,visibroker for.........

[1]安装CORBA产品VisiBroker注意问题
    来源: 互联网  发布时间: 2013-11-19

    这篇博客主要记录以及分享安装VisiBroker中间件的注意事项以及问题解决方案。

   

   VisiBroker的概念:

   visibroker由boland公司提供,有visibroker for java,visibroker for dephi,visibroker for c++ 三个版本。
   在上篇博客中也谈到COBBA的优点是不局限语言。其中使用visibroker也就是根据cobba规范而开发的cobba产品之一。
   
   VisiBroker的作用:
   简单而言,利用visibroker帮助开发人员生成分布式需要的客户端stub和服务端的skeleton。这样,避免了开发人员了解以及开发底层通信,这些都是由此中间件给我们实现,而我们开发人员则只要专注业务逻辑实现。
  至于COBBA中远程通信的原理在下篇博客讨论总结。

  安装visiBroker:
  在熟悉这个中间件时,让我想起c++中发布服务中用到的gsoap方式,同时也是利用gsoap中提供的命令生成stub存根方式,所以难免会有熟悉感觉,其实rmi方式,webservice方式也好,都可以使用stub方式。
   
  安装选择问题:
  至于visiBroker网上的资料都是2000年的,大部分都是使用visiBroker for java 4.5 ,并且需要的jdk1.2 或1.3.
  但是在所谓官网上,查找visiBroker时,却没有找到以往的版本,同时也没有查找到分开比如for java,因此只想测试for java。
   而不像struts官网那样,把old版本放在其他的地址,但是也会保留。而这个visiBroker,找了好半天是没有发现。

   visiBroker下载网站:
   https://www.microfocus.com/products/corba/index.aspx
   
   下载的是visibroker8.5版本,并且填写信息后,此网站会自动发序列号或key到您的邮箱。
    发的邮件如下:
   
Product Download Links

Legal and Supplementary Items
VisiBroker : End User License Agreement - Please Read This First
VisiBroker : Release Notes for VisiBroker 8.5
VisiBroker : Version 8.5 - HP Itanium 32-bit
VisiBroker : Version 8.5 - HP Itanium 64-bit
VisiBroker : Version 8.5 - Power PC AIX 32-bit
VisiBroker : Version 8.5 - Power PC AIX 64-bit
VisiBroker : Version 8.5 - MontaVista Linux CGE V4.0 - x86 running Monta Vista Linux CGE 4.0 Cross 64-bit
VisiBroker : Version 8.5 - MontaVista Linux CGE V4.0 - x86 running Monta Vista Linux CGE 4.0 Native 64-bit
VisiBroker : Version 8.5 - Red Hat Linux 5.5/6.1 32-bit
VisiBroker : Version 8.5 - Red Hat Linux 5.5/6.1 64-bit
VisiBroker : Version 8.5 - Sparc Solaris 10 32-bit
VisiBroker : Version 8.5 - Sparc Solaris 10 64-bit
VisiBroker : Version 8.5 - x86 Solaris 10 32-bit
VisiBroker : Version 8.5 - x86 Solaris 10 64-bit
VisiBroker : Version 8.5 - SUSE Linux 10/11 32-bit
VisiBroker : Version 8.5 - SUSE Linux 10/11 64-bit
VisiBroker : Version 8.5 - Windows 64-bit
VisiBroker : Version 8.5 - Windows 32-bit
VisiBroker : Version 8.5 - Windows 32-bit for Embarcadero C++ 6.31
VisiBroker : Version 8.5 - HP-UX 11i v3/11.31 on PA-RISC 32-bit READ ME FIRST
VisiBroker : Version 8.5 - HP-UX 11i v3/11.31 on PA-RISC 32-bit
   Product Download Links

  • Legal and Supplementary Items
  • VisiBroker : End User License Agreement - Please Read This First
  • VisiBroker : Release Notes for VisiBroker 8.5
  • VisiBroker : Version 8.5 - HP Itanium 32-bit
  • VisiBroker : Version 8.5 - HP Itanium 64-bit
  • VisiBroker : Version 8.5 - Power PC AIX 32-bit
  • VisiBroker : Version 8.5 - Power PC AIX 64-bit
  • VisiBroker : Version 8.5 - MontaVista Linux CGE V4.0 - x86 running Monta Vista Linux CGE 4.0 Cross 64-bit
  • VisiBroker : Version 8.5 - MontaVista Linux CGE V4.0 - x86 running Monta Vista Linux CGE 4.0 Native 64-bit
  • VisiBroker : Version 8.5 - Red Hat Linux 5.5/6.1 32-bit
  • VisiBroker : Version 8.5 - Red Hat Linux 5.5/6.1 64-bit
  • VisiBroker : Version 8.5 - Sparc Solaris 10 32-bit
  • VisiBroker : Version 8.5 - Sparc Solaris 10 64-bit
  • VisiBroker : Version 8.5 - x8
        
[2]构造模式(Builder Pattern)
    来源: 互联网  发布时间: 2013-11-19

          从简单的对象一步一步构造一个复杂的对象,这就叫做构建模式。它是属于创建设计模式之一,也挺常用的。

       适用场合和好处:

  •  仅仅通过指定它的类型和内容来生成一个复杂的对象,而这个构造的对象隐藏在它的构建细节。
  •  想分离构建一个复杂对象的过程。
  •  为析构和呈现而隔离代码
  •  给予你更好的控制析构(construction)过程。
  •        对于组合(Composite), 它经常用来构建一个复杂的对象,而构建模式则强调从简单的对象构建一个复杂的对象。
           分析一个实例,如下:
           假如有一个构建房屋的程序,有几个造房子的步骤,完成这些步骤就好。
           House.java类
        
    public class House {
        private String type = null;
        private List features = new ArrayList();
    
        public House() {
        }
    
        public House(String type) {
            this.type = type;
        }
    
        public void setType(String type) {
            this.type = type;
        }
    
        public String getType() {
            return type;
        }
    
        public void setProgress(String s) {
            features.add(s);
        }
    
        public String toString() {
            StringBuffer ff = new StringBuffer();
            String t = type.substring(6);
            ff.append(t + "\n ");
            int size =  features.size();
            for (int i = 0; i < size; i++) {
                 ff.append(features.get(i) + "\n ");
            }
            return ff.toString();
        }
    }

       它的子类Skyscraper.java
    public class Skyscraper extends HouseBuilder {
    
        Skyscraper(String type){
            System.out.println("--Building the house "+ type);
            house.setType(this.getClass() +" :"+ type);
        }
        @Override
        public void buildFoundation() {
              //doEngineering()
            //doExcavating()
            //doPlumbingHeatingElectricity()
            //doSewerWaterHookUp()
            //doFoundationInspection()
            house.setProgress("foundation is done");
        }
    
        @Override
        public void buildFrame() {
            //doHeatingPlumbingRoof()
            //doElectricityRoute()
            //doDoorsWindows()
            //doFrameInspection()
            house.setProgress("frame is done");
        }
    
        @Override
        public void buildExterior() {
             //doOverheadDoors()
            //doBrickWorks()
            //doSidingsoffitsGutters()
            //doDrivewayGarageFloor()
            //doDeckRail()
            //doLandScaping()
            house.setProgress("Exterior is waiting to start");
        }
    
        @Override
        public void buildInterior() {
             //doBuiltinVacuum()
            //doInsulation()
            //doDryWall()
            //doPainting()
            //doLinoleum()
            //doCabinet()
            //doTileWork()
            //doLightFixtureBlinds()
            //doCleaning()
            //doInteriorInspection()
            house.setProgress("Interior is not started yet");
        }
    }
    

          定义一个房子构造抽象类HouseBuilder.java.
    abstract class HouseBuilder {
        protected House house = new House();
    
        //show the building info
        protected String showProgress() {
            return house.toString();
        }
    
        abstract public void buildFoundation();
        abstract public void buildFrame();
        abstract public void buildExterior();
        abstract public void buildInterior();
    }

          构造启动类Workshop.java.
    public class Workshop{
        public void construct(HouseBuilder builder){
            builder.buildFoundation();
            builder.buildFrame();
            builder.buildExterior();
            builder.buildExterior();
        }
    }
    

          测试这个构造模式,代码如下:
    public class Builder {
        public static void main(String []args){
            System.out.println("---- Builder Pattern ---------");
    
            //initialize two house builder objects
            HouseBuilder skyscraperOne = new Skyscraper("************Telnet");
            HouseBuilder skyscraperTwo = new Skyscraper("****************DongDu");
    
            //build the workspace for the project
            Workshop workshop = new Workshop();
            workshop.construct(skyscraperOne);
            workshop.construct(skyscraperTwo);
    
            //show the building information
            System.out.println("---check the building-----");
            System.out.println(skyscraperOne.showProgress());
            System.out.println(skyscraperTwo.showProgress());
        }
    }

          结果如下:
    ---- Builder Pattern ---------
    --Building the house ************Telnet
    --Building the house ****************DongDu
    ---check the building-----
    org.pattern.rationaljava.creationalpattern.Skyscraper :************Telnet
     foundation is done
     frame is done
     Exterior is waiting to start
     Exterior is waiting to start
     
    org.pattern.rationaljava.creationalpattern.Skyscraper :****************DongDu
     foundation is done
     frame is done
     Exterior is waiting to start
     Exterior is waiting to start

          

    作者:GreatElite 发表于2013-5-13 23:45:28 原文链接
    阅读:40 评论:0 查看评论

        
    [3]安装CORBA产品visibroker注意问题
        来源: 互联网  发布时间: 2013-11-19

        这篇博客主要记录以及分享安装VisiBroker中间件的注意事项以及问题解决方案。

       

       VisiBroker的概念:

       visibroker由boland公司提供,有visibroker for java,visibroker for dephi,visibroker for c++ 三个版本。
       在上篇博客中也谈到COBBA的优点是不局限语言。其中使用visibroker也就是根据cobba规范而开发的cobba产品之一。
       
       VisiBroker的作用:
       简单而言,利用visibroker帮助开发人员生成分布式需要的客户端stub和服务端的skeleton。这样,避免了开发人员了解以及开发底层通信,这些都是由此中间件给我们实现,而我们开发人员则只要专注业务逻辑实现。
      至于COBBA中远程通信的原理在下篇博客讨论总结。

      安装visiBroker:
      在熟悉这个中间件时,让我想起c++中发布服务中用到的gsoap方式,同时也是利用gsoap中提供的命令生成stub存根方式,所以难免会有熟悉感觉,其实rmi方式,webservice方式也好,都可以使用stub方式。
       
      安装选择问题:
      至于visiBroker网上的资料都是2000年的,大部分都是使用visiBroker for java 4.5 ,并且需要的jdk1.2 或1.3.
      但是在所谓官网上,查找visiBroker时,却没有找到以往的版本,同时也没有查找到分开比如for java,因此只想测试for java。
       而不像struts官网那样,把old版本放在其他的地址,但是也会保留。而这个visiBroker,找了好半天是没有发现。

       visiBroker下载网站:
       https://www.microfocus.com/products/corba/index.aspx
       
       下载的是visibroker8.5版本,并且填写信息后,此网站会自动发序列号或key到您的邮箱。
        发的邮件如下:
       
    Product Download Links
    
    Legal and Supplementary Items
    VisiBroker : End User License Agreement - Please Read This First
    VisiBroker : Release Notes for VisiBroker 8.5
    VisiBroker : Version 8.5 - HP Itanium 32-bit
    VisiBroker : Version 8.5 - HP Itanium 64-bit
    VisiBroker : Version 8.5 - Power PC AIX 32-bit
    VisiBroker : Version 8.5 - Power PC AIX 64-bit
    VisiBroker : Version 8.5 - MontaVista Linux CGE V4.0 - x86 running Monta Vista Linux CGE 4.0 Cross 64-bit
    VisiBroker : Version 8.5 - MontaVista Linux CGE V4.0 - x86 running Monta Vista Linux CGE 4.0 Native 64-bit
    VisiBroker : Version 8.5 - Red Hat Linux 5.5/6.1 32-bit
    VisiBroker : Version 8.5 - Red Hat Linux 5.5/6.1 64-bit
    VisiBroker : Version 8.5 - Sparc Solaris 10 32-bit
    VisiBroker : Version 8.5 - Sparc Solaris 10 64-bit
    VisiBroker : Version 8.5 - x86 Solaris 10 32-bit
    VisiBroker : Version 8.5 - x86 Solaris 10 64-bit
    VisiBroker : Version 8.5 - SUSE Linux 10/11 32-bit
    VisiBroker : Version 8.5 - SUSE Linux 10/11 64-bit
    VisiBroker : Version 8.5 - Windows 64-bit
    VisiBroker : Version 8.5 - Windows 32-bit
    VisiBroker : Version 8.5 - Windows 32-bit for Embarcadero C++ 6.31
    VisiBroker : Version 8.5 - HP-UX 11i v3/11.31 on PA-RISC 32-bit READ ME FIRST
    VisiBroker : Version 8.5 - HP-UX 11i v3/11.31 on PA-RISC 32-bit
       Product Download Links

    • Legal and Supplementary Items
    • VisiBroker : End User License Agreement - Please Read This First
    • VisiBroker : Release Notes for VisiBroker 8.5
    • VisiBroker : Version 8.5 - HP Itanium 32-bit
    • VisiBroker : Version 8.5 - HP Itanium 64-bit
    • VisiBroker : Version 8.5 - Power PC AIX 32-bit
    • VisiBroker : Version 8.5 - Power PC AIX 64-bit
    • VisiBroker : Version 8.5 - MontaVista Linux CGE V4.0 - x86 running Monta Vista Linux CGE 4.0 Cross 64-bit
    • VisiBroker : Version 8.5 - MontaVista Linux CGE V4.0 - x86 running Monta Vista Linux CGE 4.0 Native 64-bit
    • VisiBroker : Version 8.5 - Red Hat Linux 5.5/6.1 32-bit
    • VisiBroker : Version 8.5 - Red Hat Linux 5.5/6.1 64-bit
    • VisiBroker : Version 8.5 - Sparc Solaris 10 32-bit
    • VisiBroker : Version 8.5 - Sparc Solaris 10 64-bit

    •     
    最新技术文章:
     




    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3