Tải bản đầy đủ (.pdf) (73 trang)

Tích hợp FileNet với IBM Content Manager docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.26 MB, 73 trang )

Tích hợp FileNet với IBM Content
Manager, Phần 1: Phân tích, thiết kế và mô
hình hóa khi sử dụng FileNet Business
Process Manager và IBM Content Manager
Một ví dụ sử dụng kịch bản "Công ty ABC"
Peng Shi, Kỹ sư phần mềm, Phát triển IBM Content Manager, IBM Japan
Dipayan Gangopadhyay, Cố vấn cao cấp, IBM Research, IBM Japan
Tóm tắt: Đây là bài đầu tiên trong loạt bốn bài viết chỉ cho bạn cách tích hợp
FileNet Business Process Management (FileNet BPM- Quản lý quy trình nghiệp
vụ FileNet) với IBM Content Manager (IBM ECM - Nhà quản lý nội dung doanh
nghiệp của IBM) phiên bản 8 (CM8). Tận dụng các tính năng tốt nhất của cả hai
FileNet và Content Manager nhờ cho phép FileNet BPM sử dụng IBM Content
Manager làm kho lưu trữ nội dung của nó. Nếu bạn đã có IBM Content Manager,
bạn có thể sử dụng FileNet BPM để quản lý quy trình nghiệp vụ của bạn còn nếu
bạn là người mới đến với phần mềm IBM ECM, bạn có nhiều lựa chọn hơn trong
FileNet BPM với các kho lưu trữ nội dung khác nhau. Loạt bài này sử dụng hệ
thống yêu cầu bồi thường bảo hiểm của Công ty ABC làm một ví dụ hư cấu để cho
bạn thấy cách tích hợp hai sản phẩm mạnh mẽ này.
Giới thiệu về kiến trúc FileNet P8 BPM
FileNet Business Process Manager (BPM) có tính linh hoạt và khả năng mở rộng
để xử lý các quy trình nghiệp vụ phức tạp nhất. Nó có thể xử lý hàng triệu giao
dịch, hàng ngàn người sử dụng và nhiều ứng dụng nghiệp vụ. Nó cũng cung cấp
một bộ các công cụ cho phép bạn tạo, chỉnh sửa, quản lý, phân tích và mô phỏng
các quy trình nghiệp vụ riêng của bạn. Quy trình nghiệp vụ có thể được thực hiện
trực tiếp trong giao diện người dùng chung, vùng làm việc của FileNet. Bạn cũng
có thể xây dựng ứng dụng của bạn với Process Engine API (API Máy Quy trình)
để thực hiện các quy trình nghiệp vụ này.
Nền tảng FileNet P8 cung cấp các thành phần cơ bản, bao gồm Máy Nội dung
(Content Engine), Máy Quy trình (Process Engine), Máy Ứng dụng (Application
Engine) và Máy Biểu diễn (Rendition Engine). Thành phần quan trọng nhất được
sử dụng để quản lý quy trình nghiệp vụ (BPM) là Máy Quy trình. Hình 1 cho thấy


biểu đồ kiến trúc của nó.
Simpo PDF Merge and Split Unregistered Version -

Hình 1. Kiến trúc FileNet P8 BPM

Như bạn có thể thấy trong biểu đồ trên, ngoài Máy Quy trình mạnh mẽ, FileNet
BPM cũng cung cấp nhiều dịch vụ và công cụ thuận tiện để quản lý tất cả các khía
cạnh của quy trình nghiệp vụ, chẳng hạn như định tuyến quy trình, quản lý các quy
tắc, mô phỏng và mô hình hóa quy trình và phân tích quy trình. Phần sau đây cho
bạn thấy cách sử dụng các công cụ này để phân tích, mô hình hóa và thực hiện các
quy trình nghiệp vụ riêng của bạn.


