2. Agenda Java- OOP language vsplatform Java vs C# Components & Controls vs JavaBeans PME (Property – Method – Event) model JUMP & J# Java – COM bridges IKVM.net Web Services WSRP : Web Services for Remote Portlets
3. Java as an OOPlanguage Inheritance, Polymorphism, Dynamic Class Loading, Exceptions... Great esteem and proved record at academia Multitude of related libraries and software, mainly OpenSource Lots of new programmers introduced to the Java language during their studies
5. The future of Java? Change in priorities Sun Microsystems Oracle JDeveloper vs NetBeans IDE Java Cloud, Java.net Kenai Java.net Copyright issues Sun vs Microsoft (MSJVM) Oracle vs Google (Android Dalvik VM) No standardization by established international organisations (ISO pull-out)
7. Java vs C# Anders Hejlsberg original author ofTurbo Pascal chief architect of Delphi J++, WFC (Windows Foundation Classes) lead architect ofC# LINQ (Language Integrated Query) C# = Java + Object Pascal (Delphi) + VB ++
8. Components Unstructured Data Record = Structured, Addressable (Name, Pos) Data Object = Record + Methods to manipulate its data Component = Object + PME + Resources (Packaging) Agent = Component + (Internal) Logic / Program Loop
9. Controls / Widgets Control / Widget = User Interface Component JavaBeans: Components (non visible) Controls (usually JFC/Swing /Model-ViewController [M-VC]) Enterprise JavaBeans “similar” toCOM+ components (not much related to typicalJavaBeans)for J2EE
11. JUMP & J# (Microsoft) JUMP Import Java “projects” from Visual Studio Convert Java code toC# J# Java compiler IL code, not Java bytecode Java datatype boxing Java 1.x class library, Swing & Collections API Up until Visual Studio 2005
12. Java – COM/.NET bridges (1) JACOB (OpenSource) COM Automation from Java via JNI wrappers jacoZoom ActiveX Controls / Servers ([D]COM / Automation) J-Integra .COM DCOM wire protocol (ORPC) topure Java J-Integra .NET .NET Remoting wire protocolto pure Java, Visual Studio & Eclipse plugins
44. IKVM.net (Jeroen Frijters) JavaVirtual Machine (JVM) implementation: Microsoft .NET Framework Mono Components: Java Virtual Machine in .NET Java class librariesin .NET Java-.NET interoperability tools
45. IKVM.net – usage scenarios Use as typical Java Virtual Machine (JVM) Use Java libraries in .ΝΕΤ applications Develop .NET applications in Java language
46. IKVM.net – usage scenarios Use as typicalJava Virtual Machine (JVM) Drop-in replacement: java -jar myapp.jar ikvm -jar myapp.jar
47. IKVM.net – usage scenarios Use Java libraries in.ΝΕΤ applications ikvmc = Java bytecode .NET IL ikvmc -target:library mylib.jar mylib.dll π.χ. Apache FOP = XSL-FO processor (XML PDF)
53. Web Services Restlet (Java web framework) Expose/Consume RESTful web APIs Java Web Services Stack (Metro) JAX-WS (Java API for XML Web Services) JAXB (Java Architecture for XML Binding) WSIT (Web Services Interoperability Technologies [aka Project Tango]) WSIT (Tango) corresponds to WCF (Indigo)
54. Web Services for Remote Portlets Portlet = interactive application component, produces markup segments, aggregated and presented inportals WSRP = interactive web servicesfocused to presentation content & apps: discoverable & pluggable
55. Web Services for Remote Portlets Why WSRPinstead of simple Web Services? Localization Mime types Portlet modes (edit, help, view, custom) Window states (minimized, maximized, solo, normal)
56. Web Services for Remote Portlets Why remoteportlets? Ease of configuration Platform independence Scalability
57. Web Services for Remote Portlets WSRP Producer Web Service Provides 1 or morePortlets Implements WSRP interfaces/operations Can provideruntime (container) fordeploying/management of>1 portlet
58. Web Services for Remote Portlets WSRP Consumer Web Service client Usually aportal Calls producer WSRP web services Provides environment to interact withportlets theProducers provide
59. Web Services for Remote Portlets Producers (.NET WSRP) NetUnitySharePoint WSRP Producer Oracle WebCenter .NET Accelerator Consumers (WSRP .NET) Microsoft WSRP Toolkit - SharePoint 2007 NetUnity WSRP Consumer for SharePoint NetUnity WSRP .NET Consumer