mainsoft sharepoint moss websphere integration
We all know that SharePoint (MOSS) is being heavily used for basic document management and collaboration services. We also know that the software is often deployed in an environment where it must be integrated with other technologies like content management systems and portals -- why else would so many Enterprise CMS vendors cooking-up nifty connectors and building repository bridges? The message is clear: Knowledge workers the world over are putting a lot of digital stuff into MOSS and if your tech can't talk MOSS, you're liable to be left out in the cold.Mainsoft is a solution provider who offers technologies that help bridge the divide between .NET and Java. They believe, and rightly so, that we live in a heterogeneous technology world and that most organizations need to have intelligent ways to integrate technologies and datastores. They specifically recognize the impact of MOSS and the growing need to tied MOSS repositories in with such prevalent stars as IBM's WebSphere Portal. CMSWire had an opportunity to sit down with Mainsoft staff and discuss some of the current IT challenges, and how their product offering addresses some important needs.

The Story of Mainsoft

Established in 1993, Mainsoft originally started integrating C++ into Unix and Linux environments. Located in California, they have been an Advanced IBM Partner since 2004. They are known for their .NET to Java interoperability and their vision to move towards Open Systems while helping organizations preserve existing Microsoft-oriented IT investments. In 2002 they started developing solutions to integrate .NET applications in Java solutions. According to the company, they spent over US$ 14 mil. to develop the core compilation technology that’s used in their products today.

The Problem and The Challenge

The business problem is fairly straightforward, and not unfamiliar to most of us. How do organizations provide a single view of their information and streamline their business processes when they have any number of applications and systems in a mixture of technologies like .NET and Java, SharePoint and WebSphere? Any solution must enable the bridging of disparate data silos and must provide single sign-on capability.
SharePoint (MOSS) Federator


In the case of SharePoint, the problem is how to pull together all the silos of information often found in departments implementations, and make them available to the wider enterprise audience?

Mainsoft for WebSphere Portal

Mainsoft has created a product suite called Mainsoft for WebSphere Portal. This is a Visual Studio-based SDK that helps MS developers create applications that will run as JSR-168 portlets natively in WebSphere Portal -- no Java knowledge required. There are three components to the Suite: Mainsoft Portal Edition This product enables developers to create .NET applications in C# or VB.NET and compile them to run as portlets within WebSphere Portal. Developers also have access to WebSphere Portal Services when they are developing their applications to create truly integrated solutions.
microsoft asp.net


Mainsoft SharePoint Federator for WebSphere Portal The SharePoint Federator enables developers to easily incorporate SharePoint lists and document libraries into WebSphere Portal. There are several out of the box portlets that can be easily configured to connect to existing SharePoint lists. This includes single sign-on from WebSphere to SharePoint. In addition, composite applications can be developed that incorporate SharePoint data and then deloyed a native Java portlets in WebSphere Portal.
mainsoft_SP_WS.jpg


SQL Reporting Services Federator This Federator provides role-based access to SQL Reports within the WebSphere Portal. Reports can be integrated as drill down reports through the Portal Dashboard.
MS_SQLReports.jpg


How They Do It

So this is all pretty interesting, but you are wondering just how they do it? How do they get the caramel in the caramilk bar? Okay no, how do they compile .NET apps into JSR-168 compliant Java portlets? Well they could do it using WSRP web services or web clipping technology, but they don’t.
MSremoting2.jpg


Instead, Mainsoft have spent years perfecting a patented cross-compiler. This compiler takes .NET source code and compiles it into Java bytecode. Using the Visual Studio SDK described above, developers can continue to build their applications in .NET. Once built, they then use Mainsoft Portal Edition to package the compiled application and .NET class libraries into native JSR 168-compliant portlets.
MSDotNetonJava.jpg


Mainsoft for Websphere Portal currently supports the .NET Framework 2.0 and with Visual Studio 2005. There are plans to extend support to the latest version of the framework (3.5) and Visual Studio 2008 by the end of 2008.