Giới thiệu kiến trúc IBM Content Manager
IBM Content Manager là một danh mục sản phẩm được thiết kế để quản lý các
khối nội dung không theo cấu trúc. Nội dung không theo cấu trúc này bao gồm các
tài liệu, các hình ảnh, các tệp âm thanh, các băng video chạy suốt, các bản ghi
thanh toán, các bản ghi nghiệp vụ và nội dung Web. Nó cung cấp hai giải pháp
quản lý nội dung có sẵn, Khách hàng Windows® và Khách hàng điện tử, dựa trên
nền tảng tích hợp của nó cho các giải pháp nghiệp vụ điện tử. Content Manager
của IBM hỗ trợ DB2® và Oracle, đó là các hệ thống cơ sở dữ liệu doanh nghiệp
chủ đạo. Và nó hỗ trợ nhiều nền tảng bao gồm cả Windows và Linux®, Unix®
mức trung gian và z/OS® mức cao. Bằng cách sử dụng các cơ sở hạ tầng bên dưới
mạnh mẽ, nó có thể xử lý một khối lượng lớn nội dung với hiệu năng tốt. Hình 2
mô tả kiến trúc của nó.
Simpo PDF Merge and Split Unregistered Version -

Hình 2. Kiến trúc IBM Content Manager

Nhiều công ty, đã sử dụng IBM Content Manager làm kho lưu trữ nội dung quan

trọng của họ, có thể tìm nhiều cách để sử dụng FileNet BPM như là cách để quản
lý các quy trình nghiệp vụ dựa trên nội dung của họ. Loạt bài này này sử dụng một
công ty hư cấu, Công ty ABC, làm ví dụ để cho bạn thấy các hướng dẫn từng bước
về cách bạn có thể tích hợp FileNet BPM với IBM Content Manager.
Động lực cho việc tích hợp FileNet P8 BPM với IBM Content Manager là để cho
phép doanh nghiệp được hưởng các lợi ích của ứng dụng chuyên sâu nội dung dựa
vào quy trình và để di chuyển ra xa khỏi các ứng dụng nguyên khối ở đó các quy
trình nghiệp vụ và các quy tắc toàn vẹn thông tin bị chôn chặt bên trong mã ứng
dụng. Các khách hàng doanh nghiệp hiện tại của IBM suốt nhiều năm qua đã sử
dụng khả năng mở rộng của IBM Content Manager. Họ không chỉ xây dựng các
ứng dụng nghiệp vụ trên IBM Content Manager, mà còn tích lũy hàng petabyte nội
dung doanh nghiệp trong các kho lưu trữ đó.
Mặt khác, dựa vào yêu cầu để đạt được tính nhanh nhạy nghiệp vụ cao hơn, hiện
nay đang có sự chuyển động đáng kể trong các doanh nghiệp để có các quy trình
nghiệp vụ của họ thường trú rõ ràng bên ngoài các ứng dụng, để cho họ có thể
nắm quyền sở hữu các quy trình nghiệp vụ này, thay vì bị gắn chặt với chu kỳ phát
hành của các nhà cung cấp ứng dụng nhằm thực hiện các sáng kiến tái cơ cấu quy
trình nghiệp vụ của họ. FileNet P8 BPM cung cấp khả năng tự động hóa quy trình
nghiệp vụ tốt nhất cho các ứng dụng chuyên sâu-nội dung. Như vậy, các khả năng
của FileNet P8 BPM tích hợp với IBM Content Manager trở thành một nền tảng
chiến lược cho các chủ nhân của kho lưu trữ hiện tại với mục đích nắm quyền sử
hữu về các quy trình nghiệp vụ của họ trong khi vẫn bảo tồn các vốn đầu tư hiện
Simpo PDF Merge and Split Unregistered Version -
có trong các sản phẩm kho lưu trữ của chúng ta và không di chuyển hàng petabyte
nội dung hiện có.


Case study - các yêu cầu nghiệp vụ của Công ty ABC
Công ty ABC là một công ty bảo hiểm lớn trong một quốc gia mới nổi tập trung
vào bảo hiểm nhân thọ và bảo hiểm tự động. Nó có nhiều tài liệu được lưu trữ

trong IBM Content Manager, như các tài liệu chính sách, các hình ảnh, các tài liệu
về các yêu cầu bồi thường và các tài liệu thông tin khách hàng.
Công ty cần điều chỉnh các quy tắc và logic nghiệp vụ của mình dựa trên việc thay
đổi liên tục các yêu cầu nghiệp vụ. Tuy nhiên, rất tốn kém để thay đổi quy trình
nghiệp vụ và quy tắc nghiệp vụ được nhúng trong các ứng dụng hiện có. Họ muốn
có một giải pháp để cải thiện tính nhanh nhạy nghiệp vụ và để cho phép họ có thể
thúc đẩy phát triển nghiệp vụ. Công ty ABC có các yêu cầu sau:
 Quy trình nghiệp vụ và các quy tắc có thể được mô phỏng.
 Quy trình nghiệp vụ và các quy tắc có thể được theo dõi, phân tích và thống
kê.
 Các quy trình nghiệp vụ và các quy tắc có thể xử lý với các vai trò khác
nhau của con người.
 Các quy trình nghiệp vụ có thể hoặc tuần tự hoặc song song.
 Quy trình nghiệp vụ có thể được đồng bộ hóa với bất kỳ quy trình nghiệp
vụ khác.
 Quy trình nghiệp vụ có thể được liên kết với một thời hạn hoàn thành.
 Quy trình nghiệp vụ có thể tương tác với các ứng dụng của bên thứ ba.
 Công việc có thể được phân bổ hay được phân bổ lại cho một người sử
dụng.
 Tất cả các cá thể của quy trình nghiệp vụ có thể được quản lý.
Simpo PDF Merge and Split Unregistered Version -
 Một mục công việc của một quy trình nghiệp vụ có thể bị khóa hoặc được
mở khóa.
 Các mốc lịch sử có thể được thêm vào một quy trình nghiệp vụ.
 Thông báo bằng e-mail có thể được gửi đến người tham gia vào quy trình
nghiệp vụ khi có công việc.


Phân tích các yêu cầu nghiệp vụ của Công ty ABC
Có nhiều quy trình nghiệp vụ tại Công ty ABC. Chúng ta sử dụng quy trình nghiệp

vụ "Yêu cầu bồi thường bảo hiểm tự động" làm một kịch bản để phân tích các yêu
cầu của nó.
Phác thảo cơ sở của quy trình này như sau:
1. Đại diện dịch vụ khách hàng CSR (Customer Service Representative) thu
gom yêu cầu bồi thường của khách hàng, thông tin chi tiết của RoadEvent
và các tài liệu liên quan trong kho lưu trữ quản lý nội dung. AutoClaim đã
tạo ra (có tất cả thông tin này) được gửi đến người điều chỉnh (Adjustor) để
xử lý.
2. Người điều chỉnh nhận AutoClaim (yêu cầu bồi thường tự động), kiểm tra
và đánh giá thông tin chi tiết và các tài liệu liên quan và tính toán
ClaimAmount (Tổng giá trị yêu cầu bồi thường) của AutoClaim.
3. Nếu ClaimAmount lớn hơn $2000, thì AutoClaim này sẽ được gửi đến
người giám sát (Supervisor) để phê duyệt. Nếu không, người điều chỉnh có
thể phê duyệt AutoClaim này.
4. Nếu AutoClaim đã bị bác bỏ, người điều chỉnh sẽ gửi một thư thông báo
cho người đòi bồi thường này. Nếu không, người điều chỉnh gửi yêu cầu
thanh toán.
Có ba vai trò trong quy trình nghiệp vụ này: CSR, người điều chỉnh và người giám
sát. Những vai trò này được thể hiện trong Hình 3.

Hình 3. Định nghĩa vai trò của quy trình Yêu cầu bồi thường bảo hiểm tự
Simpo PDF Merge and Split Unregistered Version -
động của Công ty ABC



Thiết kế mô hình của hệ thống yêu cầu bồi thường bảo hiểm tự động của Công ty
ABC
Hình 4 cho thấy một sơ đồ lớp mô tả các thực thể nghiệp vụ dựa trên các yêu cầu
nghiệp vụ:

