2BizBox平台与插件开发概述

来源:互联网 发布:上门修手机 知乎 编辑:程序博客网 时间:2024/05/21 15:24

2BizBox平台与插件开发概述

软件的平台化,是2BizBox ERP的重要发展方向之一。通过不断的优化2BizBox ERP软件体系架构,并对开发者开放完整的API开发接口,让2BizBox形成一个ERP应用平台和二次开发平台,让更多的合作伙伴和开发者投入到2BizBox ERP发展之中。有了完整的2BizBox开发平台,才能将厂商、合作伙伴、开发者、最终用户紧密的在同一个平台上共同协作,实现各自的价值。

目录

[隐藏]
  • 1概述
  • 2功能
  • 3客户端平台二次开发
    • 3.1创建窗口
    • 3.2设置logo
    • 3.3添加主菜单
    • 3.4添加子菜单
  • 4创建页面
  • 5接下来

概述

2BizBox ERP已经开始了平台化之路。之前,2BizBox已经提供了完整的API二次开发接口。通过API,开发者可以将2BizBox ERP后台和其他第三方应用程序进行无缝的系统集成。接下来,2BizBox还会开放整个客户端的二次开发平台,让开发者基于现有2BizBox ERP客户端进行快速开发和定制,创建自己的应用。再结合API,开发者与合作伙伴完全可以基于2BizBox前后台来创建完全属于自己的企业应用,同时充分利用2BizBox软件平台所提供的一切基础设施。

通过API和2BizBox客户端开发平台,开发者可以创建一系列自己的应用,或创建“插件”或“自定义模块”,插入到现有的2BizBox平台上,完善、修改和定制2BizBox ERP固有的软件流程、功能界面等等。通过下图,可以更加清晰的了解整个2BizBox软件开发平台的结构:

功能

那么,2BizBox平台都提供了什么样的功能,通过2BizBox平台又可以做什么呢?以下罗列了一些典型的应用方法:

  • 2BizBox客户端平台
    • 创建一个全新的2BizBox客户端框架;
    • 修改2BizBox客户端功能入口,包括菜单、模块等;
    • 添加自定义模块;
    • 整合第三方功能模块;
    • 修改默认图形界面风格及内容;
  • 2BizBox服务器端平台
    • 创建自定义数据库表;
    • 创建各种自定义数据库查询;
    • 创建自定义数据结构;
    • 添加自定义数据字段;
    • 创建各类自定义数据报表;

有了这些激动人心的功能和接口,我们就可以充分利用2BizBox软件平台,“随心所欲”的创建自己的应用了。

客户端平台二次开发

下面介绍如何基于2BizBox客户端平台进行二次开发。我们不禁要问:既然有了API,它可以做任何事,那么为什么还需要2BizBox客户端平台呢?

大家知道,2BizBox客户端不仅提供整个2BizBox ERP所有的操作图形界面,还处理了大量的基础业务。例如:登录、安全控制、数据的调用与传输、异常的处理、程序界面的组织和显示,等等。如果我们想要开发一个全新的模块应用,如果仅仅基于API对后台进行交互,势必要自己写代码,来重新编写全部刚才提到的基础功能。这将是一个无法想象的艰巨任务,任何开发者都不可能快速、轻易完成。

而2BizBox客户端平台,就是将现有的2BizBox客户端程序进行平台化改造处理,使之成为一个功能完整的2BizBox客户端,同时有为开发者提供了丰富的开发接口,我们不必再重写登录、安全控制、数据交换、程序显示框架等等基础任务,而直接开发自己的图形界面和模块即可。从而,可以达到快速开发“自定义模块”和“插件”的目的。

下面我们就以实际代码来做一个例子。通过这个例子,大家就能够体会到,通过2BizBox客户端平台进行开发是多么容易的事情。

我们首先介绍如何创建和定制一个完全属于自己的2BizBox客户端框架。

在此之间,我们再次熟悉一下2BizBox客户端的结构。打开2BizBox客户端,我们可以看到,整个图形界面只有一个主窗口,我们称之为MainUI。在主窗口内部,有顶部的菜单栏、底部的状态栏、左边的模块栏,以及中间的内容栏。

对于开发者来说,我们首先想到的,就是想创建一个干净的、纯净的、自定义的主窗口,我们可以定制要显示什么、不要显示什么,并任意添加自己的内容。要做到这一点非常容易:我们可以继承2BizBox客户端平台提供的主窗口类:AppMainUI。AppMainUI是一个干净的、具有完整功能的、没有任何内容的主窗口。它具有完整的登录、通讯、异常处理、显示框架、显示风格等内容,但是界面上却是一个完全空空的主窗口,我们可以在上面添加任何自定义功能。这正是我们想要的。

下面我们就亲自动手,通过简单的代码来尝试如何使用AppMainUI。不要被“写代码”吓到,即使您不是一个程序员,不动写代码,您也完全可以编写和运行本文中提到的例子,因为它非常简单。

创建窗口

启动Netbeans或Eclipse。如对此不熟悉,请先阅读2BizBox_API开发教程。在Netbeans中创建一个工程,并引入2BizBox平台所需的所有运行库文件。所需所有库文件都在这里可以下载:[[1]]。将接口库文件、环境库文件下载后解压,将其中的所有jar文件引入您的IDE工程即可。

