NET Web Services

Document Sample
NET Web Services Powered By Docstoc
					         iNET

 Java implementation of
Microsoft .NET Framework
About Stryon

   • Don Hsi, Chief Technology Officer
   • Stryon is the merger of Halcyon Software
     and CyberNet Engineering in 6/2002
   • Headquarter in Grand Rapids, Michigan.
     Product division in San Jose, CA
   • Development centers in U.S., China, and
     Pakistan
   • 200+ employees
Service & Products

   • Service
      – System Integration (CyberNetEngineering.com)
      – Software Migration/Transformation
      – Managed Services
      – Server Consolidation
   • Products
      – VBIX. Visual Basic for UNIX
      – Instant BASIC 4 Java
      – iASP. Java based Active Server Pages implementation
      – RJAX/iHUB. COM+, .NET Remoting, Java bridging
        middleware
 Microsoft .NET

• ECMA Standard (334, 335)
• Visual Studio.Net Development Tool
• Multiple programming language support; VB, C#, C++,
  Perl, Cobol, Java (J#), JavaScript (Jscript)
• Web Service XML/SOAP centric
• Integrated with Microsoft server technology; SQL Server,
  BizTalk, Exchange, Great Plains
.NET Application Types

• Windows application
   – WinForm, GUI.NET
• Web application
   – ASP.NET, WebForm
• Web service
   – ASP.NET Web Service
   – XML, WSDL, SOAP
• Mobile application
   – .NET Compact Framework
   – Pocket PC, SmartPhone, WinCE
 .NET is Cross Platforms….

On different flavors of Windows…
SQL Server
             Computing Framework
MTS
                        Microsoft
                                    Devices
MSMQ
                                    Browser
                                    Fat Client
BizTalk          .NET        IIS
Exchange




                                       .NET
                                       Web Services
                 Computing Framework
                                           Devices
                                           Browser
                                           Fat Client




JDBC
Database                     Java
JTS/JMS

                                J2EE
WebLogic,
                    App
WebSphere,
                                J2SE
SunOne, Oracle
                    Server
                                J2ME
Web
Services
EJB
                                       Java
                                       Web Services
                 Computing Framework
                                          Devices
                                          Browser
                                          Fat Client




JDBC
Database
                             Java
JTS/JMS
                    App        J2EE
WebLogic,
WebSphere,          Server     J2SE
SunOne, Oracle
                    + iNET     J2ME          .NET
Web
Services
                                             Web Services
EJB
                                      Java
                                      Web Services
SQL Server
                 Computing Framework
MTS
                               Microsoft
                                               Devices
MSMQ
                                               Browser
                                               Fat Client
BizTalk                 .NET        IIS
Office



                 iNET Bridge
JDBC
Database
                                  Java
JTS/JMS
                       App          J2EE
WebLogic,
WebSphere,             Server       J2SE
SunOne, Oracle
                       + iNET       J2ME          .NET
Web
Services
                                                  Web Services
EJB
                                           Java
                                           Web Services
                       iNET Overview

    C#, VB, C++,     VisualStudio.NET
                                              MSIL
    Jscript, J#, …

                     3
                           iNET Bridge

2                                                    1
    iNET Runtime
                                                          IL2JAVA
    WINFORM          ADO.NET

     ASP.NET         GUI.NET                             JAVA Source


                                           Java            Java Compiler

          Java Platforms                 Byte Code
      JAVA
Write Once, Run Anywhere
                iNET
Write Once In .NET, Run Anywhere

 Windows Platforms, Linux, Solaris, OS/390,
 Mac OS X, Palm, Pocket PC, Cell phones…
Target Audience
• ISV
   –   Expand platform coverage
   –   Increase revenue
   –   Minimize risk with minimum porting overhead
   –   Maintain single source code
• OS / Platform Vendors
   – Mac OS X, Linux, IBM s390/as400/rs6000, Solaris
   – Offer deployment/migration solution for .NET developers
• ISP/ASP
   – Server consolidation with high power system
   – Reduce NT server farm overhead
• Enterprise
   – .NET & Java integration, collaboration
   – Cross platform deployment, migration
Similar Effort
• Microsoft “Rotor”
  • Shared Source CLI Implementation
  • http://msdn.microsoft.com/library/default.asp?url=/library/en-
    us/dndotnet/html/mssharsourcecli.asp

• mono
  • http://www.go-mono.org
  • Open source .NET Development Framework
  • JIT for Linux/x86

• Portable.Net
  • http://www.southern-storm.com.au/portable_net.html
  • Support GNU/Linux
  • Open source
IL2JAVA

   • Translate IL Code to Java source
   • Translate .NET deployment information
     to J2EE deployment information
   • Translate .NET Metadata to iNET
     Metadata
   • Products:
     – VB.NET-to-Java converter
     – C# -to- Java converter
     – Runtime Classes [Required]
Application Isolation - AppDomain

    • Code in one application domain cannot
      make direct calls into another
      application domain.
    • To implement application isolation,
      iNET calls the methods between
      different AppDomain by Remoting
      mechanisms.
Application Isolation example

//Create AppDomain1 in default application domain, return value is a proxy of
//new AppDomain object

AppDomain Domain1 = AppDomain.CreateDomain(“AppDomain1", 0, 0);

//Create New Instance by the AppDomain proxy object, return value from the
//new application domain is a proxy of new AppIsolation.Test object in new
//application domain

AppIsolation.Test isotest = Domain1.CreateInstance(“AppIsolation.Test”).unwrop();

//Call method of the new instance by proxy in default application domain

Isotest.checkappdomain();
Application Isolation example:
                                Application Host
             1

                                                           1
        Generate proxy         Return reference

                           Forward createinstance
                      2   method call to Appdomain1        New Instance of
                                                      2    AppIsolation.Test
       Generate proxy            Return reference           in this domain

                          3    Forward checkappdomain 3
                                                               Execute
                               mehtod call to Appdomain1
                                                           checkappdomain


           Default AppDomain
                                                               Appdomain1




  Note: the communication between defalut appdomain and
              appdomain1 are using remoting.
Security
   • Evidence-based Security by extends Java
     ProtectionDomain and Permission checking
   • Role-based security by JAAS
   • Cryptographic Security by JCE and Java
     GSS-API
   • Algorithms
        •   Hashing: SHA1/256/384/512, MD5
        •   Asymmetric: RSA, DSA
        •   Symmetric: AES, TripleDES, DES, RC2
        •   MAC: HMACSHA1, MACTripleDES
        •   Random Number Generator
   • XML Support
        • W3C/IETF XML Signature
        • Active in W3C XML Encryption WG
Loading Assembly

   Loading a1.jar                Trusted Host

  JIT Compiler/Verifier                          Information
                                     Evidence
                                                 about an
                                                 Assembly
  iNET Classloader
                                      Policy
                                                 Policy
    Create ProtectionDomain                      determines
                                                 Permissions
         a1.jar               Grant permission   granted
iASP.NET

   • Java implementation of ASP.NET
   • Java Servlet 2.3
   • Http Pipeline
   • Web Form
   • Web Service
iASP.NET Implementation

   • Translate HttpModule to Servlet 2.3
   • Translate HttpHandler to Servlet 2.3
     HttpServlet
   • Leverage ServletContext to
     implement HttpApplication
     Management.
   • Application Event with
     ServletContextListener
   • Session Event by HttpSessionListener
iNET Remoting

   • The Java implementation of MS .NET
     Remoting
   • Support dynamic proxy generation
   • Support Sink, Channel, and Channel
     registry
   • Support SOAP and binary format.
   • Support TCP & HTTP protocol
iNET Remoting Architecture
     Remote Object


    Transparent Proxy

   envelop      unenvelop             Instance Object

        Real Proxy


      Message sink                     Message sink


        Channels                          Channels

                            Message
Microsoft .NET Compatibility
                       il2java
     .NET APP                        Java APP
 .NET Framework                  iNET Framework
                        JMS
    Transaction/                       iHUB
    ADSI/MSMQ
                       JDBC
  Remoting/COM+                      iADO.NET
                        JFC
     XML/ADO                         IGUI.NET

     WINFORM                         iASP.NET
                       Servlet
      ASP.NET
                       J2ME
    MOBILE APP

  Base class library             Base class library

    Windows.NET                       Any OS
Roadmap

   • Conversion
     – VB.NET, C# to Java
     – Integration with Eclipse, JBuilder, SunONE
       Studio, …
   • ASP.NET/Web Service
   • GUI/WINFORM (fat) client applications
   • Mobile (.NET Compact Framework) Apps
     – Symbian
     – J2ME, P-Java, Java Phone
    Q&A

     Don Hsi
 Dhsi@stryon.com
+1 (408) 891-2023
SQL Server


MTS
                                Microsoft
                                                   Devices
MSMQ
                                                   Browser
                                                   Fat Client
BizTalk                 .NET          IIS
Office



                 iNET Bridge
JDBC
Database
                               Java Platform
JTS/JMS

WebLogic,
                       App           J2EE
WebSphere,
                       Server        J2SE
SunOne, Oracle
                                     J2ME             .NET
Web                    + iNET
Services
                                                      Web Services
EJB
                                               Java
                                               Web Services

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:5
posted:10/21/2012
language:English
pages:29