.Net GUI to Jade web application

For questions and postings not covered by the other forums
Rich Cassell
Posts: 77
Joined: Mon Aug 24, 2009 11:22 pm
Location: Nottinghamshire, UK

.Net GUI to Jade web application

Postby Rich Cassell » Thu Jul 22, 2010 9:12 pm

Hi all,

For the past couple of years we have used web enabled forms in Jade to create an online version of our system. Up until now this has worked very effectively but we are now starting to feel the effects of HTML limitations and are starting to look at other options to give us more functionality.

One of the obvious options is to use .Net to create the client-side front end to our system. I have been told that this is possible and works well but i wondered if somebody can give me some help doing it. I have looked through Jade's .Net Developers Reference white paper but this seems to be for server-side implementations. I think all we need is essentially the Jade code we have now, a .Net GUI and connections between the two.

Anybody done anything like this before? How would Jade connect to the .Net controls?

Thanks,

Rich

murray
Posts: 144
Joined: Fri Aug 14, 2009 6:58 pm
Location: New Plymouth, New Zealand

Re: .Net GUI to Jade web application

Postby murray » Thu Jul 22, 2010 9:56 pm

One suggestion, which may be a little off to the side of the track you're looking at, is to create a web-service interface to decouple the client side from the Jade server. You can fairly easily add a web-service provider to your Jade system which can use your existing web server setup to deliver the web-service. The .Net client can then be built as a web-service consumer. It will use the defined WSDL as the interface definition. However, this will not make any use of your existing Jade forms.

It looks like Jade 6.3 now has a means to generate Javascript Rich Internet Applications (RIA) which act as web-service consumer (i.e. client). It's in chapter 4 of the "WebApps PDF", but I have not yet had a good look at this, so maybe someone who has can report on this?
Murray (N.Z.)

Patwos
Posts: 11
Joined: Mon Aug 17, 2009 11:05 am

Re: .Net GUI to Jade web application

Postby Patwos » Thu Jul 22, 2010 9:57 pm

Your best option currently would probably be to look at creating a Jade Web Service Provider application to expose the "data" and "services" you need to access from your .Net GUI. Then, import the WSDL from this Web service into .Net and write the .Net GUI that consumes this Web Service. If you don't need to support browsers on platforms other than Windows & Mac, you could look at using Silverlight for your presentation layer, assuming you have no clients that would object to installing the Microsoft Silverlight plug-in.

Pat.

PS: Wasn't there a rumour that Jade was going to have a Silverlight client at some point? Does anyone know if/when that's going to be available and will it be state-full, like a special kind of thin client, or state-less like a web app client?

Rich Cassell
Posts: 77
Joined: Mon Aug 24, 2009 11:22 pm
Location: Nottinghamshire, UK

Re: .Net GUI to Jade web application

Postby Rich Cassell » Thu Jul 22, 2010 10:52 pm

Hey,

Thanks for your replies!

I forget to mention in my first post that we are running Jade 6.2.17 and have no plans to upgrade to 6.3 for a while yet so are limiting ourselves away from the 6.3 .Net interoperabilities. We'd also rather not have requirements for the user to install 3rd party plug-ins, so as much as Silverlight would be a neat thing to use, it wouldn't be something we'd want at this stage.

Both of you mentioned creating a Web Service Provider in Jade and consuming it using the .Net GUI. This would obviously mean re-writing the entire application so would be a lot of work... HTML is only really a limitation for 1 or 2 of the screens so it would be much preferred to have a solution whereby only those screens use .Net, and the rest remain unchanged, if this were possible of course... Rewriting all 25+ screens would be quite painful so if avoidable i'd like that!

If we were to implement the Web Service Provider solution, how would we expose the data and methods to the consumer? I have created a Web Service Consumer in Jade before whereby it consumed a pre-created WSDL, but never needed to write a provider. Am i correct in thinking that this would mean all of the processing (control events etc) would be handled by the .Net?

Cheers for the info so far!

Rich

murray
Posts: 144
Joined: Fri Aug 14, 2009 6:58 pm
Location: New Plymouth, New Zealand

Re: .Net GUI to Jade web application

Postby murray » Fri Jul 23, 2010 9:21 am

Exposing the required parts of your Jade system via a web-service is done via a wizard process. It is covered in chapter 16 of the DevRef PDF "Defining a Web Services Provider Application". That process will create a subclass of JadeWebServiceProvider and also export a WSDL file. You will need to define an application for the web-service. You should be able to use your existing Jade web server setup (at least for development testing). There is a built in test harness function that allows you to test your web service from a web browser page.
Murray (N.Z.)

User avatar
Dino
Posts: 49
Joined: Wed Jun 24, 2009 6:55 am
Location: London
Contact:

Re: .Net GUI to Jade web application

Postby Dino » Fri Jul 23, 2010 10:07 pm

Hi Rich,

As Patwos and Murray have suggested, a web service provider is the way to go here. The web service provides the "connection between the two" that you mention in your first post.

You're right that the .NET Class Library feature (requires JADE 6.3) is really for server-side integration only. You can't expose GUI objects using this. And anything connecting to JADE via a .NET Class Library exposure will instantiate a full JADE middle tier node (i.e. basically a fat client), so it's not really appropriate for deploying over the internet.

Building a web service provider in JADE is pretty easy. Murray has already mentioned Chapter 16 in the DevRef PDF, you might also want to have a look at the Web Services white paper here (a web service provider example starts on page 16):

http://www.jade.co.nz/downloads/jade/pa ... rvices.pdf

A web service provider is basically just a collection of methods implemented on JadeWebServiceProvider subclasses (keeping them simple is a good idea). These methods provide the entry points in your back-end JADE system for operations that can be invoked by external systems, including browser-based UIs written in any technology that can invoke a web service (.NET, AJAX, etc). When something invokes a web service it is sending a request to the JADE system to perform some action (you can pass parameter values into the web service). The JADE system will perform the required operation and then send back a response.

Once you have written your web service methods, JADE will generate the WSDL file for you that describes your web service(s). You can then import this file into whatever development environment you're going to use to build your web UI (Visual Studio in the case of .NET) and this will generate the appropriate proxy classes/code to enable you to call the web services from that environment (in much the same way that JADE did when you imported the WSDL to create your JADE web service consumer).

Dean.

PS: The Silverlight Thin Client is on track for JADE 7 (currently scheduled for mid-2011) with a beta of the stateful version (i.e. current connection architecture of one thin client per JADE process) already available on top of JADE 6.3. Work is underway on a stateless version (i.e. a connection model that is more similar to web services with a single process being able to support multiple sessions - applications will need to be designed with this in mind though). The Silverlight Thin Client will provide a new set of XAML-based GUI classes in the RootSchema that you can use to build JADE GUIs. Thin clients for applications built with these GUI classes will be able to be deployed in web browsers using the Silverlight plug-in.


Return to “General Discussion”

Who is online

Users browsing this forum: No registered users and 44 guests