Developer Zone
Register  |  Login  
 Mainsoft.com
Search  
 

Mainsoft for Java EE Release Notes

Introduction

Mainsoft for Java EETM version 2.5 is now available.

Mainsoft for Java EE preserves existing investments in code and skills while delivering the performance, scalability, and security of industry-leading Java EE application servers. Microsoft-skilled developers can develop new applications and deploy existing Web-based and server-based .NET applications to Java EE application servers and to IBM WebSphere Portal.


What's new?

What's new in version 2.5?

Mainsoft for Java EE version 2.5 is the first release to support Visual Studio 2008. Although this release does not yet support .NET Framework 3.x, it does include several productivity features that take advantage of Microsoft's latest development environment. New improvements in the product include:

ASP.NET AJAX and JavaScript support

  • Out-of-the-box support for ASP.NET AJAX 1.0.

  • Support for JavaScript IntelliSense.

  • Support for JavaScript debugging.

Improved Web development experience

  • New Web Designer support including split view editing.

  • Improved CSS development including CSS style management, CSS properties window, and CSS IntelliSense.

  • Nested Master Page support.

Language support

Mainsoft added support for C# 3.0 and Visual Basic 9 language features, including local type inference, object and collection initializers, anonymous types, auto-implemented properties, and partial methods.

Bug fixes

  • Improved the quality of the System.Drawing namespace.

  • Fixed several important defects, among them:

    • 10550: The private members of Java class are not visible in VS debugger.

    • 10351: Fail to add a Java reference when input JAR contains two classes with the same name in different cases.

    • 10552: Cannot enumerate over System.Text.RegularExpressions.MatchCollection object.

    • 10555: Web user control containing a Page_LoadComplete event crashes.

    • 10560: System.Web.UI.WebControls.ListBox control behaves different than .NET.

    • 10534: Fail to consume a Web service with a binding name different than <service name><protocol>.

What's new in version 2.2?

Mainsoft for Java EE version 2.2 introduces the following new features and improvements:

ASP.NET AJAX support

Mainsoft 2.2 supports the ASP.NET AJAX Extensions V1.0, and includes a ported version of the open source ASP.NET AJAX Control Toolkit.

Debugger improvements

Mainsoft 2.2 significantly improves the performance of the debugger, and its usability on WebSphere Portal. These improvements include reduced debugger startup time; improved performance of complex data types evaluation and local variables evaluation; and improved execution flow performance.

Mainsoft 2.2 includes many additional bug fixes with regards to execution flow and the evaluation of complex expressions.

Improved request processing model in the portal

This feature applies to the Mainsoft for Java EE Portal Edition only.

Mainsoft 2.2 offers a new and improved request processing model in portal applications, which automatically bridges the semantic gaps between the ASP.NET model and the JSR 168 model.

Due to this change, you may have to make some source code changes in your portal applications.

Bug fixes

Some of the major bugs resolved in Mainsoft 2.2 are:

  • 9342: Using the ASP.NET appSetting expression fails.
  • 9695: Accessing an inner class from an externel JAR fails in specific scenarios.
  • 9792: Improve the support for Turkish regional settings.
  • 9868: Improve memory consumption when calling XmlDocument.SelectSingleNode.

What's new in version 2.1?

Mainsoft for Java EE 2.1 introduces support for the new Mainsoft SharePoint Integrator for WebSphere Portal SDK, and includes several improvements in the following areas:

For the Portal Edition:

  • Mainsoft SharePoint Integrator for WebSphere Portal SDK includes ASP.NET Web controls and ready-to-use portlets that enable integration with SharePoint document libraries and SharePoint lists, and is available as an add-on to the Portal Edition.

    Mainsoft SharePoint Integrator for WebSphere Portal SDK enables ASP.NET developers to create portal composite applications integrating SharePoint data, and also allows customization of the Mainsoft SharePoint Integrator portlets, which are available in source code form, to match specific organizational needs.

    Mainsoft SharePoint Integrator for WebSphere Portal requires a separate license for activation. For pricing and licensing information, contact sales@mainsoft.com.

  • Fixed several important defects, among them:
    • 9043: Automatic removal of global HTML tags, which causes unexpected behavior in the Visual Studio designer.

For all Mainsoft editions:

  • Support for automatic builds from Microsoft Team System.
  • Fixed several important defects, among them:
    • 8832: Compilations errors with projects containing multiple external Java references when using MSBuild.
    • 9000: DataSet WriteXml with XmlWriteMode.WriteSchema writes only schema and not data.
    • 9002: Problem adding obfuscated Java class libraries as Java references in Visual Basic projects.
    • 9067: Cannot build using MSBuild command line if Java references are not in lower case.
    • 9165: SortedList<T, T> misbehavior.
    • 9194: Server-side validation errors are not displayed when there is no client-side validation, and the validator's display mode is set to Dynamic.
    • 9222: Optimizations in Generic collections.
    • 9248: Exception thrown when using generic methods with return value of a generic type with constraints.

What's new in Service Pack 1?

Service Pack 1 for Mainsoft for Java EE 2.0 includes improvements in the following areas:

For the Portal Edition:

  • Improved the build performance of portal applications.
  • Improved the runtime performance of portal applications.
  • Fixed several important defects, among them:
    • 8682: Browser refresh initiating a post operation causes exception in portlet.
    • 8689: Calling Response.Redirect with an external URL fails.
    • 8691: Transferring parameters between the processAction and render phases fails.
    • 8694: Wrong handling of post-back data in re-render situations.
    • 8699: Wrong ViewState loaded in portlet when switching between portlet modes.
    • 8777: IsUserInRole does not work in servlet context in Portal 6.0.1.0.
    • 8794: Remove non-pure Java implementation of GetEnvironmentVariable; GetEnvironmentVariable is no longer supported in Java 1.4 (and returns null).
    • 8795: Exception in FileUpload control when Process Action property is set to True.

For all Mainsoft editions:

  • Improved integration of Mainsoft for Java EE with 3rd party Visual Studio add-ins, including JetBrains ReSharper 2.5 and 3.0.1, and Developer Express Refactor! Pro.
  • Added Mainsoft Framework class library reference to the documentation.
  • Fixed several important defects, among them:
    • 8698: Cannot NTLM-authenticate with IIS7-based servers.
    • 8700: Cannot consume Web service with TypedDataTable parameter.
    • 8763: java.lang.VerifyError in specific rare usage of generics.
    • 8766: Failed to read and write profile properties inside a property group.
    • 8786: Failed to catch a generic object.
    • 8970: SoapException/Fault does not deserialize detail field (expects namespace).

What's new in version 2.0?

Mainsoft for Java EE version 2.0 is a major upgrade to Mainsoft's .NET/Java EE interoperability product suite, formerly called Visual MainWin for J2EE 1.8.1. Version 2.0 introduces several productivity features that take advantage of Microsoft's latest development technologies and enhance the ability to leverage Java EE platform capabilities. This section describes the main new features of this version.


Support for Visual Studio 2005

Version 2.0 is a cross-platform extension of the Microsoft Visual Studio development platform and it leverages many of the Visual Studio 2005 productivity features, including:

  • C # and Visual Basic 2.0 languages support, including generics, partial classes, and nullable types.
  • .NET Framework 2.0 support: Mainsoft's Java EE implementation of the .NET Framework has been upgraded to support the .NET Framework 2.0. The most significant upgrades include:
    • Support for the ASP.NET 2.0 Web development Framework. Mainsoft's pure Java implementation of ASP.NET 2.0 includes the Apache Derby database, which is a pure Java cross-platform database that comes bundled with the product and implements the ASP.NET 2.0 application service's persistent store.
      • ASP.NET out-of-the-box authentication and role-based security to easily create secured Web applications. Mainsoft features pure Java membership and role providers based on Apache Derby; the ASP.NET 2.0 login controls, such as login forms, create user forms, and password retrieval; and a redistributable pure Java Web site administration tool.
      • ASP.NET Web application personalization support to easily create customized Web applications. Mainsoft features a pure Java profile provider based on Apache Derby.
      • Master pages to define common structure and interface elements to your Java EE Web applications.
      • Data controls that enable declarative data access. Using the new data bound controls and data source controls, developers can access any JDBC data source, without coding.
      • Navigation controls that provides common user interface for navigating between pages in your Web application using tree view, menu, and sitemap path.
      • Localization, enabling globalization and localization of your Web application using Visual Studio's built-in tools to dynamically generate resource files and localization references.

      Note

      The ASP.NET 2.0 Web Parts controls are not supported in this release.

    • ADO.NET 2.0 including support for the new AD0.NET 2.0 classes for both disconnected mode and connected mode classes, except for the new classes specific to Microsoft SQL Server 2005.
    • ASP.NET Web Services 2.0, including SOAP1.2 and WS-I conformance claim support.
    • Upgrade to 2.0 on all other .NET Framework libraries, specifically in core, System XML, and Web.services libraries.
  • Visual Studio debugger integration, including generics type visualization.

Improvements to the Portal Edition

Mainsoft for Java EE, Portal Edition V2.0, introduces several new features that enhance the integration of the Mainsoft ASP.NET Framework with IBM WebSphere Portal and significantly enhances the .NET developer's ability to rapidly create .NET applications that run on the Java EE portal. These enhancements include:

  • Seamless ASP.NET integration with portal security: authentication and authorization. ASP.NET developers can now leverage the portal security infrastructure without learning new APIs.
    • Automatic propagation of the portal's user identity to the ASP.NET Principal identity. With no code changes, the ASP.NET applications can leverage the portal's single sign-on infrastructure.
    • Integration with WebSphere Portal User Management and authorization. ASP.NET applications can access user management information and validate role-based access rules using ASP.NET Membership and Role API.
      • Mainsoft provides ASP.NET Membership and Role providers specialized for WebSphere Portal that are based on WebSphere Portal User Management Architecture (PUMA).
  • Seamless integration with portal personalization infrastructures. Mainsoft provides a specialized profile provider, which is automatically initialized with the portal user's profile data and stores custom application profile properties in the portlet preferences.
    • ASP.NET applications can access and update personalization data stored in portlet preferences using easy-to-use ASP.NET Profile properties.
    • ASP.NET applications can access portal user's profile data using ASP.NET Profile.
  • Seamless integration with portal branding: ASP.NET portlets are rendered using the portal's themes. Mainsoft provides an ASP.NET themes build on portal style-sheet classes.
  • Intuitive configuration of portal application: Mainsoft provides a visual Portlet Designer that enables Visual Studio developers to configure the portal application without editing the JSR 168 deployment descriptor manually. Adding portlets, portlet modes, localizations, and user attributes is done using an intuitive graphic Portlet Designer, while still allowing direct XML editing.
  • Complex portal applications are easily developed and maintained from within the Visual Studio IDE. Mainsoft's Portal Edition enables an integrated execution of the WebSphere Portal configuration XML Access scripts from within the Visual Studio build processes.
  • Localization enhancements: the ASP.NET culture is automatically set according to the language defined in the portal user's profile.
  • Easy access to JSR 168 portlet classes from ASP.NET Mainsoft.Web.Portal.Page properties, so there's no need for mapping functions.
  • WebSphere Portal API and SPI documentation is integrated into the Visual Studio 2005 help collection.

Enhancements to developer productivity

Version 2.0 introduces several enhancements that improve the productivity in developing Java EE applications.

  • A new deployment process from the Visual Studio environment, which speeds the development cycle and simplifies the packaging process.
  • Quick Java EE application server configuration with automatic default parameter fetching and no application server restart.
  • Improved Java reference feature:
    • Automatic detection of Java libraries available on the application server shared classpath.
    • Enhanced flexibility: Development can be done either with the Mainsoft Framework packaged within the application, for quick out-of-the-box startup, or deployed inside the server shared classpath, for an optimized development cycle.
  • Unattended batch builds based on MSBuild, including ability to build Web projects without having the application server running.
  • Simplified console and class libraries development:
    • Ability to configure the Java runtime environment (JRE).
    • Ability to invoke Java EE APIs from one of the configured application servers.
    • Batch file generation to ease the launch of the console application from the operating system shell.

System requirements

Required software components

These are the required software components:

  • One of the following operating systems:

    • Windows XP SP2/SP3

    • Windows 2003 Server

    • Windows Vista Ultimate or Business

  • Visual Studio 2008, Standard or Professional editions, including the Visual Web Developer component

System settings

The required system settings are:

  • The installing account and user account must have "Power Users" or greater permission.

Working with Windows Vista

In order to work with Mainsoft for Java EE on Windows Vista, you must launch Visual Studio from an administrator command prompt and launch Tomcat application server as an administrator.

Hardware requirements

Mainsoft for Java EE does not present hardware requirements beyond those specified for the operation of the above software components, as described in their respective technical documentation.


Java EE application servers requirements

If you are using Mainsoft for Java EE with a local IBM WebSphere Application Server or IBM WebSphere Portal, the following hardware requirements apply:

  • Intel™ Pentium™ 4, at 3 GHz.

  • For WebSphere Application Server: a hyper-threaded machine, with at least 1 GB memory.

  • For WebSphere Portal: a dual core machine, with at least 2 GB memory (3 GB memory is recommended).

For an elaborate list of system requirements for the application servers, check these links:

Supported application servers

Mainsoft for Java EE is committed to the JSR specifications in creating Java EE compliant applications, which can be deployed on any Java EE compliant server.

The Mainsoft for Java EE extension to Visual Studio provides development support for the following Java EE application servers:

