Browse DevX
Sign up for e-mail newsletters from DevX


Interview with Ingo Rammer  : Page 2

Alberto Falossi interviews .NET Remoting guru and DevX author Ingo Rammer, asking what he likes and dislikes about Remoting, what are the changes in .NET Framework 1.1, whether a DCOM/CORBA background is useful or not to learn .NET Remoting, and why security is implemented the way it is.




Building the Right Environment to Support AI, Machine Learning and Deep Learning

Q: Java programmers are encouraged to put their large scale applications' business logic in Session EJBs, which are a kind of remote objects: this is meant to achieve strong separation, even physical, from the presentation layer, which is often the web tier (Servlets & JSPs) but could be also (at the same time) a desktop fat client. Could it be a good practice for ASP.NET programmers to move business logic from their pages to Remote servers, using code behind only as a glue, when scalability is an issue?

Actually, a number of people in the Java space discourage the use of EJB session beans because of their massive performance effects. I personally know about a number of high-load Java sites which explicitly removed EJBs after performance tests.

I also truly believe that it’s easier and better to scale as soon as possible – in .NET terms this means to scale the ASP.NET layer together with the in-proc business logic. Hey, ASP.NET session state rocks when compared to classic ASP.

Q: In you opinion, how does the experience on technologies such as DCOM or CORBA, RMI or EJB help a programmer to understand and use Remoting?

Knowledge of DCOM, CORBA or RMI can definitely help – it’s distributed applications after all. EJB knowledge won’t be of too much help because EJB is basically only a service layer, whereas Remoting is a communication layer (like RMI or IIOP which is used for EJBs). Apart from this, it’s always easier to learn a new technology when you can compare it with an older one. This way, you can ask questions like “How does Remoting solve this-or-that problem I had with DCOM?”.

Q: Before Remoting, which languages/technologies did you use?

I started my commercial career with - don't laugh - Perl on Linux in 1995.
About a year or two later, I switched to VB 5 and 6 which I used extensively for about 5 years. I also spent some time with The Dark Side, working with Java for about one or two years before the first pre-beta versions of .NET came along. Along the way, I used the respective distributed application protocols (DCOM and RMI) and also worked with a number of Microsoft back-end server technology (SQL Server, MSMQ, Exchange, ...).

Q: Many people tried to use remoting to develop peer-to-peer communication infrastructures. Do you think remoting can play a role in this field or Winsock programming is still a better option?

As always: it depends. I however somehow think that using sockets is better for this kind of application, because – at least with the built in TcpChannel and HttpChannel – there’s no support for bidirectional communication over a single connection. Remoting would always require a different “reverse path” connection between server and client which is simply not possible with firewalls, proxies and NATs in between.

Q: .NET Remoting is probably one of the easiest technologies that enable distributed computing, making it approachable also to not-so-experienced programmers. Do you think that widespread adoption of Remoting in everyday programming will raise new network security troubles?

Hopefully not. It is however in the responsibility of every programmer to host the objects in IIS together with HTTP security. Remoting just gives you the possibilities – but power also brings the need for responsibility. Every developer has to work responsible and take care of these issues.

Q: Describe an Ingo Rammer's typical day.

As I spend roughly 50% of my time on the road, there are actually two different kinds of “Ingo Rammer”-days: abroad and at home. Abroad basically means that I provide on-location services to a client, or that I speak at a conference or event. This also means living in a hotel – with all the associated benefits and disadvantages. These days are usually pretty dense: getting up early, working at the customer’s, back to hotel, working on some articles or samples until late at night, etc.

The days at home however are pretty relaxed on the other hand. I usually get up at around eight, read email, weblogs and articles until around nine or ten at which time I’ll have breakfast with Katja. After eating, it’s back to work, which usually means digging around in some new technology, writing articles, producing conference sessions or doing some real development work. I try to reduce my work to a maximum of working until 8:00 pm. I however only succeed about three or four days a week – the rest of the time it’s basically midnight ;-)

Q: How many email messages do you receive every day?

Discounting spam (~30 a day) and mailing list messages (~ 400 to 500 a day) I receive about 20 to 30 emails a day. Most of the time, it’s still manageable but unfortunately, I’m not always able to respond to questions in a timely manner. Especially after conferences, when I’ve been disconnected for seven days and several hundred of emails sitting in my inbox.

Q: Have you ever been in Italy?

Absolutely, yes. I’ve been there a number of times on vacation and even did a talk about .NET Remoting at the University of Milan in June 2002. I’m really looking forward to returning there in the future. Let me tell you a secret: I drank coffee in roughly 20 states, but nobody makes espresso as good as the Italians do.

Q: In conclusion, what can you suggest to our readers about building effective Remoting applications?

Don’t use SoapSuds. Define interface and access your remote components based on these interfaces. If you need 100% scalability, use SingleCall SAOs, and avoid CAOs and events. Host in IIS with the binary formatter to provide for the best match in security, scalability and performance.

Alberto Falossi works with Visual Basic since its version 3.0 and writes .NET applications with VB and C#. Alberto works with Code Architects Srl, an Italian software training and consulting company that specializes on .NET. He writes regularly for Visual Studio Magazine and is Technical Editor of Visual Basic & .NET Journal, VSM's Italian licensee. You can see a list of his articles in the Magazine Bank.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date