Simpo PDF Merge and Split Unregistered Version -

Hình 4. Biểu đồ lớp của Kịch bản Yêu cầu bồi thường bảo hiểm tự động

Hình 5 cho thấy quy trình nghiệp vụ như là một biểu đồ hoạt động:

Hình 5. Biểu đồ hoạt động của kịch bản Yêu cầu bồi thường bảo hiểm tự
Simpo PDF Merge and Split Unregistered Version -
động



Kiến trúc của hệ thống yêu cầu bồi thường bảo hiểm tự động của Công ty ABC
Kiến trúc hệ thống để tích hợp FileNet BPM và IBM Content Manager được quyết
định sau khi phân tích yêu cầu và thiết kế mô hình. Hình 6 cho thấy kiến trúc của
hệ thống yêu cầu bồi thường bảo hiểm tự động của Công ty ABC:

Hình 6. Kiến trúc của hệ thống Yêu cầu bồi thường bảo hiểm tự động của
Simpo PDF Merge and Split Unregistered Version -
Công ty ABC

Cách tiếp cận phát triển được trình bày như sau:
1. Tạo lược đồ CM8: Mỗi loại mục trong CM được ánh xạ từ một thực thể
trong mô hình dữ liệu.
2. Tạo các đối tượng nghiệp vụ: Chúng ta tạo một tập các đối tượng nghiệp vụ
(các lớp Java®) có thể truy cập trong suốt các kho lưu trữ CM8 ở mức cao.
Với mỗi thực thể trong mô hình dữ liệu, một đối tượng nghiệp vụ được tạo
ra. Hơn nữa, chúng ta tạo ra một lớp cổng (gateway) kết thúc tất cả các hoạt
động của tất cả các đối tượng nghiệp vụ và thực hiện chuyển đổi kiểu-dữ
liệu để khắc phục một số hạn chế của FileNet P8 BPM Component

Integrator.
3. Đăng ký lớp cổng vào Component Integrator: Chúng ta đăng ký lớp cổng
bằng cách sử dụng Component Integrator. Các phương thức của tất cả các
đối tượng nghiệp vụ cho một kho lưu trữ cụ thể có thể được truy cập bằng
các quy trình nghiệp vụ trong P8 BPM thông qua một hàng đợi thành phần
duy nhất.
Simpo PDF Merge and Split Unregistered Version -
4. Định nghĩa quy trình nghiệp vụ: Với việc sử dụng công cụ thiết kế quy
trình P8, bạn định nghĩa quy trình ở nơi các bước quy trình có thể tham
chiếu các hoạt động của lớp cổng gọi các phương thức tương ứng của các
đối tượng nghiệp vụ và cuối cùng giao tiếp với các kho lưu trữ CM8.
5. Tạo hoặc sửa đổi giao diện người dùng: Bạn có thể tạo hoặc sửa đổi mã
khách hàng của giao diện người dùng khi cần để khởi chạy các quy trình,
truy cập vào thông tin của những người sử dụng, chấp nhận đầu vào của
người dùng và hiển thị của các đối tượng nghiệp vụ và những cái bạn
muốn. Điều này được thực hiện bằng cách gọi API của BPM và các phương
thức của các đối tượng nghiệp vụ.
Các bước ở trên được minh họa dưới đây khi sử dụng một ví dụ ứng dụng Xử lý
yêu cầu bồi thường bảo hiểm của Công ty ABC. Với bước đầu tiên, bạn có thể sử
dụng IBM Content Manager System Administrator Client để tạo ra các định nghĩa
kiểu-mục. Để thiết lập nhanh, bạn cũng có thể nhập khẩu định nghĩa quy trình từ
tệp XML trong phần Tải về. Hình 7 cho thấy việc nhập khẩu này:

Hình 7. Sử dụng IBM Content Manager System Administrator Client để
nhập khẩu tệp lược đồ XML

