Life after Java<br />Reusing code and skills in a .NET world<br />
Agenda<br />Java- OOP language vsplatform<br />Java vs C#<br />Components & Controls vs JavaBeans<br />PME (Property – Met...
Java as an OOPlanguage<br />Inheritance, Polymorphism, Dynamic Class Loading, Exceptions...<br />Great esteem and proved r...
Java as a platform<br />Java 1.x –command line, AWT andApplets<br />Java 1.2, 1.3, … = Java 2 (JFC/Swing, …)<br />JavaSE (...
The future of Java?<br />Change in priorities<br />Sun Microsystems  Oracle<br />JDeveloper vs NetBeans IDE<br />Java Clo...
Economics & work conditions:<br />Competitive<br />Fluctuating<br /> Worker mobility<br />Reuse:<br />Code<br />Skills<br...
Java vs C#<br />Anders Hejlsberg <br />original author ofTurbo Pascal<br />chief architect of Delphi<br />J++, WFC (Window...
Components<br />Unstructured Data<br />Record = Structured, Addressable (Name, Pos) Data<br />Object = Record + Methods to...
Controls / Widgets<br />Control / Widget = User Interface Component<br />JavaBeans:<br />Components (non visible)<br />Con...
PME (Property-Method-Event)<br />Properties (get/set accessors, metadata)<br />Methods (OOP)<br />Events<br />Java: initia...
JUMP & J# (Microsoft)<br />JUMP<br />Import Java “projects” from Visual Studio<br />Convert Java code toC#<br />J#<br />Ja...
Java – COM/.NET bridges (1)<br />JACOB (OpenSource)<br />COM Automation from Java via JNI wrappers<br />jacoZoom<br />Acti...
Java – COM/.NET bridges (2)<br />COMConnect<br />Java  COM/.NET – stateful TCP, low latency<br />Jni4net (OpenSource)<br...
Java – COM/.NET bridges (3)<br />Java Plug-in (JavaBeans Bridge for ActiveX)<br />Sun/Oracle Java VM, Web Browser integrat...
JNBridgePro – Call Java from .NET<br />
JNBridgePro – Call Java from .NET (1)<br />
JNBridgePro – Call Java from .NET (2)<br />Start Proxy Generator<br />
JNBridgePro – Call Java from .NET (3)<br />Edit Classpath<br />
JNBridgePro – Call Java from .NET (4)<br />Class Path Entries<br />
JNBridgePro – Call Java from .NET (5)<br />Load Classes<br />
JNBridgePro – Call Java from .NET (6)<br />Load Classes Progress<br />
JNBridgePro – Call Java from .NET (7)<br />Choose Proxies<br />
JNBridgePro – Call Java from .NET (8)<br />Generate Proxies<br />
JNBridgePro – Call Java from .NET (9)<br />Use the Proxies<br />
JNBridgePro – Call Java from .NET (10)<br />Call Java Methods<br />
JNBridgePro – Call Java from .NET (11)<br />Run the Program<br />
JNBridgePro – Call Java from .NET<br />Visually generate proxies: allow .Netaccess Java classes<br />Link .NET proxy assem...
JNBridgePro – Call .NET from Java<br />
JNBridgePro – Call .NET from Java (1)<br />
JNBridgePro – Call .NET from Java (2)<br />Start Proxy Generator<br />
JNBridgePro – Call .NET from Java (3)<br />Add Assembly<br />
JNBridgePro – Call .NET from Java (4)<br />Assembly List Entries<br />
JNBridgePro – Call .NET from Java (5)<br />Load Classes<br />
JNBridgePro – Call .NET from Java (6)<br />Load Class Progress<br />
JNBridgePro – Call .NET from Java (7)<br />Choose Proxies<br />
JNBridgePro – Call .NET from Java (8)<br />Generate Proxies<br />
JNBridgePro – Call .NET from Java (9)<br />Use the Proxies<br />
JNBridgePro – Call .NET from Java (10)<br />Call .NET Objects<br />
JNBridgePro – Call .NET from Java (11)<br />Run the Program<br />
JNBridgePro – Call .NET from Java<br />Visually generate proxies: allow Java access .NET  classes<br />Reference Java prox...
JNBridgePro – Visual Studio plugin<br />
JNBridgePro – Eclipse plugin<br />
JNBridgePro – Communications<br />
IKVM.net (Jeroen Frijters)<br />JavaVirtual Machine (JVM) implementation:<br />Microsoft .NET Framework<br />Mono<br />Com...
IKVM.net – usage scenarios<br />Use as typical Java Virtual Machine (JVM)<br />Use Java libraries in .ΝΕΤ applications<br ...
IKVM.net – usage scenarios<br />Use as typicalJava Virtual Machine (JVM)<br />Drop-in replacement:<br />java -jar myapp.ja...
IKVM.net – usage scenarios<br />Use Java libraries in.ΝΕΤ applications<br />ikvmc  = Java bytecode  .NET IL<br />ikvmc -t...
IKVM.net – usage scenarios<br />Develop .NET applicationsin Java language<br />ikvmc  = Java bytecode  .NET IL<br />ikvmc...
IKVM.net<br />Call .NET API from Java(inIKVM.net JVM)<br />ikvmstub = Java stubs from .NETAPI<br />ikvmstub mscorlib.dll <...
IKVM.net – integration / tools<br />Mono (OpenSource .NET by Novell)<br />MonoDevelop (IDE)<br />Ant (task for ikvmc)<br /...
IKVM.netintegration<br />Ant task for ikvmc<br /> <ikvmc target="exe" out="hello.exe" <br />        home="c:/ikvm-0.36.0.1...
IKVM.netintegration<br />Jar2ikvmc(folder of dependentJARs)<br />jar2ikvmc.exe JFreeChart JFreeChart2Net.cmd <br />ikvmc s...
Web Services<br />Restlet (Java web framework)<br />Expose/Consume RESTful web APIs<br />Java Web Services Stack (Metro)<b...
Web Services for Remote Portlets<br />Portlet = interactive application component, produces markup segments, aggregated an...
Web Services for Remote Portlets<br />Why WSRPinstead of simple Web Services?<br />Localization<br />Mime types<br />Portl...
Web Services for Remote Portlets<br />Why remoteportlets?<br />Ease of configuration<br />Platform independence<br />Scala...
Web Services for Remote Portlets<br />WSRP Producer<br />Web Service<br />Provides 1 or morePortlets<br />Implements WSRP ...
Web Services for Remote Portlets<br />WSRP Consumer<br />Web Service client<br />Usually aportal<br />Calls producer WSRP ...
Web Services for Remote Portlets<br />Producers (.NET  WSRP)<br />NetUnitySharePoint WSRP Producer<br />Oracle WebCenter ...
References (1)<br />C# andJava comparison (Wikipedia)<br /><ul><li>http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_...
http://www.jnbridge.com/jnbpro.htm</li></ul>EZ JCom<br /><ul><li>http://www.ezjcom.com
http://www.ezjcom.com/java.net.html</li></li></ul><li>References (4)<br />Java Plug-in (JavaBeans Bridge for ActiveX)<br /...
http://download.oracle.com/javase/1.4.2/docs/guide/beans/axbridge/developerguide/index.html
http://download.oracle.com/javase/1.4.2/docs/guide/beans/axbridge/developerguide/examples.html</li></ul>Java C# Bridge<br ...
http://www.codeproject.com/KB/dotnet/Espresso.aspx
http://lsd.luminis.nl/java-net-interoperability/</li></li></ul><li>References (5)<br />IKVM.net<br /><ul><li>http://www.ik...
http://sourceforge.net/apps/mediawiki/ikvm
http://ant-ikvmc.sourceforge.net
Upcoming SlideShare
Loading in …5
×

It pro dev_birbilis_20101127_en

1,205 views

Published on

Life after Java - Reusing Code and Skills in a .NET world / presentation at ITProDevConnections 2010 - http://www.itprodevconnections.gr

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
1,205
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
9
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

It pro dev_birbilis_20101127_en

  1. 1. Life after Java<br />Reusing code and skills in a .NET world<br />
  2. 2. Agenda<br />Java- OOP language vsplatform<br />Java vs C#<br />Components & Controls vs JavaBeans<br />PME (Property – Method – Event) model<br />JUMP & J#<br />Java – COM bridges<br />IKVM.net <br />Web Services<br />WSRP : Web Services for Remote Portlets<br />
  3. 3. Java as an OOPlanguage<br />Inheritance, Polymorphism, Dynamic Class Loading, Exceptions...<br />Great esteem and proved record at academia<br />Multitude of related libraries and software, mainly OpenSource<br />Lots of new programmers introduced to the Java language during their studies<br />
  4. 4. Java as a platform<br />Java 1.x –command line, AWT andApplets<br />Java 1.2, 1.3, … = Java 2 (JFC/Swing, …)<br />JavaSE (= Standard Edition – Desktops)<br />JavaEE (= Enterprise Edition – Servers)<br />JavaME (= Micro Edition – Mobiles)<br />(Re)focus  JavaFX (Java vs JavaScript)<br />
  5. 5. The future of Java?<br />Change in priorities<br />Sun Microsystems  Oracle<br />JDeveloper vs NetBeans IDE<br />Java Cloud, Java.net  Kenai Java.net<br />Copyright issues<br />Sun vs Microsoft (MSJVM)<br />Oracle vs Google (Android Dalvik VM)<br />No standardization by established international organisations (ISO pull-out)<br />
  6. 6. Economics & work conditions:<br />Competitive<br />Fluctuating<br /> Worker mobility<br />Reuse:<br />Code<br />Skills<br />Flexibility = invaluable ally<br />
  7. 7. Java vs C#<br />Anders Hejlsberg <br />original author ofTurbo Pascal<br />chief architect of Delphi<br />J++, WFC (Windows Foundation Classes)<br />lead architect ofC#<br />LINQ (Language Integrated Query)<br />C# = Java + Object Pascal (Delphi) + VB ++<br />
  8. 8. Components<br />Unstructured Data<br />Record = Structured, Addressable (Name, Pos) Data<br />Object = Record + Methods to manipulate its data<br />Component = Object + PME + Resources (Packaging) <br />Agent = Component + (Internal) Logic / Program Loop<br />
  9. 9. Controls / Widgets<br />Control / Widget = User Interface Component<br />JavaBeans:<br />Components (non visible)<br />Controls (usually JFC/Swing /Model-ViewController [M-VC])<br />Enterprise JavaBeans “similar” toCOM+ components (not much related to typicalJavaBeans)for J2EE<br />
  10. 10. PME (Property-Method-Event)<br />Properties (get/set accessors, metadata)<br />Methods (OOP)<br />Events<br />Java: initially tightly-coupled (base classes / abstract methods), later on callback interfaces<br />VB: method signatures (WithEvents)<br />Object Pascal / Delphi: method variables<br />C#: delegates<br />
  11. 11. JUMP & J# (Microsoft)<br />JUMP<br />Import Java “projects” from Visual Studio<br />Convert Java code toC#<br />J#<br />Java compiler  IL code, not Java bytecode<br />Java datatype boxing<br />Java 1.x class library, Swing & Collections API<br />Up until Visual Studio 2005<br />
  12. 12. Java – COM/.NET bridges (1)<br />JACOB (OpenSource)<br />COM Automation from Java via JNI wrappers<br />jacoZoom<br />ActiveX Controls / Servers ([D]COM / Automation)<br />J-Integra .COM<br />DCOM wire protocol (ORPC) topure Java<br />J-Integra .NET<br />.NET Remoting wire protocolto pure Java, Visual Studio & Eclipse plugins<br />
  13. 13. Java – COM/.NET bridges (2)<br />COMConnect<br />Java  COM/.NET – stateful TCP, low latency<br />Jni4net (OpenSource)<br />intra-process, object oriented, JNI implementation<br />JNBridgePro<br />Visual Studio & Eclipse plugins, shared memory, sockets, network binary protocol, HTTP/SOAP<br />EZ JCom<br />JavaCOM/.NET, drag-drop Swing components<br />
  14. 14. Java – COM/.NET bridges (3)<br />Java Plug-in (JavaBeans Bridge for ActiveX)<br />Sun/Oracle Java VM, Web Browser integration, JavaBeans ActiveX controls (typelibrary)<br />Java C# Bridge (OpenSource)<br />Serlializing/DeserlializingJava - C# objects, manual authorC# object or use generic JavaObject and dynamic query<br />Caffeine (OpenSource)<br />Hosting JVM in .NET Runtime,JNI OOP wrapper<br />R-JAX (pioneering, RMI/HTTP, obsolete)<br />
  15. 15. JNBridgePro – Call Java from .NET<br />
  16. 16. JNBridgePro – Call Java from .NET (1)<br />
  17. 17. JNBridgePro – Call Java from .NET (2)<br />Start Proxy Generator<br />
  18. 18. JNBridgePro – Call Java from .NET (3)<br />Edit Classpath<br />
  19. 19. JNBridgePro – Call Java from .NET (4)<br />Class Path Entries<br />
  20. 20. JNBridgePro – Call Java from .NET (5)<br />Load Classes<br />
  21. 21. JNBridgePro – Call Java from .NET (6)<br />Load Classes Progress<br />
  22. 22. JNBridgePro – Call Java from .NET (7)<br />Choose Proxies<br />
  23. 23. JNBridgePro – Call Java from .NET (8)<br />Generate Proxies<br />
  24. 24. JNBridgePro – Call Java from .NET (9)<br />Use the Proxies<br />
  25. 25. JNBridgePro – Call Java from .NET (10)<br />Call Java Methods<br />
  26. 26. JNBridgePro – Call Java from .NET (11)<br />Run the Program<br />
  27. 27. JNBridgePro – Call Java from .NET<br />Visually generate proxies: allow .Netaccess Java classes<br />Link .NET proxy assembly to .NET development project (Add Reference)<br />Write .NET code to access Java classes(with IntelliSense)<br />Edit configuration - specify communications mechanism (from in-process on same machine to cross-network)<br />Run integrated .NET and Java code (managed lifecycles)<br />
  28. 28. JNBridgePro – Call .NET from Java<br />
  29. 29. JNBridgePro – Call .NET from Java (1)<br />
  30. 30. JNBridgePro – Call .NET from Java (2)<br />Start Proxy Generator<br />
  31. 31. JNBridgePro – Call .NET from Java (3)<br />Add Assembly<br />
  32. 32. JNBridgePro – Call .NET from Java (4)<br />Assembly List Entries<br />
  33. 33. JNBridgePro – Call .NET from Java (5)<br />Load Classes<br />
  34. 34. JNBridgePro – Call .NET from Java (6)<br />Load Class Progress<br />
  35. 35. JNBridgePro – Call .NET from Java (7)<br />Choose Proxies<br />
  36. 36. JNBridgePro – Call .NET from Java (8)<br />Generate Proxies<br />
  37. 37. JNBridgePro – Call .NET from Java (9)<br />Use the Proxies<br />
  38. 38. JNBridgePro – Call .NET from Java (10)<br />Call .NET Objects<br />
  39. 39. JNBridgePro – Call .NET from Java (11)<br />Run the Program<br />
  40. 40. JNBridgePro – Call .NET from Java<br />Visually generate proxies: allow Java access .NET classes<br />Reference Java proxy .JAR file from Java development project (place in build CLASSPATH)<br />Write Java code to access .NET classes<br />Edit configuration - specify communications mechanism (from in-process on same machine to cross-network)<br />Run integrated .NET and Java code (managed lifecycles)<br />
  41. 41. JNBridgePro – Visual Studio plugin<br />
  42. 42. JNBridgePro – Eclipse plugin<br />
  43. 43. JNBridgePro – Communications<br />
  44. 44. IKVM.net (Jeroen Frijters)<br />JavaVirtual Machine (JVM) implementation:<br />Microsoft .NET Framework<br />Mono<br />Components:<br />Java Virtual Machine in .NET<br />Java class librariesin .NET<br />Java-.NET interoperability tools<br />
  45. 45. IKVM.net – usage scenarios<br />Use as typical Java Virtual Machine (JVM)<br />Use Java libraries in .ΝΕΤ applications<br />Develop .NET applications in Java language<br />
  46. 46. IKVM.net – usage scenarios<br />Use as typicalJava Virtual Machine (JVM)<br />Drop-in replacement:<br />java -jar myapp.jar<br />ikvm -jar myapp.jar<br />
  47. 47. IKVM.net – usage scenarios<br />Use Java libraries in.ΝΕΤ applications<br />ikvmc = Java bytecode  .NET IL<br />ikvmc -target:library mylib.jar<br />mylib.dll<br />π.χ. Apache FOP = XSL-FO processor (XML  PDF)<br />
  48. 48. IKVM.net – usage scenarios<br />Develop .NET applicationsin Java language<br />ikvmc = Java bytecode  .NET IL<br />ikvmc -target:exe myapp.jar<br />myapp.exe<br />
  49. 49. IKVM.net<br />Call .NET API from Java(inIKVM.net JVM)<br />ikvmstub = Java stubs from .NETAPI<br />ikvmstub mscorlib.dll <br />mscorlib.jar<br />ikvmstub c:libmylib.dll<br />
  50. 50. IKVM.net – integration / tools<br />Mono (OpenSource .NET by Novell)<br />MonoDevelop (IDE)<br />Ant (task for ikvmc)<br />Jar2ikvmc(folder of dependentJARs)<br />
  51. 51. IKVM.netintegration<br />Ant task for ikvmc<br /> <ikvmc target="exe" out="hello.exe" <br /> home="c:/ikvm-0.36.0.11" version="1.0.0.0“<br /> debug="true“ main="net.sf.ant-ikvmc.Hello"><br /> <fileset dir="${build}"><br /> <include name="**/*.class"/><br /> </fileset><br /> <fileset dir="${lib}"><br /> <include name="**/*.jar"/><br /> </fileset><br /></ikvmc> <br />
  52. 52. IKVM.netintegration<br />Jar2ikvmc(folder of dependentJARs)<br />jar2ikvmc.exe JFreeChart JFreeChart2Net.cmd <br />ikvmc swtgraphics2d.jar -target:library ikvmc servlet.jar -target:library ikvmc junit.jar -target:library ikvmc jcommon-1.0.10.jar -target:library ikvmc gnujaxp.jar -target:library <br />ikvmc itext-2.0.2.jar -target:library -r:gnujaxp.dllikvmc jfreechart-1.0.6.jar -target:library -r:jcommon-1.0.10.dll<br />->-r:servlet.dll -r:gnujaxp.dll<br />...<br />
  53. 53. Web Services<br />Restlet (Java web framework)<br />Expose/Consume RESTful web APIs<br />Java Web Services Stack (Metro)<br />JAX-WS (Java API for XML Web Services)<br />JAXB (Java Architecture for XML Binding)<br />WSIT (Web Services Interoperability Technologies [aka Project Tango])<br />WSIT (Tango) corresponds to WCF (Indigo)<br />
  54. 54. Web Services for Remote Portlets<br />Portlet = interactive application component, produces markup segments, aggregated and presented inportals<br />WSRP = interactive web servicesfocused to presentation<br />content & apps: discoverable & pluggable<br />
  55. 55. Web Services for Remote Portlets<br />Why WSRPinstead of simple Web Services?<br />Localization<br />Mime types<br />Portlet modes (edit, help, view, custom)<br />Window states (minimized, maximized, solo, normal)<br />
  56. 56. Web Services for Remote Portlets<br />Why remoteportlets?<br />Ease of configuration<br />Platform independence<br />Scalability<br />
  57. 57. Web Services for Remote Portlets<br />WSRP Producer<br />Web Service<br />Provides 1 or morePortlets<br />Implements WSRP interfaces/operations<br />Can provideruntime (container) fordeploying/management of>1 portlet<br />
  58. 58. Web Services for Remote Portlets<br />WSRP Consumer<br />Web Service client<br />Usually aportal<br />Calls producer WSRP web services<br />Provides environment to interact withportlets theProducers provide<br />
  59. 59. Web Services for Remote Portlets<br />Producers (.NET  WSRP)<br />NetUnitySharePoint WSRP Producer<br />Oracle WebCenter .NET Accelerator<br />Consumers (WSRP  .NET)<br />Microsoft WSRP Toolkit - SharePoint 2007<br />NetUnity WSRP Consumer for SharePoint<br />NetUnity WSRP .NET Consumer<br />
  60. 60. References (1)<br />C# andJava comparison (Wikipedia)<br /><ul><li>http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java</li></ul>Anders Hejlsberg (Wikipedia)<br /><ul><li>http://en.wikipedia.org/wiki/Anders_Heljsberg</li></ul>Java ISO pull-out (ECMA fast track to ISO)<br /><ul><li>http://www.crn.com/news/channel-programs/18806978/sun-drops-iso-java-standards-effort-for-good.htm</li></ul>Oracle vs Google Android (Dalvik VM)<br /><ul><li>http://www.businessweek.com/news/2010-08-13/oracle-says-google-android-violates-its-java-patents.html</li></li></ul><li>References (2)<br />Java Native Interface (JNI)<br /><ul><li>http://download.oracle.com/javase/6/docs/technotes/guides/jni/spec/jniTOC.html</li></ul>JACOB<br /><ul><li>http://sourceforge.net/projects/jacob-project</li></ul>jacoZoom<br /><ul><li>http://www.infozoom.de/en_jacoZoom.shtml</li></ul>J-Integra<br /><ul><li>http://j-integra.intrinsyc.com</li></li></ul><li>References (3)<br />COMConnect<br /><ul><li>http://sourceforge.net/projects/comconnect</li></ul>jni4net<br /><ul><li>http://jni4net.sourceforge.net</li></ul>JNBridgePro<br /><ul><li>http://www.jnbridge.com
  61. 61. http://www.jnbridge.com/jnbpro.htm</li></ul>EZ JCom<br /><ul><li>http://www.ezjcom.com
  62. 62. http://www.ezjcom.com/java.net.html</li></li></ul><li>References (4)<br />Java Plug-in (JavaBeans Bridge for ActiveX)<br /><ul><li>http://www.oracle.com/technetwork/java/index-jsp-141438.html
  63. 63. http://download.oracle.com/javase/1.4.2/docs/guide/beans/axbridge/developerguide/index.html
  64. 64. http://download.oracle.com/javase/1.4.2/docs/guide/beans/axbridge/developerguide/examples.html</li></ul>Java C# Bridge<br /><ul><li>http://java-cs-bridge.sourceforge.net</li></ul>Caffeine<br /><ul><li>http://caffeine.berlios.de/site
  65. 65. http://www.codeproject.com/KB/dotnet/Espresso.aspx
  66. 66. http://lsd.luminis.nl/java-net-interoperability/</li></li></ul><li>References (5)<br />IKVM.net<br /><ul><li>http://www.ikvm.net
  67. 67. http://sourceforge.net/apps/mediawiki/ikvm
  68. 68. http://ant-ikvmc.sourceforge.net
  69. 69. http://code.google.com/p/jar2ikvmc </li></ul>JDK, JavaFX SDK & NetBeans IDE<br /><ul><li>http://www.oracle.com/technetwork/java/index.html
  70. 70. http://www.java.com (Java Runtime)</li></li></ul><li>References (6)<br />.NET Framework & Visual Studio IDE<br /><ul><li>http://www.microsoft.com/net
  71. 71. http://msdn.microsoft.com/en-us/vstudio/default.aspx
  72. 72. http://www.microsoft.com/express
  73. 73. http://msdn.microsoft.com/en-us/library/ff649514.aspx</li></ul>Mono & MonoDevelop IDE<br />http://www.mono-project.com<br />http://monodevelop.com<br />Eclipse Platform & IDE<br /><ul><li>http://www.eclipse.org</li></li></ul><li>References (7)<br />Restlet (RESTful web framework for Java)<br /><ul><li>http://www.restlet.org</li></ul>Java Web Services Stack (Metro)<br />http://www.oracle.com/technetwork/java/index-jsp-137004.html<br />http://jax-ws.java.net (JAX-WS / JSR 224)<br />https://jaxb.dev.java.net (JAXB/ JSR 222)<br />http://wsit.java.net (WSIT)<br />http://policy.dev.java.net (WS-Policy)<br />http://xwss.dev.java.net (WS-Security)<br />http://netbeans.org/images_www/articles/interviews/wsit-netbeans-plugin.html<br />Java Portlet Specification<br /><ul><li>http://en.wikipedia.org/wiki/JSR_168/</li></li></ul><li>References (8)<br />WSRP (Web Services for Remote Portlets)<br /><ul><li>http://en.wikipedia.org/wiki/Web_Services_for_Remote_Portlets
  74. 74. http://www.ibm.com/developerworks/webservices/library/ws-wsrp
  75. 75. https://wsrp.dev.java.net
  76. 76. http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp
  77. 77. http://www.oasis-open.org/committees/download.php/3343/oasis-200304-wsrp-specification-1.0.pdf
  78. 78. http://www.oasis-open.org/committees/download.php/21178/wsrp-primer-1.0.html
  79. 79. http://www.oasis-open.org/committees/download.php/11774/wsrp-faq-draft-0.30.html</li></li></ul><li>References (9)<br />WSRP Toolkit for SharePoint 2007<br />http://code.msdn.microsoft.com/WSRPToolkit<br />NetUnity SharePoint & .NET WSRP Consumers<br /><ul><li>http://www.netunitysoftware.com/Home.aspx
  80. 80. Oracle WebCenter.NET Accelerator
  81. 81. http://blogs.oracle.com/fusionecm/2010/05/webcenter_net_accelerator_-_mi.html</li>

×