2009-06-11 25 views
5

Tôi không chắc chắn chính xác những gì tôi đang yêu cầu .... Những kẻ làm phát triển phần mềm cho công ty tôi làm việc để viết tất cả mọi thứ trong VB. Tôi hiện là nhà phát triển web cho công ty này và tôi chuyên về các ứng dụng Flex. Tôi đang nghĩ về việc mở rộng vào khu vực của họ. Nhưng tôi không muốn làm VB, tôi không có nghĩa là để bash trên VB nhưng cú pháp mã hóa không phải là cho tôi. Vì vậy, tôi tự hỏi nếu Java có thể tích hợp với VB? Cũng không chắc chắn nếu nó quan trọng nhưng tôi nghĩ rằng tất cả mọi thứ họ làm là thủ tục, và tôi sẽ làm OOP.Ứng dụng Java có thể tích hợp với các ứng dụng VB không?

Cảm ơn.

+0

Visual Basic 6 hoặc .NET? –

+0

Sự phân biệt VB6 hoặc .Net là rất quan trọng. Bạn có nhiều lựa chọn hơn nếu VB.Net –

+0

Họ đang sử dụng VB6 ... Tôi đã cố gắng thuyết phục họ nâng cấp nhưng họ tuyên bố họ bị khóa vào vb6 ... không chắc chắn nó hoạt động như thế nào để không chắc chắn nếu điều đó có thể đúng hay không không phải. –

Trả lời

6

Có rất nhiều cơ hội tích hợp, nhưng trước khi kiểm tra, nếu tôi là bạn, tôi sẽ tự kiểm tra lại câu hỏi.

Nên đặc biệt giới thiệu ngôn ngữ mới vào một dự án đã được thiết lập. Mong muốn hoặc sở thích thẩm mỹ hoặc kỹ năng của một nhà phát triển đơn lẻ không phải là một lý do chính đáng để làm như vậy. Việc đưa một ngôn ngữ mới vào một dự án nên là một quyết định chiến lược cho dự án, không phải là một quyết định mang tính chiến lược.

Nếu bạn chọn để mở rộng ngôn ngữ cốt lõi dùng để phát triển hệ thống,

  • COM interop
    có thể với JACOB. Tôi tin rằng IBM cũng có một cây cầu (Kiểm tra alphaworks)
  • Java-.NET bridging
    có thể thông qua JNBridge và các cây cầu khác. Điều này có ý nghĩa chỉ khi VB.NET được sử dụng.
  • SOAP, trao đổi tài liệu XML, REST
    phù hợp với ranh giới dịch vụ. Nó đòi hỏi TCP hoặc HTTP hoặc một số giao thức mạng.
  • cửa hàng dữ liệu chung
    có thể đóng vai trò là điểm hẹn. Cả Java và VB đều có thể đọc và cập nhật dữ liệu trong SQL Server, Oracle, MSMQ, MQSeries, v.v. Ngay cả một hệ thống tập tin có thể là một điểm tích hợp.

Hãy nghĩ đến định dạng dữ liệu liên quan đến, nhưng lý tưởng nhất là cơ chế tích hợp. Ý tôi là: Bạn có thể sử dụng một tài liệu XML để tích hợp, cho dù nó được lưu trữ trong một cơ sở dữ liệu hay được gửi qua một giao diện REST, hoặc được lưu trữ trong một hệ thống tệp hoặc đặt/nhận trên một hàng đợi. Bạn cũng có thể sử dụng tệp được phân tách bằng dấu phẩy trên bất kỳ cơ chế nào trong số đó.

0

Không thực sự. Java sử dụng CORBA cho interop và VB sử dụng COM cho interop. Bạn có thể tạo một cây cầu bằng cách sử dụng JNI, nhưng tôi hiểu rằng điều đó có thể là nỗi đau.

+1

Hãy bình luận để cho tôi biết có gì sai. –

2

Có khả năng họ có thể trưng ra một lớp dịch vụ thông qua xà phòng hoặc một cái gì đó đơn giản hơn? Ngoài ra, bạn luôn có thể làm việc với cùng một cơ sở dữ liệu với các ngôn ngữ khác nhau trừ khi phần lớn logic nằm trong các thủ tục được lưu trữ (không nhất thiết phải đề xuất phương pháp này), sau đó bạn kết thúc bằng mã lặp lại.

-1

Bạn có thể bắc cầu cả hai bằng cách sử dụng bộ điều hợp C/C++ để ánh xạ các cuộc gọi JNI với COM. Nhưng đó sẽ là khủng khiếp. Tôi hy vọng có một giải pháp tốt hơn, nhưng sự hiểu biết của tôi là khá khó để tích hợp mã .NET và Java vì cả hai nhà cung cấp (Sun và Microsoft) không có bất kỳ động cơ nào để hợp lý hóa loại phát triển đó.

+0

Sun và Microsoft đã có một sáng kiến ​​chung hoạt động lâu dài làm việc trên Java + .NET interop. Có những người làm việc toàn thời gian về điều này trong cả hai công ty. Là một phần của sự hợp tác interop, Microsoft đã phát biểu quan trọng tại J1 vào năm 2009. – Cheeso

+0

Tôi không biết về điều đó. Lấy làm tiếc. –

0

Tôi đã không làm điều này bằng cách Tôi tin rằng bạn có các tùy chọn sau:

  • Sử dụng Java-COM bridge, như VB sử dụng COM. Thư viện này đã được đề cập ở đây nhiều lần
  • Nếu bạn đang sử dụng VB.net, bạn có thể sử dụng hessian, Vì nó có cả triển khai Java và C#.
+0

Trang web cho Hessian mô tả nó như là một giao thức; nó là nhiều hơn/khác nhau. Hessian ngụ ý định dạng tuần tự hóa dữ liệu, cũng như thư viện và bộ API. Nó dường như không có một ràng buộc VB6. Hessian dường như với tôi là một câu trả lời rất hữu ích cho một vấn đề đã được trả lời một cách tổng quát hơn, những cách tiếp cận được. Ví dụ: dịch vụ web hoặc REST. – Cheeso

+0

Tôi đồng ý, nhưng nó có lợi thế về sự đơn giản, liên quan đến Dịch vụ Web. Chúng tôi sử dụng trong một ứng dụng PHP/Java kết hợp –

+0

Về VB6, đây là lý do tại sao tôi đã đề cập đến JACOB –

Các vấn đề liên quan