Sau khi nhập khẩu tệp lược đồ XML vào IBM Content Manager, bạn sẽ thấy rằng
các kiểu mục được nhập khẩu tương ứng với các lớp của biểu đồ lớp trong Hình 4.
Hình 8 cho thấy lược đồ nội dung khách hàng:
Simpo PDF Merge and Split Unregistered Version -


Hình 8. Kiểu mục được tạo ra



Kết luận
Trong Phần 1 của loạt bài này, bạn đã thấy một tổng quan rộng lớn của kiến trúc
của FileNet P8 BPM và IBM Content Manager V8. Dựa trên việc nghiên cứu
trường hợp của Công ty ABC, chúng ta đã phân tích các yêu cầu nghiệp vụ, tạo ra
một mô hình lớp nghiệp vụ và mô hình quy trình nghiệp vụ, đã thiết kế kiến trúc
cho hệ thống yêu cầu bồi thường bảo hiểm tự động của Công ty ABC. Và chúng ta
cũng đã tạo ra một định nghĩa mô hình dữ liệu trong hệ thống IBM Content
Manager để hoàn thành bước đầu tiên của việc triển khai thực hiện hệ thống, bạn
có thể tải các tệp đính kèm và nhập khẩu chúng vào hệ thống IBM Content
Manager của bạn.
Phần 2 sẽ giới thiệu cho các bạn cách tạo Các thực thể nghiệp vụ Java để thao tác
dữ liệu trong kho lưu trữ của IBM Content Manager và cách tạo ra một lớp cổng
cho Các thực thể nghiệp vụ Java.


Simpo PDF Merge and Split Unregistered Version -
Tích hợp FileNet với IBM Content Manager, Phần 2: Triển khai thực hiện
các thực thể nghiệp vụ Java và lớp cổng (gateway) cho dữ liệu trong kho lưu
trữ lưu trữ của IBM Content Manager
Một ví dụ sử dụng kịch bản "Công ty ABC"
S. H. Liu, Kỹ sư tư vấn phần mềm, IBM Japan
Dao-Quynh Dang, Kỹ sư phần mềm, IBM
Peng Shi, Kỹ sư phần mềm, Phát triển IBM Content Manager, IBM Japan
Tóm tắt: Đây là bài thứ hai trong loạt bốn bài viết cho bạn thấy cách tích hợp
FileNet® Business Process Management (FileNet BPM- Quản lý quy trình nghiệp

vụ FileNet) với IBM® DB2 ® Content Manager (IBM ECM-Nhà quản lý nội
dung DB2 của IBM) phiên bản 8. Trong bài này, hãy tìm hiểu về các trình diễn
công việc trong FileNet P8, triển khai thực hiện các thực thể nghiệp vụ Java™ và
tạo ra một lớp cổng (gateway) Java. Ngoài ra, hãy xem cách sử dụng tuần tự hóa
Java để tránh các hạn chế cụ thể
Mở đầu
Phần 1 của loạt bài này đã giới thiệu cho bạn về các kiến trúc của FileNet P8 BPM
và IBM Content Manager. Bài viết đã sử dụng một hệ thống Yêu cầu bồi thường
bảo hiểm tự động của công ty ABC hư cấu để cho bạn thấy cách tích hợp hai sản
phẩm mạnh mẽ này.
Phần 2 giới thiệu các trình diễn công việc của FileNet P8 và cho bạn thấy cách
triển khai thực hiện các thực thể nghiệp vụ Java. Bạn sẽ tìm hiểu cách tạo ra một
lớp cổng Java và xem cách sử dụng tuần tự hóa Java để tránh các hạn chế cụ thể.


