Bài giảng Kiến trúc phần mềm: Middleware - PGS.TS. Trần Minh Triết
lượt xem 5
download
Bài giảng Kiến trúc phần mềm - Middleware trình bày các nội dung: Middleware classification, CORBA code example, basic messaging, MOM transactions, messaging – some thoughts, publish - subscribe with multicast,... Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kiến trúc phần mềm: Middleware - PGS.TS. Trần Minh Triết
- Trường Đại học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin Bộ môn Công Nghệ Phần Mềm CTT526 - Kiến trúc phần mềm Middleware PGS.TS. Trần Minh Triết tmtriet@fit.hcmus.edu.vn Version 1.0 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Nội dung của bài giảng sử dụng: Session 4: A Guide to Middleware Architectures and Technologies trong bộ slide Software Architecture Essential của GS. Ian Gorton Software Engineering Institute Carnegie Mellon University 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Introduction Middleware is the plumbing or wiring of IT applications Provides applications with fundamental services for distributed computing Insulates applications from underlying platform (OS, DBMS, etc) APIs Lots of middleware exists Different purposes Different vendors Different standards and proprietary technologies 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Middleware Classification Business Process Orchestrators BizTalk, TIBCO StaffWare, ActiveBPEL Message Brokers BizTalk, WebSphere Message Broker, SonicMQ Application Servers J2EE, CCM, .NET Transport Message-Oriented Middleware, Distributed Objects Systems 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Outline CORBA Message-oriented middleware J2EE Message brokers Business process orchestrators 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- CORBA Venerable distributed object technology Still widely used in telecomms, defense Many different implementations Client Server Object Reference Servant request reply client ORB server ORB Network 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- CORBA Code Example module ServerExample { CORBA IDL interface MyObject { string isAlive(); }; }; class MyServant extends _MyObjectImplBase Server { public String isAlive() { return "\nLooks like it…\n"; } } ORB orb = ORB.init(args, null); MyServant objRef = new MyServant(); orb.connect(objRef); ORB orb = ORB.init(args, null); // Lookup is a wrapper that actually access the CORBA Naming Client // Service directory – details omitted for simplicity MyServant servantRef = lookup(“Myservant”)String reply = servantRef.isAlive(); 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- CORBA – Some Thoughts Many associated services, eg Naming Notification Transactions Synchronous technology, client-server relatively tightly coupled Remote calls can/will fail State management in server objects creates „interesting‟ recovery issues 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Messaging - MOM Basic Message Oriented Middleware (MOM) provides features like: Asynchronous communications between processes, applications and systems Send-and-forget Delivering messages despite failures Transactional Messaging Deliver all messages in a transaction, or none Persistence Messages can be logged at the server and hence survive server failure 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Basic Messaging Send (queue, message) Put message onto queue Receive (queue, message) Get message from queue No dependency on state of receiving application on message send send receive queue CuuDuongThanCong.com https://fb.com/tailieudientucntt 10
- Persistence queue send receive Receipt of message at queue implies message is written to disk log Removal of message from queue deletes message from disk log Trade-off performance versus reliability CuuDuongThanCong.com https://fb.com/tailieudientucntt 11
- MOM Server Senders Receivers Sending Sending Applications Applications Message Handler Thread Pool MOM Server Peer-to-peer MOM technologies are the alternative design 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- MOM Transactions Begin transaction Begin transaction ... ... update database record get message from queue put message on queue update database record ... ... commit transaction commit transaction CuuDuongThanCong.com https://fb.com/tailieudientucntt 13
- MOM Transactions Sender and receiver do *not* share a transaction Rollback on receiver does not affect the sender (already committed) „Synchronous‟ operations are not atomic Request/response is 3 transactions not 1 Put to request queue Get from request queue, put to response queue Get from response queue Request queue send receive receive send Response queue 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Scaling MOM MOM Server ApplicationQ Senders Receivers MOM Server ApplicationQ 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Messaging – Some thoughts Highly attractive asynchronous technology Supports loosely-coupled, dynamic applications Scales well, high throughput possible Many implementations, various qualities of service caveat emptor 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Publish-Subscribe Messaging Extension of MOM to provide 1-to-N, N-to-1, and N-to- N communications Messages are „published‟ to logical subjects or topics Subscribers receive all messages from subjects they subscribe to Sub Create/ Publish Register/ Pub Subject Subscribe Sub Sub 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Publish-Subscribe with Multicast S u b s c r ib e r S u b s c r ib e r rvd rvd rvrd Based on TIBCO P u b lis h e r Rendezvous rvd rvrd rvd rvd rvd S u b s c r ib e r S u b s c r ib e r S u b s c r ib e r 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Performance M i l l i se c o n d s 700 600 500 M C1 400 M C2 300 QB 200 100 0 10 20 30 40 50 N o . O f S u b sc r i b e r s 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Subject/Topic Naming Sydney DevGroup SupportGroup Information Information work gossip work gossip Sydney Sydney/DevGroup Sydney/*/Information Sydney/DevGroup/Information Sydney/DevGroup/*/* Sydney/DevGroup/Information/work Sydney/DevGroup/** Sydney/DevGroup/Information/gossip Sydney/SupportGroup Sydney/SupportGroup/Information Sydney/SupportGroup/Information/work Sydney/SupportGroup/Information/gossip 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kiến trúc phần mềm: Chương 2 - ĐH Bách khoa TP HCM
32 p | 99 | 9
-
Bài giảng Kiến trúc phần mềm: Chương 1 - ĐH Bách khoa TP HCM
29 p | 119 | 9
-
Bài giảng Kiến trúc phần mềm: Chương 4 - ĐH Bách khoa TP HCM
6 p | 149 | 7
-
Bài giảng Kiến trúc phần mềm: Chương 3 - ĐH Bách khoa TP HCM
30 p | 97 | 7
-
Bài giảng Kiến trúc phần mềm: Chương 4 - TS. Nguyễn Văn Hiệp
6 p | 130 | 7
-
Bài giảng Kiến trúc phần mềm: Mẫu thiết kế (1) - PGS.TS. Trần Minh Triết
29 p | 40 | 6
-
Bài giảng Kiến trúc phần mềm: Quy trình kiến trúc phần mềm - PGS.TS. Trần Minh Triết
33 p | 28 | 5
-
Bài giảng Kiến trúc phần mềm: Mẫu thiết kế (3) - PGS.TS. Trần Minh Triết
53 p | 38 | 5
-
Bài giảng Kiến trúc phần mềm: Mẫu thiết kế (2) - PGS.TS. Trần Minh Triết
27 p | 31 | 5
-
Bài giảng Kiến trúc phần mềm: Kiến trúc hướng dịch vụ - PGS.TS. Trần Minh Triết
17 p | 38 | 5
-
Bài giảng Kiến trúc phần mềm: Chương 3 - TS. Nguyễn Văn Hiệp
30 p | 87 | 5
-
Bài giảng Kiến trúc phần mềm: Chương 2 - TS. Nguyễn Văn Hiệp
32 p | 73 | 5
-
Bài giảng Kiến trúc phần mềm: Tài liệu kiến trúc phần mềm - PGS.TS. Trần Minh Triết
16 p | 26 | 4
-
Bài giảng Kiến trúc phần mềm: Chương 1 - TS. Nguyễn Văn Hiệp
29 p | 71 | 4
-
Bài giảng Kiến trúc phần mềm: Các tiêu chí và yêu cầu về Kiến trúc phần mềm - PGS.TS. Trần Minh Triết
41 p | 20 | 3
-
Bài giảng Kiến trúc phần mềm - Quy trình kiến trúc phần mềm
33 p | 33 | 2
-
Bài giảng Kiến trúc phần mềm - Chương 3: Các mẫu kiến trúc phổ dụng
30 p | 29 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn