Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
861,72 KB
Nội dung
TíchhợpFileNetvớiIBMContentManager,Phần3:Triển
khai thựchiệncáctrìnhdiễncôngviệcdựavàoComponent
Integrator
Giới thiệu về FileNet P8 ComponentIntegrator
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ểnkhaithựchiệncácthực thể nghiệp vụ Java và lớp cổng (gateway) cho dữ liệu trong kho
lưu trữ của IBMContent Manager.
3. TriểnkhaithựchiệncáctrìnhdiễncôngviệcdựavàoComponent Integrator.
4. Tạo một quy trìnhcá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 ComponentIntegrator 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. ComponentIntegrator 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ácthự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ớicá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ựchiệ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ìnhdiễncôngviệ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ểnkhai 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ểnkhaicá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ôngviệ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ôngviệ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 ComponentIntegrator 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ôngviệ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ầnthựchiệncông
việc của mình và tương tác vớithực thể tùy chỉnh. Cuối cùng, kết quả côngviệ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 ComponentIntegrator
Chúng ta sẽ giới thiệu cách ComponentIntegrator làm việc trước khi chúng ta triểnkhaithực
hiện trìnhdiễncôngviệ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ôngviệc đến một phương thức thành phần. Khi một dòng côngviệc đang chạy có
một mục côngviệ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), ComponentIntegrator tự động thựchiệ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ôngviệc theo bất kỳ các thay đổi
nhận được từ việcthựchiện phương thức thành phần này, lưu mục côngviệ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ôngviệc tới một bước tiếp
theo.
Về đầu trang
Triển khaithựchiệnComponentIntegratordựa trên trìnhdiễncôngviệc
Bây giờ bạn cần có một sự hiểu biết cơ bản về cách triển khaithựchiện một trìnhdiễncôngviệc
dựa vàoComponent Integrator. Đây là lúc xem xét năm bước chính sau đây để hoàn thành việc
triển khaithựchiện này.
1. Triểnkhai 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ệcFileNet để xác nhận hợp lệ quy trình nghiệp vụ.
Trong phần 2, bạn đã tạo ra Cácthự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ácthực thể
nghiệp vụ Java. Bây giờ bạn sẽ đăng ký lớp cổngvàoComponentIntegrator để 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ữ IBMContent
Manager qua hàng đợi thành phần này. Cácphầ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ácthự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ựcthự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 khaithựchiệ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 ComponentIntegrator sử dụng JAAS để thựchiệ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ácthự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ểnkhaithựchiệnviệ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ểnkhaithựchiệ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ổngvà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ểnkhai 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ểnkhai 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úcComponent 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àoComponent 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ácthự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 ContentManager, bạn nên lập danh mục cơ sở
dữ liệu trước khi thựchiện chúng. Hãy tham khảo hướng dẫn này để thựchiệ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ợpvớ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ệcFileNet 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àoComponent 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.
[...]... động của công ty ABC đã tạo ra của bạn vàoFileNet 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 khaithựchiện một định nghĩa dòng côngviệc để sử dụng hàng đợi thành phần vừa... 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... 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. ..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... 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ácthự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... cách sử dụng FileNet Business Process Designer (Nhà thiết kế quy trình nghiệp vụ FileNet) để triển khaithựchiện một định nghĩa dòng côngviệc để sử dụng hàng đợi thành phần vừa mới được tạo và cách thựchiện quy trình nghiệp vụ này . 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.
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