Các trình diễn công việc
Để sử dụng một kho lưu trữ nội dung của bên thứ ba, FileNet Business Process
Management (BPM) cần có khả năng giao tiếp với kho lưu trữ IBM Content
Manager. Các trình diễn công việc FileNet có thể cho phép BPM tương tác với các
ứng dụng hoặc các mã của bên thứ ba.
Simpo PDF Merge and Split Unregistered Version -
Trong FileNet P8, các trình diễn công việc cho phép một ứng dụng thực hiện một
hoạt động hoặc một tập các hoạt động liên quan đến một dòng công việc. Thông
thường, các trình diễn công việc được thiết kế không có giao diện người dùng và
được sử dụng để thực hiện các hoạt động dòng công việc tự động, chẳng hạn như
các hoạt động được liên kết với một bước dòng công việc cụ thể trong một định
nghĩa dòng công việc. Các hoạt động trình diễn công việc được liên kết với các
bước dòng công việc bao gồm đăng nhập và thiết lập một phiên làm việc của máy
quy trình, thăm dò một hàng đợi người dùng hoặc hàng đợi hệ thống (cố gắng để
tìm các hoạt động liên quan đến một bước dòng công việc cụ thể), khóa các đối

tượng được lấy ra, xử lý công việc (cập nhật dữ liệu và v.v ) và quay ngược để
thăm dò hàng đợi. Đại khái là, các trình diễn công việc cần thiết để tương tác với
các ứng dụng của bên thứ ba.
Có hai kiểu trình diễn công việc, dựa vào trình tích hợp thành phần và dựa trên
trình tiện ích nền sau (daemon). Trình diễn công việc dựa vào nhà tích hợp thành
phần được dùng trong ví dụ này.
Các trình diễn công việc dựa vào nhà tích hợp thành phần là một thành phần được
triển khai thực hiện như một lớp Java hoặc sự kiện Java Messaging Service (JMS-
Dịch vụ gửi thông báo Java). Một thành phần Java có thể được sử dụng để thực
hiện tất cả các hoạt động liên quan đến một dòng công việc. Hình 1 minh họa kiến
trúc của nhà tích hợp thành phần:
Simpo PDF Merge and Split Unregistered Version -

Hình 1. Kiến trúc Nhà tích hợp thành phần FileNet P8

Thành phần Java hoặc JMS có thể được nhà quản lý thành phần (component
manager) quản lý. Nhà quản lý thành phần cấu hình và giao tiếp với các bộ điều
hợp dịch vụ. Trong thời gian chạy, nhà quản lý thành phần thăm dò các hàng đợi
thành phần về các mục công việc đòi hỏi JMS hoặc xử lý bởi các thành phần Java
và kết nối một mục công việc đang đòi hỏi một thành phần tới bộ điều hợp dịch vụ
thích hợp. Bộ điều hợp Java xử lý các cuộc gọi quy trình cho các đối tượng Java,
được biểu diễn đến máy quy trình như là các hoạt động trên các hàng đợi (các mục
công việc) ở nơi mỗi hoạt động được thực hiện bằng một phương thức của lớp
Java. Bộ điều hợp Java thực hiện ghép nối với thành phần Java, sau đó tự động
chờ đáp ứng từ thành phần này, cập nhật mục công việc và gửi mục công việc này
đến bước dòng công việc tiếp theo. Bộ điều hợp JMS đặt các thông báo vào Hàng
đợi JMS (Queue JMS) và gửi đi mục công việc liên quan. Bộ điều hợp JMS xử lý
quy trình gửi lên các sự kiện tới một hàng đợi thông báo (dưới dạng một sự kiện
XML dựa trên phần tử bước cho hoạt động cụ thể).



Triển khai thực hiện các thực thể nghiệp vụ Java cho Công ty ABC
Simpo PDF Merge and Split Unregistered Version -
Công ty ABC muốn lưu trữ tất cả dữ liệu nội dung trong IBM Content Manager
hiện có. Và nó cũng muốn sử dụng FileNet BPM để xây dựng một ứng dụng tập
trung quy trình. Vì vậy bạn cần triển khai thực hiện các trình diễn công việc trong
BPM để thao tác nội dung trong IBM Content Manager hiện có.
Bạn có thể gói logic ứng dụng bên thứ ba và trưng ra giao diện đó khi triển khai
thực hiện thành phần Java. Với trường hợp của Công ty ABC, trước tiên bạn triển
khai thực hiện các thực thể nghiệp vụ Java có thể truy cập dữ liệu trong IBM
Content Manager. Hình 2 cho thấy kiến trúc của các thực thể nghiệp vụ Java :

