2010-09-04 24 views
13

Chúng tôi bán các ứng dụng web Java đóng gói cho một số khách hàng của chúng tôi. Về cơ bản nó là một tập hợp các servlet, một số dịch vụ web SOAP và một số tài nguyên tĩnh. Chúng tôi không làm EJB cũng như bất kỳ công cụ ưa thích nào khác của Java Enterprise.Thuyết phục khách hàng để nâng cấp lên Java 5

Một số khách hàng của chúng tôi đang chạy Máy chủ ứng dụng WebSphere của IBM v5.1, do đó chúng tôi giới hạn trong Java 1.4 cho thời gian chạy và sự phát triển. Tất nhiên, chúng tôi muốn làm phát triển của chúng tôi bằng cách sử dụng Java 5 (hoặc thậm chí tốt hơn Java 6). Làm SOAP trong 1,4 yêu cầu một lib bên ngoài (chúng tôi sử dụng AXIS, nhưng nó cũ). Chúng tôi không thể sử dụng enum, boxing, generics ... Nó trở nên khó khăn hơn để tìm 1,4 thư viện của bên thứ ba tương thích.

Khách hàng hiện đang hài lòng với thiết lập cũ nhưng hoạt động tốt này. Chúng tôi muốn họ nâng cấp thời gian chạy Java của họ. Trong trường hợp này, nó có nghĩa là nâng cấp lên IBM WS 6.1 hoặc 7.0?

Chúng ta có thể nói cho họ biết điều gì? Có gì trong đó cho họ?

Cho đến nay tôi đã có:

  1. Better hiệu suất như JVM là hiệu quả hơn trong Java 5 (thậm chí tốt hơn với Java 6). Mặc dù vậy, tôi không thể đặt con số lên nó. Bạn không chắc liệu IBM VM đã cải thiện rất nhiều (một trong những máy khách của chúng tôi đang chạy trên AIX).
  2. Hỗ trợ. IBM WS 5.1 chỉ có thể được hỗ trợ thông qua các chương trình hỗ trợ mở rộng đặc biệt.

Họ là những tập đoàn lớn, vì vậy họ lên kế hoạch cho các giải pháp của họ trước hơn một năm. Họ chọn một sản phẩm trưởng thành ngày hôm nay và họ triển khai nó năm sau đó. Các sản phẩm sau đó có một vài tháng trước khi kết thúc của cuộc sống.

Xem IBM WebSphere Application Server comparison

+4

