<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>All About Interop : MOSS</title><link>http://blogs.msdn.com/dotnetinterop/archive/tags/MOSS/default.aspx</link><description>Tags: MOSS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Sharepoint SDK includes BDC Tool</title><link>http://blogs.msdn.com/dotnetinterop/archive/2007/08/23/sharepoint-sdk-includes-bdc-tool.aspx</link><pubDate>Thu, 23 Aug 2007 19:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4527962</guid><dc:creator>DotNetInterop</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/dotnetinterop/comments/4527962.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dotnetinterop/commentrss.aspx?PostID=4527962</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Calibri size=3&gt;The August SharePoint SDK is now available and has some good stuff for interop.&amp;nbsp; In particular, the refreshed SDK includes the new Business Data Catalog (BDC) Definition Editor, aka the BDC tool.&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Calibri size=3&gt;The BDC is the set of metadata that describes the various LOB systems that can be accessed from Sharepoint apps.&amp;nbsp; One challenge with the BDC is that the tooling support for it was not good - it was difficult to add or edit systems into the BDC.&amp;nbsp; It was MANUAL xml hacking, yeck.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Calibri size=3&gt;This tool addresses that problem, which should make lots of Sharepoint devs very happy.&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Calibri size=3&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;Check out Brian Coyne's &lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Calibri size=3&gt;&lt;A class="" href="http://blogs.msdn.com/sharepoint/archive/2007/08/22/announcing-the-microsoft-business-data-catalog-definition-editor-for-microsoft-office-sharepoint-server-2007.aspx" mce_href="http://blogs.msdn.com/sharepoint/archive/2007/08/22/announcing-the-microsoft-business-data-catalog-definition-editor-for-microsoft-office-sharepoint-server-2007.aspx"&gt;blog post&lt;/A&gt; for more info on the BDC tool. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Calibri size=3&gt;Related: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Calibri size=3&gt;In the near future you'll see the Sharepoint team deliver more prescriptive guidance around connecting SharePoint to LOB systems.&amp;nbsp; We started with SAP but will be expanding to Oracle (Siebel, PeopleSoft) and others.&amp;nbsp; Check the &lt;A class="" href="http://technet.microsoft.com/en-us/bb544954.aspx" mce_href="http://technet.microsoft.com/en-us/bb544954.aspx"&gt;Sharepoint Interoperability site&lt;/A&gt;&amp;nbsp;for details.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4527962" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>BEA AquaLogic User Interface (ALUI) - write portlets in .NET</title><link>http://blogs.msdn.com/dotnetinterop/archive/2007/01/30/bea-aqualogic-user-interface-alui-write-portlets-in-net.aspx</link><pubDate>Tue, 30 Jan 2007 16:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1554302</guid><dc:creator>DotNetInterop</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/dotnetinterop/comments/1554302.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dotnetinterop/commentrss.aspx?PostID=1554302</wfw:commentRss><description>&lt;P&gt;Hmm, what's ths?!?!&amp;nbsp;&amp;nbsp; BEA has introduced a new line of stuff, under the name Aqualogic Interface, or ALI (I think).&amp;nbsp; As part of that, there is the Aqualogic User Interface (ALUI?).&amp;nbsp; One of the things under that umbrella is the &lt;A class="" href="http://www.bea.com/framework.jsp?CNT=index.htm&amp;amp;FP=/content/products/more/accelerator" mce_href="http://www.bea.com/framework.jsp?CNT=index.htm&amp;amp;FP=/content/products/more/accelerator"&gt;.NET Application Accelerator&lt;/A&gt;, whereby BEA is offering technical magic to enable .NET Developers to write code that runs on or adds value to an Aqualogic server.&amp;nbsp; Intriguing! &lt;/P&gt;
&lt;P&gt;The &lt;A class="" title=JSR-168 href="http://www.jcp.org/en/jsr/detail?id=168" mce_href="http://www.jcp.org/en/jsr/detail?id=168"&gt;Java Portal Spec&lt;/A&gt; describes the model and APIs for Java developers to write portlets - fragments of Web UI that could be composed together to build a single, aggregated portal page.&amp;nbsp; The goal was to enable developers to produce something like my.yahoo.com or one of any number of other web portals, but developers would be able to build these things inside enterprises, and the portlets (or fragments) could theoretically connect to any other system in the enterprise - mainframe transaction systems, databases, packaged apps, custom operational apps, and so on.&amp;nbsp; The portal idea was a good one, lots of companies and vendors latched on to it, including Microsoft, with its Sharepoint products, which were at one point &lt;A class="" href="http://www.channelregister.co.uk/2005/01/27/office_update/" mce_href="http://www.channelregister.co.uk/2005/01/27/office_update/"&gt;the fastest growing products at Microsoft&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;The portal spec was good for Java vendors like BEA and IBM, because it extended the idea of the "application server" to include personalization features, membership, and so on - all extensions beyond the rapidly commoditizing J2EE specification on which their application server businesses were based. Java portal servers were like Java app servers++.&amp;nbsp; And so BEA and IBM charged &lt;A class="" title="$57,000 per cpu!!!" href="http://www.eweek.com/article2/0,1895,1372035,00.asp" mce_href="http://www.eweek.com/article2/0,1895,1372035,00.asp"&gt;LOTS&lt;/A&gt; of &lt;A class="" title='$980 per "value unit", hmmm' href="https://www-112.ibm.com/software/howtobuy/buyingtools/paexpress/Express?P0=E1&amp;amp;part_number=D55UCLL,D55UHLL,D55RELL,D55RJLL,D59EILL,D59G0LL,D59EKLL,D59FDLL,D59FLLL,D59FULL,D596TLL,D596YLL&amp;amp;catalogLocale=en_US&amp;amp;Locale=en_US&amp;amp;country=USA&amp;amp;PT=html&amp;amp;S_TACT=none&amp;amp;S_CMP=none" mce_href="https://www-112.ibm.com/software/howtobuy/buyingtools/paexpress/Express?P0=E1&amp;amp;part_number=D55UCLL,D55UHLL,D55RELL,D55RJLL,D59EILL,D59G0LL,D59EKLL,D59FDLL,D59FLLL,D59FULL,D596TLL,D596YLL&amp;amp;catalogLocale=en_US&amp;amp;Locale=en_US&amp;amp;country=USA&amp;amp;PT=html&amp;amp;S_TACT=none&amp;amp;S_CMP=none"&gt;money&lt;/A&gt; for these things.&amp;nbsp; [ actually, until just now,&amp;nbsp;I did not know, precisely how much money these other vendors were charging for portal servers, but I thought that it was "lots of money."&amp;nbsp; Now that I looked, it knocked my socks off!&amp;nbsp; &lt;STRONG&gt;IBM is charging $980 per value unit for WebSphere Portal Server.&amp;nbsp; &lt;/STRONG&gt;Just what is a value unit, you say?&amp;nbsp; A value unit is 1/100th of a CPU, if you are running a dual-core Xeon or Opteron on your server, as near as I can tell.&amp;nbsp; If you go to quad-core or some other processor, then you'll probably have to call IBM to find out how many "value units" you need to buy for your server.&amp;nbsp; So for an x86 server, you will pay, I think, $98,000 per CPU to run WebSphere Portal Server.&amp;nbsp; Zowie!&amp;nbsp;&amp;nbsp;&amp;nbsp; I promise that &lt;A class="" href="http://office.microsoft.com/sharepoint/" mce_href="http://office.microsoft.com/sharepoint/"&gt;Microsoft Office Sharepoint Server&lt;/A&gt; is not that expensive. ]&lt;/P&gt;
&lt;P&gt;The model of selling pricey server licenses continues today, for both BEA and IBM, But, apparently BEA is noticing there are a whole lot of .NET developers in the enterprise today, and if they want to continue to sell high-priced servers, they better somehow allow enterprises to take advantage of all the .NET talent.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Hence, the .NET Application Accelerator.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Where does the interop come in?&amp;nbsp; Well, if I have understood the product literature correctly, this widgetry allows .NET developers to build stuff that shows up as portlets in a BEA Portal server, using the WSRP standard or RSS.&amp;nbsp; Hence, on-the-glass interop, via the portal server. &lt;/P&gt;
&lt;P&gt;This looks like more of a good thing.&amp;nbsp; In general, more options and choices for interop is good for customers, I think.&amp;nbsp; I will be interested to hear any feedback on this interop-focused product, based on hands-on experience. &lt;/P&gt;
&lt;P&gt;cheers!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1554302" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Portals/default.aspx">Portals</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Java/default.aspx">Java</category></item><item><title>Call Java from Excel Services?  Yes you can!</title><link>http://blogs.msdn.com/dotnetinterop/archive/2006/09/28/call-java-from-excel-services-yes-you-can.aspx</link><pubDate>Thu, 28 Sep 2006 22:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:775882</guid><dc:creator>DotNetInterop</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/dotnetinterop/comments/775882.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dotnetinterop/commentrss.aspx?PostID=775882</wfw:commentRss><description>&lt;P&gt;This is an example of what is possible when web services is baked into the platform.&amp;nbsp; Excel Services in &lt;A href="http://www.microsoft.com/office/preview/servers/sharepointserver/highlights.mspx" mce_href="http://www.microsoft.com/office/preview/servers/sharepointserver/highlights.mspx"&gt;MOSS 2007&lt;/A&gt; supports the creation of &lt;A href="http://blogs.msdn.com/cumgranosalis/archive/2006/04/04/UdfsPrimer.aspx" mce_href="http://blogs.msdn.com/cumgranosalis/archive/2006/04/04/UdfsPrimer.aspx"&gt;User-Defined Functions (UDFs)&lt;/A&gt; in .NET.&amp;nbsp; The .NET methods show us as @ functions within the Excel spreadsheet, pretty nifty.&amp;nbsp; Inside the UDF function, which is just a normal vanilla .NET method, you can do ... anything.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Like... for example... call a web service.&amp;nbsp;&amp;nbsp;And that web service could be running under WebSphere, or WebLogic, or .. anything.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;What this means is you can very easily create UDFs for Excel Services, then have server-hosted spreadsheets in MOSS 2007 use those UDFs in cell formulas.&amp;nbsp; The UDFs can call out to essentially, any remote resource in your distributed network - retrieve a result from a WebSphere analysis application, or an Oracle table, or a WebLogic process flow, etc. &lt;/P&gt;
&lt;P&gt;Remember, &lt;A class="" href="http://blogs.msdn.com/dotnetinterop/archive/2006/09/07/AXIS-connects-to-Office-2007-Excel-Services.aspx" mce_href="http://blogs.msdn.com/dotnetinterop/archive/2006/09/07/AXIS-connects-to-Office-2007-Excel-Services.aspx"&gt;you can also call into Excel Services from Java&lt;/A&gt;.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Go forth and interop! &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=775882" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Java/default.aspx">Java</category></item><item><title>AXIS connects to Office 2007 Excel Services</title><link>http://blogs.msdn.com/dotnetinterop/archive/2006/09/07/AXIS-connects-to-Office-2007-Excel-Services.aspx</link><pubDate>Thu, 07 Sep 2006 15:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:743535</guid><dc:creator>DotNetInterop</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/dotnetinterop/comments/743535.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dotnetinterop/commentrss.aspx?PostID=743535</wfw:commentRss><description>&lt;FONT face=Tahoma size=2&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/office/preview/" mce_href="http://www.microsoft.com/office/preview/"&gt;Office 2007&lt;/A&gt; introduces all sorts of new cool things.&amp;nbsp; One of the things that has me most jazzed is the &lt;A href="http://msdn2.microsoft.com/en-us/ms582023.aspx" mce_href="http://msdn2.microsoft.com/en-us/ms582023.aspx"&gt;Excel services&lt;/A&gt;, which is part of the Microsoft Office Sharepoint Server 2007 (aka MOSS 2007).&amp;nbsp; What Excel Services gives you - you can now use server resources to run spreadsheet computations.&amp;nbsp; Previous to the release of Excel Services, spreadsheets would have to run on the desktop. They were a "client" resource.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;For a long time though, running spreadsheets on the server has been done in financial services companies.&amp;nbsp;&amp;nbsp;&amp;nbsp;These companies design and build complex, long-running computational models in an Excel spreadsheet, and they love the power Excel brings in that area.&amp;nbsp; But then running the sheet - oh, a big one can take hours on a fast workstation.&amp;nbsp;&amp;nbsp;These companies often want to share the access to the computation model, without actually requiring every user to install MS Excel, load the particular XLS, and run the calculation on the local machine.&amp;nbsp; So they'd like to share out&amp;nbsp;that spreadsheet, &lt;EM&gt;as a service&lt;/EM&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How is this possible?&amp;nbsp; Before MOSS 2007, there were a couple approaches.&amp;nbsp; One is&amp;nbsp;the do-it-yourself, rubber-bands and duct-tape approach.&amp;nbsp; For example, you could build an ASP.NET web page or web service, and from within the program logic, use COM interop to instantiate Excel &lt;EM&gt;on the server&lt;/EM&gt;, and run the spreadsheet that way.&amp;nbsp; But this was never supported by Microsoft and &lt;A href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757" mce_href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757"&gt;Microsoft issued a KB article discouraging the practice&lt;/A&gt;&amp;nbsp;of running Office applications from server-side artifacts like ASP.NET or ASP. &amp;nbsp;There are just too many pitfalls.&amp;nbsp; There are third parties [ &lt;A href="http://www.reportingengines.com/products/espreadengine/index.jsp" mce_href="http://www.reportingengines.com/products/espreadengine/index.jsp"&gt;link&lt;/A&gt;, &lt;A href="http://www.aspose.com/Products/Aspose.Excel/" mce_href="http://www.aspose.com/Products/Aspose.Excel/"&gt;link&lt;/A&gt;, &lt;A href="http://www.spreadsheetgear.com/support/samples/calcengine.aspx" mce_href="http://www.spreadsheetgear.com/support/samples/calcengine.aspx"&gt;link&lt;/A&gt; ] that have come up with engines that essentially take an .xls and then convert it to some server-side executable artifact.&amp;nbsp; But there are challenges with this approach as well.&amp;nbsp; Some people did not like the third-party tools.&amp;nbsp; Some people wanted a cleaner solution. &lt;/P&gt;
&lt;P&gt;Now with Office 2007, this is possible within Office itself.&amp;nbsp; You can either display a server-side spreadsheet in a browser, even better, MOSS 2007 exposes this capability via webservices, so you can open a workbook, and run a calculation, from any web services client. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Any client?&lt;/EM&gt;&amp;nbsp;&amp;nbsp; I haven't tested them all, so I don't know for sure, but it seems so.&amp;nbsp; I just tried this with a Java client using &lt;A href="http://ws.apache.org/axis/" mce_href="http://ws.apache.org/axis/"&gt;AXIS 1.4&lt;/A&gt;, and it worked the first time.&amp;nbsp; Source code is attached here. &lt;/P&gt;
&lt;P&gt;The only trick for AXIS was, I had to use the Commons HTTP client - this is the piece of the jakarta framework that supports NTLM authentication. Look &lt;A href="http://people.etango.com/~markm/archives/2005/11/21/using_apache_axis_with_integrated_windows_security.html" mce_href="http://people.etango.com/~markm/archives/2005/11/21/using_apache_axis_with_integrated_windows_security.html"&gt;here&lt;/A&gt; for info on how to set that up. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20060427exceldk/manifest.xml" mce_href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20060427exceldk/manifest.xml"&gt;Check the webcast on using Excel Services&lt;/A&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=743535" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/dotnetinterop/attachment/743535.ashx" length="4908" type="application/octet-stream" /><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/AXIS/default.aspx">AXIS</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Java/default.aspx">Java</category></item></channel></rss>