New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Hartmut Wilms on May 08, 2008
JNBridge, provider of Java and .NET interoperability tools, announced a new release of its core product, JNBridgePro, at JavaOne 2008.
JNBridgePro is a general purpose, Java and .NET interoperability tool that "bridges anything Java to .NET and anything .NET to Java" including EJBs, J2EE, J2SE, AWT, Swing, SWT, .NET APIs, WinForms, ASP.NET, and SharePoint Server. The core product is based on the remoting stack of .NET and Java and generates binary libraries containing proxies for invoking code on "the other side".
The primary new features of JNBridgePro 4.0 are:
InfoQ's got a chance to talk to Wayne Citrin, CTO of JNBridge, about the new plug-ins and JNBridge in general.
Hartmut Wilms (HW): How can developers take advantage of the new plug-ins?
Wayne Citrin (WC): Unlike our separate GUI-based standalone proxy generator, the plug-ins enable developers to directly explore and expose .NET classes from Eclipse or Java classes from within Visual Studio.
The plug-ins will simplify the proxy generation process by incorporating the proxy build operation into the IDE's overall build cycle. With the VS and Eclipse plug-ins, proxies become just another project, which can be referenced by still other projects. When the developer builds his or her entire solution in the IDE, the IDE will determine that the .NET or Java project depends on the proxy project, then builds the proxies, and uses the output of the proxy project (the proxy dll or jar file itself) in the build of the dependent project.
As an example, consider a developer creating a .NET application that needs to access a Java API. In Visual Studio, the developer would create a JNBridge project, open the editor, and specify which Java classes will be accessed. The developer can then create the project for the .NET application (in C#, VB.NET, or other .NET language), reference the proxy project, and program against it. When the developer builds the project, the proxy dll is automatically created, then used in the build of the .NET application's project.
HW: What Java and .NET versions are targeted by JNBridgePro?
WC: JNBridgePro targets .NET Frameworks 1.0, 1.1, 2.0, 3.0, and 3.5, and JDKs 1.3.1 and later.
The JNBridgePro plug-ins support .NET Framework 2.0 and later, and JDK 1.4 and later. JNBridgePro's stand-alone GUI is still available, and supports the earlier versions of the .NET Framework and JDK.
HW: As .NET Framework 4.0 might incorporate changes to the CLR and future Java version might introduce changes to the JVM, what will be the consequences for JNBridgePro?
WC: As long as the new CLR and JVM are backward-compatible, there should be no problem using the current JNBridgePro with the new versions. If a new binary format is introduced, we will introduce a new version of JNBridgePro targeted to the new format and framework. For example, this happened when .NET went from 1.1 to 2.0. Prior to .NET 2.0 being released we developed JNBridgePro 3.0 against beta versions of .NET 2.0, and released JNBridgePro 3.0 in the same month as .NET 2.0 became GA.
When a platform (.NET or Java) introduces new APIs that we wish to take advantage of (again, .NET 2.0, or Java 5), we introduce a new version that can take advantage of the new features. In the case of Java, we want our Java-side components to work against earlier versions of Java as well as Java 5, so we actually compile against Java 1.3 and 1.4, and use reflection to access the new APIs. With .NET 2.0, the new binary format meant that a single set of binaries for 1.x and 2.0 was not an option, so we produce versions of the .NET components for each.
As for .NET Remoting, Microsoft has gone on record that they will continue to support remoting for several years to come. We follow Microsoft's announced plans for upcoming releases, and if we note the removal of remoting in the alpha or beta version of an upcoming .NET Framework version, we will certainly migrate to WCF.
HW: When talking about interoperability most of the IT world thinks Web Services and SOA. What's the positioning of JNBridgePro?
WC: There are several advantages to using JNBridgePro over Web Services.
HW: What's next on the roadmap for JNBridgePro 4.x?
WC: We plan to step back and see how our customers receive version 4.0, and to incorporate their feedback in developing future versions. Some features we are looking at include more extensive support for SSL communications in the tcp/binary mechanism, and support for features like ref and out parameters that exist in .NET but not in Java. We may also examine targeting JNBridgePro to specific technologies on the .NET and Java side (in order to accommodate users who wish to simply interoperate with these technologies and not with the entire Java or .NET platforms). And of course we will be looking at new features introduced into upcoming versions of the .NET and Java platforms.
HW: Thank you very much for your time.
Information on JNBridgePro can be found on the JNBridge web site. In addition to the core product JNBridge also offers a JMS Adapter for .NET and a JMS Adapter for BizTalk Server.
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
18 agile and lean practices for effective software development governance
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
No comments
Watch Thread Reply