Thursday, August 06, 2009

Anonymous Example In .Net 3.5

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
Lazy m_lazyInstance2 =
new Lazy(delegate { return new BigInstance(); });

BigInstance sdy = m_lazyInstance2.Value;


Lazy m_lazyInstance3 =
new Lazy(delegate { return new BigInstance2(); });

BigInstance2 sdy2 = m_lazyInstance3.Value;
}

}

public class BigInstance
{

}

public class BigInstance2
{

}

public class Lazy
{
public Lazy(Func func)
{
this.m_initialized = false;
this.m_func = func;
this.m_mutex = new object();
}

private Func m_func;

private bool m_initialized;
private object m_mutex;
private T m_value;

public T Value
{
get
{
if (!this.m_initialized)
{
lock (this.m_mutex)
{
if (!this.m_initialized)
{
this.m_value = this.m_func();
this.m_func = null;
this.m_initialized = true;
}
}
}

return this.m_value;
}
}
}


}

Wednesday, August 05, 2009

PDM与ERP集成中的BOM技术(ZT)

随着市场竞争日趋激烈, 企业纷纷寻求有效的方法最大限度地提高产品质量, 降低产品成本, 缩短产品开发周期。针对如何改变传统的设计制造模式,以充分利用企业现有资源, 使设计和生产效率大幅度提高, PDM 和ERP 等现代技术应运而生。PDM偏重于设计领域, ERP 偏重于生产领域, 二者的集成是必然的, 而BOM 是PDM 和ERP 的交汇点。

1 BOM 与PDM/ERP 的关系

1. 1 BOM 在PDM/ERP 中的地位

机械产品设计中, 产品模型是一个层次结构, 包括产品、部件、组件和零件。该层次结构可用一种根部在上倒置的树状图来表示, 如图1 所示是一眼镜产品的结构树。为了便于计算机识别, 必须把产品结构图转换成规范的数据格式, 这种用规范的数据格式来描述产品结构的文件就是物料清单(BOM)。它主要包括制造BOM、计划BOM和成本BOM。就其本质而言,BOM 是一种反映产品结构的技术文件,反映了产品与零部件间层次关系, 包括构成父件的所有子件及其原材料信息, 有关产品及其零部件的编码、规格、材料等信息。在任何制造环境中, 各部门都要从文件中获取特定的数据, 以指导生产。

PDM 是连接CAD/CAPP 与ERP 的核心模块, 在产品整个生命周期, PDM 以数据仓库(所有系统可共用1 个数据库) 为底层支持, 以物料清单(BOM ) 为其组织核心, 把定义最终产品的所有工程数据和文档联系起来, 实现产品数据的组织和管理,诸如产品配制管理、图文档管理、工作流程管理、设计变更管理、权限(角色) 管理、版本管理、项目管理、维修记录以及日志管理等等。PDM 系统根据各自的功能特点与可解决工程问题的不同分为3 大类:1) 以文档、数据管理为重点; 2) 以设计过程及产品结构管理为主面向CAD; 3) 面向硬、软件异构系统集成平台。其中第2 类与BOM 信息最为密切, 经过转化处理, 达到ERP所需要的BOM 信息。企业如何成功实施ERP, 数据的可靠准确性是关键。ERP系统中物料及物料清单即BOM 产生的数据是企业信息化中信息流的核心, 在ERP 系统数据库中起着基础与桥梁作用。BOM 建立的合理与否最终关系到ERP 系统在企业中能否运行流畅。

1. 2 PDM 和ERP 的联系

PDM 和ERP 是管理整个产品定义和产品生命周期的核心。随着PDM 和ERP 功能的扩大和外延, 其部分功能也出现了相互重叠的区域, 如产品结构/物料清单(BOM ) 管理、产品零件的统计及管理等。如何更好地共享PDM 和ERP 之间的信息, 对优化设计和制造过程来说是至关重要的, 而最好的解决方案是实现二者的高度集成。PDM 和ERP 的联系说明它们之间的集成是必要的, 而且是可行的,而建立统一的BOM 是二者集成的关键所在。

2 PDM 与ERP 的集成方法

PDM 技术和ERP 技术是当前先进制造技术群中涉及企业管理的2 个重要技术领域。从理论上说,PDM 能够集成并管理所有与产品有关的信息与产品相关的过程(续致信网上一页内容)。ERP 则是在MRP II 基础上发展起来的、先进的企业经营管理模式。虽然PDM 和ERP在管理重点上有所不同, 但是, 由于同一产品的形成周期涉及PDM 和ERP 2 个领域, 所以, 对PDM 和ERP 进行系统集成研究, 对于有效缩短产品形成周期, 加速产品从设计领域到制造领域的转化, 从根本上促进企业的现代化进程具有十分重要的现实意义。PDM 系统与ERP 系统的集成即是CMS 系统集成的重点, 也是难点之一。