Hình 2. Kiến trúc các thực thể nghiệp vụ Java

Như kiến trúc này cho thấy, bạn có thể tạo các đối tượng chuyển giao dữ liệu
(DTO) và đối tượng truy cập dữ liệu (DAO) phù hợp với mỗi lớp trong biểu đồ
lớp (Phần 1; Hình 4). Khi lấy lớp "AutoClaim" làm ví dụ, chúng ta đã tạo ra một
lớp DTO AutoClaim.java và một lớp DAO AutoClaimDAO.java.
Mã Java sau đây là AutoClaim.java. Nó bao gồm các định nghĩa đặc tính và các
phương thức getter và setter có liên quan. Nó biểu diễn giá trị dữ liệu cho một mục
trong kho lưu trữ IBM Content Manager.

Liệt kê 1. DTO mẫu - AutoClaim.java

public class AutoClaim
Simpo PDF Merge and Split Unregistered Version -
{
public AutoClaim ()
{
}


private String claimID;
public String getClaimID()
{
return this.claimID;
}

public void setClaimID(String claimID)
{
this.claimID = claimID;
}

private Integer claimStatus;
public Integer getClaimStatus()
{
return this.claimStatus;
}

Simpo PDF Merge and Split Unregistered Version -
public void setClaimStatus(Integer claimStatus)
{
this.claimStatus = claimStatus;
}

private String openingDate;
public String getOpeningDate()
{
return this.openingDate;
}


public void setOpeningDate(String openingDate)
{
this.openingDate = openingDate;
}

private Integer claimAmount;
public Integer getClaimAmount() {
return claimAmount;
}

public void setClaimAmount(Integer claimAmount) {
Simpo PDF Merge and Split Unregistered Version -
this.claimAmount = claimAmount;
}

private String eventID;

public String getEventID() {
return this.eventID;
}

public void setEventID(String eventID) {
this.eventID = eventID;
}

private String pidString;
public String getPidString() {
return pidString;
}
public void setPidString(String pidString) {

this.pidString = pidString;
}
}

Simpo PDF Merge and Split Unregistered Version -

Mã Java sau đây là AutoClaimDAO.java là một đối tượng truy cập dữ liệu. Nó
chứa tất cả các phương thức gọi OOAPI của IBM Content Manager để xử lý dữ
liệu trong IBM Content Manager.

Liệt kê 2. DAO mẫu - AutoClaimDAO.java

public class AutoClaimDAO
{

private String itemType;

public AutoClaimDAO()
{
itemType = "AutoClaim";
}

public String create(AutoClaim autoClaim) throws DKException, Exception
{
String pidString = null;
DKDatastoreICM dsICM = SConnectDisconnectICM.connect();
DKDDO ddo = dsICM.createDDO("AutoClaim",
DKConstant.DK_CM_ITEM);
Simpo PDF Merge and Split Unregistered Version -
setAttrToDDO(ddo, autoClaim);

ddo.add();
pidString = ddo.getPidObject().pidString();
dsICM.disconnect();
return pidString;
}

public AutoClaim retrieveAutoClaimByClaimID(String claimID)
throws DKUsageError, DKException, Exception
{
AutoClaim autoClaim = null;
String queryString = "/AutoClaim[@Claim=\""+claimID+"\"]";
DKDatastoreICM dsICM = SConnectDisconnectICM.connect();
dkIterator dkIter =
(dkIterator) SConnectDisconnectICM.search(dsICM, queryString, 0, true);
if(dkIter.more())
{
autoClaim = new AutoClaim();
DKDDO ddo = (DKDDO)dkIter.next();
ddo.retrieve(DKConstant.DK_CM_CONTENT_ITEMTREE +
DKConstant.DK_CM_CONTENT_NO);
setValueToAutoClaim(ddo, autoClaim);
Simpo PDF Merge and Split Unregistered Version -
autoClaim.setPidString( ddo.getPidObject().pidString() );
}
dsICM.disconnect();
return autoClaim;
}

public void update(String pidString, AutoClaim autoClaim)
throws DKUsageError, DKException, Exception

{
DKDatastoreICM dsICM = SConnectDisconnectICM.connect();
DKDDO ddo= dsICM.createDDO(pidString);
ddo.retrieve(DKConstant.DK_CM_CONTENT_ITEMTREE +
DKConstant.DK_CM_CONTENT_NO);

DKDatastoreExtICM ext = new DKDatastoreExtICM(dsICM);
if(!ext.isCheckedOut(ddo))
{
ext.checkOut(ddo);
}
setAttrToDDO(ddo, autoClaim);
dsICM.updateObject(ddo, DKConstant.DK_CM_CHECKIN);
dsICM.disconnect();
Simpo PDF Merge and Split Unregistered Version -
}

public void delete(String pidString) throws DKUsageError, DKException, Exception
{
DKDatastoreICM dsICM = SConnectDisconnectICM.connect();
DKDDO ddo = dsICM.createDDO(pidString);
ddo.del();
dsICM.disconnect();
}

public void setAttrToDDO(DKDDO ddo, AutoClaim autoClaim) throws DKUsageError

{
if(autoClaim.getClaimID()!=null)


ddo.setData(ddo.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,"ClaimID"),
autoClaim.getClaimID());
if(autoClaim.getClaimStatus()!=null)

ddo.setData(ddo.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,"ClaimStatus"),
autoClaim.getClaimStatus());
if(autoClaim.getOpeningDate()!=null)