In the Enterprise edition
  • IBM WebSphere Application Server 6.0.2, 6.1.0.3, and higher

  • Apache Tomcat 5.5

In the Portal edition
  • IBM WebSphere Application Server 6.0.2, 6.1.0.3, and higher

  • IBM WebSphere Portal 5.1 (portal server), both Test Environment and Enterprise editions (Enable and Extend), which run on one of the supported WebSphere Application Servers.

  • IBM WebSphere Portal 6.0 (portal server)

  • Apache Tomcat 5.5

  • Note

    The ASP.NET implementation of Mainsoft for Java EE, Portal edition, is based on the JSR 168 specifications. In addition to the ASP.NET classes implemented in the System.Web* namespaces, Mainsoft provides several APIs that are specific to WebSphere Portal. To create JSR 168 portable portal applications to be deployed on portal servers other than WebSphere Portal, you need to avoid using the following namespaces or classes:

    • In Mainsoft.Web.Security namespace: PumaServicesProviderFactory and WP* classes.

    • The Mainsoft.Web.Controls.WebSphere namespace.

In the Developer edition
  • Apache Tomcat 5.5

Note

By default, a bundled Tomcat application server is installed with the Mainsoft for Java EE installation. Tomcat is not a full-featured Java EE application server, and therefore will not leverage all the Mainsoft for Java EE features.

Mainsoft SharePoint Integrator for WebSphere Portal system requirements

The system requirements for the Mainsoft SharePoint Integrator for WebSphere Portal are the same as those for the Portal Edition, with the following additions:

Supported SharePoint releases:

  • Windows SharePoint Services (WSS) Version 2 and Version 3
  • Microsoft Office SharePoint Server (MOSS) 2003 and 2007

Supported MS SQL Reporting Services releases:

  • MS SQL Server 2005 Reporting Services

Verified databases and JDBC drivers

The Mainsoft for Java EE ADO.NET implementation requires JDBC 2.0 and Java EE 1.3 compliant drivers. You may check the compliancy of your JDBC driver, in http://developers.sun.com/product/jdbc/drivers.

Here is the list of databases and JDBC drivers that are tested and verified with Mainsoft for Java EE:

  • Microsoft SQL Server 2005 (all editions) with SQL server 2005 JDBC driver

  • Microsoft SQL Server 2000 SP4 with SQL server 2000 JDBC driver

  • PostgreSQL 8.0 with JDBC 3 driver for JDK versions 1.4 and 1.5

  • Oracle 9.2 and Oracle 10g with JDBC driver 10g

  • IBM DB2 8.2 with JDBC driver 8.2


Upgrading to the latest version

Upgrading from Mainsoft for Java EE 2.x

You can install Mainsoft for Java EE 2.5 side-by-side on the same computer with older Mainsoft for Java EE installations. Projects developed with Mainsoft for Java EE 2.2 will be upgraded automatically when opening them in Visual Studio 2008. However, if you have existing projects developed with Mainsoft for Java EE 2.0 or 2.1, you will need to first upgrade them. For more information, read Upgrading existing Mainsoft for Java EE projects.


Upgrading existing Mainsoft for Java EE projects

Upgrading Mainsoft 2.2 projects

Upgrading existing Mainsoft for Java EE 2.2 projects to Mainsoft for Java EE 2.5 requires opening the project in Visual Studio 2008 and running the Visual Studio Conversion Wizard.

Upgrading Mainsoft 2.0/2.1 projects

In order to upgrade existing Mainsoft for Java EE 2.0/2.1 projects to Mainsoft for Java EE 2.5, use the ProjectUpgrade.exe command line utility, which is located in your <Mainsoft_install_dir>\bin directory. Then, open the project in Visual Studio 2008 and run the Visual Studio Conversion Wizard.

The utility supports projects with extensions .csproj and .vbproj as well as .sln files.

Note

We recommend that you back up all of your solution and project files before running the upgrade utility.

To use the upgrade utility, open a Command Prompt window via Start > Programs > Mainsoft for Java EE 2.5 > Mainsoft for Java EE 2.5 Command Prompt, then change directory to your Mainsoft for Java EE installation's bin folder, and run a command similar to the following:

ProjectUpgrade.exe <full path to project/solution file>

When upgrading a Web application that runs on WebSphere Application Server or when upgrading a portal application project, where the Virtual path property and the Assembly name property of your project have different values, you must do as follows:

  1. In the WebSphere administration console, stop or uninstall the application named by the value of the Assembly name property.

  2. Redeploy your application.

Upgrading Visual MainWin 1.x projects