2. 1 PDM 和ERP 系统的集成模式

PDM 和ERP 系统的集成, 主要有以下3 种模式。

1) 用系统的封装 封装性的概念来自于面向对象的程序设计, 是指把对象的属性和操作方法同时封装在所定义的对象中。封装使数据和操作有了统一的模型界面, 提供了逻辑独立性。封装系统可以满足以文件形式生成的所有数据的应用系统的集成需求。

2) 文件接口交换 接口交换是比应用封装更高层次的集成模式。通过抽取PDM 和ERP 系统中需要共享的数据模型, 建立统一的数据结构或文件接口标准, 在PDM 系统和ERP 系统之间实现产品数据及其相关文档无缝地双向传输。

3) 统一数据模型 建立统一数据模型是PDM和ERP 系统的完全集成模式。由于PDM 系统和ERP 系统的底层都是关系型数据库, 关于产品的数据也都存放在各自的数据库中, 统一数据模型模式就是要建立统一数据模型的数据库, 2 个系统都直接对数据库中的数据进行操作并交换数据。

可以建立抽象的统一数据模型, 借助于PDM系统和ERP 系统各自开发的数据库访问工具实现2 个系统各自的数据模型与统一数据库模型的映射和相互之间数据的自动交换。

2. 2 统一BOM 模型

产品结构和物料清单BOM 是PDM 和ERP 系统最关键的接口。在这个层次上, 2 种技术的出发点不同: PDM 系统的产品结构给出了产品“按设计角度”的视图, 或者产品具体是什么, 以及怎样用与之相关的工程数据来描述; 而ERP 系统的物料清单是“按制造角度”的视图, 它将零部件和装配看成同样的集合, 或者说是描述产品怎样在车间生产以及怎样将它们装配起来。

为了真正实现PDM 系统和ERP 系统中不同BOM 表的统一, 必须建立能够包含各种BOM 信息的统一BOM 表。在PDM 系统中的设计BOM 和ERP 系统中的制造BOM、计划BOM、成本BOM 等都是从统一BOM 表中映射的不同视图。统一BOM表中的物料信息, 有些是设计BOM 和制造BOM 共有的, 有些只是制造BOM 或者计划BOM 特有的。统一BOM 表必须能区分开这些信息。统一BOM 是各类业务应用公用的数据总线, 它与PDM 系统中的产品结构管理模块、CAPP 系统中编制工艺卡片模块、ERP 系统中的物料需求计划MRP 模块等都有密切的关系。在PDM 系统和ERP 系统中对BOM 表的访问, 只是对这些不同视图的访问。

这样, 既可保证各种BOM 表中数据的一致性,也可方便地从PDM 系统和ERP 系统的不同模块中维护各自相关的BOM 表。统一BOM 模型的提出, 实现了真正意义上PDM 与ERP 系统的完全集成。

2. 3 统一模型数据库

统一模型数据库是PDM 系统数据库和ERP系统数据库的综合与统一。首先分别建立PDM 系统和ERP 系统的通用数据模型, 然后建立同一BOM 表和2 个系统的共享数据模型, 最后合并这些数据模型, 建立能同时支持PDM 系统和ERP 系统的统一模型数据库。统一模型数据库与PDM 系统数据库和ERP 系统数据库的关系如图2 所示。

可以看出, 统一模型数据库是PDM系统数据库和ERP系统数据库的并集, 二者的交集就是统一BOM 表和2 个系统的共享数据模型。

2. 4 PDM 与ERP 在CMS 系统框架中的集成

CMS 系统的应用集成框架基于统一模型数据库, 支持PDM 系统和ERP 系统的各种应用软件的集成。通过企业级PDM 系统可以实现CAD,CAPP, CAM , CA E 等CAX 应用软件的集成。企业级ERP 系统的扩充与延伸可以与CRM , SCM , EC,OA 等系统实现集成。所以, CMS 系统的应用集成框架主要为PDM 系统和ERP系统的集成提供标准接口。基于统一模型数据库的CMS 集成框架如图3 所示。PDM 系统和ERP 系统可以保留各自的数据库, 通过CMS 集成框架实现PDM 系统数据库和ERP 系统数据库与统一模型数据库的同步更新, 保持数据的完整性与一致性。

3 结语

采用统一BOM 技术, 建立统一模型数据库和基于统一模型数据库的CMS 集成框架是实现PDM 系统和ERP 系统完全集成的一个可行的实用集成方法, 它不仅适用于企业级应用集成, 也同样适用于企业间的应用集成。