ddo.setData(ddo.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,"OpeningDate"),

Simpo PDF Merge and Split Unregistered Version -
autoClaim.getOpeningDate());
if(autoClaim.getClaimAmount()!=null)

ddo.setData(ddo.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,"ClaimAmount"),

autoClaim.getClaimAmount());
if( autoClaim.getEventID() != null )
ddo.setData( ddo.dataId( DKConstant.DK_CM_NAMESPACE_ATTR,
"EventID" ),
autoClaim.getEventID() );
}

public void setValueToAutoClaim(DKDDO ddo, AutoClaim autoClaim)
throws DKUsageError
{
Object attr = null;
attr = ddo.getData(ddo.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,
"ClaimID"));
if(attr!=null)

{
autoClaim.setClaimID((String)attr);
attr = null;
}
attr = ddo.getData(ddo.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,
Simpo PDF Merge and Split Unregistered Version -
"ClaimStatus"));
if(attr!=null)
{
autoClaim.setClaimStatus((Integer)attr);
attr = null;
}
attr = ddo.getData(ddo.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,
"OpeningDate"));
if(attr!=null)
{
autoClaim.setOpeningDate((String)attr);
attr = null;
}
attr = ddo.getData(ddo.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,
"ClaimAmount"));
if(attr!=null)
{
autoClaim.setClaimAmount((Integer)attr);
attr = null;
}
attr = ddo.getData(ddo.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,
"EventID"));
Simpo PDF Merge and Split Unregistered Version -
if(attr!=null)

{
autoClaim.setEventID( (String) attr );
attr = null;
}
}


}


Đối với các lớp khác trong biểu đồ lớp, có các lớp Java tương tự như
AutoPolicy.java và AutoPolicyDAO.java. Bạn có thể tải về dự án Eclipse có chứa
tất cả mã nguồn của lớp Java này.


Triển khai thực hiện lớp cổng cho các thực thể nghiệp vụ Java
Bây giờ bạn đã có một tập hợp các thực thể nghiệp vụ Java và cũng có rất nhiều
phương thức hoạt động trong các thực thể này. Nhưng trong phần FileNet
Component Integrator (Nhà tích hợp thành phần FileNet), một hàng đợi thành
phần chỉ có thể trưng ra một phương thức của lớp Java. Và bạn nên tuân theo các
quy tắc sau đây:
 Lớp phải có một hàm tạo không có bất kỳ tham số nào.
 Các phương thức phải được công khai.
Simpo PDF Merge and Split Unregistered Version -

×