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.
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ữ của IBM Content Manager.
3. Triển khai thực hiện các trình diễn công việc dựa vào Component Integrator.
4. Tạo một quy trình các yêu cầu bồi thường bảo hiểm tự động bằng Vùng làm việc FileNet
17 trang |
Chia sẻ: lylyngoc | Lượt xem: 1547 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Tích hợp FileNet với IBM Content Manager, Phần 3: Triển khai thực hiện các trình diễn công việc dựa vào Component Integrator, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tích hợp FileNet với IBM Content Manager, Phần 3: Triển
khai thực hiện các trình diễn công việc dựa vào Component
Integrator
Giới thiệu về FileNet P8 Component Integrator
Hãy đọc tất cả các bài viết trong loạt bài này
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.
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ữ của IBM Content Manager.
3. Triển khai thực hiện các trình diễn công việc dựa vào Component Integrator.
4. Tạo một quy trình các yêu cầu bồi thường bảo hiểm tự động bằng Vùng làm việc FileNet.
FileNet P8 Component Integrator giúp cho có khả năng tương tác với một thực thể bên ngoài
được gọi là một thành phần có thể hoặc là một đối tượng Java hoặc Java Messaging System
(JMS - Hệ thống thông điệp Java). Bạn có thể sử dụng nó để nhập khẩu các lớp Java và quản lý
giao tiếp giữa máy quy trình và các giao diện. Component Integrator bao gồm các bộ điều hợp là
các giao diện để giao tiếp các sự kiện từ máy quy trình đến các thực thể bên ngoài như là các đối
tượng Java. Các bộ điều hợp tương tác với các kiểu các thành phần khác nhau từ một bước của
dòng công việc.
Hình 1 cho thấy các bước mà bạn cần thực hiện để tạo một hàng đợi thành phần Java trong
Component Integrator.
Hình 1. Các bước để tạo ra một trình diễn công việc thành phần Java trong Component
Integrator
Như được thể hiện trong biểu đồ trên, bước đầu tiên là cấu hình và triển khai thành phần (1). Bạn
có thể sử dụng Bàn điều khiển cấu hình quy trình P8 của FileNet (FileNet P8 Process
Configuration Console) để tạo ra một hàng đợi thành phần (2 và 3).
Tiếp theo, triển khai các tệp jar cần thiết cho thành phần trên máy chủ Máy Ứng dụng và đăng ký
thành phần trong Process Task Manager (Nhà quản lý nhiệm vụ quy trình) (4 và 5). Process
Designer (Nhà thiết kế quy trình) lấy thông tin cấu hình từ Máy Quy trình (Process Engine) (6).
Sau đó tạo các định nghĩa dòng công việc. Bạn có thể tạo ra một bước thành phần và chọn thành
phần và phương thức đã đăng ký để gọi. Bạn cũng cần phải xác định các trường dòng công việc
sẽ được chuyển qua làm các tham số cho phương thức trong thời gian chạy (7). Các định nghĩa
dòng công việc (các yêu cầu cho công việc) sau đó được chuyển tới các hàng đợi của Máy Quy
trình (8).
Hình 2 mô tả sự tương tác trong thời gian chạy giữa Component Integrator và các dịch vụ của
Máy Ứng dụng như là nhà quản lý thành phần, các hàng đợi của máy quy trình và một thực thể
tùy chỉnh được hiển thị trong cùng hình đó. Khi quy trình dòng công việc được thực hiện,
Component Manager lấy yêu cầu từ các hàng đợi thành phần và gọi các thành phần thông qua
các bộ điều hợp. Với mỗi bước trong dòng công việc, chuỗi các sự kiện chung sau đây sẽ diễn ra.
Đầu tiên, thông tin được gửi đến thành phần qua bộ điều hợp. Sau đó, thành phần thực hiện công
việc của mình và tương tác với thực thể tùy chỉnh. Cuối cùng, kết quả công việc được lưu trong
bước này.
Hình 2. Sự tương tác trong thời gian chạy của Component Integrator
Chúng ta sẽ giới thiệu cách Component Integrator làm việc trước khi chúng ta triển khai thực
hiện trình diễn công việc của Component Integrator.
Chúng ta định nghĩa một hoạt động quy trình liên kết các giá trị tham số với một phương thức
thành phần. Khi sử dụng các hoạt động quy trình, chúng ta có thể chuyển các giá trị của các
trường mục công việc đến một phương thức thành phần. Khi một dòng công việc đang chạy có
một mục công việc đạt đến một bước thành phần (một thành phần đã được tạo ra như là một
bước trong một dòng công việc), Component Integrator tự động thực hiện một loạt các hoạt
động. Phương thức này tự động đọc các giá trị của trường mục công việc, chờ một đáp ứng từ
phương thức thành phần, cập nhật các giá trị của trường mục công việc theo bất kỳ các thay đổi
nhận được từ việc thực hiện phương thức thành phần này, lưu mục công việc và mở khóa nó.
Cuối cùng, phương thức hoàn thành bước này bằng cách gửi mục công việc tới một bước tiếp
theo.
Về đầu trang
Triển khai thực hiện Component Integrator dựa trên trình diễn công việc
Bây giờ bạn cần có một sự hiểu biết cơ bản về cách triển khai thực hiện một trình diễn công việc
dựa vào Component Integrator. Đây là lúc xem xét năm bước chính sau đây để hoàn thành việc
triển khai thực hiện này.
1. Triển khai một lớp Java tùy chỉnh.
2. Sử dụng Process Configuration Console (Bàn điều khiển cấu hình quy trình) để tạo ra
một hàng đợi thành phần và định nghĩa các hoạt động của hàng đợi thành phần.
3. Sử dụng Process Task Manager (Nhà quản lý nhiệm vụ quy trình) để bắt đầu và kết thúc
Component Manager (Nhà quản lý thành phần) và bắt đầu và ngừng các thành phần.
4. Sử dụng Nhà thiết kế quy trình (Process Designer) để tạo ra một quy trình nghiệp vụ và
thêm hàng đợi thành phần Java đã đăng ký vào quy trình.
5. Sử dụng Vùng làm việc FileNet để xác nhận hợp lệ quy trình nghiệp vụ.
Trong phần 2, bạn đã tạo ra Các thực thể nghiệp vụ Java (Java Business Entities) cho kho lưu trữ
IBM Content Manager cũng như lớp cổng cho các phương thức hoạt động của Các thực thể
nghiệp vụ Java. Bây giờ bạn sẽ đăng ký lớp cổng vào Component Integrator để tạo ra một hàng
đợi thành phần. Sau đó, bạn có thể sử dụng tất cả các phương thức hoạt động trong định nghĩa
quy trình. Sau đó, quy trình nghiệp vụ có thể tự do tương tác với kho lưu trữ IBM Content
Manager qua hàng đợi thành phần này. Các phần sau mô tả cách làm điều đó.
Về đầu trang
Triển khai một lớp Java tùy chỉnh
Có ba phần cho lớp Java tùy chỉnh.
Các thực thể nghiệp vụ Java.
Lớp cổng (gateway).
Tệp cấu hình và lớp Dịch vụ ủy quyền và xác thực thực Java (JAAS-Java Authentication
and Authorization Service).
Các thực thể nghiệp vụ Java và lớp cổng đã được triển khai thực hiện trong Phần 2. Ở đây bạn
chỉ cần tạo tệp cấu hình và lớp JAAS. Tại sao bạn cần tệp cấu hình và các lớp JAAS? Lý do là
FileNet P8 Component Integrator sử dụng JAAS để thực hiện xác thực. Bạn nên tạo ra mô đun
xác thực JAAS và tệp cấu hình đăng nhập cho lớp các thực thể nghiệp vụ Java. Để cấu hình
JAAS, bạn cần hoàn thành 5 bước sau đây:
1. Đầu tiên, tạo một lớp LoginModule cho hệ thống mà lớp tuỳ chỉnh truy cập vào. Bạn có thể
làm theo Hướng dẫn của Nhà phát triển mô đun đăng nhập và Hướng dẫn xác thực JAAS để tạo
ra các lớp LoginModule. SampleLoginModule.java triển khai thực hiện việc xác thực bên dưới
mong muốn. Xác thực người dùng của SampleLoginModule chỉ đơn giản kiểm tra xem tên và
mật khẩu mà người sử dụng nhập vào đã có giá trị cụ thể chưa. Mã nguồn của
SampleLoginModule được hiển thị dưới đây.
Liên kết 1. Mã loginModule mẫu - SampleLoginModule.java
public class SampleLoginModule implements LoginModule
{
private Subject m_subject;
private CallbackHandler m_callbackHandler;
private Map m_sharedState;
private Map m_options;
private String m_username = null;
private boolean m_validSession = true;
// testUser's SamplePrincipal
private SamplePrincipal m_principal;
public void initialize(Subject subject,
CallbackHandler callbackHandler, Map sharedState, Map options)
{
this.m_subject = subject;
this.m_callbackHandler = callbackHandler;;
this.m_options = options;
this.m_sharedState = sharedState;
}
public boolean login() throws LoginException
{
if (m_callbackHandler == null)
{
throw new LoginException("Error:
no CallbackHandler available to get authentication
information");
}
String password = null;
m_username =
(String)m_sharedState.get("javax.security.auth.login.name");
password =
(String)m_sharedState.get("javax.security.auth.login.password");
if (m_username == null)
{
Callback[] callbacks = null;
callbacks = new Callback[3];
callbacks[0] = new
TextOutputCallback(TextOutputCallback.INFORMATION,
"Sample Authentication");
callbacks[1] = new NameCallback("user name:");
callbacks[2] = new PasswordCallback("password:", false);
try
{
m_callbackHandler.handle(callbacks);
m_username = ((NameCallback)callbacks[1]).getName();
char[] tmpPassword =
((PasswordCallback)callbacks[2]).getPassword();
if (tmpPassword != null)
password = new String(tmpPassword);
else
password = null;
((PasswordCallback)callbacks[2]).clearPassword();
m_sharedState.put("javax.security.auth.login.name",m_username);
m_sharedState.put("javax.security.auth.login.password",
password);
}
catch (java.io.IOException ioe)
{
throw new LoginException(ioe.toString());
}
catch (UnsupportedCallbackException uce)
{
throw new LoginException("Error:
no CallbackHandler available to get authentication
information");
}
}
try
{
}
catch (Exception e)
{;
throw new LoginException(e.toString());
}
m_validSession = true;
return (m_validSession);
}
...
}
SamplePrincipal.java là một lớp mẫu triển khai thực hiện giao diện java.security.Principal. Nó
thường do SampleLoginModule sử dụng.
Liên kết 2. Mã mẫu chính - SamplePrincipal.java
public class SamplePrincipal implements Principal, java.io.Serializable
{
private String name;
public SamplePrincipal( String name )
{
if( name == null )
throw new NullPointerException( "illegal null input" );
this.name = name;
}
public String getName()
{
return name;
}
public String toString()
{
return ("SamplePrincipal: " + name);
}
public boolean equals( Object o )
{
if( o == null )
return false;
if( this == o )
return true;
if( !(o instanceof SamplePrincipal) )
return false;
SamplePrincipal that = (SamplePrincipal) o;
if( this.getName().equals( that.getName() ) )
return true;
return false;
}
public int hashCode()
{
return name.hashCode();
}
...
}
2. Thứ hai, tạo ra một tệp jar để sắp xếp lớp Java tùy chỉnh và các lớp LoginModule tương ứng.
Bạn cần phải gói các lớp LoginModule của JAAS và lớp cổng vào trong tệp jar này. Để cho
thuận tiện, bạn cũng có thể tải tệp jar có tên ICMOperations.jar từ phần Tải về.
3. Sau đó, tạo ra một tệp Cấu hình đăng nhập JAAS chứa một phần LoginContext. Các mã sau
đây cho thấy tệp cấu hình đăng nhập này. Bạn có thể thêm văn bản vào tệp cấu hình JAAS mặc
định của bộ định tuyến (Router) FileNet taskman.login.config . Tệp này nằm trong thư mục
filenet_installation_directory/AE/Router. Bạn có thể nhận được tệp taskman.login.config trong
phần Tải về.
Liên kết 3. Cấu hình JAAS
Sample
{
filenet.vw.server.VWLoginModule required;
com.ibm.cm.businesslogic.operations.jaas.SampleLoginModule required
debug=true;
};
4. Tiếp theo, triển khai tệp Cấu hình đăng nhập JAAS, tệp JAR tùy chỉnh và các tệp JAR cần
thiết bằng cách sao chép các tệp này vào vị trí triển khai trên máy chủ Máy Ứng dụng. Trên thực
tế, bạn cũng có thể sao chép các tệp này vào bất kỳ vị trí nào bạn muốn. Nói chung, nó sẽ là thư
mục filenet_installation_directory/AE/Workplace/WEB-INF/lib.
5. Cuối cùng, kết thúc Component Manager và chỉ rõ tệp JAR tùy chỉnh mà bạn đã tạo ra như là
một trong các thư viện Java cần thiết trong Component Manager. Trong Hình 3, chúng ta thêm
tệp JAR ICMOperation.jar và cũng như các tệp JAR có liên quan. Bạn có thể tải các tệp JAR
relatedJARFiles.zip trong phần Tải về.
Hình 3. Thêm tệp JAR và các tệp JAR có liên quan vào Component Manager
Lưu ý: Nếu lớp Java đã bao gồm các mô đun phụ thuộc không nằm trong tệp JAR cũng như
không nằm trong các thư viện cần thiết hiện có, thì cần chỉ rõ các tệp jar chứa các mô dun phụ
thuộc làm các thư viện cần thiết. Do các thực thể nghiệp vụ Java đang sử dụng OOAPI của
Content Manager để giao tiếp với kho lưu trữ của Content Manager, bạn nên lập danh mục cơ sở
dữ liệu trước khi thực hiện chúng. Hãy tham khảo hướng dẫn này để thực hiện danh mục đó
Về đầu trang
Tạo một hàng đợi thành phần và định nghĩa các hoạt động hàng đợi thành phần
Bạn sử dụng Bàn điều khiển cấu hình nghiệp vụ để tạo và cấu hình một hàng đợi thành phần cho
lớp Java hoặc hàng đợi JMS tùy chỉnh đã triển khai. Chỉ có một lớp hoặc hàng đợi JMS mới có
thể được kết hợp với một hàng đợi thành phần của Máy Quy trình duy nhất. Tuy nhiên, bạn có
thể cấu hình nhiều hàng đợi thành phần cho bất kỳ lớp hoặc hàng đợi JMS cụ thể nào bằng cách
gán các tên khác nhau cho các hàng đợi thành phần bổ sung. Để có các hướng dẫn, xem Cấu hình
các hàng đợi phần hàng (Configuring Component Queues).
Trong hệ thống Yêu cầu bồi thường bảo hiểm tự động của Công ty ABC, bạn có thể chỉ đăng ký
một thành phần Java, thật dễ dàng để thiết kế quy trình nghiệp vụ bằng cách sử dụng Nhà thiết
kế quy trình (Process Designer). Bây giờ bạn sẽ đăng ký một hàng đợi thành phần mới theo từng
bước một.
Trước tiên, khởi chạy Bàn điều khiển cấu hình quy trình của Bàn làm việc FileNet và đăng ký
các lớp bổ sung cho thành phần Java này. Hình 4 cho thấy bước này. Nếu tệp JAR của thành
phần Java có một số tệp jar hoặc các tệp lớp Java có liên quan, bạn nên đăng ký chúng trước khi
tạo ra các hàng đợi thành phần Java mới .
Hình 4. Thêm tệp JAR và các tệp JAR có liên quan vào Component Manager
Sau khi đăng ký một số tệp jar bổ sung, bạn tạo một hàng đợi thành phần Java mới. Bạn có thể
chỉ định bất kỳ tên nào muốn. Hình 5 cho thấy bước này.
Hình 5. Tạo một hàng đợi thành phần Java mới
Bây giờ, chọn bộ điều hợp Java cho hàng đợi thành phần Java. Bạn có thể chọn tệp jar trong đó
có lớp Java tùy chỉnh và lớp cấu hình JAAS. Trong trường hợp của chúng ta, đó là tệp
ICMOperation.jar. Bạn cũng nên chọn lớp Java tùy chỉnh trưng ra tất cả các phương thức hoạt
động. Trong trường hợp tương tự, đó là tệp ICMOperation.class. Hình 6 cho thấy bước này.
Hình 6. Cấu hình các tệp bộ điều hợp Java
Trong bước này, thiết lập các đặc tính bộ điều hợp Java và ủy quyền JAAS như tên người dùng,
mật khẩu và ngữ cảnh cấu hình. Trong trường hợp này, nhập vào cấu hình sau như Hình 7 cho
thấy.
Hình 7. Cấu hình các đặc tính bộ điều hợp Java và và ủy quyền JAAS
Trong Hình 8, thiết lập các phương thức hoạt động mà bạn muốn trưng ra. Chỉ các phương thức
chung mới có thể được trưng ra.
Hình 8. Cấu hình các hoạt động.
Cuối cùng, lưu hàng đợi thành phần đã tạo ra. Hình 9 cho thấy bước này.
Hình 9. Lưu hàng đợi thành phần đã tạo ra
Bây giờ bạn đã tạo ra một hàng đợi thành phần có thể trưng ra tất cả các phương thức/hàm của
các thực thể nghiệp vụ Java.
Về đầu trang
Làm mới tất cả các cấu hình
Sau khi bạn đã tạo ra hàng đợi thành phần mới, hãy làm mới tất cả các cấu hình bằng Process
Task Manager (Nhà quản lý nhiệm vụ quy trình) để làm cho hàng đợi thành phần đã tạo có sẵn
trong Component Manager. Hình 10 cho thấy bước này.
Hình 10. Làm mới tất cả các cấu hình
Bây giờ bạn có thể nhìn thấy hàng đợi thành phần đã tạo ra có sẵn trong nhà quản lý thành phần,
như Hình 11 cho thấy.
Hình 11. Hàng đợi thành phần mới có sẵn trong Component Manager
Sau tất cả các cấu hình này, bạn có thể trực tiếp sử dụng hàng đợi thành phần mới này trong quy
trình nghiệp vụ. Bạn có thể thấy các phương thức hàng đợi thành phần có sẵn trong Nhà thiết kế
quy trình (Process Designer). Hình 12 cho thấy các phương thức hàng đợi thành phần.
Hình 12. Hàng đợi thành phần đã tạo ra ICMOperations có sẵn trong Nhà thiết kế quy
trình
Về đầu trang
Kết luận
Trong phần 3, bạn đã đăng ký các đối tượng thực thể nghiệp vụ Java 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 đã tạo ra của bạn vào FileNet P8 Component
Integrator, đã sử dụng Process Task Manager để xử lý hàng đợi thành phần mới và đã làm cho
hàng đợi thành phần này có sẵn cho quy trình nghiệp vụ.
Phần 4 sẽ mô tả cách sử dụng FileNet Business Process Designer (Nhà thiết kế quy trình nghiệp
vụ FileNet) để triển khai thực hiện một định nghĩa dòng công việc để sử dụng hàng đợi thành
phần vừa mới được tạo và cách thực hiện quy trình nghiệp vụ này.