Playing on My Own

Never completely satisfied to just talk about the technology, Mainsoft was good enough to provide us with an environment to test their product. Thanks to Danielle Matthews and Jenna Dobkin from Mainsoft for aiding us through the exploration and supporting our virtual playground. And so test we did...

The Tests

With access to a full WebSphere Portal and SharePoint 2007 environment, we conducted two different tests. With guidance from Oved Yavine of Mainsoft, we followed a series of steps that included reading topical material and then completing a number of exercises to get the full understanding of what the product can do. Creating a Portal Application The first test involved creating a basic portlet that displays a list of stocks and their prices. We started by creating an ASP.NET Portal Application and adding a Web Reference to a web service that returns a set of stock quotes.
MS_p1.jpg


Next we created an ObjectDataSource control that pulled data from an XML file (which the web service connected to). We then customized the look of the data set.
MS_p4.jpg


Once this was completed, we tied in the WebSphere User Profile to the portlet. This was done by mapping the ASP.NET Profile APIs to the portal user profile management. Mainsoft’s portal application template generates a web.config file that contains the Mainsoft WebSphere specialized profile.
MS_p2.jpg


By opening the portlet.xml we were able to view and select the user profile variables that are declared via the JSR-168 application. Once this was done we could drop a wpPerson control into the app, which provided people awareness to the portlet.
MS_p6.jpg


The final step consisted of creating an edit form that allows a user to change to stock exchange for the dataset.
MS_p3.jpg


MS_p5.jpg


Integrating SharePoint Content into WebSphere Portal The second test demonstrated how easy it is to integrate SharePoint data into WebSphere Portal through a portlet using the Mainsoft SharePoint Federator.
MS_Sp1.jpg


To start, we created a new list in SharePoint and added a number of items to the list. Next we opened Visual Studio and created a new ASP.NET Portal Application. To this we added a DataGrid control and a SharePointDataSource control that connected to SharePoint to pull the list of content. Note that the SharePointDataSource control is one of the components of Mainsoft's SharePoint Federator package.
MS_Sp3.jpg


The SharePointDataSource control has a design time wizard that let's one easily connect to the correct SharePoint list, and customize the data we wanted to retrieve -- including which columns and rows to pull back, as well as any desired sorting or grouping. This is done using CAML code -- either writing the code directly or by using an XML editor. As a second part of the test, we checked-out the Save Credentials control. This control enables us to store the credentials for the connection to SharePoint without having to hard-code them into the DataSourceControl.
MS_Sp2.jpg


The WebSphere Portal Credential Vault is a location that Mainsoft’s SharePoint Federator portlets can safely store the connection information to connect to SharePoint sites. With a Credential Vault users can modify the connection information via an edit form. The first time you access the portlet, you will get prompted to enter the credentials. They will then be saved to the vault Both these controls were simple to implement and the results were there immediately.

Final Thoughts

Mainsoft for WebSphere Portal is very easy to understand and use if you are a .NET Developer. You have access to a very familiar set of tools to develop applications that can be integrated within WebSphere Portal. This includes SharePoint lists and libraries. It’s also a good product to look at for integration with .NET and Java for other Java Application Servers like JBoss and Tomcat. In organizations where there’s a mixture of technologies, this product is definitely something you should consider. The Mainsoft SharePoint Federator is based on a per CPU deployment and developer license. It costs US$ 29,000 per CPU and US$ 6,000 per developer seat. If you are looking to integrate .NET applications into WebSphere Portal, and you don’t want to integrate SharePoint contents, the cost is $20,000 per CPU and US$ 6,000 per developer seat. Both prices include one year of support and maintenance. If you want to learn more about the Mainsoft Products, see their website or visit them at Impact 2008 April 6-11 in Las Vegas or in Dallas on April 17, 2008 at Lotusphere 2008.