này tương tự như [ Lý do và lợi thế cho việc nâng cấp lên Java 6 cho người quyết định phi kỹ thuật (tại máy khách) ] (http://stackoverflow.com/questions/3371681/reasons-and-advantages-for-upgrading-to-java-6-for-a-non-technical- decider-at-th). –

+1

WS 5.1? J2EE 1.3? OMG, điều đó phải thú vị: s –

+0

@pascal Yeah. Ít nhất, có một hỗ trợ thời gian chạy Java 1.4. – gawi

Trả lời

6

Trước hết, SDK duy nhất được hỗ trợ với phiên bản WAS nhất định là SDK thực sự được giao với sản phẩm (nói cách khác, IBM sẽ không hỗ trợ chạy WAS trên JDK khác, nếu vấn đề này).

Thứ hai, WAS có thể không thực sự bắt đầu với phiên bản SDK mới hơn (ví dụ: WAS 6.1 sẽ không bắt đầu với IBM JDK 1.6).

  • WS 5.1: J2EE 1.3, JDK 1.4.2
  • WS 6.0: J2EE 1.4, JDK 1.4.2
  • WS 6.1: J2EE 1.4, JDK 1.5
  • WS 7.0: J2EE 1.5, JDK 1.6

Vì vậy, yêu cầu thời gian chạy gần đây hơn có thể là từ đồng nghĩa của di chuyển lớn: trình độ của JDK và máy chủ ứng dụng, đào tạo quản trị viên, di chuyển nền tảng, di chuyển ứng dụng, cập nhật giám sát, triển khai công cụ, kiểm tra hồi quy , vv Đây là gien tập hợp một quy trình phức tạp và cực kỳ chậm chạp với các công ty bảo thủ lớn.

Trong trường hợp của bạn, bạn có thể có thể xem xét phân nhánh phần mềm của bạn và cung cấp các phiên bản khác nhau và:

  • chỉ làm duy trì trên phiên bản cũ
    • và xác định một ngày EOL cho các phiên bản cũ (bạn không thể duy trì quảng cáo Ad Vitam Aeternam)
  • cung cấp các tính năng mới trên phiên bản mới chỉ
  • cung cấp thêm tính năng mạnh mẽ hơn đặt giá trên phiên bản mới

Phải có lý do chính đáng để khách hàng của bạn áp dụng phiên bản mới hơn và phải vượt quá chi phí di chuyển.

+1

Sản phẩm của chúng tôi là một phần nhỏ trong số những gì khách hàng đang chạy. Vì vậy, chúng tôi không có nhiều ảnh hưởng đến quy hoạch kiến ​​trúc web của họ. Điều tốt nhất chúng ta có thể làm là thuyết phục họ tiến hành sớm hơn và có thể là một động thái lớn hơn (tại sao không đi đến WAS 8.0 vào năm 2012? Nó sẽ là GA lúc đó). Một tùy chọn khác mà tôi đang xem xét là yêu cầu khách hàng chạy ứng dụng của chúng tôi trên các máy chủ bị cô lập (ví dụ: một JBoss gần đây hoặc sự kiện WebSphere 7.0 nếu khách hàng sẵn sàng trả tiền). Đây có thể là cơ hội để khách hàng thử nghiệm một chút về các sản phẩm và công nghệ mới. – gawi

+0

Tôi đang giữ lại chiến lược "phân nhánh" và "tính năng mới chỉ trên phiên bản mới". Xác định ngày EOL cho các sản phẩm bạn bán là một điều rất quan trọng tuy nhiên nó nên được thực hiện trong quá trình bán hàng. – gawi

0

Có lẽ vì Java 1.4 đã đạt EOL vào ngày 30 Tháng Mười 2008. Và như vậy, an ninh của họ có thể bị tổn hại !.

Hiển thị một vài ví dụ, ở đó, bảo mật có thực sự là đã bị xâm phạm do Java 1.4.

Họ sẽ đủ IMO sợ hãi.

+0

Ngoại trừ việc điều này không áp dụng cho một JVM của IBM. –

9

Bạn có thể cho họ biết chi phí quyết định của họ.

Nếu họ tiếp tục chọn Java 1.4 thì việc thêm tính năng mới sẽ có giá $ yyy. Nếu họ nâng cấp thì việc thêm cùng một tính năng sẽ có giá $ xxx. Có lẽ họ cũng có một chi phí nâng cấp hệ thống của họ. Nếu bạn có thể cho họ thấy rằng khoản tiết kiệm trên phiên bản Java mới hơn vượt quá chi phí cho việc nâng cấp hệ thống của họ thì họ có thể thấy rằng họ sẽ tiết kiệm tiền nếu họ nâng cấp. Rõ ràng rất khó để đưa ra giá trị chính xác cho chi phí phát triển, nhưng nếu bạn có thể ước tính sự phát triển đó sẽ nhanh hơn khoảng 30% (và do đó rẻ hơn 30%) trên phiên bản Java mới hơn thì bạn có thể nhận được một con số thô ít nhất.

14

Java 1.5 đã hết hạn sử dụng ngày 3 tháng 11 năm 2009.

Vì vậy, không được hỗ trợ 1.4 và 1.5 nữa, nghĩa là không có bản sửa lỗi bảo mật.

Về cơ bản, nền tảng Java được hỗ trợ duy nhất hiện tại là Java6 (còn gọi là Java 1.6)

+0

Điều này. Không có nền tảng mà phát triển cho sớm hơn 1,6 làm cho bất kỳ ý nghĩa nữa bởi vì không có hỗ trợ cho những thứ cũ. –

+6

Điều này áp dụng cho JVM của Sun nhưng OP rất có thể sử dụng một JVM của IBM. –

+4

Những ngày đó là dành cho Java SE không kinh doanh. Oracle bán hỗ trợ mở rộng cho các doanh nghiệp. Theo http://www.oracle.com/technetwork/java/eol-135779.html#j4b Java 1.4 được hỗ trợ tối đa 2018, Java 5 đến 2019 và Java 6 đến 2021. Ngoài ra, đối với IBM Máy chủ ứng dụng web, thời gian chạy Java là một phần của sản phẩm. Vì vậy, nếu một công ty thương lượng một số loại hỗ trợ mở rộng, đó là vào IBM để tìm ra cách họ sẽ cung cấp các bản sửa lỗi. WS đi kèm với thời gian chạy Java Java của IBM (có điều gì đó đặc biệt cho Solaris ... Tôi nghĩ bạn cũng có thể sử dụng Sun Java). – gawi

1

Cho họ biết về bảo mật. Tôi không chắc chắn nếu mặt trời vẫn cung cấp các bản vá lỗi cho các phiên bản cũ hơn (câu trả lời pavanlimo).

1

Trong khi tôi đồng ý với các câu trả lời khác được đưa ra, một xem xét khác là bạn đã xem xét tình huống đó chưa? Bạn đã viết ứng dụng sao cho nó hoạt động tốt với người khác? Tôi đã từng là quản trị viên hệ thống trong một thời gian và một trong những nhà cung cấp lớn nhất của tôi là số lượng nhà phát triển nghĩ rằng chúng tôi nên thay đổi môi trường CNTT khi họ sẵn sàng. Và tất nhiên nếu có 2 hoặc nhiều nhà phát triển cung cấp sản phẩm cho trang web của tôi thì có xung đột.

Bạn đã viết ứng dụng theo cách sao cho tôi có thể chạy lựa chọn phiên bản Java của bạn và (chọn số của bạn nhưng có khả năng lớn hơn 2) các phiên bản Java khác mà tôi yêu cầu, thường trên cùng một máy chủ , để hỗ trợ các ứng dụng quan trọng khác không? Và cho thấy khả năng tương thích ngược là không liên quan - nhà cung cấp khác sẽ không hỗ trợ tôi trừ khi tôi đang sử dụng phiên bản đã chọn của họ.

+0

Có. Chúng tôi đã xem xét tình hình của khách hàng và chúng tôi luôn cố gắng hết sức để đáp ứng yêu cầu của họ. Câu hỏi của tôi có thể đã được xây dựng: "Vào tháng 9 năm 2010, có hợp lý để một tổ chức lớn vẫn yêu cầu phần mềm tuân thủ Java 1.4 không?" Các tổ chức lớn chậm chuyển sang các công nghệ gần đây và họ có nhiều lý do chính đáng cho điều đó. Tôi chỉ tự hỏi liệu khách hàng của chúng tôi có chậm nhất trong số những khách hàng chậm hay không. Lưu ý: Tôi có sự thông cảm đối với quản trị hệ thống và kiến ​​trúc sư. Tôi muốn các giải pháp của chúng tôi phù hợp. Đó là lý do tôi hỏi. – gawi

0

Tại sao không truy cập java 6? Cả java 1.4 và java 5 đều đã hết hạn sử dụng.

+4

Bất kỳ tham chiếu nào cho thấy rằng IBM JVM 1.5 đã đạt đến EOL. Nó có thể là trường hợp, tôi không biết, nhưng tất cả các bài viết ở đây dường như bỏ lỡ thực tế rằng OP đang sử dụng WS và một JVM của IBM (và phiên bản WebSphere của anh ấy thậm chí có thể không hỗ trợ một JVM mới hơn). –

4

Bạn đang kinh doanh để thỏa mãn khách hàng của mình. Họ có một nhu cầu (có thể là thực hay cảm nhận) để gắn bó với một nền tảng lỗi thời.

Vì vậy, hãy nói "có", nhưng hãy cho họ biết bạn dự định tăng giá bảo trì và nâng cấp cho nền tảng cũ vào một ngày nhất định. Đây là mức tăng giá hợp lý; bạn cần phải duy trì chuyên môn và trang thiết bị để đảm bảo mã của bạn hoạt động trên nền tảng cũ, không được hỗ trợ và không an toàn. Bạn đang cung cấp giá trị thực cho họ bằng cách hỗ trợ cơ sở hạ tầng hiện tại của họ.

Và vui mừng khi bạn không ở trong lĩnh vực kinh doanh động cơ diesel. Nếu bạn đã có, bạn sẽ có nhiều khách hàng với công nghệ thời đại thế chiến ii.

2

Đã ở đó ... Khách hàng có thể bướng bỉnh. Tôi đã sử dụng RetroTranslator (http://retrotranslator.sourceforge.net/) và Retroweaver (http://retroweaver.sourceforge.net/) để có các tính năng Java 5. Không có gì có thể được thực hiện trên mặt hiệu suất mặc dù.

Đối với Java 1.5/1.4 EOL có Java cho chương trình kinh doanh cho khách hàng Java - họ không EOL nếu bạn trả cho họ ...

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