1. 1
TT Phần mềm Viễn thông Viettel
Nhữ Bảo Vũ
VuNB@
Hà Nội, 06/2013
2. TT Phần mềm Viễn thông Viettel
2
NỘI DUNG
[1]
• Thực trạng của hệ thống phần mềm
• Các vấn đề phát sinh trong doanh nghiệp
[2]
• Định hướng IT cho doanh nghiệp ?
• Kiến trúc hướng dịch vụ SOA
[3]
• Tiếp cận SOA: Các thuật ngữ / khái niệm quan trọng
• Các lợi ích của SOA
[4]
• Xu hướng và thách thức
• Kết luận
3. TT Phần mềm Viễn thông Viettel
3
Thực trạng của hệ thống phần mềm
Từ các ứng dụng đơn lẻ … đến giải pháp tổng thể
như CRM, ERP đã và đang đem lại nhiều tiện ích
cho doanh nghiệp
Quy trình doanh nghiệp như là một chức năng, bị
đóng chặt trong ứng dụng
4. TT Phần mềm Viễn thông Viettel
4
Các vấn đề phát sinh trong d.nghiệp
Hệ thống phần mềm sẽ thay đổi khi quy trình,
định hướng tổng thể của doanh nghiệp thay đổi
Hệ thống phần mềm khó mở rộng, khó tích hợp
thêm tính năng mới hoặc trở nên phức tạp quá
mức, kéo theo chi phí phát triển và bảo trì cao
5. TT Phần mềm Viễn thông Viettel
Định hướng IT trong doanh nghiệp?
Kiểm soát toàn bộ thông tin đang diễn ra trong
quy trình doanh nghiệp đối với mọi thay đổi của
hệ thống CNTT
Dễ dàng tháo rời, dễ dàng bổ sung và cập nhật
quy trình để tạo thành những kiến trúc đặc thù
cho 1 nhu cầu nào đó
Quy trình và nghiệp vụ có thể được thay đổi ở
mức độ linh hoạt cao, giảm chi phí nguồn lực và
chi phí tài chính
5
6. TT Phần mềm Viễn thông Viettel
Kiến trúc hướng dịch vụ SOA (1)
SOA có từ rất sớm, năm 1960, được biết đến với
khái niệm lập trình thủ tục, DCOM hay ORBs
SOA là 1 kiến trúc để thiết kế và xây dựng các
ứng dụng, từng cặp có tính chất loosely-coupled
XML và Webservice có dạng SOA
6
7. TT Phần mềm Viễn thông Viettel
Kiến trúc hướng dịch vụ SOA (2)
Về bản chất SOA bao gồm tập các dịch vụ có liên
kết với nhau. Hay được phân tách bởi 2 thuật
ngữ
Services
Connections
4 thành phần cơ bản của SOA
Service Consumer
Service Provider
Service Contract
Service Registry
SOA là 1 phong cách thiết kế
Architecture
Methodology
Organisation
7
8. TT Phần mềm Viễn thông Viettel
Service là gì ?
Là 1 thành phần có thể tái sử dụng thực hiện các
chức năng nghiệp vụ phức tạp
Hay, là 1 bộ phận tiếp nhận và xử lý các yêu cầu
từ bên ngoài, có tính chất lặp đi lặp lại
A Windows Service?
RPC Locator, EventLog, Desktop env,
Software Service?
Distribution Service, Alert Service,
Security Service, Log Service
Business Service?`
Common Operational Picture, Navigation
Accounts Receivable, Customers
8
9. TT Phần mềm Viễn thông Viettel
Connection là gì ?
Là 1 liên kết kết nối các dịch vụ độc lập với nhau
9
Service ConsumerService Provider
Service Response
Service Request
10. TT Phần mềm Viễn thông Viettel
Các tính chất của Service
1 Service tiếp nhận và xử lý các yêu cầu (request)
Khi nhận 1 request theo chuẩn, Service sẽ gửi trả
lại 1 response cũng theo chuẩn đã qui ước
1 Service có thể gọi các service khác
10
11. TT Phần mềm Viễn thông Viettel
Kiến trúc hướng dịch vụ SOA (3)
Các thuật ngữ
11
Service Oriented Architecture
(SOA) Web Service
Simple Object Access Protocol
(SOAP)
Web Service Definition
Languague (WSDL)
Extensible Markup Language
(XML)
12. TT Phần mềm Viễn thông Viettel
Kiến trúc hướng dịch vụ SOA (4)
12
SOA is a solution for making
two software communicate
to each other
Service
Provider
Software
Service
Consumer
Software
Service Response
Service Request
Service
Service is a well-defined
function that does not depend
on the state of other services
Consumer needs to know
how to call the service and
what to expect in response
13. TT Phần mềm Viễn thông Viettel
Kiến trúc hướng dịch vụ SOA (5)
13
Service
Provider
Service
ConsumerService Response
Service Request
Service
WebserviceImplementation
Webservice is an
implementation of Service
Oriented Architecture (SOA)
14. TT Phần mềm Viễn thông Viettel
SOA vs. Webservice
SOA được thể hiện bởi sự
kết hợp của các dịch vụ Web
Tất cả các dịch vụ Web là liên
quan đến nhau qua SOA
SOA thường đề cập đến các
dịch vụ Web (Webservices)
Ngôn ngữ lập trình (???)
Các thỏa thuận giữa các services
Có thể phát hiện (các dịch vụ)
Các đặc tả được chuẩn hóa
14
15. TT Phần mềm Viễn thông Viettel
SOA vs. XML
Tài liệu chuẩn (mở) cho việc trao đổi thông tin.
Các giao tiếp thông qua XML và có thể đọc được
Example:
<dept id=“IT”>
<employee id=“123”>
<name>Scott</name>
</employee>
</dept>
15
16. TT Phần mềm Viễn thông Viettel
Các nguyên lý quan trọng của SOA
Explicit Boundaries
Shared Contract and Schema
Interoperability
Loose coupling
Reuse
Language/Vendor agnostic
16
17. TT Phần mềm Viễn thông Viettel
Những k/n quan trọng để tiếp cận
SOA is a way of architecture
Services - Cohesive pieces of functionality that are
autonomous
Artifact store – stores service details so you can
reuse
EBS – connects everything together
Governance – to control, monitor and maintance
the set of services
17
18. TT Phần mềm Viễn thông Viettel
Các hướng tiếp cận
Từ trên xuống: Các yêu cầu nghiệp vụ được diễn
tả như một Mô hình xử lý nghiệp vụ (BPM)
Trình bày mục đích nghiệp vụ và lập mô hình như là một quy trình
Mô hình quy trình trở thành đầu vào để thiết kế dịch vụ (service)
Từ dưới lên: Hệ thống IT đang tồn tại được phân
tích và đánh giá thành các dịch vụ có thể
Xác định các thành phần tồn tại là các dịch vụ của hệ thống
Các tài sản phần mềm được chuyển đổi thành giao diện và cài đặt
Đáp ứng ở giữa: Xác định các nghiệp vụ mục tiêu
Mục tiêu chính và mục tiêu phụ liên quan đến các dịch vụ cụ thể
18
19. TT Phần mềm Viễn thông Viettel
19
Các lợi ích của SOA
Về mặt công nghệ
Đây là một nền tảng độc lập
Kiến trúc linh hoạt
Dễ dàng tích hợp các ứng dụng đang tồn tại + dữ liệu
Tăng tốc độ phát triển, nâng cấp ứng dụng
Lợi ích doanh nghiệp
Tích hợp hiệu quả với các doanh nghiệp đối tác
Dễ dàng hỗ trợ được các dịch vụ khách hàng
Dễ dàng sử dụng dịch vụ bên ngoài của các nhà cung cấp
20. TT Phần mềm Viễn thông Viettel
Xu hướng và thách thức
Xu hướng (theo các số liệu thu thập được, 2011)
19% các tổ chức sử dụng SOA, trong đó 12% có kế hoạch
tăng việc sử dụng SOA và 7% không có kế hoạch tiếp tục
11% là đang ở giai đoạn thử nghiệm hoặc triển khai SOA
22% là đăng nghiên cứu sử dụng công nghệ này
Khó khăn & Thách thức
Tiếp cận sớm và ít có sự hỗ trợ của công nghệ
Tổ chức cần thay đổi khi SOA vượt quá định biên của
h.thống
Sự quản lý chương trình thường phức tạp, dẫn tới những
rủi ro về sự phụ thuộc lẫn nhau và công nghệ mới
Sự thay đổi tác động đến hạ tầng và người sử dụng
Khó đảm bảo chất lượng
20
22. TT Phần mềm Viễn thông Viettel
22
KẾT LUẬN
SOA là một kiến trúc phần mềm nhằm giúp hệ
thống CNTT cung cấp dịch vụ, hỗ trợ cho người
dùng Doanh nghiệp tốt hơn.
SOA Best Practices for Smarter Business
Outcomes
23. TT Phần mềm Viễn thông Viettel
TÀI NGUYÊN MẠNG
Service Oriented Architecture (SOA)
www.ibm.com/software/solutions/soa
Swordfish SOA Runtime Framework Project
www.eclipse.org/swordfish
Google: SOA
IBM DevWorks XML/WS tutorials and free ebooks
23
Cần phải tái cấu trúc quy trình có sẵn hay thiết kế lại hệ thống IT?
A procedure can take requests is called procedural call, A procedure will response then can use other procedures.DCOM is a proprietary Microsoft technology for communication among software components distributed across networked computers.CORBA is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers to work together (i.e., it supports multiple platforms).XML stands for EXtensible Markup LanguageXML is a markup language much like HTMLXML was designed to carry data, not to display dataXML tags are not predefined. You must define your own tagsXML is designed to be self-descriptive.
RPC is Remote Procedure Call. Which set to run automatic on startup. But it don’t sometime.Event logs= eventvwr 1.Information, 2.Warning, 3.Error.Distributed Service is independent share/not.
Conhesive pieces of functionality that are atonomasArtifact store – meta information on the services, documentation, EBS – something all services connect to allowing commiicationGoverence – to control, monitor and maintance the set of services
Facilitate global sourcing.Finally, SOA can aid enterprises(compilation, risks, innovation) in improving their reaction times when adapting to changing market conditions.Tăng tỷ lệ hoàn vốn đầu tư (ROI)Bảo mật caoCải thiện được qui trình kinh doanhGiảm chi phí tích hợpTăng cường khả năng thích nghi
In a web dev Mashups is a web page or application that uses and combine data, presentation or functionality from 2 or more sources to create new sources.An Application Programming Interface (API) is a particular set of rules and specifications that a software program can follow to access and make use of the services and resources provided by another particular software program that implements that API.It serves as an interface between different software programs and facilitates their interaction, similar to the way the user interface facilitates interaction between humans and computers‘.recurring