NET Web Services
Document Sample


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
Get documents about "