然后,创建一个Java类,内容如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package test;
 
import com.serva.bb2.gui.Main;
import free.AppMainUI;
 
public class MyMainUI extendsAppMainUI {
 
    @Override
    publicString getTitle() {
        return"Hello 2BizBox";
    }
 
    publicstatic void main(String[] args) {
        Main.launchBizBox(MyMainUI.class.getName());
    }
}

是的,就这么简单,一个简单的2BizBox程序就创建完成了。其中,我们创建了新的Java类MyMainUI ,它继承于2BizBox客户端平台提供的AppMainUI主窗口类。我们重载了getTitle方法, 返回了一个新的窗口标题。最后,编写启动主函数main,其中用Main.launchBizBox方法来启动2BizBox主窗口。

编译,运行这个Java类。怎么样?奇迹发生了。首先,程序会显示一个完整的2BizBox登陆界面。此时,您可以输入连接信息,连接一台正在运行的2BizBox服务器。点击登录按钮后,一个我们自定义的全新主界面呈现在眼前。正如我们预期的那样:它具有完整的登录和显示功能,但内容空空。如下图:

这是一个干净的主窗体。但是,它具有完整的、基本的2BizBox客户端功能。它已经实现了登录、安全控制;它已经与服务器建立的通讯,并进行心跳连接;它已经获取了服务器和当前数据库的各种信息。只是,它没有显示任何内容而已。

细心的读者可能已经注意到,这个空窗口虽然有完整的状态条,但是右上角并没有显示系统logo。下面我们稍微修改代码,加上logo:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package test;
 
import com.serva.bb2.gui.Main;
import free.AppMainUI;
import free.FreeMenuBar;
public class MyMainUI extendsAppMainUI {
 
    publicMyMainUI() {
        FreeMenuBar menubar = getFreeMenuBar();
        //add logo here.
        addMenuBarLogo(menubar);
    }
 
    @Override
    publicString getTitle() {
        return"Hello 2BizBox";
    }
 
    publicstatic void main(String[] args) {
        Main.launchBizBox(MyMainUI.class.getName());
    }
}

上面的修改,仅仅是在构造函数中,加入了两句话。第一句话FreeMenuBar menubar = getFreeMenuBar()用来获取当前主窗口的主菜单,第二句话addMenuBarLogo(menubar);用来在主菜单上加入logo。再次运行代码,效果如下图:

怎么样,右上角熟悉的“现代管理、世界共享”的2BizBox口号logo出现了。

添加主菜单

接下来,我们在主菜单上添加两个我们自己定义的菜单。在创建菜单、添加logo前面,添加以下几句话:

?
1
2
3
4
5
6
FreeMenuBar menubar = getFreeMenuBar();
menubar.add(newFreeRootMenu("文件"));
menubar.add(newFreeRootMenu("工具"));
menubar.add(newFreeRootMenu("帮助"));
//add logo here.
addMenuBarLogo(menubar);

好了。重新运行程序,我们的主菜单有内容了:

添加子菜单

熟悉Java Swing编程的朋友,添加一个子菜单是很简单的。下面我们继续写代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public MyMainUI() {
    FreeMenuBar menubar = getFreeMenuBar();
    menubar.add(createMenu("文件"));
    menubar.add(createMenu("工具"));
    menubar.add(createMenu("帮助"));
    //add logo here.
    addMenuBarLogo(menubar);
}
 
private FreeRootMenu createMenu(String text) {
    FreeRootMenu menu =new FreeRootMenu(text);
    for(int i = 0; i < 10; i++) {
        JMenuItem item =new JMenuItem("子菜单");
        menu.add(item);
    }
    returnmenu;
}

以上代码稍作修改。每个主菜单通过一个createMenu函数生成,里面添加了10个子菜单项。重新运行程序,我们的主菜单有子菜单了:

创建页面

有了主窗口、菜单,还是远远不够的。实际开发中,我们需要显示更多具体页面,来显示业务数据。下面,我们就在菜单项上面添加动作,来创建和显示一个子页面。

在2BizBox平台中,一个子页面的基类是ClientUI。我们可以继承它,或直接new一个ClientUI,显示在主窗口中。

下面,我们就在前面的菜单项上面添加动作,点击后,在程序中显示一个空白的子页面。修改创建菜单的循环,添加代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
for (int i = 0; i < 10; i++) {
    JMenuItem item =new JMenuItem("子菜单");
    item.addActionListener(newActionListener() {
 
        @Override
        publicvoid actionPerformed(ActionEvent e) {
            ClientUI ui =new ClientUI();
            ui.setTitle("我的ERP我做主");
            showTab(ui);
        }
    });
    menu.add(item);
}

以上代码,给每一个菜单项添加一个动作,创建一个空白的页面,设置标题,并显示出来。运行,点击菜单,效果如下图:

接下来

接下来,我们可以做什么呢?其实,可以做任何事了。我们可以自己创建ClientUI页面,自己添加按钮、通过API从后台获得数据,并进行显示、编辑、处理、报表、打印....无所不能。难道不是么?接下来,就看您的想象力了。


原创粉丝点击