To upgrade existing Visual MainWin 1.x projects to Mainsoft for Java EE 2.2, you should run the ProjectUpgrade.exe command line utility twice: first, to upgrade the .vmwcsproj or .vmwvbproj file from 1.x to 2.0, then a second time, to upgrade the .csproj or .vbproj file from 2.0 to 2.2.

Limitations

Following are the limitations to the ProjectUpgrade.exe command line utility:

  • Web applications projects within a solution cannot be upgraded by providing just the .sln file as the command line argument. Instead, for the Web application projects only, you will need to run the upgrade utility again with the specific .csproj/.vbproj file.
  • No support for projects created with Visual MainWin for J2EE Preview releases and interim builds.
  • No support for these project properties:
    • Start Page
    • Enable Remote Debugging
    • Debug Port Number


Upgrading portal applications projects from version 2.x

This feature applies to the Mainsoft for Java EE Portal Edition only.

This topic is relevant only if you set the Process Action property of one of your portlets to True, in the Portlet Designer.

Mainsoft for Java EE 2.2 offers a new and improved request processing model in portal applications, which automatically bridges the semantic gaps between the ASP.NET model and the JSR 168 model. Due to this change, you may have to make some source code changes in your portal applications.

To better understand this topic, we recommend reading Portlet request processing before you continue.

Start by running the ProjectUpgrade tool to upgrade your portal project to version 2.2. To learn how, read Upgrading existing Mainsoft for Java EE projects.

Source code changes

In the following scenarios, you will need to make some source code changes in your portal application:

When executing render code in action requests.

In older versions of Mainsoft for Java EE, the Page life cycle methods were called twice in action requests—once in processAction phase and once in render phase. In the new request processing model, the Page life cycle methods are always called once, regardless of whether the request is an action request or a render request. Consider code similar to the following:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsInProcessAction)
        SetRenderParameter("key", "value");
    else
        Response.Write("Hello");
}

In the old model, in action requests, both the if clause and the else clause were executed, because the method was called twice. In the new model, only the if clause is executed in action requests. It is recommended to remove the else clause in this case. For more information on portal request processing, read Portlet request processing.

When generating action URLs in action requests.

Generating action URLs in action requests, in a Page life cycle method, will no longer work. The reason is that creating action URLs is only possible in the render phase. In action requests, the Page life cycle methods, except for Render, are not executed in the render phase.

Possible solutions:

  • If you generated an action URL to create an inter portlet communication action, you will need to change your code according to the guidelines in Step 2: Write source portlet code.
  • In other cases, it is recommended to replace your current code with an ActionURL expression. To learn how, read Portal ASP.NET expressions.
When using the SetRenderParameter method in render phase.

The Mainsoft.Web.Portal.Page.SetRenderParameter method can only be used in the processAction phase, otherwise an exception is thrown. As a solution, use Mainsoft.Web.Portal.Page.IsInProcessAction property before calling the Mainsoft.Web.Portal.Page.SetRenderParameter method.

When using the HttpServerUtility.Transfer or HttpServerUtility.Execute methods in processAction phase.

The HttpServerUtility.Transfer and HttpServerUtility.Execute methods may only be used in the render phase, otherwise an exception is thrown. As a solution, use the Response.Redirect method instead.


Troubleshooting the Mainsoft for Java EE setup

If you encounter installation problems, try troubleshooting by checking the log file install.log, which is automatically saved in the Mainsoft for Java EE installation folder.


Known issues

There are some specific limitations you may encounter when working with this release of Mainsoft for Java EE. They include:

  • If you receive an error message box with the text "JDKData entry for <> is not found", it probably means your Visual Studio 2008 installation had been corrupted while uninstalling older versions of Visual Studio. To fix this issue, repair the Visual Studio 2008 installation via the Add or Remove Programs dialog from the Control Panel.

  • The Generate Java EE Project wizard only supports projects targeting .NET Framework 2.0. In order to port your .NET application to Java, make sure the Target Framework project property is set to .NET Framework 2.0.

  • When adding a reference to a JAR file, if one of the classes has a base class in its hierarchy that is not referenced, then the class is created as an abstract class and cannot be instantiated. In order to use the class you need to add a reference to the missing base class.

See the limitations section of the online documentation to get a more comprehensive view of the product limitations.


Home  Site map  Privacy statement  Legal notice  Contact us
Mainsoft Product Validations: Optimized for Microsoft Visual Studio, Java Powered for the Enterprise, and Ready for IBM WebSphere.
Read more about: .NET Java and .NET for Linux

Copyright © Mainsoft Corporation 2005-2009. All rights reserved