KỸ THUẬT PHÁT TRIỂN DỊCH vụ CHO MẠNG THẾ hệ mới THEO CÔNG NGHỆ SOA

30 425 0
KỸ THUẬT PHÁT TRIỂN DỊCH vụ CHO MẠNG THẾ hệ mới THEO CÔNG NGHỆ SOA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

I. Đặt vấn đề Mạng viễn thông thế hệ mới (Next Generation Network – NGN) đang là xu hướng phát triển ở nhiều nước trên thế giới do tính chất tiên tiến của nó như hội tụ các loại tín hiệu, mạng đồng nhất và băng thông rộng. Tại Việt Nam, lĩnh vực viễn thông đang phát triển rất mạnh và nhu cầu của người dùng về các loại hình dịch vụ mới ngày càng cao vì vậy việc tiến lên NGN cũng là vấn đề cấp bách hiện nay cho các nhà mạng. NGN là mạng hội tụ cả thoại, video và dữ liệu trên cùng một cơ sở hạ tầng dựa trên nền tảng IP (Internet Protocol), làm việc trên cả hai phương tiện truyền thông vô tuyến và hữu tuyến. NGN là sự tích hợp cấu trúc mạng hiện tại với cấu trúc mạng đa dịch vụ dựa trên cơ sở hạ tầng có sẵn, với sự hợp nhất các hệ thống quản lý và điều khiển. Các ứng dụng cơ bản bao gồm thoại, hội nghị truyền hình và nhắn tin hợp nhất (unified messaging) như voice mail, email, fax mail, cùng nhiều dịch vụ tiềm năng khác. Để xây dựng được các ứng dụng này, các nhà mạng phải xây dựng các máy chủ ứng dụng (Application Server) tương thích với chuẩn của mạng thế hệ mới. Các phần mềm viết cho máy chủ ứng dụng có thể được viết bằng nhiều loại ngôn ngữ khác nhau tuân theo một quy tắc chặt chẽ, nhiều tầng. Để giải quyết vấn đề này, thế giới đã đưa ra một giải pháp có thể khiến cho các ứng dụng trên bắt tay, giao tiếp được với các ứng dụng khác một cách dễ dàng mà không cần quan tâm đến các chi tiết kỹ thuật bên trong. Đó là kỹ thuật “kiến trúc hướng dịch vụ” (Service Oriented Architecture – SOA). Service Oriented Architecture (SOA) cung cấp cơ chế cho phép các hệ thống hoạt động trên các platform khác nhau có thể giao tiếp với nhau. Hiện nay, có rất nhiều ngôn ngữ tuân theo kỹ thuật SOA như Sip Servler, JSP, Web 2.0,… Chúng ta sẽ đi vào nghiên cứu về Sip Servlet và một vài ứng dụng của Sip Servlet trong mạng thế hệ di động mới sử dụng kỹ thuật SOA. II. Mạng thế hệ mới và kiến trúc hướng dịch vụ SOA 1. Mạng viễn thông thế hệ mới a. Mạng thế hệ tiếp theo (NGN) Mạng viễn thông thế hệ mới – Next Generation Network (NGN) là mạng hội tụ cả thoại, video và dữ liệu trên cùng một cơ sở hạ tầng dựa trên nền tảng IP, làm việc trên cả hai phương tiện truyền thông vô tuyến và hữu tuyến. NGN là sự tích hợp cấu trúc mạng hiện tại với cấu trúc mạng đa dịch vụ dựa trên cơ sở hạ tầng có sẵn, với sự hợp nhất các hệ thống quản lý và điều khiển. Các ứng dụng cơ bản bao gồm thoại, hội nghị truyền hình và nhắn tin hợp nhất (unified messaging) như voice mail, email và fax mail, cùng nhiều dịch vụ tiềm năng khác. Các đặc điểm của NGN: • Sử dụng công nghệ chuyển mạch mềm (SW-SoftSwitch): Thay thế các thiết bị tổng đài chuyển mạch phần cứng (hardware) cồng kềnh. Các mạng của từng dịch vụ riêng rẽ được kết nối với nhau thông qua sự điều khiển của một thiết bị tổng đài duy nhất, thiết bị tổng đài này dựa trên công nghệ SW được ví như là “trái tim” của NGN. • Mạng hội tụ thoại và dữ liệu, cố định và di động: Các loại tín hiệu được truyền tải theo kỹ thuật chuyển mạch gói, xu hướng sắp tới đang tiến dần lên sử dụng mạng IP với kỹ thuật QoS như MPLS. • Mạng băng thông rộng cung cấp đa dịch vụ: Mạng truyền dẫn quang với công nghệ WDM (Wavelength Division Multiplexing) hay DWDM (Dense WDM). Cấu trúc của mạng NGN: Cấu trúc mạng NGN bao gồm 5 lớp chức năng: lớp truy nhập dịch vụ (service access layer), lớp chuyển tải dịch vụ (service transport/core layer), lớp điều khiển (control layer), lớp ứng dụng/dịch vụ (application/service layer) và lớp quản lý (management layer). Hình 1 thể hiện cấu trúc của NGN. • Lớp ứng dụng / Lớp dịch vụ Lớp ứng dụng và dịch vụ cung cấp các ứng dụng và dịch vụ như dịch vụ mạng thông minh IN (Intelligent Network), trả tiền trước, dịch vụ giá trị gia tăng Internet cho khách hàng thông qua lớp điều khiển . Hệ thống ứng dụng và dịch vụ mạng này liên kết với lớp điều khiển thông qua các giao diện mở API. Nhờ giao diện mở này mà nhà cung cấp dịch vụthể phát triển các ứng dụng và triển khai nhanh chóng các dịch vụ trên mạng. Trong môi trường phát triển cạnh tranh sẽ có rất nhiều thành phần tham gia kinh doanh trong lớp này. • Lớp điều khiển Lớp điều khiển bao gồm các hệ thống điều khiển kết nối cuộc gọi giữa các thuê bao thông qua việc điều khiển các thiết bị chuyển mạch (ATM+IP) của lớp chuyển tải và các thiết bị truy nhập của lớp truy nhập. Lớp điều khiển có chức năng kết nối cuộc gọi thuê bao với lớp ứng dụng/dịch vụ. Các chức năng như quản lý, chăm sóc khách hàng, tính cước cũng được tích hợp trong lớp điều khiển. Hình - Cấu trúc lớp mạng NGN • Lớp chuyển tải dịch vụ Bao gồm các nút chuyển mạch (ATM+IP) và các hệ thống truyền dẫn (SDH, WDM), thực hiện chức năng chuyển mạch, định tuyến các cuộc gọi giữa các thuê bao của lớp truy nhập dưới sự điều khiển của thiết bị điều khiển cuộc gọi thuộc lớp điều khiển. Hiện nay đang còn nhiều tranh cãi khi sử dụng ATM hay MPLS cho lớp chuyển tải này. • Lớp truy nhập dịch vụ Bao gồm các thiết bị truy nhập cung cấp các cổng kết nối với thiết bị đầu cuối thuê bao qua hệ thống mạng ngoại vi cáp đồng, hoặc cáp quang, hoặc thông qua môi trường vô tuyến (thông tin di động, vệ tinh, truy nhập vô tuyến cố định .) • Lớp quản lý Đây là lớp đặc biệt xuyên suốt các lớp trên. Các chức năng quản lý được chú trọng là: quản lý mạng, quản lý dịch vụ, quản lý kinh doanh. NGN là mạng chuyển mạch gói, giao thức thống nhất. Mang thông tin hiện nay, dù là mạng viễn thông, mạng máy tính hay mạng truyền hình cáp, đều không thể lấy một trong các mạng đó làm nền tảng để xây dựng cơ sở hạ tầng thông tin. Nhưng mấy năm gần đây, cùng với sự phát triển của công nghệ IP, người ta mới nhận thấy rõ ràng là mạng viễn thông, mạng máy tính và mạng truyền hình cáp cuối cùng rồi cũng tích hợp trong một mạng IP thống nhất, đó là xu thế lớn mà người ta thường gọi là “dung hợp ba mạng”. Giao thức IP làm cho các dịch vụ lấy IP làm cơ sở đều có thể thực hiện nối thông các mạng khác nhau; con người lần đầu tiên có được giao thức thống nhất mà ba mạng lớn đều có thể chấp nhận được; đặt cơ sở vững chắc về mặt kỹ thuật cho hạ tầng cơ sở thông tin quốc gia (NII). Giao thức IP thực tế đã trở thành giao thức ứng dụng phổ biến và bắt đầu được sử dụng làm cơ sở cho các mạng đa dịch vụ, mặc dù hiện tại vẫn còn ở thế bất lợi so với các chuyển mạch kênh về mặt khả năng hỗ trợ lưu lượng thoại và cung cấp chất lượng dịch vụ đảm bảo cho số liệu. Tốc độ đổi mới nhanh chóng trong thế giới Internet, mà nó được tạo điều kiện bởi sự phát triển của các tiêu chuẩn mở sẽ sớm khắc phục những thiếu sót này. b. Phân hệ IP Multimedia Subsystem (IMS) IMS thuật ngữ viết tắt của IP Multimedia Subsystem, là một kiến trúc mạng nhằm tạo sự thuận tiện cho việc phát triển và phân phối các dịch vụ đa phương tiện đến người dùng, bất kể là họ đang kết nối thông qua mạng truy nhập nào. IMS hỗ trợ nhiều phương thức truy nhập như GSM, UMTS, CDMA2000, truy nhập hữu tuyến băng rộng như cáp xDSL, cáp quang, cáp truyền hình, cũng như truy nhập vô tuyến băng rộng WLAN, WiMAX. IMS tạo điều kiện cho các hệ thống mạng khác nhau có thể tương vận (interoperability) với nhau. IMS hứa hẹn mang lại nhiều lợi ích cho cả người dùng lẫn nhà cung cấp dịch vụ. Nó đã và đang được tập trung nghiên cứu cũng như thu hút được sự quan tâm lớn của giới công nghiệp. Tuy nhiên IMS cũng gặp phải những khó khăn nhất định và cũng chưa thật sự đủ độ chín để thuyết phục các nhà cung cấp mạng đầu từ triển khai nó. Kiến trúc IMS được cho là khá phức tạp với nhiều thực thể và vô số các chức năng khác nhau. Bài viết này giúp bạn đọc có một cái nhìn tổng quan từ khía cạnh công nghệ của giải pháp IMS. Nó cũng chỉ ra những lợi ích và khó khăn mà IMS đang phải đương đầu. Hình – Kiến trúc tổng quan IMS IMS được định hình và phát triển bởi diễn đàn công nghiệp 3G.IP, thành lập năm 1999. Kiến trúc ban đầu của IMS được xây dựng bởi 3G.IP và sau đó đã được chuẩn hóa bởi 3GPP (3rd Generation Partnership Project) trong Release 5 công bố tháng 3 năm 2003. Trong phiên bản đầu tiên này, mục đích của IMS là tạo thuận lợi cho việc phát triểntriển khai dịch vụ mới trên mạng thông tin di động. Tiếp đến, tổ chức chuẩn hóa 3GPP2 đã xây dựng hệ thống CDMA2000 Multimedia Domain (MMD) nhằm hỗ trợ các dịch vụ đa phương tiện trong mạng CDMA2000 dựa trên nền 3GPP IMS. Trong Release 6 của 3GPP IMS, cùng với khuynh hướng tích hợp giữa mạng tế bào và mạng WLAN, mạng truy nhập WLAN đã được đưa vào như một mạng truy nhập bên cạnh mạng truy nhập tế bào. IMS khởi đầu như một chuẩn cho mạng vô tuyến. Tuy nhiên, cộng đồng mạng hữu tuyến, trong quá trình tìm kiếm một chuẩn thống nhất, sớm nhận thấy thế mạnh của IMS cho truyền thông hữu tuyến. Khi đó ETSI (the European Telecommunication Standards Institute) đã mở rộng chuẩn IMS thành một phần của kiến trúc mạng thế hệ tiếp theo NGN (Next Generation Network) mà họ đang xây dựng. Tổ chức chuẩn hóa TISPAN (Telecoms & Internet converged Services and Protocols for Advanced Networking) trực thuộc ETSI, với mục đích hội tụ mạng thông tin di động và Internet, đã chuẩn hóa IMS như một hệ thống con của NGN. Kết hợp với TISPAN, trong Release 7 của IMS, việc cung cấp dịch vụ IMS qua mạng cố định đã được bổ sung. Năm 2005, phiên bản Release 1 của TISPAN về NGN được coi như một sự khởi đầu cho hội tụ cố định-di động trong IMS. Gần đây, 3GPP và TISPAN đã có được một thỏa thuận để cho ra phiên bản Release 8 của IMS với một kiến trúc IMS chung, có thể hỗ trợ các kết nối cố định và các dịch vụ như IPTV. Đa phần các giao thức sử dụng trong IMS được chuẩn hóa bởi IETF (Internet Engineering Task Force), điển hình nhất là giao thức tạo phiên SIP (Session Initiation Protocol). Rất nhiều các phát triển và cải tiến của SIP để hỗ trợ các chức năng theo yêu cầu của hệ thống IMS đã được đề nghị và chuẩn hóa bởi IETF như SIP hỗ trợ tính cước, bảo mật v.v. Bên cạnh IETF và TISPAN, một tổ chức chuẩn hóa khác mà 3GPP hợp tác chặt chẽ trong việc phát triển IMS là Liên minh di động mở OMA (Open Mobile Alliance) nhằm phát triển các dịch vụ trên nền IMS. Một trong những dịch vụ do OMA phát triển là Push-to-Talk over Cellular (PoC) hay OMA SIMPLE Instant Messaging. Lợi ích của IMS: IMS, tạm dịchhệ thống con đa phương tiện IP, không đơn thuần là một nền tảng dịch vụ (service plaftorm) mà là một kiến trúc mạng dùng để thao tác, quản lý và điểu khiển các dịch vụ đa phương tiện đến người dùng cố định và di động. IMS định nghĩa một lớp quản lý dịch vụ chung cho tất cả các loại hình dịch vụ đa phương tiện, độc lập với loại hình mạng truy nhập mà người dùng đang kết nối. IMS xây dựng trên nền mạng lõi IP và cho phép nhiều mạng truy nhập khác, bao gồm cả mạng di động lẫn mạng cố định, kết nối với nhau thông qua lớp dịch vụ chung để cung cấp các gói dịch vụ hội tụ. Ngày nay Internet đã trở thành một phần cuộc sống của hơn 15% số người trên trái đất. Internet cung cấp phương thức để mọi người có thể liên lạc, trao đổi, tuơng tác và làm việc cùng với nhau. Trong khi các mạng vận tải dữ liệu không cần thời gian thực được sử dụng chủ yếu trong thế hệ Internet đầu tiên thì ngày nay các dịch vụ thời gian thực (hoặc gần thực) với chất lượng dịch vụ QoS cao ngày càng được phát triển rộng rãi. Sự chuyển đổi theo khuynh hướng hội tụ nhiều hệ thống mạng khác nhau trên nền toàn IP sẽ sớm trở thành hiện thực. Trong bối cảnh đó, người dùng trong tương lai mong muốn có các dịch vụ đa phương tiện chất lượng cao, mang tính cá nhân, có khả năng tương tác thời gian thực mọi lúc mọi nơi trên mọi thiết bị sử dụng. Điều này đặt ra nhữnng yêu cầu mới cho kiến trúc hạ tầng mạng viễn thông. Trong bối cảnh đó, IMS được xem như là một giải pháp hứa hẹn để thỏa mãn tất cả những mục tiêu kể trên cho một thế hệ mạng tương lai. Một trong những mục đích đầu tiên của IMS là giúp cho việc quản lý mạng trở nên dễ dàng hơn bằng cách tách biệt chức năng điều khiển và chức năng vận tải thông tin. Một cách cụ thể, IMS là một mạng phủ (overlay), phân phối dịch vụ trên nền hạ tầng chuyển nối gói. IMS cho phép chuyển dần từ mạng chuyển nối mạch sang chuyển nối gói trên nền IP, tạo thuận lợi cho việc quản lý mạng thông tin di động. Việc kết nối giữa mạng cố định và di động đã góp phần vào tiến trình hội tụ mạng viễn thông trong tương lai. IMS cho phép người dùng có thể sử dụng một hay nhiều loại thiết bị khác nhau, di chuyển từ mạng này sang mạng khác mà vẫn có thể dùng cùng một dịch vụ. Kiến trúc IMS cung cấp nhiều giá trị gia tăng cho nhà cung cấp mạng, người phát triển ứng dụng, người cung cấp dịch vụ cũng như người sử dụng các thiết bị đầu cuối. Kiến trúc IMS giúp các dịch vụ mới được triển khai một cách nhanh chóng với chi phí thấp. IMS cung cấp khả năng tính cước phức tạp hơn nhiều so với hệ thống tài khoản trả trước hay trả sau, ví dụ như việc tính cước theo từng dịch vụ sử dụng hay phân chia cước giữa các nhà cung cấp dịch vụ và nhà cung cấp mạng. Khách hàng sẽ chỉ nhận một bảng tính cước phí duy nhất từ một nhà cung cấp mạng thường trú. IMS hứa hẹn mang đến nhiều dịch vụ đa phương tiên, giàu bản sắc theo yêu cầu và sở thích của từng khách hàng, do đó tăng sự trải nghiệm của khách hàng (customer experience). Với IMS, nhà cung cấp mạng sẽ không chỉ làm công tác vận tải thông tin một cách đơn thuần mà trở thành tâm điểm trong việc phấn phối dung lượng thông tin trong mạng, đóng vai trò quan trọng trong việc đảm bảo chất lượng dịch vụ cũng như kịp thời thay đổi để đáp ứng các tình huống khác nhau của khách hàng. Tóm lại: IMS tạo thuận lợi cho các nhà cung cấp dịch vụ trong việc xây dựng và triển khai các ứng dụng mới, giúp nhà cung cấp mạng giảm chi phí triển khai, vận hành và quản lý, đồng thời tăng lợi nhuận nhờ các dịch vụ mới. Và cuối cùng IMS mang lại những dịch vụ mới hướng đến sự tiện nghi cho khách hàng. 2. Kiến trúc hướng dịch vụ SOA a. Công nghệ SOA SOA (Service Oriented Architecture) – kiến trúc hướng dịch vụ. Ngày nay để đạt được mức độ linh hoạt trong kinh doanh (cho ra sản phầm nhanh và hiệu quả) nhiều công ty đã áp dụng SOA. Vậy SOA là gì? SOA là một phong cách kiến trúc để xây dựng các hệ thống phân tán. Phân phát các chức năng dưới dạng dịch vụ và các dịch vụ được người dùng cuối sử dụng vào ứng dụng của mình hoặc được sử dụng để xây dựng một dịch vụ khác. Vì vậy SOA cho phép tạo ra các giải pháp hoặc ứng dụng một cách dễ dàng và nhanh chóng thông qua việc tích hợp các dịch vụ đã được xây dựng sẵn. SOA (Service-Oriented Architecture) - kiến trúc hướng dịch vụ. Hiểu một cách cơ bản, SOA là tập hợp các dịch vụ kết nối “mềm dẻo” với nhau, có giao tiếp được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sử dụng. SOA là cấp độ cao hơn của phát triển ứng dụng, chú trọng đến quy trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ thuật bên dưới. Nói cách khác, SOA là: • Một kiểu kiến trúc phần mềm gồm nhiều thành phần độc lập được thể hiện thành những dịch vụ (service), mỗi dịch vụ thực hiện quy trình nghiệp vụ nào đó của doanh nghiệp. • Các thành phần được nối kết qua cổng giao tiếp, có tính kế thừa các thành phần đang tồn tại, và sự tương tác giữa chúng không cần quan tâm đến việc chúng được phát triển trên nền tảng công nghệ nào. Điều này khiến hệ thống có thể mở rộng và tích hợp một cách dễ dàng. Bản chất SOA chỉ đơn thuần là sự đáp ứng đối với một thách thức ngày càng lớn: đó là yêu cầu thực tế của doanh nghiệp thay đổi ngày càng nhanh, đến mức những cấu trúc ứng dụng kiểu truyền thống khó giải quyết nổi. SOA sẽ đáp ứng được yêu cầu đó, nó sẽ trợ giúp cho hoạt động doanh nghiệp có thể quản lý được (manageable), linh hoạt hơn và sẵn sàng thay đổi hơn. Một chuyên gia của IBM từng nói: « SOA được xây dựng để thay đổi (built to change), chứ không chỉ để tồn tại (not built to last) » Từ góc độ doanh nghiệp thì có thể coi SOA là một phương pháp để tái cấu trúc hạ tầng thông tin của doanh nghiệp. b. Đặc điểm SOA Công nghệ SOA có các đặc điểm sau • Thứ nhất, tái sử dụng phần mềm. Nếu một dịch vụ có quy mô và kích thước phù hợp sau đó nó có thể được tái sử dụng cho lần kế tiếp. Điều này đồng nghĩa sẽ làm giảm công sức phát triển và chi phí về mặt tài chính cho cả hai phía: nhà phát triển phần mềm và các khách hàng (doanh nghiệp). Tái sử dụng phần mềm. Nếu gói mã mà tạo thành một dịch vụ có quy mô và kích thước phù hợp sau đó nó có thể được tái sử dụng cho lần kế tiếp, một đội phát triển cần chức năng cụ thể đó cho một ứng dụng phần mềm mới mà nó mong muốn xây dựng. Họ không cần biết bất cứ thứ gì về việc mã được gói chặt như thế nào hay nó có nguồn gốc từ đâu. Tất cả những thứ mà họ cần làm đó là xây dựng một sự kết nối đến mã đó. Trong một công ty mà thường xuyên xây dựng những hệ thống mới dựa trên những chức năng tương tự - ví dụ một công ty bảo hiểm với nhiều bộ phận, mỗi một bộ phận đảm nhận cho các sản phẩm khác nhau hay một công ty thường xuyên thu được những công ty mới – thời gian được tiết kiệm thông qua việc phát triển, kiểm thử và tích hợp đó với chức năng phần mềm nhỏ bé tương tự đó có thể thêm vào.Năng suất gia tăng. Nếu các lập trình viên tái sử dụng các dịch vụ điều đó có nghĩa là các dự án phần mềm thể tiến xa hơn và đội phát triển tương tự có thể tiếp tục nhiều dự án hơn. Sự tích hợp trở nên rẻ hơn nhiều( theo ước tính của Gartner thì ít nhất sẽ rẻ hơn 30%) và cũng nhanh hơn, chu trình phát triển các dự án mới sẽ giảm bớt thời gian đi vài tháng. • Thứ hai, linh hoạt khi mở rộng, kết nối và tích hợp. Giả sử rằng các dịch vụ sẽ không được tái sử dụng, thì ta có thể đưa ra nhiều giá trị nếu ta làm cho hệ thống CNTT chỉnh sửa dễ dàng hơn. Thậm chí nếu các dịch vụ sẽ không được tái sử dụng, thì họ có thể đưa ra nhiều giá trị nếu họ làm cho hệ thống CNTT chỉnh sửa dễ dàng hơn. Ví dụ tại website ProFlowers.com có nhiều ứng dụng dư thừa hoặc tình trạng kêu la của nhiều đơn vị doanh nghiệp. Tuy nhiên theo ông Kevin Hall giám đốc CNTT của ProFlowers thì việc phân chia quá trình đặt hoa thành các dịch vụ riêng rẽ có nghĩa là mỗi một cấu phần có thể được tách biệt và được thay đổi như mong muốn để xử lý các cụm hoa theo yêu cầu nảy sinh xung quanh các ngày nghỉ. Khi ProFlowers đã có một ứng dụng nguyên khối, đơn lẻ xử lý quá trình đó thì một sự thay đổi đơn lẻ trong quy trình đó hay một sự gia tăng số lượng giao dịch( nói vào ngày Lễ tình nhân) đồng nghĩa với việc xé nhỏ toàn bộ hệ thống và xây dựng lại hệ thống đó. Dịch vụ là yếu tố then chốt trong SOA. Có thể hiểu dịch vụ như là hàm chức năng (mô-đun phần mềm) thực hiện qui trình nghiệp vụ nào đó. Một cách cơ bản, SOA là tập hợp các dịch vụ kết nối 'mềm dẻo' với nhau (nghĩa là một ứng dụng có thể 'nói chuyện' với một ứng dụng khác mà không cần biết các chi tiết kỹ thuật bên trong), có giao tiếp (dùng để gọi hàm dịch vụ) được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sử dụng. SOA là cấp độ cao hơn của phát triển ứng dụng, chú trọng đến qui trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ thuật bên dưới. Thiết kế SOA tách riêng phần thực hiện dịch vụ (phần mềm) với giao tiếp gọi dịch vụ. Điều này tạo nên một giao tiếp nhất quán cho ứng dụng khách (client) sử dụng dịch vụ bất chấp công nghệ thực hiện dịch vụ. Thay vì xây dựng các ứng dụng đơn lẻ và đồ sộ, nhà phát triển sẽ xây dựng các dịch vụ tinh gọn có thể triển khai và tái sử dụng trong toàn bộ quy trình nghiệp vụ. Điều này cho phép tái sử dụng phần mềm tốt hơn, cũng như tăng sự linh hoạt vì nhà phát triểnthể cải tiến dịch vụ mà không làm ảnh hưởng đến ứng dụng client sử dụng dịch vụ. Ưu điểm quan trọng nhất của SOA là khả năng kết nối “mềm dẻo” (nhờ sự chuẩn hóa giao tiếp) và tái sử dụng. Các dịch vụthể được sử dụng với trình client chạy trên nền tảng bất kỳ và được viết với ngôn ngữ bất kỳ. (Ví dụ, ứng dụng Java có thể liên kết với dịch vụ web .NET và ngược lại). SOA dựa trên 2 nguyên tắc thiết kế quan trọng: • Mô-đun: Tách vấn đề lớn thành nhiều vấn đề nhỏ. • Đóng gói: Che đi dữ liệu và lô-gic trong từng mô-dun (hay “hộp đen”) đối với truy cập từ ngoài. SOA và OOP : không loại trừ nhau. Có ý kiến cho rằng SOA (Service-Oriented - định hướng dịch vụ) sẽ thay thế phương thức lập trình hướng đối tượng - OOP (Object Oriented Programming). Ít nhất thì đây là thông điệp của Don Box, phụ trách bộ phận thiết kế Indigo - công nghệ tích hợp trong hệ điều hành Windows Longhorn (phiên bản hệ điều hành Windows thế hệ kế tiếp) mà theo Microsoft sẽ hỗ trợ hoàn toàn SOA. Thực sự đây chỉ là tuyên bố mang tính 'giật gân', gần giống như tuyên bố AOP thay thế OOP (tham khảo « AOP=Aspect Oriented Programming », TGVT A số 01/2003 - trang 60). Hình - Kiến trúc cấp 3 tiêu biểu của mô hình hướng đối tượng SOA sử dụng cùng một số nguyên lý như OOP, tuy nhiên triết lý SOA có khác biệt đáng kể so với OOP. SOAthể thực hiện với cả chương trình theo hướng đối tượng (OO) và chương trình không hướng đối tượng. Chúng ta có thể thấy sự ràng buộc giữa lớp thể hiện và các đối tượng của lớp nghiệp vụ. Chương trình client phải tương tác với mô hình đối tượng của lớp nghiệp vụ, điều này làm tăng sự ràng buộc và yêu cầu số lượng đáng kể các “gọi hàm” giữa các 2 lớp. Khi các đối tượng nghiệp vụ nằm ở máy tính xa thì đây sẽ là vấn đề. Tương tự, số lượng đối tượng nghiệp vụ mà lớp thể hiện phải thao tác làm giảm sự độc lập giữa các lớp và làm cho khó sử dụng lớp nghiệp vụ. Ví dụ, xét đoạn mã sau:

Ngày đăng: 28/12/2013, 20:57

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan