Source: www.dotnetremoting.cc/dotnetcentric/rss.xml

Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/daugava/public_html/rss/carpinc.php on line 307

Warning: fsockopen() [function.fsockopen]: unable to connect to www.dotnetremoting.cc:80 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /home/daugava/public_html/rss/carpinc.php on line 307

[CaRP] php_network_getaddresses: getaddrinfo failed: Name or service not known (0)

This feed is currently unavailable

Ingo Rammer's Weblog


This blog is moving ...

With the tremendous support from the guys at telligent, we have finally consolidated our blogs from three different engines to one.

This blog will therefore move. I'll try to setup auto-redirects, but in the meantime, you can find me at the following locations Main Blog: http://blogs.thinktecture.com/ingo Main Feeds: RSS 2.0 and ATOM 0.3Category Feed "Technology": RSS (.NET, Software Architecture, WCF, and so on ...) Category Feed "Travel": RSS (People, Places, Photos)

And you can find a consolidated main page and feed at http://blogs.thinktecture.com.



TechEd Samples for CTS366 (Indigo - Reliable, Secure, Tra...

I've just uploaded my samples (and the cool image-transfer app based on ReliableMessaging which the incredible Shy Cohen originally created) for today's TechEd Talk CTS366 to http://www.thinktecture.com/Conferences/slides/TechEdEurope2005/CTS366.zip



TechEd: Friday 1:00pm, N220A, "Optimizing Scalability and...

I'm currently applying some final tweaks to my demos for tomorrow's Tech*Ed session on application optimization. I have structured the talk around some of the most common and critical scenarios which I have encountered during reviews and troubleshooting sessions for several customers in the last five years. Based on an application built to demonstrate these performance and scalability issues, I will show you the tools and techniques I use to pinpoint, isolate and eliminate bottlenecks like these. In addition, I will talk about some of the darker areas of the HTTP protocol and how to re-configure your .NET application to avoid being trapped by the fact that HTTP has not really been designed for some of the most common Web services scenarios.

I like to call it a "sharing the trade secrets"-kind-of-session. It's going to be fun!

CSI448 - Optimizing Scalabilty, Performance and Availability with Systems Built on the .NET Framework
Day/Time: Friday, June 10 1:00 PM - 2:15 PM Room: N 220 A

What is an application?

Ralf poses the question: What is an application? Maybe I´m naive or dumb, but the more I think about it, the less I know what an "application" - an application in software development - is. Can you help me? Who can give me a simple answer?
[...]
What is a distributed application? Is it one application whose parts run on different machines? Or are these parts in themselves applications?
[...]
It seems the term "application" is either overloaded with many meanings. Or it is underspecified.

I absolutely agree that application is a rather overloaded term. It becomes even more complex if the solution you have created uses the combination of, say, InfoPath, some custom .NET components, BizTalk, a standard ERP solution, a custom-built .NET-based CRM solution to achieve a single goal.

I personally usually end up referring to whatever is contained in one single Visual Studio SLN file as "the application". The reason is that I see these components as rather strongly coupled as I use them in more of a white box than black box approach. A certain solution - or system - however might easily consist of several applications. (And, yes, in some cases I ended up with SLN files which contained more than one application. This is especially true in the prototype phase of new projects because interfaces tend to be more flexible at that time.)

In terms of services and applications, I have noticed another interesting situation: at least in the projects I've worked on, I've seen two very different kinds of services. On one hand, I very often see simple CRUD-based services which make it necessary to move a lot of business knowledge to the client tier. They often only act as thin wrappers over INSERT, SELECT, UPDATE, DELETE SQL statements or the respective stored procedures. I usually regard these kinds of services as parts of one application. (Simply because the re-use pattern is rather limited as the client developer has to know a lot about the internal business requirements and about how certain facts are expressed with your back-end data structures.)

My favorite illustration for this is the service infrastructure of a mobile communication provider. If your use-case is to "allow the user to activate GPRS for a given phone number", you could for example create a web service which exposes methods like GetCustomer() and StoreCustomer(). In this case, the client application would need to know that it has to use an approach like the following to activate the GPRS service:

Customer cust = svc.GetCustomer(1234); cust.Contracts[0].Services.Add(21, true, null); svc.StoreCustomer(1234);

On the other hand, you might see use-case driven web services, exposing methods like SetGPRSState(bool active, string phoneNumber) for this particular case.

In terms of applications, I would usually refer to a collection of reusable and use-case driven services of the latter type as separate applications. Simply because they contain nearly the same logic as a real, GUI-based application. Services like these somehow seem to be a first-tier technology.

But the question is: is it important to know what an application is? I think it is, because the components of a single applications can be more tightly coupled than the interfaces between two different applications would call for. Or, to map it to Microsoft's current prescriptive guidance for distributed systems: today, it might make a lot of sense to use ASP.NET web services to communicate between different applications. But if you communicate within one application, go ahead and use Enterprise Services, .NET Remoting, MSMQ, ASP.NET web services, or whatever else seems suitable.



SDA.NET Conference in Singapore

SDA.NET Conference at the end of May is one of the events I'm really looking forward to. Especially because I've never been to Singapore before.



The beauty of System.Transactions

I've spent the last few days with System.Transactions. I've been covering this feature set in a number of talks in the last few months and I can only repeat: every time I work with it, I'm blown away by the beauty of how Transaction and TransactionScope work seamlessly with current technology.

Whenever a new transaction model is introduced, the main roadblock it faces is non-interoperability with existing code. I think that this is one of the reasons (apart from the obvious DTC configuration) why COM+ transactions took so long to take off. Now ... if you have performed the switch to COM+ or Enterprise Services in the past, the great news is that it will work quite nicely together with System.Tx.

And I still think that the following is absolute beauty. It just works.

using (TransactionScope sc = new TransactionScope()) { // ... use some ADO.NET without explicit transactions // ... use a COM+ component or an Enterprise Service (which, then again, is the same thing anyway) // ... send some messages to a Queue with MessageQueueTransactionOption.Automatic sc.Complete(); }

And, of course, if you only ever access a single SQL Server 2005 as your resource manager, there won't even be a DTC involved. Beauty.

Update: Now I only need to figure out how I can send a transactional message when not using TransactionScope, but an explicitly created Transaction. And no, I don't think setting Transaction.Current before sending the message is a sound way of accomplishing this ;-)



DevWeek 2005 - End of Q1/2005 Conference Season for me

Yesterday, I've returned from my trip to London where I presented at DevWeek 2005 and at the local .NET User group. I really enjoyed being and speaking in London (as I tend to always do) and meeting old and new friends. This marks the final event of the Q1 2005 conference season for me - which is a good thing, as I've been travelling quite a bit already. The next event will be in April for cdot in Füringen (Switzerland) on April 21st and 22nd. I'm really looking forward to it!

In the meantime, I will spend most of March and April with writing about, and spelunking and tinkering with Indigo and with visiting some of our customers' projects. Life is going to be good.

You can download slides and samples for my sessions at DevWeek.



Just posted: Slides for my talk at the .NET Usergroup of ...

I've just posted the slides and samples for my talk at the .NET Usergroup of London.



See you in London

Next stop: London, DevWeek, tomorrow. As always, this conference is going to rock and it would be great to see you there.

If you don't plan to attend DevWeek (which you definitely should attend ;-)), how about Wednesday at the London .NET user group instead? I'll present a session about optimization, profiling and troubleshooting techniques for distributed applications.



Slides for Basta

I've posted slides and samples for my sessions at the Basta!2005 conference in Frankfurt. You can download them here. I really enjoyed this conference and I'm already looking forward to meeting some of you again at the fall Basta! in Mainz in September.



Newsfeed display by CaRP


Internet: Blog
See Internet in Open Directory
Find related sites in Open Directory

Return to News Feeds Home Page
My Sites